detect and setup solidrun hummingboard2

The hummingboard2 is slightly different to the cubox i and to the
hummingboard. The GPIO pin info to probe came from solidruns
for of u-boot on github.
https://github.com/SolidRun/u-boot-imx6/blob/imx6/board/solidrun/mx6_cubox-i/mx6_cubox-i.c#L569-L589
I have tested on a hummingboard-edge witha  imx6 solo and 512mb of
ram.

Signed-off-by: Dennis Gilmore <dgilmore@redhat.com>
master
Dennis Gilmore 8 years ago committed by Stefano Babic
parent 30df9f770b
commit b1e8512e9d
  1. 35
      board/solidrun/mx6cuboxi/mx6cuboxi.c
  2. 4
      include/configs/mx6cuboxi.h

@ -349,6 +349,7 @@ static bool is_hummingboard(void)
* Machine selection - * Machine selection -
* Machine val1, val2 * Machine val1, val2
* ------------------------- * -------------------------
* HB2 x x
* HB rev 3.x x 0 * HB rev 3.x x 0
* CBi 0 1 * CBi 0 1
* HB 1 1 * HB 1 1
@ -362,9 +363,37 @@ static bool is_hummingboard(void)
return true; return true;
} }
static bool is_hummingboard2(void)
{
int val1;
SETUP_IOMUX_PADS(hb_cbi_sense);
gpio_direction_input(IMX_GPIO_NR(2, 8));
val1 = gpio_get_value(IMX_GPIO_NR(2, 8));
/*
* Machine selection -
* Machine val1
* -------------------
* HB2 0
* HB rev 3.x x
* CBi x
* HB x
*/
if (val1 == 0)
return true;
else
return false;
}
int checkboard(void) int checkboard(void)
{ {
if (is_hummingboard()) if (is_hummingboard2())
puts("Board: MX6 Hummingboard2\n");
else if (is_hummingboard())
puts("Board: MX6 Hummingboard\n"); puts("Board: MX6 Hummingboard\n");
else else
puts("Board: MX6 Cubox-i\n"); puts("Board: MX6 Cubox-i\n");
@ -375,7 +404,9 @@ int checkboard(void)
int board_late_init(void) int board_late_init(void)
{ {
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
if (is_hummingboard()) if (is_hummingboard2())
env_set("board_name", "HUMMINGBOARD2");
else if (is_hummingboard())
env_set("board_name", "HUMMINGBOARD"); env_set("board_name", "HUMMINGBOARD");
else else
env_set("board_name", "CUBOXI"); env_set("board_name", "CUBOXI");

@ -106,6 +106,10 @@
"fi; " \ "fi; " \
"fi\0" \ "fi\0" \
"findfdt="\ "findfdt="\
"if test $board_name = HUMMINGBOARD2 && test $board_rev = MX6Q ; then " \
"setenv fdtfile imx6q-hummingboard2.dtb; fi; " \
"if test $board_name = HUMMINGBOARD2 && test $board_rev = MX6DL ; then " \
"setenv fdtfile imx6dl-hummingboard2.dtb; fi; " \
"if test $board_name = HUMMINGBOARD && test $board_rev = MX6Q ; then " \ "if test $board_name = HUMMINGBOARD && test $board_rev = MX6Q ; then " \
"setenv fdtfile imx6q-hummingboard.dtb; fi; " \ "setenv fdtfile imx6q-hummingboard.dtb; fi; " \
"if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \ "if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \

Loading…
Cancel
Save