[PATCH 00/31] Fix and improve Rockchip RK3128 support

Alex Bee
2023-08-29T17:18:32Z

Hi list,

this series fixes some issues I found when testing my "new" RK3128 board
with the mainline kernel and adds some core functionality like SMP bringup,
usb and networking.

The propably most distinctive change is the split up of the DTs for the
different SoCs of this platform: RK3126 and RK3128. Even if I'm not adding
a RK3126 board in this series: I think this change should be done as early
as possible in order to avoid issues in future.
Actually it should have been done like that in the first place.

All patches have been tested on both SoCs:

Patch 01-04 are dt-bindings additions for this SoC platform and the new
board I'm addding here

Patch 05-07 are some clock driver fixes (there is more to do, but I'm
limiting it to the things which can work now)

Patch 08 and 09 adding support for the usb 2 phy found in RK312x platform
to the Rockchip Innosilicon usb phy driver.

Patch 10-14 are DT patches which I did in the "old" rk3128.dtsi in order
to be backportable.

Patch 15 does the aforementioned split-up of the current rk3128.dtsi in
rk312x.dtsi, rk3126.dtsi and rk3128.dtsi

Patch 16-20 adds SMP bringup and cpu frequency scaling

Patch 21-23 adds power controller, GPU and I2S nodes to the RK312x DT

Patch 24-26 adds the second I2S, S/PDIF and gmac nodes to the RK3128 DT

Patch 27-30 adds fixes for the usb controllers and adds a missing
pincontrol for the sd card detection

Patch 31 finnaly adds a DT for Genatech XPI-3128 board

There are quite some HW blocks which can easily be added for this
platform, but I guess this series is pretty huge already, so that it is
limited to some core devices for now.
I hope the single patches are small enough, that reviewing won't be a
burden ;)

The plan is to sync the DT changes to u-boot after they are merged where
I'm planning to add "full" TPL/SPL for this platform (dram controller/phy
driver is currently missing)

I'm planing the add a RK3126 (tablet) board here as well, but I will have
to add support for RK816 pmic first.

Alex Bee (29):
dt-bindings: mfd: syscon: Add rockchip,rk3128-qos compatible
dt-bindings: gpu: mali-utgard: Add Rockchip RK3128 compatible
dt-bindings: ASoC: rockchip: Add compatible for RK3128 spdif
dt-bindings: arm: rockchip: Add Geniatech XPI-3128
clk: rockchip: rk3128: Fix SCLK_SDMMC's clock name
phy: rockchip-inno-usb2: Split ID interrupt phy registers
phy: phy-rockchip-inno-usb2: Add RK3128 support
ARM: dts: rockchip: Fix i2c0 register address for RK3128
ARM: dts: rockchip: Add missing arm timer interrupt for RK3128
ARM: dts: rockchip: Add missing quirk for RK3128's dma engine
ARM: dts: rockchip: Fix timer clocks for RK3128
ARM: dts: rockchip: Disable non-required timers for RK3128
ARM: dts: rockchip: Split RK3128 devictree for RK312x SoC family
ARM: dts: rockchip: Add SRAM node for RK312x
ARM: dts: rockchip: Add CPU resets for RK312x
ARM: dts: rockchip: Enable SMP bringup for RK312x
ARM: dts: rockchip: Switch to operating-points-v2 for RK312x's CPU
ARM: dts: rockchip: Add extra CPU voltages for RK3126
ARM: dts: rockchip: add power controller for RK312x
ARM: dts: rockchip: Add GPU node for RK312x
ARM: dts: rockchip: Add 2-channel I2S for RK312x
ARM: dts: rockchip: Add 8-channel I2S for RK3128
ARM: dts: rockchip: Add spdif for RK3128
ARM: dts: rockchip: Add gmac for RK3128
ARM: dts: rockchip: Add dwc2 otg fifo siztes for RK312x
ARM: dts: rockchip: Add USB host clocks for RK312x
ARM: dts: rockchip: Make usbphy the parent of SCLK_USB480M for RK312x
ARM: dts: rockchip: Add sdmmc_det pinctrl for RK312x
ARM: dts: Add Geniatech XPI-3128 RK3128 board

Finley Xiao (2):
clk: rockchip: rk3128: Fix aclk_peri_src parent
clk: rockchip: rk3128: Fix hclk_otg gate

.../devicetree/bindings/arm/rockchip.yaml | 5 +
.../bindings/gpu/arm,mali-utgard.yaml | 1 +
.../devicetree/bindings/mfd/syscon.yaml | 1 +
.../bindings/sound/rockchip-spdif.yaml | 1 +
arch/arm/boot/dts/rockchip/Makefile | 1 +
arch/arm/boot/dts/rockchip/rk3126.dtsi | 36 +
.../arm/boot/dts/rockchip/rk3128-xpi-3128.dts | 431 +++++++
arch/arm/boot/dts/rockchip/rk3128.dtsi | 920 +-------------
arch/arm/boot/dts/rockchip/rk312x.dtsi | 1101 +++++++++++++++++
drivers/clk/rockchip/clk-rk3128.c | 24 +-
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 147 ++-
11 files changed, 1754 insertions(+), 914 deletions(-)
create mode 100644 arch/arm/boot/dts/rockchip/rk3126.dtsi
create mode 100644 arch/arm/boot/dts/rockchip/rk3128-xpi-3128.dts
create mode 100644 arch/arm/boot/dts/rockchip/rk312x.dtsi

base-commit: 2dde18cd1d8fac735875f2e4987f11817cc0bc2c
--
2.42.0