MLK-20559-8 imx8qm/qxp: Update MEK board codes to support UUU

Enable the SPL SDP driver and USB driver in MEK board codes and defconfigs.
Because the USB driver needs larger malloc pool, increase the malloc size
and disable simple malloc

Signed-off-by: Ye Li <ye.li@nxp.com>
This commit is contained in:
Ye Li 2019-01-03 01:16:07 -08:00
parent 69dfae092f
commit 188aea7489
12 changed files with 140 additions and 64 deletions

View File

@ -344,9 +344,9 @@ static struct cdns3_device cdns3_device_data = {
.index = 1,
};
int usb_gadget_handle_interrupts(void)
int usb_gadget_handle_interrupts(int index)
{
cdns3_uboot_handle_interrupt(1);
cdns3_uboot_handle_interrupt(index);
return 0;
}
#endif
@ -362,6 +362,19 @@ int board_usb_init(int index, enum usb_init_type init)
#endif
#ifdef CONFIG_USB_CDNS3_GADGET
} else {
#ifdef CONFIG_SPL_BUILD
sc_ipc_t ipcHndl = 0;
ipcHndl = gd->arch.ipc_channel_handle;
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2, SC_PM_PW_MODE_ON);
if (ret != SC_ERR_NONE)
printf("conn_usb2 Power up failed! (error = %d)\n", ret);
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2_PHY, SC_PM_PW_MODE_ON);
if (ret != SC_ERR_NONE)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
#else
struct power_domain pd;
int ret;
@ -377,6 +390,7 @@ int board_usb_init(int index, enum usb_init_type init)
if (ret)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
}
#endif
#ifdef CONFIG_USB_TCPC
ret = tcpc_setup_ufp_mode(&port);
@ -402,23 +416,37 @@ int board_usb_cleanup(int index, enum usb_init_type init)
#endif
#ifdef CONFIG_USB_CDNS3_GADGET
} else {
cdns3_uboot_exit(1);
#ifdef CONFIG_SPL_BUILD
sc_ipc_t ipcHndl = 0;
ipcHndl = gd->arch.ipc_channel_handle;
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2, SC_PM_PW_MODE_OFF);
if (ret != SC_ERR_NONE)
printf("conn_usb2 Power down failed! (error = %d)\n", ret);
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2_PHY, SC_PM_PW_MODE_OFF);
if (ret != SC_ERR_NONE)
printf("conn_usb2_phy Power down failed! (error = %d)\n", ret);
#else
struct power_domain pd;
int ret;
cdns3_uboot_exit(1);
/* Power off usb */
if (!power_domain_lookup_name("conn_usb2", &pd)) {
ret = power_domain_off(&pd);
if (ret)
printf("conn_usb2 Power up failed! (error = %d)\n", ret);
printf("conn_usb2 Power down failed! (error = %d)\n", ret);
}
if (!power_domain_lookup_name("conn_usb2_phy", &pd)) {
ret = power_domain_off(&pd);
if (ret)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
printf("conn_usb2_phy Power down failed! (error = %d)\n", ret);
}
#endif
#endif
}
}

View File

@ -482,9 +482,9 @@ static struct cdns3_device cdns3_device_data = {
.index = 1,
};
int usb_gadget_handle_interrupts(void)
int usb_gadget_handle_interrupts(int index)
{
cdns3_uboot_handle_interrupt(1);
cdns3_uboot_handle_interrupt(index);
return 0;
}
#endif
@ -500,6 +500,19 @@ int board_usb_init(int index, enum usb_init_type init)
#endif
#ifdef CONFIG_USB_CDNS3_GADGET
} else {
#ifdef CONFIG_SPL_BUILD
sc_ipc_t ipcHndl = 0;
ipcHndl = gd->arch.ipc_channel_handle;
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2, SC_PM_PW_MODE_ON);
if (ret != SC_ERR_NONE)
printf("conn_usb2 Power up failed! (error = %d)\n", ret);
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2_PHY, SC_PM_PW_MODE_ON);
if (ret != SC_ERR_NONE)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
#else
struct power_domain pd;
int ret;
@ -515,6 +528,8 @@ int board_usb_init(int index, enum usb_init_type init)
if (ret)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
}
#endif
#ifdef CONFIG_USB_TCPC
ret = tcpc_setup_ufp_mode(&port);
printf("%d setufp mode %d\n", index, ret);
@ -541,23 +556,37 @@ int board_usb_cleanup(int index, enum usb_init_type init)
#endif
#ifdef CONFIG_USB_CDNS3_GADGET
} else {
cdns3_uboot_exit(1);
#ifdef CONFIG_SPL_BUILD
sc_ipc_t ipcHndl = 0;
ipcHndl = gd->arch.ipc_channel_handle;
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2, SC_PM_PW_MODE_OFF);
if (ret != SC_ERR_NONE)
printf("conn_usb2 Power down failed! (error = %d)\n", ret);
ret = sc_pm_set_resource_power_mode(ipcHndl, SC_R_USB_2_PHY, SC_PM_PW_MODE_OFF);
if (ret != SC_ERR_NONE)
printf("conn_usb2_phy Power down failed! (error = %d)\n", ret);
#else
struct power_domain pd;
int ret;
cdns3_uboot_exit(1);
/* Power off usb */
if (!power_domain_lookup_name("conn_usb2", &pd)) {
ret = power_domain_off(&pd);
if (ret)
printf("conn_usb2 Power up failed! (error = %d)\n", ret);
printf("conn_usb2 Power down failed! (error = %d)\n", ret);
}
if (!power_domain_lookup_name("conn_usb2_phy", &pd)) {
ret = power_domain_off(&pd);
if (ret)
printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
printf("conn_usb2_phy Power down failed! (error = %d)\n", ret);
}
#endif
#endif
}
}

