Add device tree for the RP2350 SoC (rp2350.dtsi) and the Raspberry Pi
Pico 2 board (rp2350-pico2.dts).

rpi_pico2_defconfig selects CONFIG_OF_EMBED, building the dtb from
u-boot's source rather than CONFIG_OF_UPSTREAM.

Currently for the uart nodes 'clock' property is used instead of 'clocks'
as there is no dm based clock driver. This will be updated once a clk
driver is introduced.

Signed-off-by: Bhargav Das <[email protected]>
---
 arch/arm/dts/Makefile         |  1 +
 arch/arm/dts/rp2350-pico2.dts | 25 +++++++++++++++++++++++
 arch/arm/dts/rp2350.dtsi      | 37 +++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 arch/arm/dts/rp2350-pico2.dts
 create mode 100644 arch/arm/dts/rp2350.dtsi

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index a02dad22f27..1668715b7f1 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1157,6 +1157,7 @@ dtb-$(CONFIG_TARGET_SC594_SOM_EZKIT) += 
sc594-som-ezkit.dtb
 dtb-$(CONFIG_TARGET_SC594_SOM_EZLITE) += sc594-som-ezlite.dtb
 dtb-$(CONFIG_TARGET_SC598_SOM_EZKIT) += sc598-som-ezkit.dtb 
sc598-som-ezkit-sd.dtb
 dtb-$(CONFIG_TARGET_SC598_SOM_EZLITE) += sc598-som-ezlite.dtb
+dtb-$(CONFIG_TARGET_RPI_PICO2) += rp2350-pico2.dtb
 
 ifneq 
($(CONFIG_TARGET_IMX8MP_RSB3720A1_4G)$(CONFIG_TARGET_IMX8MP_RSB3720A1_6G),)
 dtb-y += imx8mp-rsb3720-a1.dtb
diff --git a/arch/arm/dts/rp2350-pico2.dts b/arch/arm/dts/rp2350-pico2.dts
new file mode 100644
index 00000000000..391bdd3b62e
--- /dev/null
+++ b/arch/arm/dts/rp2350-pico2.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Device Tree for Raspberry Pi Pico 2 (RP2350)
+ */
+
+/dts-v1/;
+
+#include "rp2350.dtsi"
+
+/ {
+       model = "Raspberry Pi Pico 2";
+       compatible = "raspberrypi,pico2", "raspberrypi,rp2350";
+
+       aliases {
+               serial0 = &uart1;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&uart1 {
+       status = "okay";
+};
diff --git a/arch/arm/dts/rp2350.dtsi b/arch/arm/dts/rp2350.dtsi
new file mode 100644
index 00000000000..56cf1d37b09
--- /dev/null
+++ b/arch/arm/dts/rp2350.dtsi
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
+/*
+ * Device Tree Include file for Raspberry Pi RP2350 SoC
+ */
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       compatible = "raspberrypi,rp2350";
+
+       memory@20000000 {
+               device_type = "memory";
+               reg = <0x20000000 0x00082000>;  /* 520 KB SRAM */
+       };
+
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges;
+
+               uart0: serial@40070000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x40070000 0x1000>;
+                       clock = <150000000>;    /* CLK_PERI = clk_sys 150MHz */
+                       status = "disabled";
+               };
+
+               uart1: serial@40078000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x40078000 0x1000>;
+                       clock = <150000000>;    /* CLK_PERI = clk_sys 150MHz */
+                       status = "disabled";
+               };
+       };
+};
-- 
2.43.0

Reply via email to