[PATCHv5 0/7] Initial rk3588 DT

From: Sebastian Reichel
Date: Mon Dec 05 2022 - 12:24:17 EST


Hi,

This adds initial rk3588(s) DT including two different board
devicetrees. All required driver changes have been merged into
the respective maintainer trees. There is one warning from the
DT check:

$ make CHECK_DTBS=y rockchip/rk3588-evb1-v10.dtb rockchip/rk3588s-rock-5a.dtb
DTC_CHK arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dtb
/home/sre/src/collabora/rode/linux-rockchip-upstream/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dtb:
ethernet@fe1c0000: Unevaluated properties are not allowed ('interrupt-names', 'interrupts', 'mdio',
'power-domains', 'reg', 'reset-names', 'resets', 'rx-queues-config', 'snps,axi-config', 'snps,mixed-burst',
'snps,mtl-rx-config', 'snps,mtl-tx-config', 'snps,tso', 'stmmac-axi-config', 'tx-queues-config' were unexpected)
From schema: /home/sre/src/collabora/rode/linux-rockchip-upstream/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml

This is for gmac1. gmac0 has the same properties and there is no warning. Also
rk3588s (and thus the Rock 5A) has only gmac1 and there is no warning for the
Rock 5A. It looks like for some reason the referenced "snps,dwmac.yaml#"
is only checked for the first node. I think it's a bug in dt-validate.
Also the same issue can be seen with rk356x.

Changes since PATCHv4:
* https://lore.kernel.org/all/20221124144928.35381-1-sebastian.reichel@xxxxxxxxxxxxx/
* update compatible string for the PHY to provide PHY ID. Without the IDs
provided in the firmware, the kernel tries to identify the correct driver by
reading the ID. This fails, if the bootloader does not setup the reset GPIO,
since the kernel only setups the reset GPIO in the PHY driver. Rock 5A with
the default bootloader runs into this, but I also changed EVB1 since the kernel
should not depend on bootloader configuration for this.
* added pinctrl for PHY reset-gpios
* drop rgmii-rxid from gmac1 node
* added reviewed-by from Michael Risch for board DTs
* I kept the order of the trailers (i.e. my SoB being the last), which is the usual
order in most subsystems

Changes since PATCHv3:
* https://lore.kernel.org/all/20221121175814.68927-1-sebastian.reichel@xxxxxxxxxxxxx/
* update reset gpio + timings in EVB1 and Rock 5A DT to new style
* change regulator- prefix to -regulator suffix in EVB1 and Rock 5B DTB
* merge dt-binding update patches for EVB1, Rock 5A and Rock 5B and add Krzysztof's Ack
* change pinctrl name "active" to "default" for all PWM nodes
* remove aliases from rk3588s and rk3588 DTSI
* sort includes in rk3588s.dtsi
* add dma names for uart
* some more property order fixes
* remove #power-domain-cells for the power-controller sub-nodes; only the main node should be referenced
* add dynamic-power-coefficient and #cooling-cells for all CPU cores

Changes since PATCHv2:
* https://lore.kernel.org/all/20221115161702.163057-1-sebastian.reichel@xxxxxxxxxxxxx/
* add minimal Radxa Rock 5B DT
* Add aliases for i2c, spi and gpio in rk3588s.dtsi
* Fix ethernet-phy node name and remove #phy-cells
* Sort nodes / includes in both boards
* Sort nodes in rk3588s.dtsi according to register address
* add missing spi4 node in rk3588s.dtsi
* split board specific dt-bindings into their own patches
* add board specific mmc alias following the downstream enumeration

Changes since PATCHv1:
* https://lore.kernel.org/all/20221108171500.99599-1-sebastian.reichel@xxxxxxxxxxxxx/
* Drop Acked-by from Krzysztof
* Add 'regulator-' prefix to VCC12V VCC5V0 regulators
* Change 'Radxa Rock 5A' to 'Radxa ROCK 5 Model A' in DT binding
* Update cover-letter (clock driver and some DT binding fixes got merged)

-- Sebastian

Christopher Obbard (1):
arm64: dts: rockchip: Add rock-5b board

Jianqun Xu (1):
arm64: dts: rockchip: Add rk3588 pinctrl data

Kever Yang (2):
arm64: dts: rockchip: Add base DT for rk3588 SoC
arm64: dts: rockchip: Add rk3588-evb1 board

Sebastian Reichel (3):
dt-bindings: soc: rockchip: add initial rk3588 syscon compatibles
dt-bindings: arm: rockchip: add initial rk3588 boards
arm64: dts: rockchip: Add rock-5a board

.../devicetree/bindings/arm/rockchip.yaml | 15 +
.../devicetree/bindings/soc/rockchip/grf.yaml | 5 +
arch/arm64/boot/dts/rockchip/Makefile | 3 +
.../boot/dts/rockchip/rk3588-evb1-v10.dts | 165 +
.../boot/dts/rockchip/rk3588-pinctrl.dtsi | 516 +++
.../boot/dts/rockchip/rk3588-rock-5b.dts | 44 +
arch/arm64/boot/dts/rockchip/rk3588.dtsi | 58 +
.../boot/dts/rockchip/rk3588s-pinctrl.dtsi | 3403 +++++++++++++++++
.../boot/dts/rockchip/rk3588s-rock-5a.dts | 73 +
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 1672 ++++++++
10 files changed, 5954 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588.dtsi
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s.dtsi

--
2.38.1