[PATCH v2 00/10] Support for Allwinner V853 SoC

Andras Szemzo
2025-02-05T12:52:29Z

V85x is a SoC from Allwinner with video encoding targeted for the field of
IP Camera. It integrates the single CA7 core, and a T-Head E907 RISC-V mcu.
The SoC has the usual Allwinner peripherals and a Vivante NPU.
V853 is a BGA package without DRAM, V851s/V851s3 has the same die with
co-packaged 64MB/128MB DRAM (in a QFN88 package).

This patchset tries to add basical support for the V853 device family.

Changelog - v2:
- rebased on 6.14-rc1
- add a needed gate with key support to sunxi clk
- rewrite the ccu-r driver
- fix license issues
- remove the pinctrl binding, as it has beed applied
- rework the pinctrl driver, use the new sunxi dt based mux support. This new pinctrl
driver depends on the new sunxi device-tree based mux support patch series [1].
- remove the new usb phy binding, as the v853's usb phy is very close to d1/a64
- add a board dts
- ccu: add module description
- ccu: fix PLL enable bits, and min multipliers
- ccu: change PLL flags to CLK_SET_RATE_GATE
- ccu: use SUNXI_CCU_M_HWS at peripheral PLLs
- ccu: convert the VIDEO and CSI PLLs from nm type to nkmp according to BSP
- ccu: cpu axi clk use pointer
- ccu: fix comments
- ccu: swap i2s1 and i2s0 bus clocks
- ccu: fix indentation
- ccu: fix RST_BUS_SPIF order
- ccu: convert RST_RISCV_CLK_GATING from reset to gate

[1]: https://lore.kernel.org/linux-sunxi/20241111005750.13071-1-andre.przywara@arm.com/T/

Andras Szemzo (10):
clk: sunxi-ng: allow key feature in ccu reset and gate
pinctrl: sunxi: add driver for Allwinner V853
dt-bindings: clock: sunxi-ng: add compatibles for V853
clk: sunxi-ng: add CCU drivers for V853
dt-bindings: power: add V853 ppu bindings
pmdomain: sunxi: add V853 ppu support
dt-bindings: phy: allwinner: add v853 usb phy
phy: allwinner: add v853 usb phy compatible
ARM: dts: sun8i: add DTSI file for V853
ARM: dts: sun8i: add DTS file for yuzuki-lizard V851s

.../clock/allwinner,sun4i-a10-ccu.yaml | 3 +
.../phy/allwinner,sun50i-a64-usb-phy.yaml | 2 +
.../power/allwinner,sun20i-d1-ppu.yaml | 1 +
arch/arm/boot/dts/allwinner/Makefile | 1 +
.../boot/dts/allwinner/sun8i-v851s-lizard.dts | 196 +++
arch/arm/boot/dts/allwinner/sun8i-v853.dtsi | 656 ++++++++++
drivers/clk/sunxi-ng/Kconfig | 10 +
drivers/clk/sunxi-ng/Makefile | 4 +
drivers/clk/sunxi-ng/ccu-sun8i-v853-r.c | 120 ++
drivers/clk/sunxi-ng/ccu-sun8i-v853-r.h | 14 +
drivers/clk/sunxi-ng/ccu-sun8i-v853.c | 1145 +++++++++++++++++
drivers/clk/sunxi-ng/ccu-sun8i-v853.h | 14 +
drivers/clk/sunxi-ng/ccu_common.h | 2 +
drivers/clk/sunxi-ng/ccu_gate.c | 6 +
drivers/clk/sunxi-ng/ccu_gate.h | 14 +
drivers/clk/sunxi-ng/ccu_mux.c | 4 +-
drivers/clk/sunxi-ng/ccu_reset.c | 7 +
drivers/clk/sunxi-ng/ccu_reset.h | 2 +-
drivers/phy/allwinner/phy-sun4i-usb.c | 10 +
drivers/pinctrl/sunxi/Kconfig | 5 +
drivers/pinctrl/sunxi/Makefile | 1 +
drivers/pinctrl/sunxi/pinctrl-sun8i-v853.c | 53 +
drivers/pmdomain/sunxi/sun20i-ppu.c | 15 +
.../clock/allwinner,sun8i-v853-ccu.h | 132 ++
.../clock/allwinner,sun8i-v853-r-ccu.h | 16 +
.../power/allwinner,sun8i-v853-ppu.h | 10 +
.../reset/allwinner,sun8i-v853-ccu.h | 60 +
.../reset/allwinner,sun8i-v853-r-ccu.h | 14 +
28 files changed, 2513 insertions(+), 4 deletions(-)
create mode 100644 arch/arm/boot/dts/allwinner/sun8i-v851s-lizard.dts
create mode 100644 arch/arm/boot/dts/allwinner/sun8i-v853.dtsi
create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-v853-r.c
create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-v853-r.h
create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-v853.c
create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-v853.h
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun8i-v853.c
create mode 100644 include/dt-bindings/clock/allwinner,sun8i-v853-ccu.h
create mode 100644 include/dt-bindings/clock/allwinner,sun8i-v853-r-ccu.h
create mode 100644 include/dt-bindings/power/allwinner,sun8i-v853-ppu.h
create mode 100644 include/dt-bindings/reset/allwinner,sun8i-v853-ccu.h
create mode 100644 include/dt-bindings/reset/allwinner,sun8i-v853-r-ccu.h

--
2.39.5