summaryrefslogtreecommitdiff
path: root/configs/pinephone_defconfig
AgeCommit message (Collapse)Author
2026-04-30sunxi: spl: fix SPL_SUNXI_LED active low configurationAndre Przywara
The newly introduced Allwinner SPL LED "framework" defined a SPL_SUNXI_LED_STATUS_STATE Kconfig symbol, that was supposed to denote the active-low vs. active-high polarity of the LED. However this is a bool symbol, so it will simply vanish if not defined, and we cannot use it directly inside a C statement. Filter the symbol through the IS_ENABLED() macro, which will return 0 if the symbol is not defined, which is the intended value here. Since the STATUS_STATE name is a bit confusing, rename it to ACTIVE_HIGH on the way, because that is its real meaning. Also the LED_STATUS_BIT name for the GPIO number is similarly a remnant of the old status LED code, so rename it to LED_STATUS_GPIO as well. This fixes configuring LEDs with active-low polarity. Fixes: 256557dd9aae ("sunxi: remove usage of legacy LED API") Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Paul Kocialkowski <[email protected]> Closes: https://lore.kernel.org/u-boot/adfMQBPdntWy1KIq@shepard/ Acked-by: Quentin Schulz <[email protected]>
2026-03-16sunxi: remove usage of legacy LED APIQuentin Schulz
We are trying to get rid of the legacy LED API and PinePhone is one of the last ones requiring it. Unlike all other users of the legacy LED API, PinePhone is controlling the GPIO LED in SPL. Unfortunately, Sunxi doesn't enable DM support in SPL because of tight space constraints, so we cannot make use of the modern LED framework as that is based on DM_GPIO. Since PinePhone is the last user of this API, I'm moving the logic to Sunxi SPL code and will let this community decide how to handle this hot potato. The logic is extremely simplified as only one GPIO LED is currently controlled in SPL by PinePhone. No need for handling multiple LEDs or inverted polarity, let's keep it simple. This however allows us to use the modern LED framework once in U-Boot proper since this logic won't collide with the new framework. Since the only misc drivers that were compiled in SPL were guarded by CONFIG_LED_STATUS and CONFIG_LED_STATUS_GPIO, we can also disable CONFIG_SPL_DRIVERS_MISC (which does nothing anymore). This also saves some space for PinePhone in SPL and proper. Tested-by: Andre Przywara <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-01-06configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-01-22sunxi: pinephone: detect existed magnetometer and fixup dtbAndrey Skvortsov
In newer 1.2 PinePhone board revisions LIS3MDL magnetometer was replaced by AF8133J. They use the same PB1 pin in different modes. LIS3MDL uses it as an gpio input to handle interrupt. AF8133J uses it as an gpio output as a reset signal. It wasn't possible at runtime to enable both device tree nodes and detect supported sensor at probe time. AF8133J has reset pin (PB1) connected to the SoC. By default AF8133J is in a reset state and don't respond to probe request on I2C bus. Extra code would be needed to handle reset signal. Therefore this code uses LIS3MDL magnetometer instead of AF8133J. Introducing new dts 1.2b with AF8133J sensor would require probing in SPL. That would lead to pulling in into SPL I2C controller driver, RSB controller driver, introducing new AXP803 driver to power-up sensors for probe. It's working, but SPL is pretty size-constrained on A64 and doesn't have much space. Therefore fdt fixup is done in U-Boot proper without introducing new board revision and new dts. Signed-off-by: Andrey Skvortsov <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ Link: https://lists.denx.de/pipermail/u-boot/2024-February/545700.html Reviewed-by: Andre Przywara <[email protected]> [Andre: fix formatting] Signed-off-by: Andre Przywara <[email protected]>
2025-01-22sunxi: defconfig: Add pstore support for pinephoneAndrey Skvortsov
pstore will allow users to catch kernel crashes and report them to developers. Modern (Android) phones have pstore usually enabled to get information about kernel crash, since it's the simplest way to get kernel backtrace on mobile device without serial console. Usually it's enabled by default in distribution kernels like Debian. CONFIG_PSTORE=y CONFIG_PSTORE_RAM=m systemd has service that automatically handles pstore and saves them in /var/lib/pstore for later usage. In general any DRAM address, that isn't overwritten during a boot is suitable for pstore. Range from 0x40000000 - 0x50000000 is heavily used by u-boot for internal use and to load kernel, fdt, fdto, scripts, pxefile and ramdisk later in the boot process. Ramdisk start address is 0x4FF00000, initramfs for kernel with some hacking features and debug info enabled can take more than 100Mb and final address will be around 0x58000000. Address 0x61000000 will most likely not overlap with that. Signed-off-by: Andrey Skvortsov <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2022-12-13sunxi: define SYS_MONITOR_LEN in Kconfig, not _defconfigAndre Przywara
Commit 08574ed339fb ("Convert CONFIG_SYS_MONITOR_LEN to Kconfig") moved the definition of said config variable from the common sunxi header to *every board's* defconfig. This is a platform choice, not board specific, so remove the variable from there, instead set the one value for all Allwinner boards in Kconfig. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Jernej Skrabec <[email protected]>
2022-11-10Convert CONFIG_SYS_MONITOR_LEN to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_MONITOR_LEN To do this, we set a default of 0 for everyone because there are a number of cases where we define CONFIG_SYS_MONITOR_LEN but the only impact is that we set TOTAL_MALLOC_LEN to be CONFIG_SYS_MALLOC_LEN + CONFIG_ENV_SIZE, so we must continue to allow all boards to set this value. Update the SPL code to use 200 KB as the default raw U-Boot size directly, if we don't have a real CONFIG_SYS_MONITOR_LEN value. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-18sunxi: defconfig: drop redundant definitionsAndre Przywara
When some configuration symbols were converted from header files to Kconfig, their values were placed into *every* defconfig file. Since we now have sensible per-SoC defaults defined in Kconfig, those values are now redundant, and can just be removed. This affects CONFIG_SPL_STACK, CONFIG_SYS_PBSIZE, CONFIG_SPL_MAX_SIZE, and CONFIG_SYS_BOOTM_LEN. Signed-off-by: Andre Przywara <[email protected]>
2022-07-07Convert CONFIG_SYS_BOOTM_LEN to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_BOOTM_LEN As part of this, rework error handling in boot/bootm.c so that we pass the buffer size to handle_decomp_error as CONFIG_SYS_BOOTM_LEN will not be available to host tools but we do know the size that we passed to malloc(). Cc: Soeren Moch <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-06-06Convert CONFIG_SPL_STACK to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SPL_STACK Signed-off-by: Tom Rini <[email protected]>
2022-06-06Convert CONFIG_SYS_PBSIZE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_PBSIZE Signed-off-by: Tom Rini <[email protected]>
2021-10-11pinephone_defconfig: add support for early-boot status LEDArnaud Ferraris
This commit enables the green status LED (PD18/GPIO 114) on boot in the SPL, in order to provide visual feedback that the PinePhone is booting. Signed-off-by: Arnaud Ferraris <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Samuel Holland <[email protected]> Tested-by: Samuel Holland <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-06-28configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2020-11-17sunxi: a64: Add a defconfig for the PinePhoneSamuel Holland
The PinePhone is a smartphone produced by Pine64, with an A64 SoC, 2 or 3 GiB LPDDR3 RAM, 16 or 32 GiB eMMC, 720x1440 MIPI-DSI panel, and Quectel EG25-G modem. There are two main board revisions: 1.1 for early adopters, and 1.2 for mass production. Since there is code to detect the board revision at boot, one config/image can support both boards. Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>