MLK-16715-9 ARM64: dts: fsl-imx8qm-lpddr4-arm2-hsic: add HSIC board dts
authorPeter Chen <peter.chen@nxp.com>
Mon, 11 Dec 2017 07:13:29 +0000 (15:13 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:51:19 +0000 (14:51 -0500)
Some special for HSIC usages:
- It needs imx8 debug board to test HSIC function.
- The USBOTG1 needs to be active when HSIC is in use.

BuildInfo:
- SCFW e0362348, IMX-MKIMAGE 9841373a, ATF e173337
- U-Boot 2017.03-imx_v2017.03+g3535868

Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-hsic.dts [new file with mode: 0644]

index e9089f6..37cdd96 100644 (file)
@@ -27,7 +27,8 @@ dtb-$(CONFIG_ARCH_FSL_IMX8QM) += fsl-imx8qm-lpddr4-arm2.dtb \
                                 fsl-imx8qm-lpddr4-arm2-dsi-adv7535.dtb \
                                 fsl-imx8qm-lpddr4-arm2-dsi-rm67191.dtb \
                                 fsl-imx8qm-lpddr4-arm2-it6263-adv7535.dtb \
-                                fsl-imx8qm-lpddr4-arm2-it6263-rm67191.dtb
+                                fsl-imx8qm-lpddr4-arm2-it6263-rm67191.dtb \
+                                fsl-imx8qm-lpddr4-arm2-hsic.dtb
 dtb-$(CONFIG_ARCH_FSL_IMX8QXP) += fsl-imx8qxp-lpddr4-arm2.dtb \
                                  fsl-imx8qxp-mek.dtb \
                                  fsl-imx8qxp-mek-dom0.dtb \
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-hsic.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-hsic.dts
new file mode 100644 (file)
index 0000000..d2ce4fe
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/* This dts is only for verify USB HSIC function at i.MX8 Debug Board */
+
+#include "fsl-imx8qm-lpddr4-arm2.dts"
+
+/ {
+       imx8qm-pm {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               pd_usbh1: PD_USBH1 {
+                       compatible = "nxp,imx8-pd";
+                       reg = <SC_R_LAST>;
+                       #power-domain-cells = <0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       pd_usbh1_io: usbh1_io {
+                               reg = <SC_R_BOARD_R2>;
+                               #power-domain-cells = <0>;
+                               power-domains =<&pd_usbh1>;
+                       };
+               };
+       };
+};
+
+&iomuxc {
+       imx8qm-arm2 {
+               pinctrl_usb_hsic_idle: usbh1_1 {
+                       fsl,pins = <
+                               SC_P_USB_HSIC0_DATA_CONN_USB_HSIC0_DATA         0xc60000c5
+                               SC_P_USB_HSIC0_STROBE_CONN_USB_HSIC0_STROBE     0xc60000c5
+                       >;
+               };
+
+               pinctrl_usb_hsic_active: usbh1_2 {
+                       fsl,pins = <
+                               SC_P_USB_HSIC0_STROBE_CONN_USB_HSIC0_STROBE     0xc60000d5
+                       >;
+               };
+       };
+};
+
+&usbotg1 {
+       ci-disable-lpm;
+};
+
+/*
+ * Due to USB HSIC uses the same AHB and 480M with USBOTG1,
+ * the usbotg1 must be enabled for usbh1 usage.
+ */
+&usbh1 {
+       pinctrl-names = "idle", "active";
+       pinctrl-0 = <&pinctrl_usb_hsic_idle>;
+       pinctrl-1 = <&pinctrl_usb_hsic_active>;
+       power-domains = <&pd_usbh1_io>;
+       srp-disable;
+       hnp-disable;
+       adp-disable;
+       disable-over-current;
+       status = "okay";
+};