ARM: dts: dove: Add internal i2c multiplexer node
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Mon, 4 May 2015 20:08:47 +0000 (22:08 +0200)
committerGregory CLEMENT <gregory.clement@free-electrons.com>
Mon, 11 May 2015 12:56:43 +0000 (14:56 +0200)
This adds a i2c-mux-pinctrl node to dove.dtsi for the internal i2c
mux found on Dove SoCs. Up to now, we had no board using any of the
two additional i2c busses, so make sure the change does not break
any existing boards.

Therefore, we rename the i2c-controller node label to "i2c" and
enable it by default. Also, the dedicated sub-bus (now "i2c0") is
enabled by default. The two optional sub-busses require additional
external pin-muxing, so disable them by default.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
arch/arm/boot/dts/dove.dtsi

index 9ad829523a1350d59bcc795286459d8dfc6c133e..38b1f7e6004e529555fec1f9c9429ba7d243ac93 100644 (file)
                marvell,tauros2-cache-features = <0>;
        };
 
+       i2c-mux {
+               compatible = "i2c-mux-pinctrl";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               i2c-parent = <&i2c>;
+
+               pinctrl-names = "i2c0", "i2c1", "i2c2";
+               pinctrl-0 = <&pmx_i2cmux_0>;
+               pinctrl-1 = <&pmx_i2cmux_1>;
+               pinctrl-2 = <&pmx_i2cmux_2>;
+
+               i2c0: i2c@0 {
+                       reg = <0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "okay";
+               };
+
+               i2c1: i2c@1 {
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       /* Requires pmx_i2c1 on i2c controller node */
+                       status = "disabled";
+               };
+
+               i2c2: i2c@2 {
+                       reg = <2>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       /* Requires pmx_i2c2 on i2c controller node */
+                       status = "disabled";
+               };
+       };
+
        mbus {
                compatible = "marvell,dove-mbus", "marvell,mbus", "simple-bus";
                #address-cells = <2>;
                                status = "disabled";
                        };
 
-                       i2c0: i2c-ctrl@11000 {
+                       i2c: i2c-ctrl@11000 {
                                compatible = "marvell,mv64xxx-i2c";
                                reg = <0x11000 0x20>;
                                #address-cells = <1>;
                                clock-frequency = <400000>;
                                timeout-ms = <1000>;
                                clocks = <&core_clk 0>;
-                               status = "disabled";
+                               status = "okay";
                        };
 
                        uart0: serial@12000 {