Message ID | 20170824153412.24086-1-dennis@ausil.us |
---|---|
State | Not Applicable |
Delegated to: | Stefano Babic |
Headers | show |
Hi Dennis, On Thu, Aug 24, 2017 at 12:34 PM, Dennis Gilmore <dennis@ausil.us> wrote: > "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; " \ Patch looks good, but I do not see any hummingboard2 device tree in the mainline kernel. Is there anyone working on sending them upstream? Thanks
On Thu, Aug 24, 2017 at 12:34 PM, Dennis Gilmore <dennis@ausil.us> wrote: > +static bool is_hummingboard2(void) > +{ > + int val1; > + > + SETUP_IOMUX_PADS(hb_cbi_sense); hb_cbi_sense configures pins GPIO4_9 and GPIO3_4, which are used for the previous version of the board and not GPIO2_8, which is used to detect Hummingboard2. Even though GPIO2_8 comes up as GPIO by default, it would be better to explicitly configure GPIO2_8 as GPIO inside this function.
El jue, 24-08-2017 a las 12:45 -0300, Fabio Estevam escribió: > Hi Dennis, > > On Thu, Aug 24, 2017 at 12:34 PM, Dennis Gilmore <dennis@ausil.us> > wrote: > > > "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; " \ > > Patch looks good, but I do not see any hummingboard2 device tree in > the mainline kernel. > > Is there anyone working on sending them upstream? https://patchwork.kernel.org/patch/9515739/ is the patch fedora is carrying that has the dtb files. Hopefully Jon can provide some info on current status to upstream it Dennis
On Thu, Aug 24, 2017 at 4:45 PM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Dennis, > > On Thu, Aug 24, 2017 at 12:34 PM, Dennis Gilmore <dennis@ausil.us> wrote: > >> "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; " \ > > Patch looks good, but I do not see any hummingboard2 device tree in > the mainline kernel. > > Is there anyone working on sending them upstream? RMK posted a RFC [1] but I've not seen then go anywhere and I didn't get a response from him when I emailed him but I'm not sure that's unusual. Peter [1] https://www.spinics.net/lists/arm-kernel/msg554183.html
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 7e59fb259e..43a7a52978 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"); @@ -376,6 +405,8 @@ int board_late_init(void) { #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG if (is_hummingboard()) + env_set("board_name", "HUMMINGBOARD2"); + else if (is_hummingboard()) env_set("board_name", "HUMMINGBOARD"); else env_set("board_name", "CUBOXI"); diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h index 5930f591cb..ce9b5469ee 100644 --- a/include/configs/mx6cuboxi.h +++ b/include/configs/mx6cuboxi.h @@ -108,6 +108,10 @@ "fi; " \ "fi\0" \ "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 " \ "setenv fdtfile imx6q-hummingboard.dtb; fi; " \ "if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \
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> --- board/solidrun/mx6cuboxi/mx6cuboxi.c | 33 ++++++++++++++++++++++++++++++++- include/configs/mx6cuboxi.h | 4 ++++ 2 files changed, 36 insertions(+), 1 deletion(-)