From cf2c6accdded904a4283e4c35b368200c232ca41 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Sep 2018 10:47:38 +0100 Subject: [PATCH] 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 --- 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(-) diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi index 27f1922..55a03c0 100644 --- 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 { diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 107c033..d91917e 100644 --- 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,= -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. diff --git a/arch/arm/boot/dts/overlays/ov5647-overlay.dts b/arch/arm/boot/dts/overlays/ov5647-overlay.dts index 88fde69..0b7f4f9 100644 --- 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"; }; }; -- 2.7.4