aboutsummaryrefslogtreecommitdiff
path: root/board/solidrun
diff options
context:
space:
mode:
authorDennis Gilmore <dennis@ausil.us>2017-08-24 10:49:43 -0500
committerStefano Babic <sbabic@denx.de>2017-09-20 15:34:59 +0200
commitb1e8512e9dbe1771da9c3ad3ddfaf7681318fe0e (patch)
tree0df6d7d4b9ac61a64c061da150b488d44c9c2fba /board/solidrun
parent30df9f770b22f3c89d61947950da362117c43c63 (diff)
downloadu-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.c35
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");