diff options
Diffstat (limited to 'meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/dsi/0001-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch')
-rw-r--r-- | meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/dsi/0001-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch | 351 |
1 files changed, 0 insertions, 351 deletions
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/dsi/0001-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/dsi/0001-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch deleted file mode 100644 index fce687290..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/dsi/0001-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch +++ /dev/null @@ -1,351 +0,0 @@ -From 380fd9f0da44ed62dff59a7c7e06f1190b58aa64 Mon Sep 17 00:00:00 2001 -From: Kevin Quigley <kevin@kquigley.co.uk> -Date: Mon, 24 Sep 2018 12:22:31 +0000 -Subject: [PATCH 1/4] Add devicetree support for RaspberryPi 7" panel over DSI - I2C - ---- - arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 5 +++ - arch/arm/boot/dts/bcm2708-rpi-b.dts | 6 +++ - arch/arm/boot/dts/bcm2708-rpi.dtsi | 21 ++++++++++ - arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 5 +++ - arch/arm/boot/dts/bcm270x.dtsi | 39 +++++++++++++++++ - arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 6 +++ - 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/bcm2835-rpi.dtsi | 2 + - arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 5 +++ - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 5 +++ - arch/arm/boot/dts/bcm283x.dtsi | 16 ++++++- - arch/arm/boot/dts/overlays/Makefile | 1 + - .../boot/dts/overlays/rpi-7inch-overlay.dts | 42 +++++++++++++++++++ - 15 files changed, 167 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/overlays/rpi-7inch-overlay.dts - -diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts -index ef0beea3a3a3..83b95b9a6ec3 100644 ---- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts -@@ -121,3 +121,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 dea70fae90e6..ea5de651d59d 100644 ---- a/arch/arm/boot/dts/bcm2708-rpi-b.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts -@@ -111,3 +111,9 @@ - act_led_trigger = <&act_led>,"linux,default-trigger"; - }; - }; -+ -+ -+&i2c_dsi { -+ gpios = <&gpio 2 0 -+ &gpio 3 0>; -+}; -diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi -index b13632932192..2d8421f6681c 100644 ---- a/arch/arm/boot/dts/bcm2708-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi -@@ -132,6 +132,27 @@ - power-domains = <&power RPI_POWER_DOMAIN_USB>; - }; - -+&v3d { -+ power-domains = <&power RPI_POWER_DOMAIN_V3D>; -+}; -+ -+&vec { -+ power-domains = <&power RPI_POWER_DOMAIN_VEC>; -+ status = "okay"; -+}; -+ -+&dsi0 { -+ power-domains = <&power RPI_POWER_DOMAIN_DSI0>; -+ status = "okay"; -+}; -+ -+&dsi1 { -+ power-domains = <&power RPI_POWER_DOMAIN_DSI1>; -+ status = "okay"; -+}; -+ -+ -+ - &clocks { - firmware = <&firmware>; - }; -diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -index 34659505055a..c23f79395791 100644 ---- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -@@ -122,3 +122,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 f086ff0deec5..0b1ef47b18b0 100644 ---- a/arch/arm/boot/dts/bcm270x.dtsi -+++ b/arch/arm/boot/dts/bcm270x.dtsi -@@ -84,6 +84,26 @@ - status = "disabled"; - }; - -+ dsi1: dsi@7e700000 { -+ compatible = "brcm,bcm2835-dsi1"; -+ reg = <0x7e700000 0x8c>; -+ interrupts = <2 12>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ #clock-cells = <1>; -+ -+ clocks = <&clocks BCM2835_PLLD_DSI1>, -+ <&clocks BCM2835_CLOCK_DSI1E>, -+ <&clocks BCM2835_CLOCK_DSI1P>; -+ clock-names = "phy", "escape", "pixel"; -+ -+ clock-output-names = "dsi1_byte", -+ "dsi1_ddr2", -+ "dsi1_ddr"; -+ -+ status = "disabled"; -+ }; -+ - firmwarekms: firmwarekms@7e600000 { - compatible = "raspberrypi,rpi-firmware-kms"; - /* SMI interrupt reg */ -@@ -93,6 +113,21 @@ - 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"; -+ gpios = <&gpio 28 0 -+ &gpio 29 0>; -+ -+ }; -+ - smi: smi@7e600000 { - compatible = "brcm,bcm2835-smi"; - reg = <0x7e600000 0x100>; -@@ -187,3 +222,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 37aed344cbbf..6ec9b28999f3 100644 ---- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts -+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts -@@ -190,3 +190,9 @@ - pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; - }; - }; -+ -+&i2c_dsi { -+ gpios = <&gpio 44 0 -+ &gpio 45 0>; -+}; -+ -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -index a462de2ce37e..346efbd4a95f 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -@@ -109,3 +109,8 @@ - pinctrl-0 = <&uart0_gpio14>; - status = "okay"; - }; -+ -+&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 264c84e94329..8b9ebf3670c2 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -@@ -102,3 +102,8 @@ - pinctrl-0 = <&uart0_gpio14>; - status = "okay"; - }; -+ -+&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 03e3a7a7dc5e..4020e79fc989 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts -@@ -97,3 +97,8 @@ - pinctrl-0 = <&uart0_gpio14>; - status = "okay"; - }; -+ -+&i2c_dsi { -+ gpios = <&gpio 28 0 -+ &gpio 29 0>; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 356d4e6a17e5..0599f0a27e5f 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -101,10 +101,12 @@ - - &dsi0 { - power-domains = <&power RPI_POWER_DOMAIN_DSI0>; -+ status = "okay"; - }; - - &dsi1 { - power-domains = <&power RPI_POWER_DOMAIN_DSI1>; -+ status = "okay"; - }; - - &csi0 { -diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -index 59e70f4a19e5..6c4c9c8d8ed0 100644 ---- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -@@ -47,3 +47,8 @@ - pinctrl-0 = <&uart0_gpio14>; - status = "okay"; - }; -+ -+&i2c_dsi { -+ gpios = <&gpio 28 0 -+ &gpio 29 0>; -+}; -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -index 8703d006a206..c99f70cefa61 100644 ---- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -56,3 +56,8 @@ - status = "okay"; - bus-width = <4>; - }; -+ -+&i2c_dsi { -+ gpios = <&gpio 44 0 -+ &gpio 45 0>; -+}; -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 22eca6fad427..3ee99963f827 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -551,7 +551,6 @@ - clock-output-names = "dsi1_byte", - "dsi1_ddr2", - "dsi1_ddr"; -- - status = "disabled"; - }; - -@@ -652,6 +651,21 @@ - vc4: gpu { - compatible = "brcm,bcm2835-vc4"; - }; -+ -+ 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"; -+ gpios = <&gpio 28 0 -+ &gpio 29 0>; -+ -+ }; - }; - - clocks { -diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile -index e0bdd84d21c5..f983d0180b8b 100644 ---- a/arch/arm/boot/dts/overlays/Makefile -+++ b/arch/arm/boot/dts/overlays/Makefile -@@ -110,6 +110,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - rpi-cirrus-wm5102.dtbo \ - rpi-dac.dtbo \ - rpi-display.dtbo \ -+ rpi-7inch.dtbo \ - rpi-ft5406.dtbo \ - rpi-poe.dtbo \ - rpi-proto.dtbo \ -diff --git a/arch/arm/boot/dts/overlays/rpi-7inch-overlay.dts b/arch/arm/boot/dts/overlays/rpi-7inch-overlay.dts -new file mode 100644 -index 000000000000..3bb882d79086 ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/rpi-7inch-overlay.dts -@@ -0,0 +1,42 @@ -+/* -+ * Device Tree overlay for RaspberryPi 7" Touchscreen panel -+ * -+ */ -+ -+/dts-v1/; -+/plugin/; -+ -+/ { -+ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; -+ -+ fragment@1 { -+ target = <&dsi1>; -+ __overlay__ { -+ #address-cells = <1>; size-cells = <0>; -+ status = "okay"; -+ port { -+ dsi_out_port: endpoint { -+ remote-endpoint = <&panel_dsi_port>; -+ }; -+ }; -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c_dsi>; -+ __overlay__ { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ lcd@45 { -+ compatible = "raspberrypi,7inch-touchscreen-panel"; -+ reg = <0x45>; -+ port { -+ panel_dsi_port: endpoint { -+ remote-endpoint = <&dsi_out_port>; -+ }; -+ }; -+ }; -+ }; -+ }; -+}; --- -2.21.0 - |