From 63e061e9f91376eac8ca017e9bc8b94c51ca057f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 15:09:35 -0700 Subject: [PATCH] BCM270X: Enable the DSI panel node in the VC4 overlay. Change-Id: I46fdcdb53b79bd4f0db5022a415f6d1b9faf28e9 Signed-off-by: Eric Anholt --- arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 5 ++++ arch/arm/boot/dts/bcm2708-rpi-b.dts | 5 ++++ arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 5 ++++ arch/arm/boot/dts/bcm270x.dtsi | 27 ++++++++++++++++++++++ arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 5 ++++ arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 22 ++++++++++++++++++ 6 files changed, 69 insertions(+) diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts index b800699..9c55024 100644 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts @@ -123,3 +123,8 @@ pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; }; }; + +&i2c_dsi { + gpios = <&gpio 28 0 + &gpio 29 0>; +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts index ef47775..d4dceb8 100644 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts @@ -113,3 +113,8 @@ act_led_trigger = <&act_led>,"linux,default-trigger"; }; }; + +&i2c_dsi { + gpios = <&gpio 2 0 + &gpio 3 0>; +}; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts index 4d2262f..3dd77e3 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -123,3 +123,8 @@ pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; }; }; + +&i2c_dsi { + gpios = <&gpio 28 0 + &gpio 29 0>; +}; diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi index 9eb6bec..aae30e8 100644 --- a/arch/arm/boot/dts/bcm270x.dtsi +++ b/arch/arm/boot/dts/bcm270x.dtsi @@ -150,6 +150,29 @@ firmware = <&firmware>; status = "disabled"; }; + + i2c_dsi: i2cdsi { + /* 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>; + status = "disabled"; + + pitouchscreen_bridge: bridge@45 { + compatible = "raspberrypi,touchscreen-bridge-i2c"; + reg = <0x45>; + }; + + pitouchscreen_touch: bridge@38 { + compatible = "raspberrypi,touchscreen-ts-i2c"; + reg = <0x38>; + }; + }; + }; __overrides__ { @@ -163,3 +186,7 @@ &vc4 { status = "disabled"; }; + +&dsi1 { + power-domains = <&power RPI_POWER_DOMAIN_DSI1>; +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts index a32b000..b826003 100644 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts @@ -228,3 +228,8 @@ pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; }; }; + +&i2c_dsi { + gpios = <&gpio 44 0 + &gpio 45 0>; +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts index c5f687e..b872c46 100644 --- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts @@ -141,6 +141,28 @@ }; }; + fragment@18 { + target = <&dsi1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + pitouchscreen: panel@0 { + compatible = "raspberrypi,touchscreen"; + reg = <0>; + raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>; + }; + }; + }; + + fragment@19 { + target = <&i2c_dsi>; + __overlay__ { + status = "okay"; + }; + }; + __overrides__ { cma-256 = <0>,"+0-1-2-3-4"; cma-192 = <0>,"-0+1-2-3-4"; -- 2.7.4