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

Andre Przywara andre.przywara at arm.com
Sun Jan 24 03:19:26 CET 2021


On Mon, 11 Jan 2021 21:11:32 +0100
Jernej Skrabec <jernej.skrabec at siol.net> wrote:

Hi,

Jernej: many thanks for your work on this and your persistence!

Jaehoon, Samuel: thanks for the diligent review, that's much
appreciated and very helpful!

> 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.

So I put those patches (on top of other pending patches) in the sunxi
master branch, and plan to send a pull request early next week, after
doing some more tests. I took the preliminary DTs, I don't see the
point of waiting for Linux mainline acceptance at this stage of
development. Since this is a new SoC and board, we can update still
after the merge window.

Beside adding all the review tags, I also did minor changes that were
not worth the churn of a respin:
- patch 07/21: extend the comment
- patch 08/21: fix a rebase bug
- patch 12/21: use SUN50I_GEN_H6 instead of MACH_SUN50I_H6
- patch 13/21: drop from this version
- patch 15/21: drop for good, now redundant due to change in 12/21
- patch 16/21: use different base address as suggested by Samuel
- patch 17/21: drop from this version
- patch 18/21: update DT, drop EMAC compatible change
- patch 19/21: add -r-pinctrl name as well
- patch 20/21: fix compilation due to mainline change
- patch 21/21: update .dts, drop Ethernet support

So I dropped the Ethernet support for now, since this relies on some
yet unreviewed EMAC driver changes. Ideally we can still merge them
next week, shall we agree on them.

Jernej, please have a look at those changes and shout if you are not
happy with them! Otherwise I will push them, and we have till April to
iron out any leftover bugs.

https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi/-/commits/master/

Cheers,
Andre

> 
> 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
> 



More information about the U-Boot mailing list