Merge tag 'u-boot-amlogic-20211119' of https://source.denx.de/u-boot/custodians/u...
authorTom Rini <trini@konsulko.com>
Fri, 19 Nov 2021 21:33:33 +0000 (16:33 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 19 Nov 2021 21:33:33 +0000 (16:33 -0500)
- pinctrl: Correct the driver GPIO declaration
- meson64_android: handle errors on boot and run fastboot on boot failure

drivers/pinctrl/meson/pinctrl-meson-gx-pmx.c
drivers/pinctrl/meson/pinctrl-meson-gx.h
drivers/pinctrl/meson/pinctrl-meson-gxbb.c
drivers/pinctrl/meson/pinctrl-meson-gxl.c
include/configs/meson64_android.h

index 159f340..99502d8 100644 (file)
@@ -145,7 +145,7 @@ static const struct dm_gpio_ops meson_gx_gpio_ops = {
        .direction_output = meson_gpio_direction_output,
 };
 
-const struct driver meson_gx_gpio_driver = {
+U_BOOT_DRIVER(meson_gx_gpio_driver) = {
        .name   = "meson-gx-gpio",
        .id     = UCLASS_GPIO,
        .probe  = meson_gpio_probe,
index 4c1aa1a..c70c1f5 100644 (file)
@@ -43,6 +43,6 @@ struct meson_gx_pmx_data {
        }
 
 extern const struct pinctrl_ops meson_gx_pinctrl_ops;
-extern const struct driver meson_gx_gpio_driver;
+extern U_BOOT_DRIVER(meson_gx_gpio_driver);
 
 #endif /* __PINCTRL_MESON_GX_H__ */
index 8c01c73..93a895c 100644 (file)
@@ -439,7 +439,7 @@ struct meson_pinctrl_data meson_gxbb_periphs_pinctrl_data = {
        .num_groups     = ARRAY_SIZE(meson_gxbb_periphs_groups),
        .num_funcs      = ARRAY_SIZE(meson_gxbb_periphs_functions),
        .num_banks      = ARRAY_SIZE(meson_gxbb_periphs_banks),
-       .gpio_driver    = &meson_gx_gpio_driver,
+       .gpio_driver    = DM_DRIVER_REF(meson_gx_gpio_driver),
 };
 
 struct meson_pinctrl_data meson_gxbb_aobus_pinctrl_data = {
@@ -452,7 +452,7 @@ struct meson_pinctrl_data meson_gxbb_aobus_pinctrl_data = {
        .num_groups     = ARRAY_SIZE(meson_gxbb_aobus_groups),
        .num_funcs      = ARRAY_SIZE(meson_gxbb_aobus_functions),
        .num_banks      = ARRAY_SIZE(meson_gxbb_aobus_banks),
-       .gpio_driver    = &meson_gx_gpio_driver,
+       .gpio_driver    = DM_DRIVER_REF(meson_gx_gpio_driver),
 };
 
 static const struct udevice_id meson_gxbb_pinctrl_match[] = {
index 51a0b4c..a44145e 100644 (file)
@@ -701,7 +701,7 @@ struct meson_pinctrl_data meson_gxl_periphs_pinctrl_data = {
        .num_groups     = ARRAY_SIZE(meson_gxl_periphs_groups),
        .num_funcs      = ARRAY_SIZE(meson_gxl_periphs_functions),
        .num_banks      = ARRAY_SIZE(meson_gxl_periphs_banks),
-       .gpio_driver    = &meson_gx_gpio_driver,
+       .gpio_driver    = DM_DRIVER_REF(meson_gx_gpio_driver),
 };
 
 struct meson_pinctrl_data meson_gxl_aobus_pinctrl_data = {
@@ -714,7 +714,7 @@ struct meson_pinctrl_data meson_gxl_aobus_pinctrl_data = {
        .num_groups     = ARRAY_SIZE(meson_gxl_aobus_groups),
        .num_funcs      = ARRAY_SIZE(meson_gxl_aobus_functions),
        .num_banks      = ARRAY_SIZE(meson_gxl_aobus_banks),
-       .gpio_driver    = &meson_gx_gpio_driver,
+       .gpio_driver    = DM_DRIVER_REF(meson_gx_gpio_driver),
 };
 
 static const struct udevice_id meson_gxl_pinctrl_match[] = {
index fb3ccc3..7cd1ab0 100644 (file)
                        "echo Fastboot forced by usb rom boot;" \
                        "setenv run_fastboot 1;" \
                "fi;" \
-               "if gpt verify mmc ${mmcdev} ${partitions}; then; " \
-               "else " \
-                       "echo Broken MMC partition scheme;" \
-                       "setenv run_fastboot 1;" \
-               "fi;" \
-               "if bcb load " __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV) " " \
-               CONTROL_PARTITION "; then " \
-                       "if bcb test command = bootonce-bootloader; then " \
-                               "echo BCB: Bootloader boot...; " \
-                               "bcb clear command; bcb store; " \
+               "if test \"${run_fastboot}\" -eq 0; then " \
+                       "if gpt verify mmc ${mmcdev} ${partitions}; then; " \
+                       "else " \
+                               "echo Broken MMC partition scheme;" \
                                "setenv run_fastboot 1;" \
                        "fi; " \
-                       "if bcb test command = boot-fastboot; then " \
-                               "echo BCB: fastboot userspace boot...; " \
-                               "setenv force_recovery 1;" \
-                       "fi; " \
-               "else " \
-                       "echo Warning: BCB is corrupted or does not exist; " \
+               "fi;" \
+               "if test \"${run_fastboot}\" -eq 0; then " \
+                       "if bcb load " __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV) " " \
+                       CONTROL_PARTITION "; then " \
+                               "if bcb test command = bootonce-bootloader; then " \
+                                       "echo BCB: Bootloader boot...; " \
+                                       "bcb clear command; bcb store; " \
+                                       "setenv run_fastboot 1;" \
+                               "elif bcb test command = boot-fastboot; then " \
+                                       "echo BCB: fastboot userspace boot...; " \
+                                       "setenv force_recovery 1;" \
+                               "fi; " \
+                       "else " \
+                               "echo Warning: BCB is corrupted or does not exist; " \
+                       "fi;" \
                "fi;" \
                "if test \"${run_fastboot}\" -eq 1; then " \
                        "echo Running Fastboot...;" \
                        "echo Running Android...;" \
                        BOOT_CMD \
                "fi;" \
-               "echo Failed to boot Android...;" \
-               "reset\0"
+               "echo Failed to boot Android...;\0"
 
 #define BOOTENV_DEV_NAME_SYSTEM(devtypeu, devtypel, instance)  \
                "system "
 
+#define BOOTENV_DEV_PANIC(devtypeu, devtypel, instance) \
+       "bootcmd_panic=" \
+               "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \
+               "reset\0"
+
+#define BOOTENV_DEV_NAME_PANIC(devtypeu, devtypel, instance)   \
+               "panic "
+
 #define BOOT_TARGET_DEVICES(func) \
        func(FASTBOOT, fastboot, na) \
        func(RECOVERY, recovery, na) \
        func(SYSTEM, system, na) \
+       func(PANIC, panic, na) \
 
 #define PREBOOT_LOAD_LOGO \
        "if test \"${boot_source}\" != \"usb\" && " \