Merge tag 'u-boot-imx-20191009' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[oweals/u-boot.git] / arch / arm / dts / r8a7791-koelsch.dts
index 6b13613d454f3372e3f39669b80349256d913e48..e6580aa0cea3573fd3c7b52e560f4a076f6e58cb 100644 (file)
@@ -1,11 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Device Tree Source for the Koelsch board
  *
  * Copyright (C) 2013 Renesas Electronics Corporation
  * Copyright (C) 2013-2014 Renesas Solutions Corp.
  * Copyright (C) 2014 Cogent Embedded, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0
  */
 
 /*
                serial0 = &scif0;
                serial1 = &scif1;
                i2c9 = &gpioi2c1;
+               i2c10 = &gpioi2c2;
+               i2c11 = &gpioi2c4;
                i2c12 = &i2cexio1;
+               i2c13 = &i2chdmi;
+               i2c14 = &i2cexio4;
        };
 
        chosen {
                };
        };
 
+       cec_clock: cec-clock {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <12000000>;
+       };
+
        hdmi-out {
                compatible = "hdmi-connector";
                type = "a";
                #size-cells = <0>;
                compatible = "i2c-gpio";
                status = "disabled";
-               gpios = <&gpio7 16 GPIO_ACTIVE_HIGH /* sda */
-                        &gpio7 15 GPIO_ACTIVE_HIGH /* scl */
-                       >;
+               scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               i2c-gpio,delay-us = <5>;
+       };
+
+       gpioi2c2: i2c-10 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "i2c-gpio";
+               status = "disabled";
+               scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               i2c-gpio,delay-us = <5>;
+       };
+
+       gpioi2c4: i2c-11 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "i2c-gpio";
+               status = "disabled";
+               scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                i2c-gpio,delay-us = <5>;
        };
 
                #address-cells = <1>;
                #size-cells = <0>;
        };
+
+       /*
+        * A fallback to GPIO is provided for I2C2.
+        */
+       i2chdmi: i2c-13 {
+               compatible = "i2c-demux-pinctrl";
+               i2c-parent = <&i2c2>, <&gpioi2c2>;
+               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 = <&vin1>;
+
+                       port {
+                               adv7180: endpoint {
+                                       bus-width = <8>;
+                                       remote-endpoint = <&vin1ep>;
+                               };
+                       };
+               };
+
+               hdmi@39 {
+                       compatible = "adi,adv7511w";
+                       reg = <0x39>;
+                       interrupt-parent = <&gpio3>;
+                       interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
+                       clocks = <&cec_clock>;
+                       clock-names = "cec";
+
+                       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_rgb>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       adv7511_out: endpoint {
+                                               remote-endpoint = <&hdmi_con_out>;
+                                       };
+                               };
+                       };
+               };
+
+               hdmi-in@4c {
+                       compatible = "adi,adv7612";
+                       reg = <0x4c>;
+                       interrupt-parent = <&gpio4>;
+                       interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+                       default-input = <0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       adv7612_in: endpoint {
+                                               remote-endpoint = <&hdmi_con_in>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       adv7612_out: endpoint {
+                                               remote-endpoint = <&vin0ep2>;
+                                       };
+                               };
+                       };
+               };
+
+               eeprom@50 {
+                       compatible = "renesas,r1ex24002", "atmel,24c02";
+                       reg = <0x50>;
+                       pagesize = <16>;
+               };
+       };
+
+       /*
+        * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
+        * A fallback to GPIO is provided.
+        */
+       i2cexio4: i2c-14 {
+               compatible = "i2c-demux-pinctrl";
+               i2c-parent = <&i2c4>, <&gpioi2c4>;
+               i2c-bus-name = "i2c-exio4";
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
 };
 
 &du {
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
                 <&x13_clk>, <&x2_clk>;
-       clock-names = "du.0", "du.1", "lvds.0",
-                     "dclkin.0", "dclkin.1";
+       clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
 
        ports {
                port@0 {
                                remote-endpoint = <&adv7511_in>;
                        };
                };
+       };
+};
+
+&lvds0 {
+       ports {
                port@1 {
                        lvds_connector: endpoint {
                        };
                function = "i2c2";
        };
 
+       i2c4_pins: i2c4 {
+               groups = "i2c4_c";
+               function = "i2c4";
+       };
+
        du_pins: du {
                groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
                function = "du";
        status = "okay";
 };
 
+&rwdt {
+       timeout-sec = <60>;
+       status = "okay";
+};
+
 &sata0 {
        status = "okay";
 };
 
 &i2c2 {
        pinctrl-0 = <&i2c2_pins>;
-       pinctrl-names = "default";
+       pinctrl-names = "i2c-hdmi";
 
-       status = "okay";
        clock-frequency = <100000>;
+};
 
-       ak4643: codec@12 {
-               compatible = "asahi-kasei,ak4643";
-               #sound-dai-cells = <0>;
-               reg = <0x12>;
-       };
-
-       composite-in@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
-               remote = <&vin1>;
-
-               port {
-                       adv7180: endpoint {
-                               bus-width = <8>;
-                               remote-endpoint = <&vin1ep>;
-                       };
-               };
-       };
-
-       cec_clock: cec-clock {
-               compatible = "fixed-clock";
-               #clock-cells = <0>;
-               clock-frequency = <12000000>;
-       };
-
-       hdmi@39 {
-               compatible = "adi,adv7511w";
-               reg = <0x39>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
-               clocks = <&cec_clock>;
-               clock-names = "cec";
-
-               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_rgb>;
-                               };
-                       };
-
-                       port@1 {
-                               reg = <1>;
-                               adv7511_out: endpoint {
-                                       remote-endpoint = <&hdmi_con_out>;
-                               };
-                       };
-               };
-       };
-
-       hdmi-in@4c {
-               compatible = "adi,adv7612";
-               reg = <0x4c>;
-               interrupt-parent = <&gpio4>;
-               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
-               default-input = <0>;
-
-               ports {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-
-                       port@0 {
-                               reg = <0>;
-                               adv7612_in: endpoint {
-                                       remote-endpoint = <&hdmi_con_in>;
-                               };
-                       };
-
-                       port@2 {
-                               reg = <2>;
-                               adv7612_out: endpoint {
-                                       remote-endpoint = <&vin0ep2>;
-                               };
-                       };
-               };
-       };
-
-       eeprom@50 {
-               compatible = "renesas,24c02", "atmel,24c02";
-               reg = <0x50>;
-               pagesize = <16>;
-       };
+&i2c4 {
+       pinctrl-0 = <&i2c4_pins>;
+       pinctrl-names = "i2c-exio4";
 };
 
 &i2c6 {
        pinctrl-names = "default";
 
        port {
-               #address-cells = <1>;
-               #size-cells = <0>;
-
                vin0ep2: endpoint {
                        remote-endpoint = <&adv7612_out>;
                        bus-width = <24>;
        pinctrl-names = "default";
 
        port {
-               #address-cells = <1>;
-               #size-cells = <0>;
-
                vin1ep: endpoint {
                        remote-endpoint = <&adv7180>;
                        bus-width = <8>;