Pull request: u-boot-sunxi/master for v2024.01
Andre Przywara
andre.przywara at arm.com
Mon Oct 23 12:48:30 CEST 2023
Hi Tom,
please pull the sunxi/master branch, containing the first part of the
2024.01 changes. Apologies for the late PR, there were quite some recent
activities (fixes and reviews), but I didn't want to delay this series
any longer, since it's been around one year in the making already:
This is mostly about support for the Allwinner R528/T113s SoC, which is
reportedly the same die as the Allwinner D1, but with the two
Arm Cortex-A7 cores activated instead of the RISC-V one.
Using sunxi code outside of arch/arm proved to be difficult, so apart
from enabling this Arm SoC, the patches also prepare for more refactoring
to get the D1 nicely supported some day:
- We get rid of some Kconfig (hard-)coded GPIO pins, responsible for
enabling regulators.
- The GPIO code is moved out of arch/arm, into drivers/gpio.
- Some definitions are moved out of header files under asm/arch.
- Some T113s/D1 specific definitions are guarded by a generic Kconfig
symbol (CONFIG_SUNXI_GEN_NCAT2).
- The DRAM controller initialisation code is located under drivers/ram.
- The base SoC .dtsi files are shared (under arch/riscv, as in Linux).
Of course there are also the usual new SoC specific patches, like clock
and pinmux descriptions, alongside a rework of the pinctrl code, since
Allwinner changed the GPIO register layout, for the first time since
sunxi's inception.
On top of this the PSCI code sees some update, to provide SMP services
for R528/T113s boards. Many thanks to Sam for providing this code and
staying strong through the review cycles.
The final patch enables support for one popular board, I hope to see
more DTs and defconfigs contributed in the future!
Many thanks to all the various contributors, testers and reviewers,
that series was a real team effort!
The gitlab CI completed successfully.
Thanks,
Andre
===========================
The following changes since commit 9a3a58396b78b1f9d0c14580dc03f81d29207dd2:
Merge https://source.denx.de/u-boot/custodians/u-boot-marvell (2023-10-20 12:54:33 -0400)
are available in the Git repository at:
https://source.denx.de/u-boot/custodians/u-boot-sunxi.git master
for you to fetch changes up to fa066df62ed9bfe0aed7749a68457468ad8bcc1c:
sunxi: add MangoPi MQ-R board support (2023-10-23 01:00:56 +0100)
----------------------------------------------------------------
Andre Przywara (21):
sunxi: dts: arm64: update devicetree files from Linux-v6.6-rc6
sunxi: dts: arm: update devicetree files from Linux-v6.6-rc6
sunxi: dts: arm: add T113s/D1 DT files from Linux-v6.6-rc6
sunxi: remove CONFIG_SATAPWR
net: sunxi_emac: chase DT nodes to find PHY regulator
sunxi: remove CONFIG_MACPWR
pinctrl: sunxi: move pinctrl code
pinctrl: sunxi: add GPIO in/out wrappers
pinctrl: sunxi: remove struct sunxi_gpio
pinctrl: sunxi: remove GPIO_EXTRA_HEADER
pinctrl: sunxi: move PIO_BASE into sunxi_gpio.h
pinctrl: sunxi: add new D1 pinctrl support
sunxi: introduce NCAT2 generation model
pinctrl: sunxi: add Allwinner D1 pinctrl description
sunxi: clock: D1/R528: Enable PLL LDO during PLL1 setup
sunxi: clock: support D1/R528 PLL6 clock
Kconfig: sunxi: prepare for using drivers/ram/sunxi
sunxi: add R528/T113-s3/D1(s) DRAM initialisation code
sunxi: add Allwinner R528/T113 SoC support
sunxi: refactor serial base addresses to avoid asm/arch/cpu.h
sunxi: add MangoPi MQ-R board support
Okhunjon Sobirjonov (1):
sunxi: R528: add SMHC2 pin pull ups support
Sam Edwards (4):
sunxi: psci: clean away preprocessor macros
sunxi: psci: refactor register access to separate functions
sunxi: psci: stop modeling register layout with C structs
sunxi: psci: implement PSCI on R528
Samuel Holland (1):
clk: sunxi: Add support for the D1 CCU
arch/arm/Kconfig | 3 +-
arch/arm/cpu/armv7/Kconfig | 3 +-
arch/arm/cpu/armv7/sunxi/psci.c | 190 ++-
arch/arm/cpu/armv7/sunxi/sram.c | 1 +
arch/arm/cpu/armv8/fel_utils.S | 1 +
arch/arm/dts/Makefile | 2 +
arch/arm/dts/axp209.dtsi | 7 +
arch/arm/dts/sun50i-a64.dtsi | 3 +-
arch/arm/dts/sun50i-h6-pine-h64-model-b.dts | 2 +-
arch/arm/dts/sun50i-h616-orangepi-zero.dtsi | 134 ++
arch/arm/dts/sun50i-h616-orangepi-zero2.dts | 121 +-
arch/arm/dts/sun50i-h616-x96-mate.dts | 2 +-
arch/arm/dts/sun50i-h618-orangepi-zero3.dts | 94 ++
arch/arm/dts/sun5i-r8-chip.dts | 6 +
arch/arm/dts/sun5i.dtsi | 11 +-
arch/arm/dts/sun7i-a20-icnova-a20-adb4006.dts | 137 ++
arch/arm/dts/sun7i-a20-icnova-a20.dtsi | 62 +
arch/arm/dts/sun8i-a23-a33.dtsi | 2 +-
arch/arm/dts/sun8i-a83t.dtsi | 2 +-
arch/arm/dts/sun8i-t113s-mangopi-mq-r-t113.dts | 35 +
arch/arm/dts/sun8i-t113s.dtsi | 59 +
arch/arm/dts/sun8i-v3s.dtsi | 2 +-
arch/arm/dts/sunxi-d1s-t113-mangopi-mq-r.dtsi | 126 ++
arch/arm/dts/sunxi-u-boot.dtsi | 7 +
arch/arm/include/asm/arch-sunxi/boot0.h | 2 +
arch/arm/include/asm/arch-sunxi/clock.h | 3 +-
arch/arm/include/asm/arch-sunxi/clock_sun50i_h6.h | 12 +-
arch/arm/include/asm/arch-sunxi/cpu.h | 2 +
arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 17 -
arch/arm/include/asm/arch-sunxi/cpu_sun50i_h6.h | 7 -
arch/arm/include/asm/arch-sunxi/cpu_sun9i.h | 9 -
arch/arm/include/asm/arch-sunxi/cpu_sunxi_ncat2.h | 39 +
arch/arm/include/asm/arch-sunxi/cpucfg.h | 67 -
arch/arm/include/asm/arch-sunxi/mmc.h | 2 +-
arch/arm/include/asm/arch-sunxi/prcm.h | 2 +-
arch/arm/include/asm/arch-sunxi/serial.h | 32 +
arch/arm/include/asm/arch-sunxi/timer.h | 2 +-
arch/arm/mach-sunxi/Kconfig | 42 +-
arch/arm/mach-sunxi/Makefile | 2 +-
arch/arm/mach-sunxi/board.c | 31 +-
arch/arm/mach-sunxi/clock_sun50i_h6.c | 45 +-
arch/arm/mach-sunxi/cpu_info.c | 2 +
arch/arm/mach-sunxi/dram_suniv.c | 2 +-
arch/arm/mach-sunxi/gtbus_sun9i.c | 1 +
arch/arm/mach-sunxi/pinmux.c | 78 --
arch/arm/mach-sunxi/spl_spi_sunxi.c | 1 +
arch/arm/mach-sunxi/timer.c | 1 +
arch/riscv/dts/sunxi-d1-t113.dtsi | 15 +
arch/riscv/dts/sunxi-d1s-t113.dtsi | 927 +++++++++++++
board/sunxi/board.c | 34 +-
board/sunxi/chip.c | 2 +-
common/spl/Kconfig | 3 +-
configs/A10-OLinuXino-Lime_defconfig | 1 -
configs/A20-OLinuXino-Lime2-eMMC_defconfig | 1 -
configs/A20-OLinuXino-Lime2_defconfig | 1 -
configs/A20-OLinuXino-Lime_defconfig | 1 -
configs/A20-OLinuXino_MICRO-eMMC_defconfig | 1 -
configs/A20-OLinuXino_MICRO_defconfig | 1 -
configs/A20-Olimex-SOM-EVB_defconfig | 1 -
configs/A20-Olimex-SOM204-EVB-eMMC_defconfig | 1 -
configs/A20-Olimex-SOM204-EVB_defconfig | 1 -
configs/Bananapi_M2_Ultra_defconfig | 1 -
configs/Bananapi_defconfig | 1 -
configs/Bananapro_defconfig | 1 -
configs/Cubieboard2_defconfig | 1 -
configs/Cubieboard_defconfig | 1 -
configs/Cubietruck_defconfig | 1 -
configs/Itead_Ibox_A20_defconfig | 1 -
configs/Lamobo_R1_defconfig | 2 -
configs/Linksprite_pcDuino3_Nano_defconfig | 1 -
configs/Linksprite_pcDuino3_defconfig | 1 -
configs/Mele_A1000_defconfig | 1 -
configs/Orangepi_defconfig | 1 -
configs/Orangepi_mini_defconfig | 1 -
configs/Sinovoip_BPI_M3_defconfig | 1 -
configs/bananapi_m1_plus_defconfig | 1 -
configs/bananapi_m2_plus_h3_defconfig | 1 -
configs/bananapi_m2_plus_h5_defconfig | 1 -
configs/i12-tvbox_defconfig | 1 -
configs/jesurun_q5_defconfig | 1 -
configs/mangopi_mq_r_defconfig | 15 +
configs/mixtile_loftq_defconfig | 1 -
configs/nanopi_m1_plus_defconfig | 1 -
configs/nanopi_neo_plus2_defconfig | 1 -
configs/nanopi_r1s_h5_defconfig | 1 -
configs/orangepi_pc2_defconfig | 1 -
configs/orangepi_plus2e_defconfig | 1 -
configs/orangepi_plus_defconfig | 3 +-
configs/orangepi_win_defconfig | 1 -
configs/pine_h64_defconfig | 1 -
configs/zeropi_defconfig | 1 -
drivers/Makefile | 1 +
drivers/ata/ahci_sunxi.c | 9 +
drivers/clk/sunxi/Kconfig | 7 +
drivers/clk/sunxi/Makefile | 1 +
drivers/clk/sunxi/clk_d1.c | 84 ++
drivers/clk/sunxi/clk_sunxi.c | 5 +
drivers/gpio/Kconfig | 7 +
drivers/gpio/axp_gpio.c | 1 +
drivers/gpio/sunxi_gpio.c | 189 ++-
drivers/i2c/mvtwsi.c | 3 +-
drivers/i2c/sun6i_p2wi.c | 2 +-
drivers/i2c/sun8i_rsb.c | 2 +-
drivers/mmc/sunxi_mmc.c | 9 +-
drivers/net/sun8i_emac.c | 7 +
drivers/net/sunxi_emac.c | 38 +
drivers/pinctrl/sunxi/Kconfig | 5 +
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 47 +-
drivers/ram/Kconfig | 3 +-
drivers/ram/Makefile | 3 +
drivers/ram/sunxi/Kconfig | 60 +
drivers/ram/sunxi/Makefile | 3 +
drivers/ram/sunxi/dram_sun20i_d1.c | 1441 ++++++++++++++++++++
drivers/ram/sunxi/dram_sun20i_d1.h | 73 +
drivers/video/hitachi_tx18d42vm_lcd.c | 1 +
drivers/video/ssd2828.c | 1 -
drivers/video/sunxi/sunxi_display.c | 1 +
drivers/video/sunxi/sunxi_lcd.c | 1 +
include/configs/sunxi-common.h | 2 +-
include/dt-bindings/clock/sun20i-d1-ccu.h | 158 +++
include/dt-bindings/clock/sun20i-d1-r-ccu.h | 19 +
include/dt-bindings/clock/sun50i-h6-ccu.h | 2 +-
include/dt-bindings/clock/sun50i-h616-ccu.h | 2 +-
include/dt-bindings/clock/sun6i-rtc.h | 2 +-
include/dt-bindings/reset/sun20i-d1-ccu.h | 79 ++
include/dt-bindings/reset/sun20i-d1-r-ccu.h | 16 +
include/dt-bindings/reset/sun50i-h6-ccu.h | 2 +-
include/dt-bindings/reset/sun50i-h6-r-ccu.h | 2 +-
include/dt-bindings/reset/sun50i-h616-ccu.h | 2 +-
.../asm/arch-sunxi/gpio.h => include/sunxi_gpio.h | 83 +-
130 files changed, 4229 insertions(+), 594 deletions(-)
create mode 100644 arch/arm/dts/sun50i-h616-orangepi-zero.dtsi
create mode 100644 arch/arm/dts/sun50i-h618-orangepi-zero3.dts
create mode 100644 arch/arm/dts/sun7i-a20-icnova-a20-adb4006.dts
create mode 100644 arch/arm/dts/sun7i-a20-icnova-a20.dtsi
create mode 100644 arch/arm/dts/sun8i-t113s-mangopi-mq-r-t113.dts
create mode 100644 arch/arm/dts/sun8i-t113s.dtsi
create mode 100644 arch/arm/dts/sunxi-d1s-t113-mangopi-mq-r.dtsi
create mode 100644 arch/arm/include/asm/arch-sunxi/cpu_sunxi_ncat2.h
delete mode 100644 arch/arm/include/asm/arch-sunxi/cpucfg.h
create mode 100644 arch/arm/include/asm/arch-sunxi/serial.h
delete mode 100644 arch/arm/mach-sunxi/pinmux.c
create mode 100644 arch/riscv/dts/sunxi-d1-t113.dtsi
create mode 100644 arch/riscv/dts/sunxi-d1s-t113.dtsi
create mode 100644 configs/mangopi_mq_r_defconfig
create mode 100644 drivers/clk/sunxi/clk_d1.c
create mode 100644 drivers/ram/sunxi/Kconfig
create mode 100644 drivers/ram/sunxi/Makefile
create mode 100644 drivers/ram/sunxi/dram_sun20i_d1.c
create mode 100644 drivers/ram/sunxi/dram_sun20i_d1.h
create mode 100644 include/dt-bindings/clock/sun20i-d1-ccu.h
create mode 100644 include/dt-bindings/clock/sun20i-d1-r-ccu.h
create mode 100644 include/dt-bindings/reset/sun20i-d1-ccu.h
create mode 100644 include/dt-bindings/reset/sun20i-d1-r-ccu.h
rename arch/arm/include/asm/arch-sunxi/gpio.h => include/sunxi_gpio.h (75%)
More information about the U-Boot
mailing list