Compare commits

..

6 Commits

Author SHA1 Message Date
Marek Belisko
c73c0a2c4a
Merge pull request #428 from leon-anavi/scarthgap-sun9i
[Scartgap] Add Merrii A80 Optimus board and Cubieboard 4
2024-12-10 09:32:16 +01:00
Leon Anavi
3be61ac722 cubieboard4.conf: Add machine
Add machine cubieboard4 for Cubieboard 4 with Allwinner A80 SoC
from the sun9i family with mainline U-Boot and Linux kernel.

Thanks to Lazar Hristov for testing core-image-base on the machine.

Tested-by: Lazar Hristov <lhristov@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-10 00:10:33 +02:00
Leon Anavi
512fed3281 u-boot_%.bbappend: Fix for sun9i
Temporary revert commit ffb0294 from 12 Nov 2023 for device with
Allwinner A80 SoC (aka sun9i):

sunxi: board: simplify early PMIC setup conditions

On Merrii A80 Optimus this git commit causes U-Boot to hang at:

Starting kernel ...

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-10 00:09:55 +02:00
Leon Anavi
57afbf176f sun9i/defconfig: Default kernel defconfig
Add a default Linux kernel defconfig for devices from the sun9i
family with Allwinner A80 SoC such as Merrii A80 Optimus board.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-10 00:04:54 +02:00
Leon Anavi
3a42520278 merrii-a80-optimus.conf: Add machine
Add machine merrii-a80-optimus for Merrii A80 Optimus development
board that is supported by U-Boot and mainline Linux kernel.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-10 00:04:50 +02:00
Leon Anavi
33428d8c22 sun9i.inc: Add SoC family sun9i
Create SoC family sun9i for machines with Allwinner A80 that are
supported by mainline U-Boot and mainline Linux kernel.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-12-10 00:04:40 +02:00
7 changed files with 5631 additions and 6 deletions

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: CubieBoard4
#@DESCRIPTION: Machine configuration for the cubieboard4, based on allwinner A80 CPU http://cubieboard.org/
require conf/machine/include/sun9i.inc
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "sun9i-a80-cubieboard4.dtb"
UBOOT_MACHINE = "Cubieboard4_defconfig"

View File

@ -0,0 +1,5 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa15.inc
SOC_FAMILY = "sun9i"

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Merrii A80 Optimus
#@DESCRIPTION: Machine configuration for the Merrii A80 Optimus, based on Allwinner A80 CPU https://linux-sunxi.org/Merrii_A80_Optimus_Board
require conf/machine/include/sun9i.inc
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "sun9i-a80-optimus.dtb"
UBOOT_MACHINE = "Merrii_A80_Optimus_defconfig"

View File

@ -0,0 +1,108 @@
From b75fa85deb7099916493ff9cc582c0956121238e Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
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 <leon.anavi@konsulko.com>
---
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

View File

@ -3,7 +3,7 @@ FILESEXTRAPATHS:prepend:sunxi := "${THISDIR}/files:"
DEPENDS:append:sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native " DEPENDS:append:sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native "
DEPENDS:append:sun50i = " trusted-firmware-a" DEPENDS:append:sun50i = " trusted-firmware-a"
COMPATIBLE_MACHINE:sunxi = "(sun4i|sun5i|sun7i|sun8i|sun50i)" COMPATIBLE_MACHINE:sunxi = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
DEFAULT_PREFERENCE:sun4i = "1" DEFAULT_PREFERENCE:sun4i = "1"
DEFAULT_PREFERENCE:sun5i = "1" DEFAULT_PREFERENCE:sun5i = "1"
@ -12,10 +12,14 @@ DEFAULT_PREFERENCE:sun8i = "1"
DEFAULT_PREFERENCE:sun50i = "1" DEFAULT_PREFERENCE:sun50i = "1"
SRC_URI:append:sunxi = " \ SRC_URI:append:sunxi = " \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \ file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
file://0002-Added-nanopi-r1-board-support.patch \ file://0002-Added-nanopi-r1-board-support.patch \
file://0003-sunxi-H6-Enable-Ethernet-on-Orange-Pi-One-Plus.patch \ file://0003-sunxi-H6-Enable-Ethernet-on-Orange-Pi-One-Plus.patch \
file://boot.cmd \ file://boot.cmd \
"
SRC_URI:append:sun9i = " \
file://0001-Revert-sunxi-board-simplify-early-PMIC-setup-conditi.patch \
" "
UBOOT_ENV_SUFFIX:sunxi = "scr" UBOOT_ENV_SUFFIX:sunxi = "scr"

View File

@ -1,7 +1,7 @@
SECTION = "kernel" SECTION = "kernel"
LICENSE = "GPL-2.0-only" LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)" COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
inherit kernel inherit kernel

File diff suppressed because it is too large Load Diff