[U-Boot] [PATCH 3/3] imx: mx6sllevk: add usb support

Jagan Teki jagan at openedev.com
Wed Dec 21 15:01:36 CET 2016


On Wed, Dec 21, 2016 at 9:14 AM, Peng Fan <peng.fan at nxp.com> wrote:
> Add usb support for mx6sllevk board.
>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> Cc: Stefano Babic <sbabic at denx.de>
> ---
>  board/freescale/mx6sllevk/mx6sllevk.c | 18 ++++++++++++++++++
>  configs/mx6sllevk_defconfig           |  5 +++++
>  configs/mx6sllevk_plugin_defconfig    |  5 +++++
>  include/configs/mx6sllevk.h           |  9 +++++++++
>  4 files changed, 37 insertions(+)
>
> diff --git a/board/freescale/mx6sllevk/mx6sllevk.c b/board/freescale/mx6sllevk/mx6sllevk.c
> index 74a27a3..e6679fd 100644
> --- a/board/freescale/mx6sllevk/mx6sllevk.c
> +++ b/board/freescale/mx6sllevk/mx6sllevk.c
> @@ -129,3 +129,21 @@ int mmc_map_to_kernel_blk(int devno)
>  {
>         return devno;
>  }
> +
> +#define USB_OTHERREGS_OFFSET   0x800
> +#define UCTRL_PWR_POL          (1 << 9)
> +
> +int board_ehci_hcd_init(int port)

Can't we do this from driver itself, .probe or somewhere?

> +{
> +       u32 *usbnc_usb_ctrl;
> +
> +       if (port > 1)
> +               return -EINVAL;
> +
> +       usbnc_usb_ctrl = (u32 *)(USB_BASE_ADDR + USB_OTHERREGS_OFFSET +
> +                                port * 4);
> +
> +       /* Set Power polarity */
> +       setbits_le32(usbnc_usb_ctrl, UCTRL_PWR_POL);
> +       return 0;
> +}
> diff --git a/configs/mx6sllevk_defconfig b/configs/mx6sllevk_defconfig
> index 8ae049e..267cdc6 100644
> --- a/configs/mx6sllevk_defconfig
> +++ b/configs/mx6sllevk_defconfig
> @@ -10,6 +10,7 @@ CONFIG_CMD_BOOTZ=y
>  CONFIG_CMD_MEMTEST=y
>  CONFIG_CMD_MMC=y
>  CONFIG_CMD_I2C=y
> +CONFIG_CMD_USB=y
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> @@ -34,3 +35,7 @@ CONFIG_DM_REGULATOR=y
>  CONFIG_DM_REGULATOR_PFUZE100=y
>  CONFIG_DM_REGULATOR_FIXED=y
>  CONFIG_DM_REGULATOR_GPIO=y
> +CONFIG_USB=y
> +CONFIG_DM_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_STORAGE=y
> diff --git a/configs/mx6sllevk_plugin_defconfig b/configs/mx6sllevk_plugin_defconfig
> index e6be979..63d5bbc 100644
> --- a/configs/mx6sllevk_plugin_defconfig
> +++ b/configs/mx6sllevk_plugin_defconfig
> @@ -11,6 +11,7 @@ CONFIG_CMD_BOOTZ=y
>  CONFIG_CMD_MEMTEST=y
>  CONFIG_CMD_MMC=y
>  CONFIG_CMD_I2C=y
> +CONFIG_CMD_USB=y
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> @@ -35,3 +36,7 @@ CONFIG_DM_REGULATOR=y
>  CONFIG_DM_REGULATOR_PFUZE100=y
>  CONFIG_DM_REGULATOR_FIXED=y
>  CONFIG_DM_REGULATOR_GPIO=y
> +CONFIG_USB=y
> +CONFIG_DM_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_STORAGE=y
> diff --git a/include/configs/mx6sllevk.h b/include/configs/mx6sllevk.h
> index b9f25cf..3f665a3 100644
> --- a/include/configs/mx6sllevk.h
> +++ b/include/configs/mx6sllevk.h
> @@ -149,4 +149,13 @@
>
>  #define CONFIG_IOMUX_LPSR
>
> +/* USB Configs */
> +#ifdef CONFIG_CMD_USB
> +#define CONFIG_USB_HOST_ETHER
> +#define CONFIG_USB_ETHER_ASIX
> +#define CONFIG_USB_ETHER_RTL8152
> +#define CONFIG_MXC_USB_PORTSC          (PORT_PTS_UTMI | PORT_PTS_PTW)
> +#define CONFIG_USB_MAX_CONTROLLER_COUNT        2

I think this is even should managed from driver isn't it?

thanks!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list