Merge tag 'sti-dt-for-v3.19-2' of git://git.stlinux.com/devel/kernel/linux-sti into...
authorArnd Bergmann <arnd@arndb.de>
Thu, 20 Nov 2014 16:36:23 +0000 (17:36 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 20 Nov 2014 16:36:23 +0000 (17:36 +0100)
Pull "STi DT updates for v3.19, round 2" from Maxime Coquelin:

Highlights:
-----------
 - Refactor STiH407 SoC and board to add STiH410 SoC support
 - Add USB support to STiH416 SoC

* tag 'sti-dt-for-v3.19-2' of git://git.stlinux.com/devel/kernel/linux-sti:
  ARM: STi: DT: STiH416: Change miphy356 node name to phy@fe382000
  ARM: STi: DT: STih407: STih410: Add clk_ignore_unused to kernel bootargs
  ARM: STi: DT: STiH410: Add STiH410 SoC and b2120 board support.
  ARM: STi: DT: STih407: Abstract common dt nodes into shared files.
  ARM: STi: DT: STiH410: Add pinctl config for usb controllers.
  ARM: STi: DT: STiH410: Add defines for STiH410 DT clocks
  ARM: STi: DT: STiH416: Add DT nodes for the ehci and ohci usb controllers.
  ARM: STi: DT: STiH416: Add DT node for the stih415/6 usb2 phy
  ARM: STi: DT: STiH416: Add pinctl setup for usb controllers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
14 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/stih407-b2120.dts
arch/arm/boot/dts/stih407-family.dtsi [new file with mode: 0644]
arch/arm/boot/dts/stih407.dtsi [deleted file]
arch/arm/boot/dts/stih410-b2120.dts [new file with mode: 0644]
arch/arm/boot/dts/stih410-clock.dtsi [new file with mode: 0644]
arch/arm/boot/dts/stih410-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/stih410.dtsi [new file with mode: 0644]
arch/arm/boot/dts/stih416-b2020.dts
arch/arm/boot/dts/stih416-b2020e.dts
arch/arm/boot/dts/stih416-pinctrl.dtsi
arch/arm/boot/dts/stih416.dtsi
arch/arm/boot/dts/stihxxx-b2120.dtsi [new file with mode: 0644]
include/dt-bindings/clock/stih410-clks.h [new file with mode: 0644]

index 9bcee719c69703b0a2a1ec53c2eeb82fa01eeb37..95f181079e4eb4403b7702295862d76e8b1c1a94 100644 (file)
@@ -420,6 +420,7 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
        spear320-hmi.dtb
 dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
 dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \
+       stih410-b2120.dtb \
        stih415-b2000.dtb \
        stih415-b2020.dtb \
        stih416-b2000.dtb \
index fe69f92e5f827c02c0c4566ffac0ed938ceaf410..261d5e2c48d24de2262d2947387e39441c6a434d 100644 (file)
@@ -7,13 +7,15 @@
  * published by the Free Software Foundation.
  */
 /dts-v1/;
-#include "stih407.dtsi"
+#include "stih407-clock.dtsi"
+#include "stih407-family.dtsi"
+#include "stihxxx-b2120.dtsi"
 / {
        model = "STiH407 B2120";
        compatible = "st,stih407-b2120", "st,stih407";
 
        chosen {
-               bootargs = "console=ttyAS0,115200";
+               bootargs = "console=ttyAS0,115200 clk_ignore_unused";
                linux,stdout-path = &sbc_serial0;
        };
 
                ttyAS0 = &sbc_serial0;
        };
 
-       soc {
-               sbc_serial0: serial@9530000 {
-                       status = "okay";
-               };
-
-               leds {
-                       compatible = "gpio-leds";
-                       red {
-                               #gpio-cells = <2>;
-                               label = "Front Panel LED";
-                               gpios = <&pio4 1 0>;
-                               linux,default-trigger = "heartbeat";
-                       };
-                       green {
-                               #gpio-cells = <2>;
-                               gpios = <&pio1 3 0>;
-                               default-state = "off";
-                       };
-               };
-
-               i2c@9842000 {
-                       status = "okay";
-               };
-
-               i2c@9843000 {
-                       status = "okay";
-               };
-
-               i2c@9844000 {
-                       status = "okay";
-               };
-
-               i2c@9845000 {
-                       status = "okay";
-               };
-
-               i2c@9540000 {
-                       status = "okay";
-               };
-
-               /* SSC11 to HDMI */
-               i2c@9541000 {
-                       status = "okay";
-                       /* HDMI V1.3a supports Standard mode only */
-                       clock-frequency = <100000>;
-                       st,i2c-min-scl-pulse-width-us = <0>;
-                       st,i2c-min-sda-pulse-width-us = <5>;
-               };
-       };
 };
diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
new file mode 100644 (file)
index 0000000..3e31d32
--- /dev/null
@@ -0,0 +1,278 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics Limited.
+ * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * publishhed by the Free Software Foundation.
+ */
+#include "stih407-pinctrl.dtsi"
+#include <dt-bindings/reset-controller/stih407-resets.h>
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0>;
+               };
+               cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <1>;
+               };
+       };
+
+       intc: interrupt-controller@08761000 {
+               compatible = "arm,cortex-a9-gic";
+               #interrupt-cells = <3>;
+               interrupt-controller;
+               reg = <0x08761000 0x1000>, <0x08760100 0x100>;
+       };
+
+       scu@08760000 {
+               compatible = "arm,cortex-a9-scu";
+               reg = <0x08760000 0x1000>;
+       };
+
+       timer@08760200 {
+               interrupt-parent = <&intc>;
+               compatible = "arm,cortex-a9-global-timer";
+               reg = <0x08760200 0x100>;
+               interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&arm_periph_clk>;
+       };
+
+       l2: cache-controller {
+               compatible = "arm,pl310-cache";
+               reg = <0x08762000 0x1000>;
+               arm,data-latency = <3 3 3>;
+               arm,tag-latency = <2 2 2>;
+               cache-unified;
+               cache-level = <2>;
+       };
+
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               interrupt-parent = <&intc>;
+               ranges;
+               compatible = "simple-bus";
+
+               powerdown: powerdown-controller {
+                       compatible = "st,stih407-powerdown";
+                       #reset-cells = <1>;
+               };
+
+               softreset: softreset-controller {
+                       compatible = "st,stih407-softreset";
+                       #reset-cells = <1>;
+               };
+
+               picophyreset: picophyreset-controller {
+                       compatible = "st,stih407-picophyreset";
+                       #reset-cells = <1>;
+               };
+
+               syscfg_sbc: sbc-syscfg@9620000 {
+                       compatible = "st,stih407-sbc-syscfg", "syscon";
+                       reg = <0x9620000 0x1000>;
+               };
+
+               syscfg_front: front-syscfg@9280000 {
+                       compatible = "st,stih407-front-syscfg", "syscon";
+                       reg = <0x9280000 0x1000>;
+               };
+
+               syscfg_rear: rear-syscfg@9290000 {
+                       compatible = "st,stih407-rear-syscfg", "syscon";
+                       reg = <0x9290000 0x1000>;
+               };
+
+               syscfg_flash: flash-syscfg@92a0000 {
+                       compatible = "st,stih407-flash-syscfg", "syscon";
+                       reg = <0x92a0000 0x1000>;
+               };
+
+               syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
+                       compatible = "st,stih407-sbc-reg-syscfg", "syscon";
+                       reg = <0x9600000 0x1000>;
+               };
+
+               syscfg_core: core-syscfg@92b0000 {
+                       compatible = "st,stih407-core-syscfg", "syscon";
+                       reg = <0x92b0000 0x1000>;
+               };
+
+               syscfg_lpm: lpm-syscfg@94b5100 {
+                       compatible = "st,stih407-lpm-syscfg", "syscon";
+                       reg = <0x94b5100 0x1000>;
+               };
+
+               serial@9830000 {
+                       compatible = "st,asc";
+                       reg = <0x9830000 0x2c>;
+                       interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_serial0>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+
+                       status = "disabled";
+               };
+
+               serial@9831000 {
+                       compatible = "st,asc";
+                       reg = <0x9831000 0x2c>;
+                       interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_serial1>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+
+                       status = "disabled";
+               };
+
+               serial@9832000 {
+                       compatible = "st,asc";
+                       reg = <0x9832000 0x2c>;
+                       interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_serial2>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+
+                       status = "disabled";
+               };
+
+               /* SBC_ASC0 - UART10 */
+               sbc_serial0: serial@9530000 {
+                       compatible = "st,asc";
+                       reg = <0x9530000 0x2c>;
+                       interrupts = <GIC_SPI 138 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_sbc_serial0>;
+                       clocks = <&clk_sysin>;
+
+                       status = "disabled";
+               };
+
+               serial@9531000 {
+                       compatible = "st,asc";
+                       reg = <0x9531000 0x2c>;
+                       interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_sbc_serial1>;
+                       clocks = <&clk_sysin>;
+
+                       status = "disabled";
+               };
+
+               i2c@9840000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
+                       reg = <0x9840000 0x110>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c0_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9841000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9841000 0x110>;
+                       interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c1_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9842000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9842000 0x110>;
+                       interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c2_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9843000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9843000 0x110>;
+                       interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c3_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9844000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9844000 0x110>;
+                       interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c4_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9845000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9845000 0x110>;
+                       interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c5_default>;
+
+                       status = "disabled";
+               };
+
+
+               /* SSCs on SBC */
+               i2c@9540000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9540000 0x110>;
+                       interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_sysin>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c10_default>;
+
+                       status = "disabled";
+               };
+
+               i2c@9541000 {
+                       compatible = "st,comms-ssc4-i2c";
+                       reg = <0x9541000 0x110>;
+                       interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_sysin>;
+                       clock-names = "ssc";
+                       clock-frequency = <400000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_i2c11_default>;
+
+                       status = "disabled";
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/stih407.dtsi b/arch/arm/boot/dts/stih407.dtsi
deleted file mode 100644 (file)
index 50637f5..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (C) 2014 STMicroelectronics Limited.
- * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * publishhed by the Free Software Foundation.
- */
-#include "stih407-clock.dtsi"
-#include "stih407-pinctrl.dtsi"
-#include <dt-bindings/reset-controller/stih407-resets.h>
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       cpus {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               cpu@0 {
-                       device_type = "cpu";
-                       compatible = "arm,cortex-a9";
-                       reg = <0>;
-               };
-               cpu@1 {
-                       device_type = "cpu";
-                       compatible = "arm,cortex-a9";
-                       reg = <1>;
-               };
-       };
-
-       intc: interrupt-controller@08761000 {
-               compatible = "arm,cortex-a9-gic";
-               #interrupt-cells = <3>;
-               interrupt-controller;
-               reg = <0x08761000 0x1000>, <0x08760100 0x100>;
-       };
-
-       scu@08760000 {
-               compatible = "arm,cortex-a9-scu";
-               reg = <0x08760000 0x1000>;
-       };
-
-       timer@08760200 {
-               interrupt-parent = <&intc>;
-               compatible = "arm,cortex-a9-global-timer";
-               reg = <0x08760200 0x100>;
-               interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&arm_periph_clk>;
-       };
-
-       l2: cache-controller {
-               compatible = "arm,pl310-cache";
-               reg = <0x08762000 0x1000>;
-               arm,data-latency = <3 3 3>;
-               arm,tag-latency = <2 2 2>;
-               cache-unified;
-               cache-level = <2>;
-       };
-
-       soc {
-               #address-cells = <1>;
-               #size-cells = <1>;
-               interrupt-parent = <&intc>;
-               ranges;
-               compatible = "simple-bus";
-
-               powerdown: powerdown-controller {
-                       compatible = "st,stih407-powerdown";
-                       #reset-cells = <1>;
-               };
-
-               softreset: softreset-controller {
-                       compatible = "st,stih407-softreset";
-                       #reset-cells = <1>;
-               };
-
-               picophyreset: picophyreset-controller {
-                       compatible = "st,stih407-picophyreset";
-                       #reset-cells = <1>;
-               };
-
-               syscfg_sbc: sbc-syscfg@9620000 {
-                       compatible = "st,stih407-sbc-syscfg", "syscon";
-                       reg = <0x9620000 0x1000>;
-               };
-
-               syscfg_front: front-syscfg@9280000 {
-                       compatible = "st,stih407-front-syscfg", "syscon";
-                       reg = <0x9280000 0x1000>;
-               };
-
-               syscfg_rear: rear-syscfg@9290000 {
-                       compatible = "st,stih407-rear-syscfg", "syscon";
-                       reg = <0x9290000 0x1000>;
-               };
-
-               syscfg_flash: flash-syscfg@92a0000 {
-                       compatible = "st,stih407-flash-syscfg", "syscon";
-                       reg = <0x92a0000 0x1000>;
-               };
-
-               syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
-                       compatible = "st,stih407-sbc-reg-syscfg", "syscon";
-                       reg = <0x9600000 0x1000>;
-               };
-
-               syscfg_core: core-syscfg@92b0000 {
-                       compatible = "st,stih407-core-syscfg", "syscon";
-                       reg = <0x92b0000 0x1000>;
-               };
-
-               syscfg_lpm: lpm-syscfg@94b5100 {
-                       compatible = "st,stih407-lpm-syscfg", "syscon";
-                       reg = <0x94b5100 0x1000>;
-               };
-
-               serial@9830000 {
-                       compatible = "st,asc";
-                       reg = <0x9830000 0x2c>;
-                       interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_serial0>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-
-                       status = "disabled";
-               };
-
-               serial@9831000 {
-                       compatible = "st,asc";
-                       reg = <0x9831000 0x2c>;
-                       interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_serial1>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-
-                       status = "disabled";
-               };
-
-               serial@9832000 {
-                       compatible = "st,asc";
-                       reg = <0x9832000 0x2c>;
-                       interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_serial2>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-
-                       status = "disabled";
-               };
-
-               /* SBC_ASC0 - UART10 */
-               sbc_serial0: serial@9530000 {
-                       compatible = "st,asc";
-                       reg = <0x9530000 0x2c>;
-                       interrupts = <GIC_SPI 138 IRQ_TYPE_NONE>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_sbc_serial0>;
-                       clocks = <&clk_sysin>;
-
-                       status = "disabled";
-               };
-
-               serial@9531000 {
-                       compatible = "st,asc";
-                       reg = <0x9531000 0x2c>;
-                       interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_sbc_serial1>;
-                       clocks = <&clk_sysin>;
-
-                       status = "disabled";
-               };
-
-               i2c@9840000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
-                       reg = <0x9840000 0x110>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c0_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9841000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9841000 0x110>;
-                       interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c1_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9842000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9842000 0x110>;
-                       interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c2_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9843000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9843000 0x110>;
-                       interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c3_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9844000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9844000 0x110>;
-                       interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c4_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9845000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9845000 0x110>;
-                       interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c5_default>;
-
-                       status = "disabled";
-               };
-
-
-               /* SSCs on SBC */
-               i2c@9540000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9540000 0x110>;
-                       interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_sysin>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c10_default>;
-
-                       status = "disabled";
-               };
-
-               i2c@9541000 {
-                       compatible = "st,comms-ssc4-i2c";
-                       reg = <0x9541000 0x110>;
-                       interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clk_sysin>;
-                       clock-names = "ssc";
-                       clock-frequency = <400000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_i2c11_default>;
-
-                       status = "disabled";
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/stih410-b2120.dts b/arch/arm/boot/dts/stih410-b2120.dts
new file mode 100644 (file)
index 0000000..2f61a99
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics (R&D) Limited.
+ * Author: Peter Griffin <peter.griffin@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+/dts-v1/;
+#include "stih410.dtsi"
+#include "stihxxx-b2120.dtsi"
+/ {
+       model = "STiH410 B2120";
+       compatible = "st,stih410-b2120", "st,stih410";
+
+       chosen {
+               bootargs = "console=ttyAS0,115200 clk_ignore_unused";
+               linux,stdout-path = &sbc_serial0;
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x40000000 0x80000000>;
+       };
+
+       aliases {
+               ttyAS0 = &sbc_serial0;
+       };
+};
diff --git a/arch/arm/boot/dts/stih410-clock.dtsi b/arch/arm/boot/dts/stih410-clock.dtsi
new file mode 100644 (file)
index 0000000..6b5803a
--- /dev/null
@@ -0,0 +1,338 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics R&D Limited
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <dt-bindings/clock/stih410-clks.h>
+/ {
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               compatible = "st,stih410-clk", "simple-bus";
+
+               /*
+                * Fixed 30MHz oscillator inputs to SoC
+                */
+               clk_sysin: clk-sysin {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <30000000>;
+                       clock-output-names = "CLK_SYSIN";
+               };
+
+               /*
+                * ARM Peripheral clock for timers
+                */
+               arm_periph_clk: clk-m-a9-periphs {
+                       #clock-cells = <0>;
+                       compatible = "fixed-factor-clock";
+                       clocks = <&clk_m_a9>;
+                       clock-div = <2>;
+                       clock-mult = <1>;
+               };
+
+               /*
+                * A9 PLL.
+                */
+               clockgen-a9@92b0000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x92b0000 0xffff>;
+
+                       clockgen_a9_pll: clockgen-a9-pll {
+                               #clock-cells = <1>;
+                               compatible = "st,stih407-plls-c32-a9", "st,clkgen-plls-c32";
+
+                               clocks = <&clk_sysin>;
+
+                               clock-output-names = "clockgen-a9-pll-odf";
+                       };
+               };
+
+               /*
+                * ARM CPU related clocks.
+                */
+               clk_m_a9: clk-m-a9@92b0000 {
+                       #clock-cells = <0>;
+                       compatible = "st,stih407-clkgen-a9-mux", "st,clkgen-mux";
+                       reg = <0x92b0000 0x10000>;
+
+                       clocks = <&clockgen_a9_pll 0>,
+                                <&clockgen_a9_pll 0>,
+                                <&clk_s_c0_flexgen 13>,
+                                <&clk_m_a9_ext2f_div2>;
+               };
+
+               /*
+                * ARM Peripheral clock for timers
+                */
+               clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
+                       #clock-cells = <0>;
+                       compatible = "fixed-factor-clock";
+
+                       clocks = <&clk_s_c0_flexgen 13>;
+
+                       clock-output-names = "clk-m-a9-ext2f-div2";
+
+                       clock-div = <2>;
+                       clock-mult = <1>;
+               };
+
+               /*
+                * Bootloader initialized system infrastructure clock for
+                * serial devices.
+                */
+               clk_ext2f_a9: clockgen-c0@13 {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <200000000>;
+                       clock-output-names = "clk-s-icn-reg-0";
+               };
+
+               clockgen-a@090ff000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x90ff000 0x1000>;
+
+                       clk_s_a0_pll: clk-s-a0-pll {
+                               #clock-cells = <1>;
+                               compatible = "st,stih407-plls-c32-a0", "st,clkgen-plls-c32";
+
+                               clocks = <&clk_sysin>;
+
+                               clock-output-names = "clk-s-a0-pll-ofd-0";
+                       };
+
+                       clk_s_a0_flexgen: clk-s-a0-flexgen {
+                               compatible = "st,flexgen";
+
+                               #clock-cells = <1>;
+
+                               clocks = <&clk_s_a0_pll 0>,
+                                        <&clk_sysin>;
+
+                               clock-output-names = "clk-ic-lmi0",
+                                                    "clk-ic-lmi1";
+                       };
+               };
+
+               clk_s_c0_quadfs: clk-s-c0-quadfs@9103000 {
+                       #clock-cells = <1>;
+                       compatible = "st,stih407-quadfs660-C", "st,quadfs";
+                       reg = <0x9103000 0x1000>;
+
+                       clocks = <&clk_sysin>;
+
+                       clock-output-names = "clk-s-c0-fs0-ch0",
+                                            "clk-s-c0-fs0-ch1",
+                                            "clk-s-c0-fs0-ch2",
+                                            "clk-s-c0-fs0-ch3";
+               };
+
+               clk_s_c0: clockgen-c@09103000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x9103000 0x1000>;
+
+                       clk_s_c0_pll0: clk-s-c0-pll0 {
+                               #clock-cells = <1>;
+                               compatible = "st,stih407-plls-c32-c0_0", "st,clkgen-plls-c32";
+
+                               clocks = <&clk_sysin>;
+
+                               clock-output-names = "clk-s-c0-pll0-odf-0";
+                       };
+
+                       clk_s_c0_pll1: clk-s-c0-pll1 {
+                               #clock-cells = <1>;
+                               compatible = "st,stih407-plls-c32-c0_1", "st,clkgen-plls-c32";
+
+                               clocks = <&clk_sysin>;
+
+                               clock-output-names = "clk-s-c0-pll1-odf-0";
+                       };
+
+                       clk_s_c0_flexgen: clk-s-c0-flexgen {
+                               #clock-cells = <1>;
+                               compatible = "st,flexgen";
+
+                               clocks = <&clk_s_c0_pll0 0>,
+                                        <&clk_s_c0_pll1 0>,
+                                        <&clk_s_c0_quadfs 0>,
+                                        <&clk_s_c0_quadfs 1>,
+                                        <&clk_s_c0_quadfs 2>,
+                                        <&clk_s_c0_quadfs 3>,
+                                        <&clk_sysin>;
+
+                               clock-output-names = "clk-icn-gpu",
+                                                    "clk-fdma",
+                                                    "clk-nand",
+                                                    "clk-hva",
+                                                    "clk-proc-stfe",
+                                                    "clk-proc-tp",
+                                                    "clk-rx-icn-dmu",
+                                                    "clk-rx-icn-hva",
+                                                    "clk-icn-cpu",
+                                                    "clk-tx-icn-dmu",
+                                                    "clk-mmc-0",
+                                                    "clk-mmc-1",
+                                                    "clk-jpegdec",
+                                                    "clk-ext2fa9",
+                                                    "clk-ic-bdisp-0",
+                                                    "clk-ic-bdisp-1",
+                                                    "clk-pp-dmu",
+                                                    "clk-vid-dmu",
+                                                    "clk-dss-lpc",
+                                                    "clk-st231-aud-0",
+                                                    "clk-st231-gp-1",
+                                                    "clk-st231-dmu",
+                                                    "clk-icn-lmi",
+                                                    "clk-tx-icn-disp-1",
+                                                    "clk-icn-sbc",
+                                                    "clk-stfe-frc2",
+                                                    "clk-eth-phy",
+                                                    "clk-eth-ref-phyclk",
+                                                    "clk-flash-promip",
+                                                    "clk-main-disp",
+                                                    "clk-aux-disp",
+                                                    "clk-compo-dvp",
+                                                    "clk-tx-icn-hades",
+                                                    "clk-rx-icn-hades",
+                                                    "clk-icn-reg-16",
+                                                    "clk-pp-hades",
+                                                    "clk-clust-hades",
+                                                    "clk-hwpe-hades",
+                                                    "clk-fc-hades";
+                       };
+               };
+
+               clk_s_d0_quadfs: clk-s-d0-quadfs@9104000 {
+                       #clock-cells = <1>;
+                       compatible = "st,stih407-quadfs660-D", "st,quadfs";
+                       reg = <0x9104000 0x1000>;
+
+                       clocks = <&clk_sysin>;
+
+                       clock-output-names = "clk-s-d0-fs0-ch0",
+                                            "clk-s-d0-fs0-ch1",
+                                            "clk-s-d0-fs0-ch2",
+                                            "clk-s-d0-fs0-ch3";
+               };
+
+               clockgen-d0@09104000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x9104000 0x1000>;
+
+                       clk_s_d0_flexgen: clk-s-d0-flexgen {
+                               #clock-cells = <1>;
+                               compatible = "st,flexgen";
+
+                               clocks = <&clk_s_d0_quadfs 0>,
+                                        <&clk_s_d0_quadfs 1>,
+                                        <&clk_s_d0_quadfs 2>,
+                                        <&clk_s_d0_quadfs 3>,
+                                        <&clk_sysin>;
+
+                               clock-output-names = "clk-pcm-0",
+                                                    "clk-pcm-1",
+                                                    "clk-pcm-2",
+                                                    "clk-spdiff",
+                                                    "clk-pcmr10-master",
+                                                    "clk-usb2-phy";
+                       };
+               };
+
+               clk_s_d2_quadfs: clk-s-d2-quadfs@9106000 {
+                       #clock-cells = <1>;
+                       compatible = "st,stih407-quadfs660-D", "st,quadfs";
+                       reg = <0x9106000 0x1000>;
+
+                       clocks = <&clk_sysin>;
+
+                       clock-output-names = "clk-s-d2-fs0-ch0",
+                                            "clk-s-d2-fs0-ch1",
+                                            "clk-s-d2-fs0-ch2",
+                                            "clk-s-d2-fs0-ch3";
+               };
+
+               clk_tmdsout_hdmi: clk-tmdsout-hdmi {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <0>;
+               };
+
+               clockgen-d2@x9106000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x9106000 0x1000>;
+
+                       clk_s_d2_flexgen: clk-s-d2-flexgen {
+                               #clock-cells = <1>;
+                               compatible = "st,flexgen";
+
+                               clocks = <&clk_s_d2_quadfs 0>,
+                                        <&clk_s_d2_quadfs 1>,
+                                        <&clk_s_d2_quadfs 2>,
+                                        <&clk_s_d2_quadfs 3>,
+                                        <&clk_sysin>,
+                                        <&clk_sysin>,
+                                        <&clk_tmdsout_hdmi>;
+
+                               clock-output-names = "clk-pix-main-disp",
+                                                    "clk-pix-pip",
+                                                    "clk-pix-gdp1",
+                                                    "clk-pix-gdp2",
+                                                    "clk-pix-gdp3",
+                                                    "clk-pix-gdp4",
+                                                    "clk-pix-aux-disp",
+                                                    "clk-denc",
+                                                    "clk-pix-hddac",
+                                                    "clk-hddac",
+                                                    "clk-sddac",
+                                                    "clk-pix-dvo",
+                                                    "clk-dvo",
+                                                    "clk-pix-hdmi",
+                                                    "clk-tmds-hdmi",
+                                                    "clk-ref-hdmiphy";
+                                                    };
+               };
+
+               clk_s_d3_quadfs: clk-s-d3-quadfs@9107000 {
+                       #clock-cells = <1>;
+                       compatible = "st,stih407-quadfs660-D", "st,quadfs";
+                       reg = <0x9107000 0x1000>;
+
+                       clocks = <&clk_sysin>;
+
+                       clock-output-names = "clk-s-d3-fs0-ch0",
+                                            "clk-s-d3-fs0-ch1",
+                                            "clk-s-d3-fs0-ch2",
+                                            "clk-s-d3-fs0-ch3";
+               };
+
+               clockgen-d3@9107000 {
+                       compatible = "st,clkgen-c32";
+                       reg = <0x9107000 0x1000>;
+
+                       clk_s_d3_flexgen: clk-s-d3-flexgen {
+                               #clock-cells = <1>;
+                               compatible = "st,flexgen";
+
+                               clocks = <&clk_s_d3_quadfs 0>,
+                                        <&clk_s_d3_quadfs 1>,
+                                        <&clk_s_d3_quadfs 2>,
+                                        <&clk_s_d3_quadfs 3>,
+                                        <&clk_sysin>;
+
+                               clock-output-names = "clk-stfe-frc1",
+                                                    "clk-tsout-0",
+                                                    "clk-tsout-1",
+                                                    "clk-mchi",
+                                                    "clk-vsens-compo",
+                                                    "clk-frc1-remote",
+                                                    "clk-lpc-0",
+                                                    "clk-lpc-1";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/stih410-pinctrl.dtsi b/arch/arm/boot/dts/stih410-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..b3e9dfc
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics Limited.
+ * Author: Peter Griffin <peter.griffin@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * publishhed by the Free Software Foundation.
+ */
+#include "st-pincfg.h"
+/ {
+
+       soc {
+               pin-controller-rear {
+
+                       usb0 {
+                               pinctrl_usb0: usb2-0 {
+                                       st,pins {
+                                               usb-oc-detect = <&pio35 0 ALT1 IN>;
+                                               usb-pwr-enable = <&pio35 1 ALT1 OUT>;
+                                       };
+                               };
+                       };
+
+                       usb1 {
+                               pinctrl_usb1: usb2-1 {
+                                       st,pins {
+                                               usb-oc-detect = <&pio35 2 ALT1 IN>;
+                                               usb-pwr-enable = <&pio35 3 ALT1 OUT>;
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi
new file mode 100644 (file)
index 0000000..c05627e
--- /dev/null
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics Limited.
+ * Author: Peter Griffin <peter.griffin@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * publishhed by the Free Software Foundation.
+ */
+#include "stih410-clock.dtsi"
+#include "stih407-family.dtsi"
+#include "stih410-pinctrl.dtsi"
+/ {
+
+};
index 5d1543babf564072d0942689ec79ae6ea5b3af77..200a81844765d203c421df8e081a56f1801fb7a2 100644 (file)
@@ -20,7 +20,7 @@
                        non-removable;
                };
 
-               miphy365x_phy: miphy365x@fe382000 {
+               miphy365x_phy: phy@fe382000 {
                        phy_port0: port@fe382000 {
                                st,sata-gen = <3>;
                        };
index 956fab8b8ffe6364dd041a817c45453a8717a530..961799e1dc519e68ddd600645236010032c28420 100644 (file)
@@ -38,7 +38,7 @@
                        non-removable;
                };
 
-               miphy365x_phy: miphy365x@fe382000 {
+               miphy365x_phy: phy@fe382000 {
                        phy_port0: port@fe382000 {
                                st,sata-gen = <3>;
                        };
index c2025bc37dd5cd52a394de6fcdf7c33cfc6fec0a..9cccf2d6aa26f5c17e0bd83684e17bb4335acabf 100644 (file)
                                };
                        };
 
+                       usb {
+                               pinctrl_usb3: usb3 {
+                                       st,pins {
+                                               oc-detect = <&pio40 0 ALT1 IN>;
+                                               pwr-enable = <&pio40 1 ALT1 OUT>;
+                                       };
+                               };
+                       };
+
                        sbc_i2c1 {
                                pinctrl_sbc_i2c1_default: sbc_i2c1-default {
                                        st,pins {
                                };
                        };
 
+                       usb {
+                               pinctrl_usb0: usb0 {
+                                       st,pins {
+                                               oc-detect = <&pio9 4 ALT1 IN>;
+                                               pwr-enable = <&pio9 5 ALT1 OUT>;
+                                       };
+                               };
+                       };
+
+
                        i2c1 {
                                pinctrl_i2c1_default: i2c1-default {
                                        st,pins {
                                        };
                                };
                        };
+
+                       usb {
+                               pinctrl_usb1: usb1 {
+                                       st,pins {
+                                               oc-detect = <&pio18 0 ALT1 IN>;
+                                               pwr-enable = <&pio18 1 ALT1 OUT>;
+                                       };
+                               };
+                               pinctrl_usb2: usb2 {
+                                       st,pins {
+                                               oc-detect = <&pio18 2 ALT1 IN>;
+                                               pwr-enable = <&pio18 3 ALT1 OUT>;
+                                       };
+                               };
+                       };
                };
 
                pin-controller-fvdp-fe {
index 1137bdfcca1ce2d6cebdb0c608a304c6456d7ec2..fad9073ddeed1a3e4193f30140bb8c30773fd955 100644 (file)
                        clocks          = <&clk_s_a1_ls 8>;
                };
 
-               miphy365x_phy: miphy365x@fe382000 {
+               miphy365x_phy: phy@fe382000 {
                        compatible      = "st,miphy365x-phy";
                        st,syscfg       = <&syscfg_rear>;
                        #address-cells  = <1>;
 
                        status          = "disabled";
                };
+
+               usb2_phy: phy@0 {
+                       compatible = "st,stih416-usb-phy";
+                       #phy-cells = <0>;
+                       st,syscfg = <&syscfg_rear>;
+                       clocks = <&clk_sysin>;
+                       clock-names = "osc_phy";
+               };
+
+               ehci0: usb@fe1ffe00 {
+                       compatible = "st,st-ehci-300x";
+                       reg = <0xfe1ffe00 0x100>;
+                       interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usb0>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB0_POWERDOWN>,
+                                <&softreset STIH416_USB0_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ohci0: usb@fe1ffc00 {
+                       compatible = "st,st-ohci-300x";
+                       reg = <0xfe1ffc00 0x100>;
+                       interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       status = "okay";
+                       resets = <&powerdown STIH416_USB0_POWERDOWN>,
+                                <&softreset STIH416_USB0_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ehci1: usb@fe203e00 {
+                       compatible = "st,st-ehci-300x";
+                       reg = <0xfe203e00 0x100>;
+                       interrupts = <GIC_SPI 150 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usb1>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB1_POWERDOWN>,
+                                <&softreset STIH416_USB1_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ohci1: usb@fe203c00 {
+                       compatible = "st,st-ohci-300x";
+                       reg = <0xfe203c00 0x100>;
+                       interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB1_POWERDOWN>,
+                                <&softreset STIH416_USB1_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ehci2: usb@fe303e00 {
+                       compatible = "st,st-ehci-300x";
+                       reg = <0xfe303e00 0x100>;
+                       interrupts = <GIC_SPI 152 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usb2>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB2_POWERDOWN>,
+                                <&softreset STIH416_USB2_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ohci2: usb@fe303c00 {
+                       compatible = "st,st-ohci-300x";
+                       reg = <0xfe303c00 0x100>;
+                       interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB2_POWERDOWN>,
+                                <&softreset STIH416_USB2_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ehci3: usb@fe343e00 {
+                       compatible = "st,st-ehci-300x";
+                       reg = <0xfe343e00 0x100>;
+                       interrupts = <GIC_SPI 154 IRQ_TYPE_NONE>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usb3>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB3_POWERDOWN>,
+                                <&softreset STIH416_USB3_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
+
+               ohci3: usb@fe343c00 {
+                       compatible = "st,st-ohci-300x";
+                       reg = <0xfe343c00 0x100>;
+                       interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>;
+                       clocks = <&clk_s_a1_ls 0>,
+                                <&clockgen_b0 0>;
+                       clock-names = "ic", "clk48";
+                       phys = <&usb2_phy>;
+                       phy-names = "usb";
+                       resets = <&powerdown STIH416_USB3_POWERDOWN>,
+                                <&softreset STIH416_USB3_SOFTRESET>;
+                       reset-names = "power", "softreset";
+               };
        };
 };
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
new file mode 100644 (file)
index 0000000..0074bd4
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2014 STMicroelectronics (R&D) Limited.
+ * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+/ {
+       soc {
+               sbc_serial0: serial@9530000 {
+                       status = "okay";
+               };
+
+               leds {
+                       compatible = "gpio-leds";
+                       red {
+                               #gpio-cells = <2>;
+                               label = "Front Panel LED";
+                               gpios = <&pio4 1 0>;
+                               linux,default-trigger = "heartbeat";
+                       };
+                       green {
+                               #gpio-cells = <2>;
+                               gpios = <&pio1 3 0>;
+                               default-state = "off";
+                       };
+               };
+
+               i2c@9842000 {
+                       status = "okay";
+               };
+
+               i2c@9843000 {
+                       status = "okay";
+               };
+
+               i2c@9844000 {
+                       status = "okay";
+               };
+
+               i2c@9845000 {
+                       status = "okay";
+               };
+
+               i2c@9540000 {
+                       status = "okay";
+               };
+
+               /* SSC11 to HDMI */
+               i2c@9541000 {
+                       status = "okay";
+                       /* HDMI V1.3a supports Standard mode only */
+                       clock-frequency = <100000>;
+                       st,i2c-min-scl-pulse-width-us = <0>;
+                       st,i2c-min-sda-pulse-width-us = <5>;
+               };
+       };
+};
diff --git a/include/dt-bindings/clock/stih410-clks.h b/include/dt-bindings/clock/stih410-clks.h
new file mode 100644 (file)
index 0000000..2097a4b
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * This header provides constants clk index STMicroelectronics
+ * STiH410 SoC.
+ */
+#ifndef _DT_BINDINGS_CLK_STIH410
+#define _DT_BINDINGS_CLK_STIH410
+
+#include "stih407-clks.h"
+
+/* STiH410 introduces new clock outputs compared to STiH407 */
+
+/* CLOCKGEN C0 */
+#define CLK_TX_ICN_HADES       32
+#define CLK_RX_ICN_HADES       33
+#define CLK_ICN_REG_16         34
+#define CLK_PP_HADES           35
+#define CLK_CLUST_HADES                36
+#define CLK_HWPE_HADES         37
+#define CLK_FC_HADES           38
+
+/* CLOCKGEN D0 */
+#define CLK_PCMR10_MASTER      4
+#define CLK_USB2_PHY           5
+
+#endif