build/patch/kernel/archive/sunxi-5.10/megous/arm64-dts-allwinner-a64-pinetab-add-front-camera.patch

100 lines
2.6 KiB
Diff

From b6eb70a65b74778e46fa7bdb9b645d2c94bd4cbc Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megous@megous.com>
Date: Tue, 17 Nov 2020 01:06:30 +0100
Subject: [PATCH 335/351] arm64: dts: allwinner: a64: pinetab: add front camera
---
.../boot/dts/allwinner/sun50i-a64-pinetab.dts | 50 ++++++++++++++++---
1 file changed, 44 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index 0494bfaf2ffa..91470928bc47 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -43,12 +43,35 @@ i2c-csi {
#address-cells = <1>;
#size-cells = <0>;
+ /* Front camera */
+ gc2145: front-camera@3c {
+ compatible = "galaxycore,gc2145";
+ reg = <0x3c>;
+ clocks = <&ccu CLK_CSI_MCLK>;
+ clock-names = "xclk";
+
+ AVDD-supply = <&reg_dldo3>;
+ DVDD-supply = <&reg_aldo1>;
+ IOVDD-supply = <&reg_eldo3>;
+ reset-gpios = <&pio 4 16 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; /* PE16 */
+ enable-gpios = <&pio 4 17 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; /* PE17 */
+
+ port {
+ gc2145_ep: endpoint {
+ remote-endpoint = <&csi_gc2145_ep>;
+ bus-width = <8>;
+ hsync-active = <1>;
+ vsync-active = <1>;
+ data-active = <1>;
+ pclk-sample = <1>;
+ };
+ };
+ };
+
/* Rear camera */
- ov5640: camera@3c {
+ ov5640: rear-camera@4c {
compatible = "ovti,ov5640";
- reg = <0x3c>;
- pinctrl-names = "default";
- pinctrl-0 = <&csi_mclk_pin>;
+ reg = <0x4c>;
clocks = <&ccu CLK_CSI_MCLK>;
clock-names = "xclk";
@@ -60,7 +83,7 @@ ov5640: camera@3c {
port {
ov5640_ep: endpoint {
- remote-endpoint = <&csi_ep>;
+ remote-endpoint = <&csi_ov5640_ep>;
bus-width = <8>;
hsync-active = <1>; /* Active high */
vsync-active = <0>; /* Active low */
@@ -119,10 +142,15 @@ &cpu3 {
};
&csi {
+ pinctrl-0 = <&csi_pins>, <&csi_mclk_pin>;
status = "okay";
port {
- csi_ep: endpoint {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi_ov5640_ep: endpoint@0 {
+ reg = <0>;
remote-endpoint = <&ov5640_ep>;
bus-width = <8>;
hsync-active = <1>; /* Active high */
@@ -130,6 +158,16 @@ csi_ep: endpoint {
data-active = <1>; /* Active high */
pclk-sample = <1>; /* Rising */
};
+
+ csi_gc2145_ep: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&gc2145_ep>;
+ bus-width=<8>;
+ hsync-active = <1>; /* Active high */
+ vsync-active = <1>; /* Active high */
+ data-active = <1>; /* Active high */
+ pclk-sample = <1>; /* Rising */
+ };
};
};
--
2.34.0