Thread (21 messages) read the whole thread 21 messages, 5 authors, 2019-01-24

Re: [PATCH 5/6] [DO NOT MERGE] ARM: dts: sunxi: bananapi-m2p: Add HDF5640 camera module

From: Chen-Yu Tsai <hidden>
Date: 2018-12-03 09:55:11
Also in: linux-arm-kernel, linux-media, lkml

On Mon, Dec 3, 2018 at 5:52 PM Jagan Teki [off-list ref] wrote:
On Fri, Nov 30, 2018 at 1:29 PM Chen-Yu Tsai [off-list ref] wrote:
quoted
The Bananapi M2+ comes with an optional sensor based on the ov5640 from
Omnivision. Enable the support for it in the DT.

Signed-off-by: Chen-Yu Tsai <redacted>
---
 arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi | 87 +++++++++++++++++++
 1 file changed, 87 insertions(+)
diff --git a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
index b3283aeb5b7d..d97a98acf378 100644
--- a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
+++ b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
@@ -89,6 +89,42 @@
                };
        };

+       reg_cam_avdd: cam-avdd {
+               compatible = "regulator-fixed";
+               regulator-name = "csi-avdd";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               startup-delay-us = <200>; /* 50 us + board delays */
+               enable-active-high;
+               gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
+       };
+
+       reg_cam_dovdd: cam-dovdd {
+               compatible = "regulator-fixed";
+               regulator-name = "csi-dovdd";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               /*
+                * This regulator also powers the pull-ups for the I2C bus.
+                * For some reason, if this is turned off, subsequent use
+                * of the I2C bus, even when turned on, does not work.
+                */
+               startup-delay-us = <200>; /* 50 us + board delays */
+               regulator-always-on;
+               enable-active-high;
+               gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
+       };
+
+       reg_cam_dvdd: cam-dvdd {
+               compatible = "regulator-fixed";
+               regulator-name = "csi-dvdd";
+               regulator-min-microvolt = <1500000>;
+               regulator-max-microvolt = <1500000>;
+               startup-delay-us = <200>; /* 50 us + board delays */
+               enable-active-high;
+               gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
+       };
+
        reg_gmac_3v3: gmac-3v3 {
                      compatible = "regulator-fixed";
                      regulator-name = "gmac-3v3";
@@ -106,6 +142,26 @@
        };
 };

+&csi {
+       status = "okay";
+
+       port {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* Parallel bus endpoint */
+               csi_from_ov5640: endpoint {
+                       remote-endpoint = <&ov5640_to_csi>;
+                       bus-width = <8>;
+                       data-shift = <2>;
If I'm not wrong, the data-shift is not available in sun6i at-least in
conf register.
Indeed. Seems only a few drivers actually take this into account. Since
this is just an example, I'm not going to respin it.

ChenYu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help