[PATCH v2 00/21] sunxi: Introduce H616 support

Jernej Skrabec jernej.skrabec at siol.net
Mon Jan 11 21:11:32 CET 2021


This series introduces H616 support. Later patches add also OrangePi
Zero2 support but since H616 DT is not merged into Linux yet, I don't
expect them to land yet.

Most patches are ready to land, except those which depends on non-upstreamed
DT yet.

This series is based on u-boot-sunxi repo.

Please take a look.

Best regards,
Jernej

Changes from v1:
- collected tags
- replaced AXP805 magic value with macro
- fixed H6 build (missing symbols after refactoring)
- removed premature SPI boot support
- add missing peripherals to prcm map
- reworked mmc sector calculation
- fixed comment in clock function
- used IS_ENABLED ternary instead of #if #else #endif
- renamed DRAM struct field to more meaningful name
- fixed missing space in Kconfig for DRAM symbol
- removed unused macro from sunxi-u-boot.dtsi
- removed padding definition for H616
- added FEL support for H616
- picked patches 1-2 from https://patchwork.ozlabs.org/project/uboot/list/?series=223600
- added mmc support for H616

Andre Przywara (4):
  sunxi: support loading with SPL > 32KB
  mmc: sunxi: Refactor mod clock register offset
  net: sun8i-emac: Always clear syscon EPHY register
  net: sun8i-emac: Determine pinmux based on SoC, not EMAC type

Jernej Skrabec (17):
  sunxi: Add support for AXP305 PMIC
  sunxi: Introduce common symbol for H6 like SoCs
  mmc: sunxi: Replace H6 ifdefs with H6 gen macro
  i2c: mvtwsi: sunxi: update macro
  sunxi: prcm: Add memory map for H6 like SoCs
  sunxi: Add support for I2C on H6 like SoCs
  sunxi: introduce support for H616 clocks
  sunxi: add support for H616 uart0
  sunxi: add support for R_I2C on H616
  sunxi: Add H616 DRAM support
  sunxi: Add support for H616 SoC
  mmc: sunxi: Add H616 clock offset
  sunxi: Add H616 FEL support
  arm: sunxi: add initial H616 DTSI and headers
  sunxi: gpio: introduce compatible for H616
  clk: sunxi: Add support for H616 clocks
  sunxi: Add support for OrangePi Zero2

 arch/arm/cpu/armv8/fel_utils.S                |    5 +-
 arch/arm/dts/Makefile                         |    2 +
 arch/arm/dts/sun50i-h616-orangepi-zero2.dts   |  240 ++++
 arch/arm/dts/sun50i-h616.dtsi                 |  716 ++++++++++++
 arch/arm/dts/sunxi-u-boot.dtsi                |    8 +
 arch/arm/include/asm/arch-sunxi/boot0.h       |    2 +-
 arch/arm/include/asm/arch-sunxi/clock.h       |    2 +-
 .../include/asm/arch-sunxi/clock_sun50i_h6.h  |   19 +-
 arch/arm/include/asm/arch-sunxi/cpu.h         |    2 +-
 .../include/asm/arch-sunxi/cpu_sun50i_h6.h    |    7 +
 arch/arm/include/asm/arch-sunxi/dram.h        |    2 +
 .../include/asm/arch-sunxi/dram_sun50i_h616.h |  159 +++
 arch/arm/include/asm/arch-sunxi/gpio.h        |    2 +
 arch/arm/include/asm/arch-sunxi/mmc.h         |    2 +-
 arch/arm/include/asm/arch-sunxi/prcm.h        |  249 +---
 arch/arm/include/asm/arch-sunxi/prcm_sun50i.h |   47 +
 arch/arm/include/asm/arch-sunxi/prcm_sun6i.h  |  247 ++++
 arch/arm/include/asm/arch-sunxi/timer.h       |    2 +-
 arch/arm/mach-sunxi/Kconfig                   |   75 +-
 arch/arm/mach-sunxi/Makefile                  |    4 +-
 arch/arm/mach-sunxi/board.c                   |   24 +-
 arch/arm/mach-sunxi/clock_sun50i_h6.c         |   37 +-
 arch/arm/mach-sunxi/cpu_info.c                |    2 +
 arch/arm/mach-sunxi/dram_sun50i_h616.c        | 1023 +++++++++++++++++
 arch/arm/mach-sunxi/dram_timings/Makefile     |    2 +
 .../mach-sunxi/dram_timings/h616_ddr3_1333.c  |   94 ++
 arch/arm/mach-sunxi/pmic_bus.c                |    6 +
 arch/arm/mach-sunxi/rmr_switch.S              |    2 +-
 board/sunxi/MAINTAINERS                       |    5 +
 board/sunxi/board.c                           |   14 +-
 common/spl/Kconfig                            |    7 +-
 configs/orangepi_zero2_defconfig              |   15 +
 drivers/clk/sunxi/Kconfig                     |    7 +
 drivers/clk/sunxi/Makefile                    |    1 +
 drivers/clk/sunxi/clk_h616.c                  |  120 ++
 drivers/gpio/sunxi_gpio.c                     |    1 +
 drivers/i2c/mvtwsi.c                          |    2 +-
 drivers/mmc/sunxi_mmc.c                       |   97 +-
 drivers/net/sun8i_emac.c                      |   59 +-
 drivers/power/Kconfig                         |   14 +-
 drivers/power/Makefile                        |    1 +
 drivers/power/axp305.c                        |   83 ++
 include/axp305.h                              |   17 +
 include/axp_pmic.h                            |    3 +
 include/configs/sun50i.h                      |    2 +-
 include/configs/sunxi-common.h                |    7 +
 include/dt-bindings/clock/sun50i-h616-ccu.h   |  115 ++
 include/dt-bindings/reset/sun50i-h616-ccu.h   |   70 ++
 48 files changed, 3258 insertions(+), 364 deletions(-)
 create mode 100644 arch/arm/dts/sun50i-h616-orangepi-zero2.dts
 create mode 100644 arch/arm/dts/sun50i-h616.dtsi
 create mode 100644 arch/arm/include/asm/arch-sunxi/dram_sun50i_h616.h
 create mode 100644 arch/arm/include/asm/arch-sunxi/prcm_sun50i.h
 create mode 100644 arch/arm/include/asm/arch-sunxi/prcm_sun6i.h
 create mode 100644 arch/arm/mach-sunxi/dram_sun50i_h616.c
 create mode 100644 arch/arm/mach-sunxi/dram_timings/h616_ddr3_1333.c
 create mode 100644 configs/orangepi_zero2_defconfig
 create mode 100644 drivers/clk/sunxi/clk_h616.c
 create mode 100644 drivers/power/axp305.c
 create mode 100644 include/axp305.h
 create mode 100644 include/dt-bindings/clock/sun50i-h616-ccu.h
 create mode 100644 include/dt-bindings/reset/sun50i-h616-ccu.h

-- 
2.30.0



More information about the U-Boot mailing list