diff mbox

[U-Boot,V2] armv8/ls1043aqds: Add USB support for ls1043aqds

Message ID 1455599573-16860-1-git-send-email-Qianyu.Gong@nxp.com
State Accepted
Delegated to: York Sun
Headers show

Commit Message

Gong Qianyu Feb. 16, 2016, 5:12 a.m. UTC
Add USB XHCI support for ls1043qds board.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
---
V2:
 - Move the definition of scfg and usb_pwrfault in #ifdef CONFIG_HAS_FSL_XHCI_USB.

 board/freescale/ls1043aqds/ls1043aqds.c | 17 +++++++++++++++++
 include/configs/ls1043aqds.h            | 13 +++++++++++++
 2 files changed, 30 insertions(+)

Comments

York Sun Feb. 24, 2016, 4:57 p.m. UTC | #1
On 02/15/2016 09:21 PM, Gong Qianyu wrote:
> Add USB XHCI support for ls1043qds board.
> 
> Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> ---
> V2:
>  - Move the definition of scfg and usb_pwrfault in #ifdef CONFIG_HAS_FSL_XHCI_USB.
> 
>  board/freescale/ls1043aqds/ls1043aqds.c | 17 +++++++++++++++++
>  include/configs/ls1043aqds.h            | 13 +++++++++++++
>  2 files changed, 30 insertions(+)
> 
> diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c
> index 01db078..4db2788 100644
> --- a/board/freescale/ls1043aqds/ls1043aqds.c
> +++ b/board/freescale/ls1043aqds/ls1043aqds.c
> @@ -223,10 +223,27 @@ 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
> +

Slightly reformat above lines.
Applied to fsl-qoriq master. Awaiting upstream.

York
diff mbox

Patch

diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c
index 01db078..4db2788 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -223,10 +223,27 @@  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]);
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h
index 4ab8e13..158cf02 100644
--- a/include/configs/ls1043aqds.h
+++ b/include/configs/ls1043aqds.h
@@ -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
  */