On Tue, Mar 26, 2024 at 1:11 PM Christian Gmeiner
<christian.gmei...@gmail.com> wrote:

> It got better but the model is (still) wrong:
>
> U-Boot 2024.04-rc5-dirty (Mar 26 2024 - 17:03:41 +0100)
>
> CPU:   Freescale i.MX6Q rev1.3 996 MHz (running at 792 MHz)
> CPU:   Extended Commercial temperature grade (-20C to 105C) at 20C
> Reset cause: POR
> Model: SolidRun HummingBoard2 Dual/Quad (1.5som+emmc)
> Board: MX6 HummingBoard2
> DRAM:  2 GiB
> Core:  82 devices, 17 uclasses, devicetree: fit
> MMC:   FSL_SDHC: 1, FSL_SDHC: 2
> Loading Environment from MMC... *** Warning - bad CRC, using default 
> environment

It seems to me that there is a mix of DM GPIO and non-DM GPIO.

Does the change below help?

--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -336,20 +336,16 @@ static enum board_type board_type(void)
         * HB             1     1    x
         */

-       gpio_direction_input(IMX_GPIO_NR(2, 8));
-       val3 = gpio_get_value(IMX_GPIO_NR(2, 8));
+       val3 = !!dm_gpio_get_value(&(board_detect_desc[0]));

        if (val3 == 0)
                return HUMMINGBOARD2;

-       gpio_direction_input(IMX_GPIO_NR(3, 4));
-       val2 = gpio_get_value(IMX_GPIO_NR(3, 4));
+       val2 = !!dm_gpio_get_value(&(board_detect_desc[1]));

        if (val2 == 0)
                return HUMMINGBOARD;
-
-       gpio_direction_input(IMX_GPIO_NR(4, 9));
-       val1 = gpio_get_value(IMX_GPIO_NR(4, 9));
+       val1 = !!dm_gpio_get_value(&(board_detect_desc[2]));

        if (val1 == 0) {
                return CUBOXI;

Reply via email to