| From 0af6d53b28dc202ac1292aafe1dba1d4c98073ec Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Date: Tue, 6 Feb 2018 23:29:56 +0100 |
| Subject: [PATCH 1099/1795] 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> |
| |
| (cherry picked from commit d4c1ce2813942407cead7adb86d1dd9dfc46f74c) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| --- |
| arch/arm/boot/dts/r8a7794-silk.dts | 128 +++++++++++++++++------------ |
| 1 file 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 @@ |
| |
| aliases { |
| serial0 = &scif2; |
| + i2c9 = &gpioi2c1; |
| + i2c10 = &i2chdmi; |
| }; |
| |
| chosen { |
| @@ -153,6 +155,78 @@ |
| clocks = <&x9_clk>; |
| }; |
| }; |
| + |
| + gpioi2c1: i2c-9 { |
| + #address-cells = <1>; |
| + #size-cells = <0>; |
| + compatible = "i2c-gpio"; |
| + status = "disabled"; |
| + scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| + sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| + i2c-gpio,delay-us = <5>; |
| + }; |
| + |
| + /* |
| + * A fallback to GPIO is provided for I2C1. |
| + */ |
| + i2chdmi: i2c-10 { |
| + compatible = "i2c-demux-pinctrl"; |
| + i2c-parent = <&i2c1>, <&gpioi2c1>; |
| + i2c-bus-name = "i2c-hdmi"; |
| + #address-cells = <1>; |
| + #size-cells = <0>; |
| + |
| + ak4643: codec@12 { |
| + compatible = "asahi-kasei,ak4643"; |
| + #sound-dai-cells = <0>; |
| + reg = <0x12>; |
| + }; |
| + |
| + composite-in@20 { |
| + compatible = "adi,adv7180"; |
| + reg = <0x20>; |
| + remote = <&vin0>; |
| + |
| + port { |
| + adv7180: endpoint { |
| + bus-width = <8>; |
| + remote-endpoint = <&vin0ep>; |
| + }; |
| + }; |
| + }; |
| + |
| + hdmi@39 { |
| + compatible = "adi,adv7511w"; |
| + reg = <0x39>; |
| + interrupt-parent = <&gpio5>; |
| + interrupts = <23 IRQ_TYPE_LEVEL_LOW>; |
| + |
| + adi,input-depth = <8>; |
| + adi,input-colorspace = "rgb"; |
| + adi,input-clock = "1x"; |
| + adi,input-style = <1>; |
| + adi,input-justification = "evenly"; |
| + |
| + ports { |
| + #address-cells = <1>; |
| + #size-cells = <0>; |
| + |
| + port@0 { |
| + reg = <0>; |
| + adv7511_in: endpoint { |
| + remote-endpoint = <&du_out_rgb0>; |
| + }; |
| + }; |
| + |
| + port@1 { |
| + reg = <1>; |
| + adv7511_out: endpoint { |
| + remote-endpoint = <&hdmi_con>; |
| + }; |
| + }; |
| + }; |
| + }; |
| + }; |
| }; |
| |
| &extal_clk { |
| @@ -268,61 +342,9 @@ |
| |
| &i2c1 { |
| pinctrl-0 = <&i2c1_pins>; |
| - pinctrl-names = "default"; |
| + pinctrl-names = "i2c-hdmi"; |
| |
| - status = "okay"; |
| clock-frequency = <400000>; |
| - |
| - ak4643: codec@12 { |
| - compatible = "asahi-kasei,ak4643"; |
| - #sound-dai-cells = <0>; |
| - reg = <0x12>; |
| - }; |
| - |
| - composite-in@20 { |
| - compatible = "adi,adv7180"; |
| - reg = <0x20>; |
| - remote = <&vin0>; |
| - |
| - port { |
| - adv7180: endpoint { |
| - bus-width = <8>; |
| - remote-endpoint = <&vin0ep>; |
| - }; |
| - }; |
| - }; |
| - |
| - hdmi@39 { |
| - compatible = "adi,adv7511w"; |
| - reg = <0x39>; |
| - interrupt-parent = <&gpio5>; |
| - interrupts = <23 IRQ_TYPE_LEVEL_LOW>; |
| - |
| - adi,input-depth = <8>; |
| - adi,input-colorspace = "rgb"; |
| - adi,input-clock = "1x"; |
| - adi,input-style = <1>; |
| - adi,input-justification = "evenly"; |
| - |
| - ports { |
| - #address-cells = <1>; |
| - #size-cells = <0>; |
| - |
| - port@0 { |
| - reg = <0>; |
| - adv7511_in: endpoint { |
| - remote-endpoint = <&du_out_rgb0>; |
| - }; |
| - }; |
| - |
| - port@1 { |
| - reg = <1>; |
| - adv7511_out: endpoint { |
| - remote-endpoint = <&hdmi_con>; |
| - }; |
| - }; |
| - }; |
| - }; |
| }; |
| |
| &mmcif0 { |
| -- |
| 2.19.0 |
| |