diff options
author | Dennis Gilmore <dennis@ausil.us> | 2017-08-24 10:49:43 -0500 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2017-09-20 15:34:59 +0200 |
commit | b1e8512e9dbe1771da9c3ad3ddfaf7681318fe0e (patch) | |
tree | 0df6d7d4b9ac61a64c061da150b488d44c9c2fba /board/solidrun | |
parent | 30df9f770b22f3c89d61947950da362117c43c63 (diff) | |
download | u-boot-b1e8512e9dbe1771da9c3ad3ddfaf7681318fe0e.zip u-boot-b1e8512e9dbe1771da9c3ad3ddfaf7681318fe0e.tar.gz u-boot-b1e8512e9dbe1771da9c3ad3ddfaf7681318fe0e.tar.bz2 |
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>
Diffstat (limited to 'board/solidrun')
-rw-r--r-- | board/solidrun/mx6cuboxi/mx6cuboxi.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 986abc5..1e4da4a 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -349,6 +349,7 @@ static bool is_hummingboard(void) * Machine selection - * Machine val1, val2 * ------------------------- + * HB2 x x * HB rev 3.x x 0 * CBi 0 1 * HB 1 1 @@ -362,9 +363,37 @@ static bool is_hummingboard(void) 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) { - if (is_hummingboard()) + if (is_hummingboard2()) + puts("Board: MX6 Hummingboard2\n"); + else if (is_hummingboard()) puts("Board: MX6 Hummingboard\n"); else puts("Board: MX6 Cubox-i\n"); @@ -375,7 +404,9 @@ int checkboard(void) int board_late_init(void) { #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"); else env_set("board_name", "CUBOXI"); |