summaryrefslogtreecommitdiff
path: root/board/toradex/colibri-imx8x/colibri-imx8x.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/toradex/colibri-imx8x/colibri-imx8x.c')
-rw-r--r--board/toradex/colibri-imx8x/colibri-imx8x.c38
1 files changed, 16 insertions, 22 deletions
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index 73b6cbff26..a7bdf27ef6 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -39,6 +39,8 @@ DECLARE_GLOBAL_DATA_PTR;
#define UART_PAD_CTRL ((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) \
| (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | (SC_PAD_28FDSOI_PS_PU << PADRING_PULL_SHIFT))
+#define USB_CDET_GPIO IMX_GPIO_NR(5, 9)
+
static iomux_cfg_t uart3_pads[] = {
SC_P_FLEXCAN2_RX | MUX_MODE_ALT(2) | MUX_PAD_CTRL(UART_PAD_CTRL),
SC_P_FLEXCAN2_TX | MUX_MODE_ALT(2) | MUX_PAD_CTRL(UART_PAD_CTRL),
@@ -51,6 +53,20 @@ static void setup_iomux_uart(void)
imx8_iomux_setup_multiple_pads(uart3_pads, ARRAY_SIZE(uart3_pads));
}
+int board_ci_udc_phy_mode(void *__iomem phy_base, int phy_off)
+{
+ switch ((phys_addr_t)phy_base) {
+ case 0x5b0d0000:
+ if (gpio_get_value(USB_CDET_GPIO))
+ return USB_INIT_DEVICE;
+ else
+ return USB_INIT_HOST;
+ case 0x5b110000:
+ default:
+ return USB_INIT_HOST;
+ }
+}
+
void board_mem_get_layout(uint64_t *phys_sdram_1_start,
uint64_t *phys_sdram_1_size,
uint64_t *phys_sdram_2_start,
@@ -153,28 +169,6 @@ static void board_gpio_init(void)
}
#endif
-/* Only Enable USB3 resources currently */
-int board_usb_init(int index, enum usb_init_type init)
-{
- struct power_domain pd;
- int ret = 0;
-
- /* Power on usb */
- if (!power_domain_lookup_name("conn_usb2", &pd)) {
- ret = power_domain_on(&pd);
- if (ret)
- printf("conn_usb2 Power up failed! (error = %d)\n", ret);
- }
-
- if (!power_domain_lookup_name("conn_usb2_phy", &pd)) {
- ret = power_domain_on(&pd);
- if (ret)
- printf("conn_usb2_phy Power up failed! (error = %d)\n", ret);
- }
-
- return ret;
-}
-
int board_init(void)
{
#ifdef CONFIG_MXC_GPIO