View File

@ -31,14 +31,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y

View File

@ -31,14 +31,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y

View File

@ -22,21 +22,28 @@ CONFIG_SPL_MMC_SUPPORT=y
CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_FASTBOOT=y
CONFIG_USB_FUNCTION_FASTBOOT=y
CONFIG_CMD_FASTBOOT=y
CONFIG_ANDROID_BOOT_IMAGE=y
CONFIG_FSL_FASTBOOT=y
CONFIG_FASTBOOT_BUF_ADDR=0x82800000
CONFIG_FASTBOOT_BUF_SIZE=0x40000000
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
CONFIG_FASTBOOT_USB_DEV=1
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y
@ -60,6 +67,7 @@ CONFIG_DM_MMC=y
CONFIG_MMC_IO_VOLTAGE=y
CONFIG_MMC_UHS_SUPPORT=y
CONFIG_MMC_HS400_SUPPORT=y
CONFIG_EFI_PARTITION=y
CONFIG_FSL_FSPI=y
CONFIG_DM_SPI=y
CONFIG_DM_SPI_FLASH=y
@ -94,3 +102,9 @@ CONFIG_ENV_IS_IN_MMC=y
CONFIG_SMC_FUSE=y
CONFIG_CMD_MEMTEST=y
CONFIG_SPL_USB_HOST_SUPPORT=y
CONFIG_SPL_USB_GADGET_SUPPORT=y
CONFIG_SPL_USB_SDP_SUPPORT=y
CONFIG_SPL_SDP_USB_DEV=1
CONFIG_SDP_LOADADDR=0x80400000

View File

@ -22,7 +22,6 @@ CONFIG_SPL_MMC_SUPPORT=y
CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_SPL_MTD_SUPPORT=y
CONFIG_SPL_OF_CONTROL=y
@ -44,13 +43,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y
@ -109,3 +105,9 @@ CONFIG_ENV_IS_IN_SPL_FLASH=y
CONFIG_SMC_FUSE=y
CONFIG_CMD_MEMTEST=y
CONFIG_SPL_USB_HOST_SUPPORT=y
CONFIG_SPL_USB_GADGET_SUPPORT=y
CONFIG_SPL_USB_SDP_SUPPORT=y
CONFIG_SPL_SDP_USB_DEV=1
CONFIG_SDP_LOADADDR=0x80400000

View File

@ -33,14 +33,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y

View File

@ -33,14 +33,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y

View File

@ -24,9 +24,9 @@ CONFIG_SPL_MMC_SUPPORT=y
CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_FASTBOOT=y
CONFIG_USB_FUNCTION_FASTBOOT=y
CONFIG_CMD_FASTBOOT=y
@ -42,14 +42,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y
@ -107,3 +103,9 @@ CONFIG_ENV_IS_IN_MMC=y
CONFIG_SMC_FUSE=y
CONFIG_CMD_MEMTEST=y
CONFIG_SPL_USB_HOST_SUPPORT=y
CONFIG_SPL_USB_GADGET_SUPPORT=y
CONFIG_SPL_USB_SDP_SUPPORT=y
CONFIG_SPL_SDP_USB_DEV=1
CONFIG_SDP_LOADADDR=0x80400000

View File

