Hi all, Here is the fresh update of patches for running barebox on sunxi soc, rebased on 2023.05.0. Main changes since rfc is the addition of an entry in the documentation, the correction of some typo in both comments and code. This series still has some rough edges and few `#if 0` still around. I need a bit more time to decide if such things are really needed... or not. I would like to get the eMMC working before this gets merged but I don't know what happened on my board, so I am looking for more testers ! Cheers, Jules Maselbas (13): Documentation: sunxi: Add some documentation scripts: Add Allwinner eGON image support ARM: sunxi: introduce mach-sunxi ARM: lds: Add SoC specific sections to go before .text_head_prologue ARM: 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 ARM: sunxi: xload: Add helpers for chain-loading from SD-card Documentation/boards/sunxi.rst | 95 ++ arch/arm/Kconfig | 14 + arch/arm/Makefile | 1 + arch/arm/boards/Makefile | 2 + arch/arm/boards/pine64-pine64/Makefile | 1 + arch/arm/boards/pine64-pine64/lowlevel.c | 70 ++ arch/arm/boards/pine64-pinephone/Makefile | 2 + arch/arm/boards/pine64-pinephone/board.c | 0 arch/arm/boards/pine64-pinephone/lowlevel.c | 104 ++ arch/arm/configs/pinephone_defconfig | 12 + arch/arm/dts/Makefile | 2 + arch/arm/dts/sun50i-a64-pine64-plus.dts | 16 + arch/arm/dts/sun50i-a64-pinephone-1_2.dts | 3 + arch/arm/include/asm/debug_ll.h | 2 + arch/arm/lib/pbl.lds.S | 1 + arch/arm/mach-sunxi/Kconfig | 29 + arch/arm/mach-sunxi/Makefile | 5 + arch/arm/mach-sunxi/clock_sun6i.h | 540 ++++++++++ arch/arm/mach-sunxi/cpu_init.c | 57 + arch/arm/mach-sunxi/ddr3_1333.c | 85 ++ arch/arm/mach-sunxi/dram_sunxi_dw.h | 241 +++++ arch/arm/mach-sunxi/lpddr3_stock.c | 81 ++ 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 arch/arm/mach-sunxi/xload-mmc.c | 67 ++ drivers/clk/Makefile | 1 + drivers/clk/sunxi/Makefile | 2 + drivers/clk/sunxi/clk-sun50i-a64.c | 315 ++++++ 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 | 80 ++ drivers/mci/sunxi-mmc.c | 173 +++ drivers/mci/sunxi-mmc.h | 229 ++++ drivers/pinctrl/Kconfig | 2 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/sunxi/Kconfig | 13 + drivers/pinctrl/sunxi/Makefile | 3 + drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c | 594 +++++++++++ drivers/pinctrl/sunxi/pinctrl-sunxi.c | 371 +++++++ drivers/pinctrl/sunxi/pinctrl-sunxi.h | 224 ++++ images/Makefile | 1 + images/Makefile.sunxi | 32 + include/mach/sunxi/debug_ll.h | 35 + include/mach/sunxi/egon.h | 59 + include/mach/sunxi/init.h | 18 + include/mach/sunxi/rmr_switch.h | 50 + include/mach/sunxi/sun50i-regs.h | 43 + include/mach/sunxi/sunxi-pinctrl.h | 76 ++ include/mach/sunxi/xload.h | 14 + scripts/Kconfig | 7 + scripts/Makefile | 1 + scripts/egon_mkimage.c | 122 +++ 57 files changed, 6153 insertions(+) create mode 100644 Documentation/boards/sunxi.rst 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/lpddr3_stock.c 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 arch/arm/mach-sunxi/xload-mmc.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/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.1