[RFC PATCH 00/11] Add support for Allwinner (sunxi) A64 SoC
Jules Maselbas
jmaselbas at zdiv.net
Wed May 10 16:37:00 PDT 2023
Hi all,
I have been trying to port barebox on sun50i/A64 SoC targeting the pineA64
single board computer and the pinephone from Pine64.
Currently only the SD/MMC driver have been ported. It does work with SD card
and have worked on eMMC in the past but I might have fried my board...
This patch series has some rough edges, I am looking forward you're insights.
Cheers,
Jules Maselbas (11):
scripts: Add Allwinner eGON image support
sunxi: introduce mach-sunxi
ARM: dls: Add ENTRY_HEADER macro to add .text section
sunxi: Add lowlevel switch to aarch64
arm: sunxi: Add debug_ll
clk: Add clock driver for sun50i-a64
pinctrl: Add sun50i-a64 pinctrl driver
mci: Add sunxi-mmc driver
arm: sunxi: Add sun50i SDRAM init
arm: boards: sunxi: Add initial support for the pinephone
arm: boards: sunxi: Add pine64 board
arch/arm/Kconfig | 12 +
arch/arm/Makefile | 1 +
arch/arm/boards/Makefile | 2 +
arch/arm/boards/pine64-pine64/Makefile | 1 +
arch/arm/boards/pine64-pine64/lowlevel.c | 148 +++
arch/arm/boards/pine64-pinephone/Makefile | 2 +
arch/arm/boards/pine64-pinephone/board.c | 0
arch/arm/boards/pine64-pinephone/lowlevel.c | 119 +++
arch/arm/configs/pinephone_defconfig | 11 +
arch/arm/dts/Makefile | 2 +
arch/arm/dts/sun50i-a64-pine64-plus.dts | 18 +
arch/arm/dts/sun50i-a64-pinephone-1_2.dts | 3 +
arch/arm/include/asm/barebox.lds.h | 2 +
arch/arm/include/asm/debug_ll.h | 2 +
arch/arm/lib/pbl.lds.S | 1 +
arch/arm/mach-sunxi/Kconfig | 51 +
arch/arm/mach-sunxi/Makefile | 6 +
arch/arm/mach-sunxi/clock_sun6i.h | 540 ++++++++++
arch/arm/mach-sunxi/cpu_init.c | 44 +
arch/arm/mach-sunxi/ddr3_1333.c | 85 ++
arch/arm/mach-sunxi/dram_sunxi_dw.h | 241 +++++
arch/arm/mach-sunxi/egon_header.c | 11 +
arch/arm/mach-sunxi/lpddr3_stock.c | 81 ++
arch/arm/mach-sunxi/rmr_switch.S | 47 +
arch/arm/mach-sunxi/sun50i-a64-ddr3-init.c | 9 +
arch/arm/mach-sunxi/sun50i-a64-lpddr3-init.c | 9 +
arch/arm/mach-sunxi/sun50i-sdram.c | 903 ++++++++++++++++
arch/arm/mach-sunxi/sunxi-sdram.c | 1007 ++++++++++++++++++
arch/arm/mach-sunxi/sunxi.c | 0
drivers/clk/Makefile | 1 +
drivers/clk/sunxi/Makefile | 2 +
drivers/clk/sunxi/clk-sun50i-a64.c | 317 ++++++
drivers/clk/sunxi/clk-sun50i-a64.h | 62 ++
drivers/mci/Kconfig | 6 +
drivers/mci/Makefile | 2 +
drivers/mci/sunxi-mmc-common.c | 259 +++++
drivers/mci/sunxi-mmc-pbl.c | 81 ++
drivers/mci/sunxi-mmc.c | 173 +++
drivers/mci/sunxi-mmc.h | 225 ++++
drivers/pinctrl/Kconfig | 2 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/sunxi/Kconfig | 15 +
drivers/pinctrl/sunxi/Makefile | 3 +
drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c | 593 +++++++++++
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 371 +++++++
drivers/pinctrl/sunxi/pinctrl-sunxi.h | 224 ++++
images/Makefile | 1 +
images/Makefile.sunxi | 32 +
include/asm-generic/barebox.lds.h | 4 +
include/mach/sunxi/barebox.lds.h | 6 +
include/mach/sunxi/debug_ll.h | 35 +
include/mach/sunxi/egon.h | 63 ++
include/mach/sunxi/init.h | 13 +
include/mach/sunxi/rmr_switch.h | 10 +
include/mach/sunxi/sun50i-regs.h | 36 +
include/mach/sunxi/sunxi-pinctrl.h | 13 +
include/mach/sunxi/xload.h | 12 +
scripts/Kconfig | 7 +
scripts/Makefile | 1 +
scripts/egon_mkimage.c | 115 ++
60 files changed, 6043 insertions(+)
create mode 100644 arch/arm/boards/pine64-pine64/Makefile
create mode 100644 arch/arm/boards/pine64-pine64/lowlevel.c
create mode 100644 arch/arm/boards/pine64-pinephone/Makefile
create mode 100644 arch/arm/boards/pine64-pinephone/board.c
create mode 100644 arch/arm/boards/pine64-pinephone/lowlevel.c
create mode 100644 arch/arm/configs/pinephone_defconfig
create mode 100644 arch/arm/dts/sun50i-a64-pine64-plus.dts
create mode 100644 arch/arm/dts/sun50i-a64-pinephone-1_2.dts
create mode 100644 arch/arm/mach-sunxi/Kconfig
create mode 100644 arch/arm/mach-sunxi/Makefile
create mode 100644 arch/arm/mach-sunxi/clock_sun6i.h
create mode 100644 arch/arm/mach-sunxi/cpu_init.c
create mode 100644 arch/arm/mach-sunxi/ddr3_1333.c
create mode 100644 arch/arm/mach-sunxi/dram_sunxi_dw.h
create mode 100644 arch/arm/mach-sunxi/egon_header.c
create mode 100644 arch/arm/mach-sunxi/lpddr3_stock.c
create mode 100644 arch/arm/mach-sunxi/rmr_switch.S
create mode 100644 arch/arm/mach-sunxi/sun50i-a64-ddr3-init.c
create mode 100644 arch/arm/mach-sunxi/sun50i-a64-lpddr3-init.c
create mode 100644 arch/arm/mach-sunxi/sun50i-sdram.c
create mode 100644 arch/arm/mach-sunxi/sunxi-sdram.c
create mode 100644 arch/arm/mach-sunxi/sunxi.c
create mode 100644 drivers/clk/sunxi/Makefile
create mode 100644 drivers/clk/sunxi/clk-sun50i-a64.c
create mode 100644 drivers/clk/sunxi/clk-sun50i-a64.h
create mode 100644 drivers/mci/sunxi-mmc-common.c
create mode 100644 drivers/mci/sunxi-mmc-pbl.c
create mode 100644 drivers/mci/sunxi-mmc.c
create mode 100644 drivers/mci/sunxi-mmc.h
create mode 100644 drivers/pinctrl/sunxi/Kconfig
create mode 100644 drivers/pinctrl/sunxi/Makefile
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.c
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.h
create mode 100644 images/Makefile.sunxi
create mode 100644 include/mach/sunxi/barebox.lds.h
create mode 100644 include/mach/sunxi/debug_ll.h
create mode 100644 include/mach/sunxi/egon.h
create mode 100644 include/mach/sunxi/init.h
create mode 100644 include/mach/sunxi/rmr_switch.h
create mode 100644 include/mach/sunxi/sun50i-regs.h
create mode 100644 include/mach/sunxi/sunxi-pinctrl.h
create mode 100644 include/mach/sunxi/xload.h
create mode 100644 scripts/egon_mkimage.c
--
2.40.0
More information about the barebox
mailing list