mx6cuboxi: Differentiate Cubox-i and Hummingboard
Introduce is_hummingboard() function that reads GPIOs that can distinguish between Cubox-i and Hummingboard. Print the board name accordingly. Based on a patch from Rabeeh Khoury. Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
8cb6817e3a
commit
feb6cc5cb3
|
@ -71,6 +71,12 @@ static iomux_v3_cfg_t const usdhc2_pads[] = {
|
||||||
IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
|
IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static iomux_v3_cfg_t const hb_cbi_sense[] = {
|
||||||
|
/* These pins are for sensing if it is a CuBox-i or a HummingBoard */
|
||||||
|
IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
};
|
||||||
|
|
||||||
static void setup_iomux_uart(void)
|
static void setup_iomux_uart(void)
|
||||||
{
|
{
|
||||||
SETUP_IOMUX_PADS(uart1_pads);
|
SETUP_IOMUX_PADS(uart1_pads);
|
||||||
|
@ -167,9 +173,42 @@ int board_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool is_hummingboard(void)
|
||||||
|
{
|
||||||
|
int val1, val2;
|
||||||
|
|
||||||
|
SETUP_IOMUX_PADS(hb_cbi_sense);
|
||||||
|
|
||||||
|
gpio_direction_input(IMX_GPIO_NR(4, 9));
|
||||||
|
gpio_direction_input(IMX_GPIO_NR(3, 4));
|
||||||
|
|
||||||
|
val1 = gpio_get_value(IMX_GPIO_NR(4, 9));
|
||||||
|
val2 = gpio_get_value(IMX_GPIO_NR(3, 4));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Machine selection -
|
||||||
|
* Machine val1, val2
|
||||||
|
* -------------------------
|
||||||
|
* HB rev 3.x x 0
|
||||||
|
* CBi 0 1
|
||||||
|
* HB 1 1
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (val2 == 0)
|
||||||
|
return true;
|
||||||
|
else if (val1 == 0)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
int checkboard(void)
|
int checkboard(void)
|
||||||
{
|
{
|
||||||
|
if (is_hummingboard())
|
||||||
puts("Board: MX6 Hummingboard\n");
|
puts("Board: MX6 Hummingboard\n");
|
||||||
|
else
|
||||||
|
puts("Board: MX6 Cubox-i\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue