ARM: dts: imx6q-utilite-pro: i2c1 is muxed
authorChristopher Spinrath <christopher.spinrath@rwth-aachen.de>
Fri, 11 Nov 2016 15:59:39 +0000 (16:59 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 14 Nov 2016 07:33:13 +0000 (15:33 +0800)
It turns out that the i2c1 adapter is connected to a multiplexer
controlled by a gpio line. The first (default) mux option connects
i2c1 to a bus connected to the already known peripherals. The other
one connects the adapter to the ddc pins of the DVI port.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6q-utilite-pro.dts

index 6199063..246979a 100644 (file)
                        gpio-key,wakeup;
                };
        };
+
+       i2cmux {
+               compatible = "i2c-mux-gpio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c1mux>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               mux-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+               i2c-parent = <&i2c1>;
+
+               i2c@0 {
+                       reg = <0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       eeprom@50 {
+                               compatible = "at24,24c02";
+                               reg = <0x50>;
+                               pagesize = <16>;
+                       };
+
+                       em3027: rtc@56 {
+                               compatible = "emmicro,em3027";
+                               reg = <0x56>;
+                       };
+               };
+
+               i2c_dvi_ddc: i2c@1 {
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+       };
 };
 
 &hdmi {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
-
-       eeprom@50 {
-               compatible = "at24,24c02";
-               reg = <0x50>;
-               pagesize = <16>;
-       };
-
-       em3027: rtc@56 {
-               compatible = "emmicro,em3027";
-               reg = <0x56>;
-       };
 };
 
 &i2c2 {
                >;
        };
 
+       pinctrl_i2c1mux: i2c1muxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0
+               >;
+       };
+
        pinctrl_i2c2: i2c2grp {
                fsl,pins = <
                        MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1