MLK-10086-2 ARM: imx6: add dts entries for hsic controller
authorLi Jun <b47624@freescale.com>
Tue, 20 Jan 2015 08:03:36 +0000 (16:03 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:47:00 +0000 (14:47 -0500)
- Add usbphy_nop, hsic uses nop phy driver
- Add anatop phandle, hsic needs to access anatop register to
change osc clock for different boards
- Add phy_type, hsic needs to config PHY parameters at portsc
- For imx6q-arm2 board, hsic has pin conflict with ethernet, we create a
  dedicated dts(imx6q-arm2-hsic.dts) for it with ethernet disabled, besides
  please make sure keep the line of data and strobe unchanged between board
  boots up and enable hsic controller.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
(cherry picked from commit 2f8a266d271874cd398d14556752ab4ab0be27ba)

arch/arm/boot/dts/imx6q-arm2-hsic.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-arm2.dts
arch/arm/boot/dts/imx6qdl.dtsi
arch/arm/boot/dts/imx6sl.dtsi
arch/arm/boot/dts/imx6sx.dtsi

diff --git a/arch/arm/boot/dts/imx6q-arm2-hsic.dts b/arch/arm/boot/dts/imx6q-arm2-hsic.dts
new file mode 100644 (file)
index 0000000..d2cca3e
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2015 Freescale Semiconductor, Inc.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx6q-arm2.dts"
+
+&fec {
+       status = "disabled";
+};
+
+&usbh2 {
+       pinctrl-names = "idle", "active";
+       pinctrl-0 = <&pinctrl_usbh2_1>;
+       pinctrl-1 = <&pinctrl_usbh2_2>;
+       osc-clkgate-delay = <0x3>;
+       status = "okay";
+};
+
+&usbh3 {
+       pinctrl-names = "idle", "active";
+       pinctrl-0 = <&pinctrl_usbh3_1>;
+       pinctrl-1 = <&pinctrl_usbh3_2>;
+       osc-clkgate-delay = <0x3>;
+       status = "okay";
+};
index 4989d0b..9a4f7c0 100644 (file)
                        >;
                };
 
+               pinctrl_usbh2_1: usbh2grp-1 {
+                       fsl,pins = <
+                               MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x40013030
+                               MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x40013030
+                       >;
+               };
+
+               pinctrl_usbh2_2: usbh2grp-2 {
+                       fsl,pins = <
+                               MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x40017030
+                       >;
+               };
+
+               pinctrl_usbh3_1: usbh3grp-1 {
+                       fsl,pins = <
+                               MX6QDL_PAD_RGMII_RX_CTL__USB_H3_DATA 0x40013030
+                               MX6QDL_PAD_RGMII_RXC__USB_H3_STROBE  0x40013030
+                       >;
+               };
+
+               pinctrl_usbh3_2: usbh3grp-2 {
+                       fsl,pins = <
+                               MX6QDL_PAD_RGMII_RXC__USB_H3_STROBE 0x40017030
+                       >;
+               };
+
                pinctrl_usdhc3: usdhc3grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
index ca632fc..0f994e1 100644 (file)
                                fsl,anatop = <&anatop>;
                        };
 
+                       usbphy_nop1: usbphy_nop1 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6QDL_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
+                       usbphy_nop2: usbphy_nop2 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6QDL_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
                        snvs: snvs@020cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop1>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop2>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
index 6916835..153ec8b 100644 (file)
                                fsl,anatop = <&anatop>;
                        };
 
+                       usbphy_nop1: usbphy_nop1 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6SL_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
                        snvs: snvs@020cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop1>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
index 9add8c7..6e7dc28 100644 (file)
                                fsl,anatop = <&anatop>;
                        };
 
+                       usbphy_nop1: usbphy_nop1 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6SX_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
                        snvs: snvs@020cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
                                clocks = <&clks IMX6SX_CLK_USBOH3>;
                                fsl,usbmisc = <&usbmisc 2>;
                                phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop1>;
                                fsl,anatop = <&anatop>;
                                dr_mode = "host";
                                ahb-burst-config = <0x0>;