3d65f5e2690ec323062542af95a4dcabf032157c
[openwrt/staging/stintel.git] /
1 From 2c62d430b6b3c20867e55465e0557a1543088f09 Mon Sep 17 00:00:00 2001
2 From: Eric Anholt <eric@anholt.net>
3 Date: Thu, 2 Jun 2016 15:09:35 -0700
4 Subject: [PATCH] BCM270X: Enable the DSI panel node in the VC4 overlay.
5
6 Signed-off-by: Eric Anholt <eric@anholt.net>
7 ---
8 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 5 ++++
9 arch/arm/boot/dts/bcm2708-rpi-b.dts | 5 ++++
10 arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 5 ++++
11 arch/arm/boot/dts/bcm270x.dtsi | 27 ++++++++++++++++++++++
12 arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 5 ++++
13 arch/arm/boot/dts/bcm2710.dtsi | 1 -
14 arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 22 ++++++++++++++++++
15 7 files changed, 69 insertions(+), 1 deletion(-)
16
17 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
18 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
19 @@ -154,3 +154,8 @@
20 sd_debug = <&sdhost>,"brcm,debug";
21 };
22 };
23 +
24 +&i2c_dsi {
25 + gpios = <&gpio 28 0
26 + &gpio 29 0>;
27 +};
28 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
29 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
30 @@ -144,3 +144,8 @@
31 sd_debug = <&sdhost>,"brcm,debug";
32 };
33 };
34 +
35 +&i2c_dsi {
36 + gpios = <&gpio 2 0
37 + &gpio 3 0>;
38 +};
39 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
40 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
41 @@ -154,3 +154,8 @@
42 sd_debug = <&sdhost>,"brcm,debug";
43 };
44 };
45 +
46 +&i2c_dsi {
47 + gpios = <&gpio 28 0
48 + &gpio 29 0>;
49 +};
50 --- a/arch/arm/boot/dts/bcm270x.dtsi
51 +++ b/arch/arm/boot/dts/bcm270x.dtsi
52 @@ -137,6 +137,29 @@
53 /* Add alias */
54 status = "disabled";
55 };
56 +
57 + i2c_dsi: i2cdsi {
58 + /* We have to use i2c-gpio because the
59 + * firmware is also polling another device
60 + * using the only hardware I2C bus that could
61 + * connect to these pins.
62 + */
63 + compatible = "i2c-gpio";
64 + #address-cells = <1>;
65 + #size-cells = <0>;
66 + status = "disabled";
67 +
68 + pitouchscreen_bridge: bridge@45 {
69 + compatible = "raspberrypi,touchscreen-bridge-i2c";
70 + reg = <0x45>;
71 + };
72 +
73 + pitouchscreen_touch: bridge@38 {
74 + compatible = "raspberrypi,touchscreen-ts-i2c";
75 + reg = <0x38>;
76 + };
77 + };
78 +
79 };
80
81 vdd_5v0_reg: fixedregulator_5v0 {
82 @@ -155,3 +178,7 @@
83 regulator-always-on;
84 };
85 };
86 +
87 +&dsi1 {
88 + power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
89 +};
90 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
91 +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
92 @@ -201,3 +201,8 @@
93 sd_debug = <&sdhost>,"brcm,debug";
94 };
95 };
96 +
97 +&i2c_dsi {
98 + gpios = <&gpio 44 0
99 + &gpio 45 0>;
100 +};
101 --- a/arch/arm/boot/dts/bcm2710.dtsi
102 +++ b/arch/arm/boot/dts/bcm2710.dtsi
103 @@ -145,4 +145,3 @@
104 interrupt-parent = <&local_intc>;
105 interrupts = <8>;
106 };
107 -
108 --- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts
109 +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts
110 @@ -126,6 +126,28 @@
111 };
112 };
113
114 + fragment@16 {
115 + target = <&dsi1>;
116 + __overlay__ {
117 + #address-cells = <1>;
118 + #size-cells = <0>;
119 + status = "okay";
120 +
121 + pitouchscreen: panel@0 {
122 + compatible = "raspberrypi,touchscreen";
123 + reg = <0>;
124 + raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>;
125 + };
126 + };
127 + };
128 +
129 + fragment@17 {
130 + target = <&i2c_dsi>;
131 + __overlay__ {
132 + status = "okay";
133 + };
134 + };
135 +
136 __overrides__ {
137 cma-256 = <0>,"+0-1-2-3-4";
138 cma-192 = <0>,"-0+1-2-3-4";