Message ID | 20221108171500.99599-6-sebastian.reichel@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Initial rk3588 DT | expand |
Hi Sebastian, On 11/8/22 18:15, Sebastian Reichel wrote: > Add board file for the RK3588s Rock 5A board. While the hardware > offers plenty of peripherals and connectivity this basic implementation > just handles things required to access eMMC, UART and Ethernet (i.e. > enough to successfully boot Linux). > > Tested-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> > --- > .../devicetree/bindings/arm/rockchip.yaml | 5 ++ > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../boot/dts/rockchip/rk3588s-rock-5a.dts | 63 +++++++++++++++++++ > 3 files changed, 69 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts > > diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml > index 4230881371fa..6bff4c42d815 100644 > --- a/Documentation/devicetree/bindings/arm/rockchip.yaml > +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml > @@ -744,6 +744,11 @@ properties: > - const: rockchip,rk3588-evb1-v10 > - const: rockchip,rk3588 > > + - description: Radxa Rock 5A > + items: > + - const: radxa,rock-5a FYI: I was wondering what the convention was when I submitted the rk3568-rock-3a.dts. There are boards with the compatible "radxa,rockpi4a", "radxa,rockpi4b", "radxa,rockpis", but also the "radxa,rock-4c-plus". I went with the slight majority and named it "radxa,rock3a". Maybe you would like to consider "radxa,rock5a" in order to follow suit. Best regards, Michael > + - const: rockchip,rk3588s > + > additionalProperties: true > > ... > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index 12ed53de11eb..31fa55750a0f 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -73,3 +73,4 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts > new file mode 100644 > index 000000000000..25387a000341 > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts > @@ -0,0 +1,63 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > + > +/dts-v1/; > + > +#include <dt-bindings/pinctrl/rockchip.h> > +#include <dt-bindings/gpio/gpio.h> > +#include "rk3588s.dtsi" > + > +/ { > + model = "Radxa Rock 5A Board"; > + compatible = "radxa,rock-5a", "rockchip,rk3588s"; > + > + chosen { > + stdout-path = "serial2:1500000n8"; > + }; > +}; > + > +&gmac1 { > + phy-mode = "rgmii-rxid"; > + clock_in_out = "output"; > + > + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; > + snps,reset-active-low; > + /* Reset time is 20ms, 100ms for rtl8211f */ > + snps,reset-delays-us = <0 20000 100000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&gmac1_miim > + &gmac1_tx_bus2 > + &gmac1_rx_bus2 > + &gmac1_rgmii_clk > + &gmac1_rgmii_bus>; > + > + tx_delay = <0x3a>; > + rx_delay = <0x3e>; > + > + phy-handle = <&rgmii_phy1>; > + status = "okay"; > +}; > + > +&mdio1 { > + rgmii_phy1: phy@1 { > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <0x1>; > + #phy-cells = <0>; > + }; > +}; > + > +&sdhci { > + bus-width = <8>; > + no-sdio; > + no-sd; > + non-removable; > + max-frequency = <200000000>; > + mmc-hs400-1_8v; > + mmc-hs400-enhanced-strobe; > + status = "okay"; > +}; > + > +&uart2 { > + pinctrl-0 = <&uart2m0_xfer>; > + status = "okay"; > +};
On 11/9/22 17:16, Michael Riesch wrote: > Hi Sebastian, > > On 11/8/22 18:15, Sebastian Reichel wrote: >> Add board file for the RK3588s Rock 5A board. While the hardware >> offers plenty of peripherals and connectivity this basic implementation >> just handles things required to access eMMC, UART and Ethernet (i.e. >> enough to successfully boot Linux). >> >> Tested-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> >> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> >> --- >> .../devicetree/bindings/arm/rockchip.yaml | 5 ++ >> arch/arm64/boot/dts/rockchip/Makefile | 1 + >> .../boot/dts/rockchip/rk3588s-rock-5a.dts | 63 +++++++++++++++++++ >> 3 files changed, 69 insertions(+) >> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts >> >> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml >> index 4230881371fa..6bff4c42d815 100644 >> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml >> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml >> @@ -744,6 +744,11 @@ properties: >> - const: rockchip,rk3588-evb1-v10 >> - const: rockchip,rk3588 >> >> + - description: Radxa Rock 5A Please change to "Radxa ROCK 5 Model A". This is the full product name per our naming convention. >> + items: >> + - const: radxa,rock-5a > > FYI: I was wondering what the convention was when I submitted the > rk3568-rock-3a.dts. There are boards with the compatible > "radxa,rockpi4a", "radxa,rockpi4b", "radxa,rockpis", but also the > "radxa,rock-4c-plus". I went with the slight majority and named it > "radxa,rock3a". Maybe you would like to consider "radxa,rock5a" in order > to follow suit. Currently we keep the compatible field to match the file name excluding the SoC prefix, since that seems to be what other boards are doing (ex. odroid-go2, nanopi-r2s, orion-r68-meta, etc). I'll say `rock-5a` looks good to me. > > Best regards, > Michael > >> + - const: rockchip,rk3588s >> + >> additionalProperties: true >> >> ... >> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile >> index 12ed53de11eb..31fa55750a0f 100644 >> --- a/arch/arm64/boot/dts/rockchip/Makefile >> +++ b/arch/arm64/boot/dts/rockchip/Makefile >> @@ -73,3 +73,4 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb >> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb >> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb >> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb >> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts >> new file mode 100644 >> index 000000000000..25387a000341 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts >> @@ -0,0 +1,63 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> + >> +/dts-v1/; >> + >> +#include <dt-bindings/pinctrl/rockchip.h> >> +#include <dt-bindings/gpio/gpio.h> >> +#include "rk3588s.dtsi" >> + >> +/ { >> + model = "Radxa Rock 5A Board"; >> + compatible = "radxa,rock-5a", "rockchip,rk3588s"; >> + >> + chosen { >> + stdout-path = "serial2:1500000n8"; >> + }; >> +}; >> + >> +&gmac1 { >> + phy-mode = "rgmii-rxid"; >> + clock_in_out = "output"; >> + >> + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; >> + snps,reset-active-low; >> + /* Reset time is 20ms, 100ms for rtl8211f */ >> + snps,reset-delays-us = <0 20000 100000>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&gmac1_miim >> + &gmac1_tx_bus2 >> + &gmac1_rx_bus2 >> + &gmac1_rgmii_clk >> + &gmac1_rgmii_bus>; >> + >> + tx_delay = <0x3a>; >> + rx_delay = <0x3e>; >> + >> + phy-handle = <&rgmii_phy1>; >> + status = "okay"; >> +}; >> + >> +&mdio1 { >> + rgmii_phy1: phy@1 { >> + compatible = "ethernet-phy-ieee802.3-c22"; >> + reg = <0x1>; >> + #phy-cells = <0>; >> + }; >> +}; >> + >> +&sdhci { >> + bus-width = <8>; >> + no-sdio; >> + no-sd; >> + non-removable; >> + max-frequency = <200000000>; >> + mmc-hs400-1_8v; >> + mmc-hs400-enhanced-strobe; >> + status = "okay"; >> +}; >> + >> +&uart2 { >> + pinctrl-0 = <&uart2m0_xfer>; >> + status = "okay"; >> +}; > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip >
diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml index 4230881371fa..6bff4c42d815 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -744,6 +744,11 @@ properties: - const: rockchip,rk3588-evb1-v10 - const: rockchip,rk3588 + - description: Radxa Rock 5A + items: + - const: radxa,rock-5a + - const: rockchip,rk3588s + additionalProperties: true ... diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 12ed53de11eb..31fa55750a0f 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -73,3 +73,4 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts new file mode 100644 index 000000000000..25387a000341 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/gpio/gpio.h> +#include "rk3588s.dtsi" + +/ { + model = "Radxa Rock 5A Board"; + compatible = "radxa,rock-5a", "rockchip,rk3588s"; + + chosen { + stdout-path = "serial2:1500000n8"; + }; +}; + +&gmac1 { + phy-mode = "rgmii-rxid"; + clock_in_out = "output"; + + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; + snps,reset-active-low; + /* Reset time is 20ms, 100ms for rtl8211f */ + snps,reset-delays-us = <0 20000 100000>; + + pinctrl-names = "default"; + pinctrl-0 = <&gmac1_miim + &gmac1_tx_bus2 + &gmac1_rx_bus2 + &gmac1_rgmii_clk + &gmac1_rgmii_bus>; + + tx_delay = <0x3a>; + rx_delay = <0x3e>; + + phy-handle = <&rgmii_phy1>; + status = "okay"; +}; + +&mdio1 { + rgmii_phy1: phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0x1>; + #phy-cells = <0>; + }; +}; + +&sdhci { + bus-width = <8>; + no-sdio; + no-sd; + non-removable; + max-frequency = <200000000>; + mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; + status = "okay"; +}; + +&uart2 { + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; +};