aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch b/target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch
new file mode 100644
index 0000000000..5c46143364
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0325-dtoverlays-Correct-DT-handling-camera-GPIOs.patch
@@ -0,0 +1,85 @@
+From 63f283b8c56f4eaa2df0f46c9bdd174797316aa3 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Tue, 18 Sep 2018 10:47:38 +0100
+Subject: [PATCH 325/725] dtoverlays: Correct DT handling camera GPIOs
+
+The firmware has support for updating overrides with the correct
+GPIO settings for the camera GPIOs, but the wrong device tree
+setup ended up being merged.
+Correct the DT configuration so that the firmware does set it
+up correctly.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm270x.dtsi | 7 +++++++
+ arch/arm/boot/dts/overlays/README | 10 +---------
+ arch/arm/boot/dts/overlays/ov5647-overlay.dts | 14 +++++++++++---
+ 3 files changed, 19 insertions(+), 12 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm270x.dtsi
++++ b/arch/arm/boot/dts/bcm270x.dtsi
+@@ -152,6 +152,13 @@
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
++
++ __overrides__ {
++ cam0-pwdn-ctrl;
++ cam0-pwdn;
++ cam0-led-ctrl;
++ cam0-led;
++ };
+ };
+
+ &vc4 {
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1366,15 +1366,7 @@ Info: Omnivision OV5647 camera module.
+ Uses Unicam 1, which is the standard camera connector on most Pi
+ variants.
+ Load: dtoverlay=ov5647,<param>=<val>
+-Params: cam0-pwdn GPIO used to control the sensor powerdown line.
+-
+- cam0-led GPIO used to control the sensor led
+- Both these fields should be automatically filled
+- in by the firmware to reflect the default GPIO
+- configuration of the particular Pi variant in
+- use.
+-
+- i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
++Params: i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
+ Useful on Compute Modules.
+
+ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
++++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+@@ -14,7 +14,7 @@
+ status = "okay";
+
+ ov5647: ov5647@36 {
+- compatible = "ov5647";
++ compatible = "ovti,ov5647";
+ reg = <0x36>;
+ status = "okay";
+
+@@ -82,10 +82,18 @@
+ };
+ };
+
++ fragment@6 {
++ target-path="/__overrides__";
++ __overlay__ {
++ cam0-pwdn-ctrl = <&ov5647>,"pwdn-gpios:0";
++ cam0-pwdn = <&ov5647>,"pwdn-gpios:4";
++ cam0-led-ctrl = <&ov5647>,"pwdn-gpios:12";
++ cam0-led = <&ov5647>,"pwdn-gpios:16";
++ };
++ };
++
+ __overrides__ {
+ i2c_pins_0_1 = <0>,"-2-3+4";
+ i2c_pins_28_29 = <0>,"+2-3-4";
+- cam0-pwdn = <&ov5647>,"pwdn-gpios:4";
+- cam0-led = <&ov5647>,"pwdn-gpios:16";
+ };
+ };