armv8/ls1043aqds: Add USB support for ls1043aqds
authorQianyu Gong <qianyu.gong@nxp.com>
Tue, 16 Feb 2016 05:12:53 +0000 (13:12 +0800)
committerYork Sun <york.sun@nxp.com>
Wed, 24 Feb 2016 16:51:14 +0000 (08:51 -0800)
Add USB XHCI support for ls1043qds board.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
board/freescale/ls1043aqds/ls1043aqds.c
include/configs/ls1043aqds.h

index 01db078..a72fe52 100644 (file)
@@ -223,10 +223,25 @@ void board_retimer_init(void)
 
 int board_early_init_f(void)
 {
+#ifdef CONFIG_HAS_FSL_XHCI_USB
+       struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
+       u32 usb_pwrfault;
+#endif
 #ifdef CONFIG_LPUART
        u8 uart;
 #endif
        fsl_lsch2_early_init_f();
+
+#ifdef CONFIG_HAS_FSL_XHCI_USB
+       out_be32(&scfg->rcwpmuxcr0, 0x3333);
+       out_be32(&scfg->usbdrvvbus_selcr, SCFG_USBDRVVBUS_SELCR_USB1);
+       usb_pwrfault =
+               (SCFG_USBPWRFAULT_SHARED << SCFG_USBPWRFAULT_USB3_SHIFT) |
+               (SCFG_USBPWRFAULT_SHARED << SCFG_USBPWRFAULT_USB2_SHIFT) |
+               (SCFG_USBPWRFAULT_SHARED << SCFG_USBPWRFAULT_USB1_SHIFT);
+       out_be32(&scfg->usbpwrfault_selcr, usb_pwrfault);
+#endif
+
 #ifdef CONFIG_LPUART
        /* We use lpuart0 as system console */
        uart = QIXIS_READ(brdcfg[14]);
index 4ab8e13..158cf02 100644 (file)
@@ -379,6 +379,19 @@ unsigned long get_board_ddr_clk(void);
 #endif
 #endif
 
+/* USB */
+#define CONFIG_HAS_FSL_XHCI_USB
+#ifdef CONFIG_HAS_FSL_XHCI_USB
+#define CONFIG_USB_XHCI
+#define CONFIG_USB_XHCI_FSL
+#define CONFIG_USB_XHCI_DWC3
+#define CONFIG_USB_MAX_CONTROLLER_COUNT                3
+#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS     2
+#define CONFIG_CMD_USB
+#define CONFIG_USB_STORAGE
+#define CONFIG_CMD_EXT2
+#endif
+
 /*
  * Miscellaneous configurable options
  */