From 5ac61784dd4c67a754bb637159750a20406d5379 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 2 Nov 2020 21:22:30 +0100 Subject: verdin-imx8mm.c: enable sleep_moci output This powers some peripherals on the carrier board e.g. the USB hub. Related-to: ELB-3206 Signed-off-by: Max Krummenacher --- board/toradex/verdin-imx8mm/verdin-imx8mm.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c index c088db1f22..32d1aace82 100644 --- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c +++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c @@ -34,6 +34,7 @@ DECLARE_GLOBAL_DATA_PTR; #define I2C_PMIC 0 +#define GPIO_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PE | PAD_CTL_DSE4) #define UART_PAD_CTRL (PAD_CTL_PUE | PAD_CTL_PE | PAD_CTL_DSE4) #define WDOG_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE) @@ -49,7 +50,11 @@ static iomux_v3_cfg_t const uart_pads[] = { }; static iomux_v3_cfg_t const wdog_pads[] = { - IMX8MM_PAD_GPIO1_IO02_WDOG1_WDOG_B | MUX_PAD_CTRL(WDOG_PAD_CTRL), + IMX8MM_PAD_GPIO1_IO02_WDOG1_WDOG_B | MUX_PAD_CTRL(WDOG_PAD_CTRL), +}; + +static iomux_v3_cfg_t const sleep_moci_pads[] = { + IMX8MM_PAD_SAI3_TXD_GPIO5_IO1 | MUX_PAD_CTRL(GPIO_PAD_CTRL), }; int board_early_init_f(void) @@ -418,6 +423,11 @@ int board_late_init(void) { select_dt_from_module_version(); + /* Power up carrier board HW, e.g. USB */ + imx_iomux_v3_setup_multiple_pads(sleep_moci_pads, ARRAY_SIZE(sleep_moci_pads)); + gpio_request(IMX_GPIO_NR(5, 1), "SLEEP_MOCI#"); + gpio_direction_output(IMX_GPIO_NR(5, 1), 1); + return 0; } -- cgit v1.2.3