aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2018-02-06 17:29:56 -0500
committerSimon Horman <horms+renesas@verge.net.au>2018-02-12 07:50:59 -0500
commitd4c1ce2813942407cead7adb86d1dd9dfc46f74c (patch)
treeb38a4e03938455d720ea2a5f6f175b1d782b5915
parent61866d7fdc7007acfca2107f7d9fcb05ed0c6203 (diff)
ARM: dts: silk: use demuxer for I2C1
Create a separate bus for HDMI related I2C1 and provide fallback to GPIO. Based on work for the r8a7790/lager by Wolfram Sang. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> [wsa: rebased, fixed aliases, switched to named GPIOs] Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
-rw-r--r--arch/arm/boot/dts/r8a7794-silk.dts128
1 files changed, 75 insertions, 53 deletions
diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts
index edfad0e5ac53..f1afe2dda13a 100644
--- a/arch/arm/boot/dts/r8a7794-silk.dts
+++ b/arch/arm/boot/dts/r8a7794-silk.dts
@@ -31,6 +31,8 @@
31 31
32 aliases { 32 aliases {
33 serial0 = &scif2; 33 serial0 = &scif2;
34 i2c9 = &gpioi2c1;
35 i2c10 = &i2chdmi;
34 }; 36 };
35 37
36 chosen { 38 chosen {
@@ -153,6 +155,78 @@
153 clocks = <&x9_clk>; 155 clocks = <&x9_clk>;
154 }; 156 };
155 }; 157 };
158
159 gpioi2c1: i2c-9 {
160 #address-cells = <1>;
161 #size-cells = <0>;
162 compatible = "i2c-gpio";
163 status = "disabled";
164 scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
165 sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
166 i2c-gpio,delay-us = <5>;
167 };
168
169 /*
170 * A fallback to GPIO is provided for I2C1.
171 */
172 i2chdmi: i2c-10 {
173 compatible = "i2c-demux-pinctrl";
174 i2c-parent = <&i2c1>, <&gpioi2c1>;
175 i2c-bus-name = "i2c-hdmi";
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 ak4643: codec@12 {
180 compatible = "asahi-kasei,ak4643";
181 #sound-dai-cells = <0>;
182 reg = <0x12>;
183 };
184
185 composite-in@20 {
186 compatible = "adi,adv7180";
187 reg = <0x20>;
188 remote = <&vin0>;
189
190 port {
191 adv7180: endpoint {
192 bus-width = <8>;
193 remote-endpoint = <&vin0ep>;
194 };
195 };
196 };
197
198 hdmi@39 {
199 compatible = "adi,adv7511w";
200 reg = <0x39>;
201 interrupt-parent = <&gpio5>;
202 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
203
204 adi,input-depth = <8>;
205 adi,input-colorspace = "rgb";
206 adi,input-clock = "1x";
207 adi,input-style = <1>;
208 adi,input-justification = "evenly";
209
210 ports {
211 #address-cells = <1>;
212 #size-cells = <0>;
213
214 port@0 {
215 reg = <0>;
216 adv7511_in: endpoint {
217 remote-endpoint = <&du_out_rgb0>;
218 };
219 };
220
221 port@1 {
222 reg = <1>;
223 adv7511_out: endpoint {
224 remote-endpoint = <&hdmi_con>;
225 };
226 };
227 };
228 };
229 };
156}; 230};
157 231
158&extal_clk { 232&extal_clk {
@@ -268,61 +342,9 @@
268 342
269&i2c1 { 343&i2c1 {
270 pinctrl-0 = <&i2c1_pins>; 344 pinctrl-0 = <&i2c1_pins>;
271 pinctrl-names = "default"; 345 pinctrl-names = "i2c-hdmi";
272 346
273 status = "okay";
274 clock-frequency = <400000>; 347 clock-frequency = <400000>;
275
276 ak4643: codec@12 {
277 compatible = "asahi-kasei,ak4643";
278 #sound-dai-cells = <0>;
279 reg = <0x12>;
280 };
281
282 composite-in@20 {
283 compatible = "adi,adv7180";
284 reg = <0x20>;
285 remote = <&vin0>;
286
287 port {
288 adv7180: endpoint {
289 bus-width = <8>;
290 remote-endpoint = <&vin0ep>;
291 };
292 };
293 };
294
295 hdmi@39 {
296 compatible = "adi,adv7511w";
297 reg = <0x39>;
298 interrupt-parent = <&gpio5>;
299 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
300
301 adi,input-depth = <8>;
302 adi,input-colorspace = "rgb";
303 adi,input-clock = "1x";
304 adi,input-style = <1>;
305 adi,input-justification = "evenly";
306
307 ports {
308 #address-cells = <1>;
309 #size-cells = <0>;
310
311 port@0 {
312 reg = <0>;
313 adv7511_in: endpoint {
314 remote-endpoint = <&du_out_rgb0>;
315 };
316 };
317
318 port@1 {
319 reg = <1>;
320 adv7511_out: endpoint {
321 remote-endpoint = <&hdmi_con>;
322 };
323 };
324 };
325 };
326}; 348};
327 349
328&mmcif0 { 350&mmcif0 {