From ab9690a0c15dd5915a7cc08a8c37d9b673e0705c Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Sat, 14 Dec 2024 13:41:31 +0200 Subject: [PATCH] u-boot_%.bbappend: Fix U-Boot for sun9i Use a proper fix instead of reverting U-Boot commit ffb0294. After reporting this issue to the U-Boot mailing list, a patch that works on Allwinner A80 machines like Merrii A80 Optimus board was proposed by Andre Przywara: https://lists.denx.de/pipermail/u-boot/2024-December/575050.html Signed-off-by: Leon Anavi --- ...rd-simplify-early-PMIC-setup-conditi.patch | 108 ------------------ ...oard-Fix-early-PMIC-setup-conditions.patch | 41 +++++++ recipes-bsp/u-boot/u-boot_%.bbappend | 3 +- 3 files changed, 42 insertions(+), 110 deletions(-) delete mode 100644 recipes-bsp/u-boot/files/0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch create mode 100644 recipes-bsp/u-boot/files/0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch diff --git a/recipes-bsp/u-boot/files/0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch b/recipes-bsp/u-boot/files/0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch deleted file mode 100644 index 136d0cf..0000000 --- a/recipes-bsp/u-boot/files/0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch +++ /dev/null @@ -1,108 +0,0 @@ -From b75fa85deb7099916493ff9cc582c0956121238e Mon Sep 17 00:00:00 2001 -From: Leon Anavi -Date: Mon, 9 Dec 2024 14:02:07 +0000 -Subject: [PATCH] Revert "sunxi: board: simplify early PMIC setup conditions" - -This reverts commit ffb02942fab024d4a9b6a3346b9791457e272ff4. - -Upstream-Status: Inappropriate - -Signed-off-by: Leon Anavi ---- - board/sunxi/board.c | 32 ++++++++++++++++++-------------- - drivers/power/Kconfig | 2 +- - 2 files changed, 19 insertions(+), 15 deletions(-) - -diff --git a/board/sunxi/board.c b/board/sunxi/board.c -index 02fc3eef00..39ecbe988f 100644 ---- a/board/sunxi/board.c -+++ b/board/sunxi/board.c -@@ -581,46 +581,50 @@ void sunxi_board_init(void) - } - } - --#ifdef CONFIG_AXP_DCDC1_VOLT -+#if defined CONFIG_AXP221_POWER || defined CONFIG_AXP809_POWER || \ -+ defined CONFIG_AXP818_POWER - power_failed |= axp_set_dcdc1(CONFIG_AXP_DCDC1_VOLT); -- power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT); - #endif --#ifdef CONFIG_AXP_DCDC2_VOLT -+#if !defined(CONFIG_AXP305_POWER) - power_failed |= axp_set_dcdc2(CONFIG_AXP_DCDC2_VOLT); - power_failed |= axp_set_dcdc3(CONFIG_AXP_DCDC3_VOLT); - #endif --#ifdef CONFIG_AXP_DCDC4_VOLT -+#if !defined(CONFIG_AXP209_POWER) && !defined(CONFIG_AXP818_POWER) - power_failed |= axp_set_dcdc4(CONFIG_AXP_DCDC4_VOLT); - #endif -+#if defined CONFIG_AXP221_POWER || defined CONFIG_AXP809_POWER || \ -+ defined CONFIG_AXP818_POWER -+ power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT); -+#endif - --#ifdef CONFIG_AXP_ALDO1_VOLT -+#if defined CONFIG_AXP221_POWER || defined CONFIG_AXP809_POWER || \ -+ defined CONFIG_AXP818_POWER - power_failed |= axp_set_aldo1(CONFIG_AXP_ALDO1_VOLT); - #endif --#ifdef CONFIG_AXP_ALDO2_VOLT -+#if !defined(CONFIG_AXP305_POWER) - power_failed |= axp_set_aldo2(CONFIG_AXP_ALDO2_VOLT); - #endif --#ifdef CONFIG_AXP_ALDO3_VOLT -+#if !defined(CONFIG_AXP152_POWER) && !defined(CONFIG_AXP305_POWER) - power_failed |= axp_set_aldo3(CONFIG_AXP_ALDO3_VOLT); - #endif --#ifdef CONFIG_AXP_ALDO4_VOLT -+#ifdef CONFIG_AXP209_POWER - power_failed |= axp_set_aldo4(CONFIG_AXP_ALDO4_VOLT); - #endif - --#ifdef CONFIG_AXP_DLDO1_VOLT -+#if defined(CONFIG_AXP221_POWER) || defined(CONFIG_AXP809_POWER) || \ -+ defined(CONFIG_AXP818_POWER) - power_failed |= axp_set_dldo(1, CONFIG_AXP_DLDO1_VOLT); - power_failed |= axp_set_dldo(2, CONFIG_AXP_DLDO2_VOLT); --#endif --#ifdef CONFIG_AXP_DLDO3_VOLT -+#if !defined CONFIG_AXP809_POWER - power_failed |= axp_set_dldo(3, CONFIG_AXP_DLDO3_VOLT); - power_failed |= axp_set_dldo(4, CONFIG_AXP_DLDO4_VOLT); - #endif --#ifdef CONFIG_AXP_ELDO1_VOLT - power_failed |= axp_set_eldo(1, CONFIG_AXP_ELDO1_VOLT); - power_failed |= axp_set_eldo(2, CONFIG_AXP_ELDO2_VOLT); - power_failed |= axp_set_eldo(3, CONFIG_AXP_ELDO3_VOLT); - #endif - --#ifdef CONFIG_AXP_FLDO1_VOLT -+#ifdef CONFIG_AXP818_POWER - power_failed |= axp_set_fldo(1, CONFIG_AXP_FLDO1_VOLT); - power_failed |= axp_set_fldo(2, CONFIG_AXP_FLDO2_VOLT); - power_failed |= axp_set_fldo(3, CONFIG_AXP_FLDO3_VOLT); -@@ -629,7 +633,7 @@ void sunxi_board_init(void) - #if defined CONFIG_AXP809_POWER || defined CONFIG_AXP818_POWER - power_failed |= axp_set_sw(IS_ENABLED(CONFIG_AXP_SW_ON)); - #endif --#endif /* CONFIG_AXPxxx_POWER */ -+#endif - printf("DRAM:"); - gd->ram_size = sunxi_dram_init(); - printf(" %d MiB\n", (int)(gd->ram_size >> 20)); -diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig -index 83cb31c937..7f3b990d23 100644 ---- a/drivers/power/Kconfig -+++ b/drivers/power/Kconfig -@@ -180,7 +180,7 @@ config AXP_DCDC3_VOLT - - config AXP_DCDC4_VOLT - int "axp pmic dcdc4 voltage" -- depends on AXP152_POWER || AXP221_POWER || AXP809_POWER || AXP305_POWER -+ depends on AXP152_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER || AXP305_POWER - default 1250 if AXP152_POWER - default 1200 if MACH_SUN6I - default 0 if MACH_SUN8I --- -2.47.0 - diff --git a/recipes-bsp/u-boot/files/0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch b/recipes-bsp/u-boot/files/0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch new file mode 100644 index 0000000..4a51e9d --- /dev/null +++ b/recipes-bsp/u-boot/files/0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch @@ -0,0 +1,41 @@ +From f4dde09fa41eb538b743ee2104c1e2e10cc7e13f Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Sat, 14 Dec 2024 10:59:09 +0000 +Subject: [PATCH] sunxi: board: Fix early PMIC setup conditions + +Patch provided by Andre Przywara through the U-Boot mailing list: +https://lists.denx.de/pipermail/u-boot/2024-December/575050.html + +Upstream-Status: Pending + +Suggested-by: Andre Przywara +Signed-off-by: Leon Anavi +--- + board/sunxi/board.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/board/sunxi/board.c b/board/sunxi/board.c +index 961cdcde74..d6759fe853 100644 +--- a/board/sunxi/board.c ++++ b/board/sunxi/board.c +@@ -577,7 +577,6 @@ void sunxi_board_init(void) + + #ifdef CONFIG_AXP_DCDC1_VOLT + power_failed |= axp_set_dcdc1(CONFIG_AXP_DCDC1_VOLT); +- power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT); + #endif + #ifdef CONFIG_AXP_DCDC2_VOLT + power_failed |= axp_set_dcdc2(CONFIG_AXP_DCDC2_VOLT); +@@ -586,6 +585,9 @@ void sunxi_board_init(void) + #ifdef CONFIG_AXP_DCDC4_VOLT + power_failed |= axp_set_dcdc4(CONFIG_AXP_DCDC4_VOLT); + #endif ++#ifdef CONFIG_AXP_DCDC5_VOLT ++ power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT); ++#endif + + #ifdef CONFIG_AXP_ALDO1_VOLT + power_failed |= axp_set_aldo1(CONFIG_AXP_ALDO1_VOLT); +-- +2.47.1 + diff --git a/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend index ecf55c0..896b6bc 100644 --- a/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/recipes-bsp/u-boot/u-boot_%.bbappend @@ -18,9 +18,8 @@ SRC_URI:append:sunxi = " \ file://0004-OrangePi-3-LTS-support.patch \ file://boot.cmd \ " - SRC_URI:append:sun9i = " \ - file://0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch \ + file://0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch \ " SRC_URI:append:mangopi-mq-t-t113 = " \