/* * Config file for IGEP0046board * * Copyright (C) 2017, ISEE S.L - https://www.isee.biz/ * * Author: Jose Miguel Sanchez Sanabria * * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include #include #include #include #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; #define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \ PAD_CTL_SRE_FAST | PAD_CTL_HYS) #define GPIO_VERSION_PAD_CTRL (PAD_CTL_PUS_100K_UP | \ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \ PAD_CTL_SRE_FAST) #define GPIO_LED_PAD_CTRL (PAD_CTL_PUS_22K_UP | \ PAD_CTL_SPEED_LOW | PAD_CTL_DSE_40ohm | \ PAD_CTL_SRE_FAST ) int dram_init(void) { gd->ram_size = imx_ddr_size(); return 0; } static iomux_v3_cfg_t const uart2_pads[] = { MX6_PAD_EIM_D26__UART2_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), MX6_PAD_EIM_D27__UART2_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), }; static iomux_v3_cfg_t const init_pads[] = { /* PCB GPIO to Detect Module Version */ MX6_PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(GPIO_VERSION_PAD_CTRL), MX6_PAD_EIM_D23__GPIO3_IO23 | MUX_PAD_CTRL(GPIO_VERSION_PAD_CTRL), MX6_PAD_EIM_D29__GPIO3_IO29 | MUX_PAD_CTRL(GPIO_VERSION_PAD_CTRL), MX6_PAD_EIM_BCLK__GPIO6_IO31 | MUX_PAD_CTRL(GPIO_VERSION_PAD_CTRL), /* PCB GPIO LEDs */ MX6_PAD_DI0_PIN2__GPIO4_IO18 | MUX_PAD_CTRL(GPIO_LED_PAD_CTRL), MX6_PAD_DI0_PIN3__GPIO4_IO19 | MUX_PAD_CTRL(GPIO_LED_PAD_CTRL), MX6_PAD_DI0_PIN4__GPIO4_IO20 | MUX_PAD_CTRL(GPIO_LED_PAD_CTRL), MX6_PAD_DI0_PIN15__GPIO4_IO17 | MUX_PAD_CTRL(GPIO_LED_PAD_CTRL), }; static void setup_iomux_uart(void) { imx_iomux_v3_setup_multiple_pads(uart2_pads, ARRAY_SIZE(uart2_pads)); } int checkboard(void) { puts("Module: IGEP0046\n"); return 0; } int board_early_init_f(void) { setup_iomux_uart(); imx_iomux_v3_setup_multiple_pads(init_pads, ARRAY_SIZE(init_pads)); /* configure LEDS */ gpio_set_value(IMX_GPIO_NR(4, 18), 1); gpio_set_value(IMX_GPIO_NR(4, 19), 1); gpio_set_value(IMX_GPIO_NR(4, 20), 1); gpio_set_value(IMX_GPIO_NR(4, 17), 1); return 0; } int board_init(void) { return 0; } int board_late_init(void) { puts("Hola Manel\n"); checkboard(); return 0; }