OSDN Git Service

ARM: dts: uniphier: add I2C controller device nodes
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 4 Aug 2015 11:21:02 +0000 (20:21 +0900)
committerOlof Johansson <olof@lixom.net>
Tue, 11 Aug 2015 13:09:21 +0000 (15:09 +0200)
Add I2C controller device nodes for PH1-sLD3, PH1-LD4, PH1-sLD8
(FIFO-less I2C) and PH1-Pro4 (FIFO-builtin I2C).

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/boot/dts/uniphier-ph1-ld4-ref.dts
arch/arm/boot/dts/uniphier-ph1-ld4.dtsi
arch/arm/boot/dts/uniphier-ph1-pro4-ref.dts
arch/arm/boot/dts/uniphier-ph1-pro4.dtsi
arch/arm/boot/dts/uniphier-ph1-sld3-ref.dts
arch/arm/boot/dts/uniphier-ph1-sld3.dtsi
arch/arm/boot/dts/uniphier-ph1-sld8-ref.dts
arch/arm/boot/dts/uniphier-ph1-sld8.dtsi
arch/arm/boot/dts/uniphier-pinctrl.dtsi

index 7ac053d..5d24c57 100644 (file)
                serial1 = &serial1;
                serial2 = &serial2;
                serial3 = &serial3;
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
        };
 };
 
        status = "okay";
 };
 
+&i2c0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
 };
index 4add90b..a6a185f 100644 (file)
                        compatible = "fixed-clock";
                        clock-frequency = <36864000>;
                };
+
+               iobus_clk: iobus_clk {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <100000000>;
+               };
        };
 
        soc {
                        fifo-size = <64>;
                };
 
+               i2c0: i2c@58400000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58400000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c0>;
+                       interrupts = <0 41 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c1: i2c@58480000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58480000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c1>;
+                       interrupts = <0 42 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               /* chip-internal connection for DMD */
+               i2c2: i2c@58500000 {
+                       compatible = "socionext,uniphier-i2c";
+                       reg = <0x58500000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c2>;
+                       interrupts = <0 43 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <400000>;
+               };
+
+               i2c3: i2c@58580000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58580000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c3>;
+                       interrupts = <0 44 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
                system-bus-controller-misc@59800000 {
                        compatible = "socionext,uniphier-system-bus-controller-misc",
                                     "syscon";
index b669d32..26c18ac 100644 (file)
                serial1 = &serial1;
                serial2 = &serial2;
                serial3 = &serial3;
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c5 = &i2c5;
+               i2c6 = &i2c6;
        };
 };
 
        status = "okay";
 };
 
+&i2c0 {
+       status = "okay";
+};
+
 &usb2 {
        status = "okay";
 };
index d0ca4c8..e8bbc45 100644 (file)
                        compatible = "fixed-clock";
                        clock-frequency = <73728000>;
                };
+
+               i2c_clk: i2c_clk {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <50000000>;
+               };
        };
 
        soc {
                        fifo-size = <64>;
                };
 
+               i2c0: i2c@58780000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       status = "disabled";
+                       reg = <0x58780000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c0>;
+                       interrupts = <0 41 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c1: i2c@58781000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       status = "disabled";
+                       reg = <0x58781000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c1>;
+                       interrupts = <0 42 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c2: i2c@58782000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       status = "disabled";
+                       reg = <0x58782000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c2>;
+                       interrupts = <0 43 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c3: i2c@58783000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       status = "disabled";
+                       reg = <0x58783000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c3>;
+                       interrupts = <0 44 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               /* i2c4 does not exist */
+
+               /* chip-internal connection for DMD */
+               i2c5: i2c@58785000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       reg = <0x58785000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 25 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <400000>;
+               };
+
+               /* chip-internal connection for HDMI */
+               i2c6: i2c@58786000 {
+                       compatible = "socionext,uniphier-fi2c";
+                       reg = <0x58786000 0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 26 4>;
+                       clocks = <&i2c_clk>;
+                       clock-frequency = <400000>;
+               };
+
                system-bus-controller-misc@59800000 {
                        compatible = "socionext,uniphier-system-bus-controller-misc",
                                     "syscon";
index 48f7361..cb6e9aa 100644 (file)
                serial0 = &serial0;
                serial1 = &serial1;
                serial2 = &serial2;
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c4 = &i2c4;
        };
 };
 
        status = "okay";
 };
 
+&i2c0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
 };
index db74457..3cc90cd 100644 (file)
                        compatible = "fixed-clock";
                        clock-frequency = <36864000>;
                };
+
+               iobus_clk: iobus_clk {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <100000000>;
+               };
        };
 
        soc {
                        fifo-size = <64>;
                };
 
+               i2c0: i2c@58400000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58400000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 41 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c1: i2c@58480000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58480000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 42 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c2: i2c@58500000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58500000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 43 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c3: i2c@58580000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58580000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 44 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               /* chip-internal connection for DMD */
+               i2c4: i2c@58600000 {
+                       compatible = "socionext,uniphier-i2c";
+                       reg = <0x58600000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <0 45 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <400000>;
+               };
+
                system-bus-controller-misc@59800000 {
                        compatible = "socionext,uniphier-system-bus-controller-misc",
                                     "syscon";
index 9b5992a..a40a0fb 100644 (file)
                serial1 = &serial1;
                serial2 = &serial2;
                serial3 = &serial3;
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
        };
 };
 
        status = "okay";
 };
 
+&i2c0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
 };
index 3ead910..58067df 100644 (file)
                        compatible = "fixed-clock";
                        clock-frequency = <80000000>;
                };
+
+               iobus_clk: iobus_clk {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <100000000>;
+               };
        };
 
        soc {
                        fifo-size = <64>;
                };
 
+               i2c0: i2c@58400000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58400000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c0>;
+                       interrupts = <0 41 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               i2c1: i2c@58480000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58480000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c1>;
+                       interrupts = <0 42 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
+               /* chip-internal connection for DMD */
+               i2c2: i2c@58500000 {
+                       compatible = "socionext,uniphier-i2c";
+                       reg = <0x58500000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c2>;
+                       interrupts = <0 43 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <400000>;
+               };
+
+               i2c3: i2c@58580000 {
+                       compatible = "socionext,uniphier-i2c";
+                       status = "disabled";
+                       reg = <0x58580000 0x40>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c3>;
+                       interrupts = <0 44 1>;
+                       clocks = <&iobus_clk>;
+                       clock-frequency = <100000>;
+               };
+
                system-bus-controller-misc@59800000 {
                        compatible = "socionext,uniphier-system-bus-controller-misc",
                                     "syscon";
index 1b5b4fe..f67445f 100644 (file)
  */
 
 &pinctrl {
+       pinctrl_i2c0: i2c0_grp {
+               groups = "i2c0";
+               function = "i2c0";
+       };
+
+       pinctrl_i2c1: i2c1_grp {
+               groups = "i2c1";
+               function = "i2c1";
+       };
+
+       pinctrl_i2c2: i2c2_grp {
+               groups = "i2c2";
+               function = "i2c2";
+       };
+
+       pinctrl_i2c3: i2c3_grp {
+               groups = "i2c3";
+               function = "i2c3";
+       };
+
        pinctrl_uart0: uart0_grp {
                groups = "uart0";
                function = "uart0";