[PATCH v2 2/3] sunxi: configs: enable power LEDs on 32-bit boards

Paul Kocialkowski paulk at sys-base.io
Wed Apr 29 15:08:16 CEST 2026


Hi Andre,

On Wed 29 Apr 26, 11:28, Andre Przywara wrote:
> We recently gained a simple way to enable a power LED very early in the
> SPL boot, through simple Kconfig variables.
> 
> Add those symbols to those boards' defconfigs where the DT indicates a
> default-on power LED. The number used is <port bank> * 32 + <pin no>,
> an active low setup means CONFIG_SPL_SUNXI_LED_STATUS_ACTIVE_HIGH must be
> undefined. Since its default is "high", we can skip the symbol in the
> defconfig in this case.
> 
> This will light up the power LED very early in the (SPL) boot phase on
> those 32-bit boards.
> 
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>

Reviewed-by: Paul Kocialkowski <paulk at sys-base.io>

All the best,

Paul

> ---
>  configs/A13-OLinuXinoM_defconfig         | 2 ++
>  configs/Bananapi_M2_Ultra_defconfig      | 2 ++
>  configs/Bananapi_m2m_defconfig           | 3 +++
>  configs/Mele_A1000G_quad_defconfig       | 2 ++
>  configs/Mele_A1000_defconfig             | 2 ++
>  configs/Mele_M9_defconfig                | 2 ++
>  configs/bananapi_m1_plus_defconfig       | 2 ++
>  configs/bananapi_m2_berry_defconfig      | 2 ++
>  configs/bananapi_m2_zero_defconfig       | 3 +++
>  configs/beelink_x2_defconfig             | 2 ++
>  configs/icnova-a20-adb4006_defconfig     | 2 ++
>  configs/nanopi_duo2_defconfig            | 2 ++
>  configs/nanopi_neo_air_defconfig         | 2 ++
>  configs/orangepi_2_defconfig             | 2 ++
>  configs/orangepi_lite_defconfig          | 2 ++
>  configs/orangepi_one_defconfig           | 2 ++
>  configs/orangepi_pc_defconfig            | 2 ++
>  configs/orangepi_zero_defconfig          | 2 ++
>  configs/orangepi_zero_plus2_h3_defconfig | 2 ++
>  19 files changed, 40 insertions(+)
> 
> diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
> index f547635302f..6c5a1b33194 100644
> --- a/configs/A13-OLinuXinoM_defconfig
> +++ b/configs/A13-OLinuXinoM_defconfig
> @@ -10,6 +10,8 @@ CONFIG_VIDEO_VGA_VIA_LCD=y
>  CONFIG_VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH=y
>  CONFIG_VIDEO_LCD_POWER="PB10"
>  CONFIG_VIDEO_LCD_BL_PWM="PB2"
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=201
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SYS_I2C_MVTWSI=y
>  CONFIG_SYS_I2C_SLAVE=0x7f
> diff --git a/configs/Bananapi_M2_Ultra_defconfig b/configs/Bananapi_M2_Ultra_defconfig
> index 375b0063c1a..750868033be 100644
> --- a/configs/Bananapi_M2_Ultra_defconfig
> +++ b/configs/Bananapi_M2_Ultra_defconfig
> @@ -5,6 +5,8 @@ CONFIG_DRAM_CLK=576
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_R40=y
>  CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=244
>  # CONFIG_HAS_ARMV7_SECURE_BASE is not set
>  CONFIG_AHCI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> diff --git a/configs/Bananapi_m2m_defconfig b/configs/Bananapi_m2m_defconfig
> index 0c20cce49ea..f75e3e09d03 100644
> --- a/configs/Bananapi_m2m_defconfig
> +++ b/configs/Bananapi_m2m_defconfig
> @@ -7,6 +7,9 @@ CONFIG_MACH_SUN8I_A33=y
>  CONFIG_DRAM_ZQ=15291
>  CONFIG_DRAM_ODT_EN=y
>  CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=355
> +# CONFIG_SPL_SUNXI_LED_STATUS_ACTIVE_HIGH is not set
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
>  CONFIG_USB_EHCI_HCD=y
> diff --git a/configs/Mele_A1000G_quad_defconfig b/configs/Mele_A1000G_quad_defconfig
> index 1f4739e0005..ee6c902970a 100644
> --- a/configs/Mele_A1000G_quad_defconfig
> +++ b/configs/Mele_A1000G_quad_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN6I=y
>  CONFIG_DRAM_ZQ=120
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=237
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_PHY_REALTEK=y
>  CONFIG_ETH_DESIGNWARE=y
> diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
> index 93e73ebe3f1..48679265650 100644
> --- a/configs/Mele_A1000_defconfig
> +++ b/configs/Mele_A1000_defconfig
> @@ -5,6 +5,8 @@ CONFIG_SPL=y
>  CONFIG_MACH_SUN4I=y
>  CONFIG_VIDEO_VGA=y
>  CONFIG_VIDEO_COMPOSITE=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=244
>  CONFIG_AHCI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_I2C=y
> diff --git a/configs/Mele_M9_defconfig b/configs/Mele_M9_defconfig
> index 9b1bb97eedd..293e00db1b0 100644
> --- a/configs/Mele_M9_defconfig
> +++ b/configs/Mele_M9_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN6I=y
>  CONFIG_DRAM_ZQ=120
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=237
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_PHY_REALTEK=y
>  CONFIG_ETH_DESIGNWARE=y
> diff --git a/configs/bananapi_m1_plus_defconfig b/configs/bananapi_m1_plus_defconfig
> index 22b69aa88cb..14ecaf759b5 100644
> --- a/configs/bananapi_m1_plus_defconfig
> +++ b/configs/bananapi_m1_plus_defconfig
> @@ -6,6 +6,8 @@ CONFIG_SPL=y
>  CONFIG_MACH_SUN7I=y
>  CONFIG_VIDEO_COMPOSITE=y
>  CONFIG_GMAC_TX_DELAY=3
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=249
>  CONFIG_AHCI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_I2C=y
> diff --git a/configs/bananapi_m2_berry_defconfig b/configs/bananapi_m2_berry_defconfig
> index b406d519684..b9975211362 100644
> --- a/configs/bananapi_m2_berry_defconfig
> +++ b/configs/bananapi_m2_berry_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-v40-bananapi-m2-berry"
>  CONFIG_DRAM_CLK=576
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_R40=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=244
>  # CONFIG_HAS_ARMV7_SECURE_BASE is not set
>  CONFIG_AHCI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig
> index 337bafecd47..5041802ea8c 100644
> --- a/configs/bananapi_m2_zero_defconfig
> +++ b/configs/bananapi_m2_zero_defconfig
> @@ -4,4 +4,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-bananapi-m2-zero"
>  CONFIG_DRAM_CLK=408
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
> +# CONFIG_SPL_SUNXI_LED_STATUS_ACTIVE_HIGH is not set
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> diff --git a/configs/beelink_x2_defconfig b/configs/beelink_x2_defconfig
> index 3b0be26f063..16a37da521d 100644
> --- a/configs/beelink_x2_defconfig
> +++ b/configs/beelink_x2_defconfig
> @@ -5,6 +5,8 @@ CONFIG_DRAM_CLK=567
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
>  CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SUN8I_EMAC=y
>  CONFIG_USB_EHCI_HCD=y
> diff --git a/configs/icnova-a20-adb4006_defconfig b/configs/icnova-a20-adb4006_defconfig
> index 507e330612e..dcb6457fe71 100644
> --- a/configs/icnova-a20-adb4006_defconfig
> +++ b/configs/icnova-a20-adb4006_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-icnova-a20-adb4006"
>  CONFIG_DRAM_CLK=384
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN7I=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=245
>  CONFIG_AHCI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_I2C=y
> diff --git a/configs/nanopi_duo2_defconfig b/configs/nanopi_duo2_defconfig
> index 41b5502d24e..9b0fbecff60 100644
> --- a/configs/nanopi_duo2_defconfig
> +++ b/configs/nanopi_duo2_defconfig
> @@ -5,6 +5,8 @@ CONFIG_DRAM_CLK=408
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
>  # CONFIG_VIDEO_DE2 is not set
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_CONSOLE_MUX=y
>  CONFIG_USB_EHCI_HCD=y
> diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig
> index 3b8cbbfcdba..110bb1e864c 100644
> --- a/configs/nanopi_neo_air_defconfig
> +++ b/configs/nanopi_neo_air_defconfig
> @@ -5,6 +5,8 @@ CONFIG_DRAM_CLK=408
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
>  # CONFIG_VIDEO_DE2 is not set
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_CONSOLE_MUX=y
>  CONFIG_USB_EHCI_HCD=y
> diff --git a/configs/orangepi_2_defconfig b/configs/orangepi_2_defconfig
> index 88433808538..43f3ab512f1 100644
> --- a/configs/orangepi_2_defconfig
> +++ b/configs/orangepi_2_defconfig
> @@ -5,6 +5,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-2"
>  CONFIG_DRAM_CLK=672
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_I2C=y
>  CONFIG_SPL_SYS_I2C_LEGACY=y
> diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig
> index ea1548f0fcd..499ffd8ace5 100644
> --- a/configs/orangepi_lite_defconfig
> +++ b/configs/orangepi_lite_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-lite"
>  CONFIG_DRAM_CLK=672
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_USB_EHCI_HCD=y
>  CONFIG_USB_OHCI_HCD=y
> diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig
> index e4de13de26b..637eb41207e 100644
> --- a/configs/orangepi_one_defconfig
> +++ b/configs/orangepi_one_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one"
>  CONFIG_DRAM_CLK=672
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SUN8I_EMAC=y
>  CONFIG_USB_EHCI_HCD=y
> diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig
> index f857d7fa203..01195b68621 100644
> --- a/configs/orangepi_pc_defconfig
> +++ b/configs/orangepi_pc_defconfig
> @@ -4,6 +4,8 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-pc"
>  CONFIG_DRAM_CLK=624
>  CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_I2C=y
>  CONFIG_SPL_SYS_I2C_LEGACY=y
> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
> index e128f5fcdb3..49a1f4d03da 100644
> --- a/configs/orangepi_zero_defconfig
> +++ b/configs/orangepi_zero_defconfig
> @@ -6,6 +6,8 @@ CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
>  # CONFIG_VIDEO_DE2 is not set
>  CONFIG_SPL_SPI_SUNXI=y
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_CONSOLE_MUX=y
>  CONFIG_MTD=y
> diff --git a/configs/orangepi_zero_plus2_h3_defconfig b/configs/orangepi_zero_plus2_h3_defconfig
> index caf515c7026..63335b404da 100644
> --- a/configs/orangepi_zero_plus2_h3_defconfig
> +++ b/configs/orangepi_zero_plus2_h3_defconfig
> @@ -6,6 +6,8 @@ CONFIG_SPL=y
>  CONFIG_MACH_SUN8I_H3=y
>  # CONFIG_DRAM_ODT_EN is not set
>  CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> +CONFIG_SPL_SUNXI_LED_STATUS=y
> +CONFIG_SPL_SUNXI_LED_STATUS_GPIO=362
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SUN8I_EMAC=y
>  CONFIG_USB_EHCI_HCD=y
> -- 
> 2.43.0
> 

-- 
Paul Kocialkowski,

Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/

Expert in multimedia, graphics and embedded hardware support with Linux.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260429/41d78971/attachment.sig>


More information about the U-Boot mailing list