diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch b/target/linux/bcm27xx/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch new file mode 100644 index 0000000000..cb89142dff --- /dev/null +++ b/target/linux/bcm27xx/patches-4.19/950-0188-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch @@ -0,0 +1,142 @@ +From 83b839b8b3a599336c2d48ab22ed919a77666476 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson <dave.stevenson@raspberrypi.org> +Date: Mon, 26 Nov 2018 17:02:15 +0000 +Subject: [PATCH] dtoverlays: Add i2c on 0&1 option to TC358743, + ADV7282 and OV5647 + +Adds the option of configuring i2c0 to be on GPIOs 0&1 as +this is of use on the Compute Module. + +Also fixes the ov5647 overlay where the override enabled the wrong +fragments. + +Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> +--- + arch/arm/boot/dts/overlays/README | 14 ++++++++++++-- + arch/arm/boot/dts/overlays/adv7282m-overlay.dts | 10 +++++++++- + arch/arm/boot/dts/overlays/ov5647-overlay.dts | 10 +++++++++- + arch/arm/boot/dts/overlays/tc358743-overlay.dts | 10 +++++++++- + 4 files changed, 39 insertions(+), 5 deletions(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -277,7 +277,9 @@ Info: Analog Devices ADV7282M analogue + Uses Unicam1, which is the standard camera connector on most Pi + variants. + Load: dtoverlay=adv7282m,<param>=<val> +-Params: i2c_pins_28_29 Use pins 28&29 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. + This is required for Pi B+, 2, 0, and 0W. + addr Overrides the I2C address (default 0x21) + +@@ -286,7 +288,9 @@ Name: adv728x-m + Info: Analog Devices ADV728[0|1|2]-M analogue video to CSI2 bridges. + This is a wrapper for adv7282m, and defaults to ADV7282M. + Load: dtoverlay=adv728x-m,<param>=<val> +-Params: i2c_pins_28_29 Use pins 28&29 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. + This is required for Pi B+, 2, 0, and 0W. + addr Overrides the I2C address (default 0x21) + adv7280m Select ADV7280-M. +@@ -1324,6 +1328,9 @@ Params: cam0-pwdn GPIO use + configuration of the particular Pi variant in + use. + ++ 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. + This is required for Pi B+, 2, 0, and 0W. + +@@ -1949,6 +1956,9 @@ Params: 4lane Use 4 la + (574Mbit/s) and 486000000 (972Mbit/s - default) + are supported by the driver. + ++ 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. + This is required for Pi B+, 2, 0, and 0W. + +--- a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts ++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts +@@ -60,6 +60,13 @@ + }; + }; + fragment@4 { ++ target = <&i2c0_pins>; ++ __dormant__ { ++ brcm,pins = <0 1>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++ }; ++ fragment@5 { + target = <&i2c_vc>; + __overlay__ { + status = "okay"; +@@ -67,7 +74,8 @@ + }; + + __overrides__ { +- i2c_pins_28_29 = <0>,"+2-3"; ++ i2c_pins_0_1 = <0>,"-2-3+4"; ++ i2c_pins_28_29 = <0>,"+2-3-4"; + addr = <&adv728x>,"reg:0"; + }; + }; +--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts +@@ -69,6 +69,13 @@ + }; + }; + fragment@4 { ++ target = <&i2c0_pins>; ++ __dormant__ { ++ brcm,pins = <0 1>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++ }; ++ fragment@5 { + target = <&i2c_vc>; + __overlay__ { + status = "okay"; +@@ -76,7 +83,8 @@ + }; + + __overrides__ { +- i2c_pins_28_29 = <0>,"+4-5"; ++ 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"; + }; +--- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts ++++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts +@@ -94,6 +94,13 @@ + }; + }; + fragment@6 { ++ target = <&i2c0_pins>; ++ __dormant__ { ++ brcm,pins = <0 1>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++ }; ++ fragment@7 { + target = <&i2c_vc>; + __overlay__ { + status = "okay"; +@@ -101,7 +108,8 @@ + }; + + __overrides__ { +- i2c_pins_28_29 = <0>,"+4-5"; ++ i2c_pins_0_1 = <0>,"-4-5+6"; ++ i2c_pins_28_29 = <0>,"+4-5-6"; + 4lane = <0>, "-2+3"; + link-frequency = <&tc358743>,"link-frequencies#0"; + }; |