2019-09-19 14:43:19 +00:00
|
|
|
From 5c0dfdba54fdaeb813d8535283aa8f75080e1055 Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
|
|
Date: Tue, 18 Sep 2018 10:47:38 +0100
|
2019-09-19 14:43:19 +00:00
|
|
|
Subject: [PATCH 322/806] dtoverlays: Correct DT handling camera GPIOs
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
};
|