@ -24,7 +24,6 @@ CONFIG_SPL_MMC_SUPPORT=y
CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_SPL_MTD_SUPPORT=y
CONFIG_SPL_OF_CONTROL=y
@ -46,14 +45,10 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_IMX8=y
CONFIG_DM_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_CMD_USB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_TCPC=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_USB_GADGET=y
# CONFIG_CI_UDC=y
CONFIG_USB_GADGET_DOWNLOAD=y
@ -111,3 +106,9 @@ CONFIG_ENV_IS_IN_SPL_FLASH=y
CONFIG_SMC_FUSE=y
CONFIG_CMD_MEMTEST=y
CONFIG_SPL_USB_HOST_SUPPORT=y
CONFIG_SPL_USB_GADGET_SUPPORT=y
CONFIG_SPL_USB_SDP_SUPPORT=y
CONFIG_SPL_SDP_USB_DEV=1
CONFIG_SDP_LOADADDR=0x80400000

View File

@ -23,6 +23,7 @@
#define CONFIG_SYS_MONITOR_LEN (1024 * 1024)
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x1040 /* (flash.bin_offset + 2Mb)/sector_size */
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x200000
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 0
@ -33,10 +34,10 @@
#define CONFIG_SPL_LIBCOMMON_SUPPORT
#define CONFIG_SPL_LIBGENERIC_SUPPORT
#define CONFIG_SPL_SERIAL_SUPPORT
#define CONFIG_SPL_BSS_START_ADDR 0x00128000
#define CONFIG_SPL_BSS_START_ADDR 0x00138000
#define CONFIG_SPL_BSS_MAX_SIZE 0x1000 /* 4 KB */
#define CONFIG_SYS_SPL_MALLOC_START 0x00120000
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x3000 /* 12 KB */
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x18000 /* 12 KB */
#define CONFIG_SERIAL_LPUART_BASE 0x5a060000
#define CONFIG_SYS_ICACHE_OFF
#define CONFIG_SYS_DCACHE_OFF
@ -394,20 +395,27 @@
#define CONFIG_SERIAL_TAG
/* USB Config */
#ifdef CONFIG_CMD_USB
#ifndef CONFIG_SPL_BUILD
#define CONFIG_CMD_USB
#define CONFIG_USB_STORAGE
#define CONFIG_USBD_HS
#define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_MASS_STORAGE
#define CONFIG_USB_FUNCTION_MASS_STORAGE
#define CONFIG_USB_EHCI_HCD
#endif
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
/* USB OTG controller configs */
#ifdef CONFIG_USB_EHCI_HCD
#define CONFIG_USB_EHCI_MX6
#define CONFIG_USB_HOST_ETHER
#define CONFIG_USB_ETHER_ASIX
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
#endif
#endif /* CONFIG_CMD_USB */
#ifdef CONFIG_USB_GADGET
#define CONFIG_USBD_HS
#endif
/* Framebuffer */
#ifdef CONFIG_VIDEO

View File

@ -24,6 +24,7 @@
#define CONFIG_SYS_MONITOR_LEN (1024 * 1024)
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x1040 /* (32K + 2Mb)/sector_size */
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x200000
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 0
@ -34,10 +35,10 @@
#define CONFIG_SPL_LIBCOMMON_SUPPORT
#define CONFIG_SPL_LIBGENERIC_SUPPORT
#define CONFIG_SPL_SERIAL_SUPPORT
#define CONFIG_SPL_BSS_START_ADDR 0x00128000
#define CONFIG_SPL_BSS_START_ADDR 0x00138000
#define CONFIG_SPL_BSS_MAX_SIZE 0x1000 /* 4 KB */
#define CONFIG_SYS_SPL_MALLOC_START 0x00120000
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x3000 /* 12 KB */
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x18000 /* 12 KB */
#define CONFIG_SERIAL_LPUART_BASE 0x5a060000
#define CONFIG_SYS_ICACHE_OFF
#define CONFIG_SYS_DCACHE_OFF
@ -378,20 +379,27 @@
#define CONFIG_SERIAL_TAG
/* USB Config */
#ifdef CONFIG_CMD_USB
#ifndef CONFIG_SPL_BUILD
#define CONFIG_CMD_USB
#define CONFIG_USB_STORAGE
#define CONFIG_USBD_HS
#define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_MASS_STORAGE
#define CONFIG_USB_FUNCTION_MASS_STORAGE
#define CONFIG_USB_EHCI_HCD
#endif
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
/* USB OTG controller configs */
#ifdef CONFIG_USB_EHCI_HCD
#define CONFIG_USB_EHCI_MX6
#define CONFIG_USB_HOST_ETHER
#define CONFIG_USB_ETHER_ASIX
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
#endif
#endif /* CONFIG_CMD_USB */
#ifdef CONFIG_USB_GADGET
#define CONFIG_USBD_HS
#endif
/* Framebuffer */
#ifdef CONFIG_VIDEO