This commit is not intended to be merged. Instead we will use overlays to enable the panel, and this commit is just a demo of how things get wired up. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> --- arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 5 ++++ arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 5 ++++ arch/arm/boot/dts/bcm2835-rpi-b.dts | 5 ++++ arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 5 ++++ arch/arm/boot/dts/bcm283x.dtsi | 30 +++++++++++++++++++++++- arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 5 ++++ 6 files changed, 54 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts index 432088ebb0a1..79f433eacb8b 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts @@ -101,3 +101,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; }; + +&i2c_dsi { + gpios = <&gpio 28 0 + &gpio 29 0>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts index 4133bc2cd9be..145e0e4c2c7f 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts @@ -94,3 +94,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; }; + +&i2c_dsi { + gpios = <&gpio 2 0 + &gpio 3 0>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts index 4d56fe3006b0..5b3f85883f0c 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts @@ -89,3 +89,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; }; + +&i2c_dsi { + gpios = <&gpio 0 0 + &gpio 1 0>; +}; diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts index bf19e8cfb9e6..aa63cc29eca8 100644 --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts @@ -39,3 +39,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; }; + +&i2c_dsi { + gpios = <&gpio 28 0 + &gpio 29 0>; +}; diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 35cea3fcaf5c..682f11a4fc91 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -505,7 +505,11 @@ "dsi1_ddr2", "dsi1_ddr"; - status = "disabled"; + port { + dsi_out_port: endpoint { + remote-endpoint = <&panel_dsi_port>; + }; + }; }; i2c1: i2c@7e804000 { @@ -575,6 +579,30 @@ vc4: gpu { compatible = "brcm,bcm2835-vc4"; }; + + i2c_dsi: i2c { + /* We have to use i2c-gpio because the + * firmware is also polling another device + * using the only hardware I2C bus that could + * connect to these pins. + */ + compatible = "i2c-gpio"; + #address-cells = <1>; + #size-cells = <0>; + gpios = <&gpio 28 0 + &gpio 29 0>; + + lcd@45 { + compatible = "raspberrypi,7inch-touchscreen-panel"; + reg = <0x45>; + + port { + panel_dsi_port: endpoint { + remote-endpoint = <&dsi_out_port>; + }; + }; + }; + }; }; clocks { diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts index c309633a1e87..c11026c6c8b4 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts +++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts @@ -22,3 +22,8 @@ &uart1 { status = "okay"; }; + +&i2c_dsi { + gpios = <&gpio 44 0 + &gpio 45 0>; +}; -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html