devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: Add support for Kent SoC family
@ 2025-11-05 10:44 Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 1/3] dt-bindings: arm: realtek: Add Kent Soc family compatibles Yu-Chun Lin
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2025-11-05 10:44 UTC (permalink / raw)
  To: afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang, eleanor.lin

Hello,

This patch series adds initial Device Tree support for Realtek's Kent SoC
family, including the RTD1501S, RTD1861B, and RTD1920S variants with their
respective evaluation boards.

The series includes:

1. Adds compatible strings for the Kent family.
2. Add new DT bindings for the Realtek ISO system controller.
3. Add Device Tree files for the Kent SoC, TD1501S Phantom EVB (8GB), RTD1861B
 Krypton EVB (8GB), and RTD1920S Smallville EVB (4GB).

The patches have been validated with 'make dtbs_check' and
'dt_binding_check' to ensure compliance with DT schema and successful
compilation.

Comments and feedback are welcome!

regards,
Yu-Chun Lin

Yu-Chun Lin (3):
  dt-bindings: arm: realtek: Add Kent Soc family compatibles
  dt-bindings: mfd: Add Realtek ISO system controller
  arm64: dts: realtek: Add Kent SoC and EVB device trees

 .../devicetree/bindings/arm/realtek.yaml      |  43 +++--
 .../bindings/mfd/realtek,iso-system.yaml      |  65 +++++++
 arch/arm64/boot/dts/realtek/Makefile          |   5 +
 arch/arm64/boot/dts/realtek/kent.dtsi         | 179 ++++++++++++++++++
 arch/arm64/boot/dts/realtek/rtd1501.dtsi      |  13 ++
 .../boot/dts/realtek/rtd1501s-phantom-8gb.dts |  26 +++
 .../boot/dts/realtek/rtd1501s-phantom.dtsi    | 135 +++++++++++++
 arch/arm64/boot/dts/realtek/rtd1861.dtsi      |  13 ++
 .../boot/dts/realtek/rtd1861b-krypton-8gb.dts |  26 +++
 .../boot/dts/realtek/rtd1861b-krypton.dtsi    |  79 ++++++++
 arch/arm64/boot/dts/realtek/rtd1920.dtsi      |  13 ++
 .../dts/realtek/rtd1920s-smallville-4gb.dts   |  24 +++
 .../boot/dts/realtek/rtd1920s-smallville.dtsi | 145 ++++++++++++++
 13 files changed, 754 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
 create mode 100644 arch/arm64/boot/dts/realtek/kent.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/3] dt-bindings: arm: realtek: Add Kent Soc family compatibles
  2025-11-05 10:44 [PATCH 0/3] arm64: dts: Add support for Kent SoC family Yu-Chun Lin
@ 2025-11-05 10:44 ` Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees Yu-Chun Lin
  2 siblings, 0 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2025-11-05 10:44 UTC (permalink / raw)
  To: afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang, eleanor.lin

Define compatible strings for Realtek RTD1501s, RTD1861b and RTD1920s.

Additionally, convert legacy DTS-style comments to YAML description
properties, following the pattern from the ARM bindings conversion series
[1].

[1] https://lore.kernel.org/lkml/20200622125527.24207-2-afaerber@suse.de/

Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
 .../devicetree/bindings/arm/realtek.yaml      | 43 +++++++++++++------
 1 file changed, 31 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/realtek.yaml b/Documentation/devicetree/bindings/arm/realtek.yaml
index ddd9a85099e9..9eed94ea4c8d 100644
--- a/Documentation/devicetree/bindings/arm/realtek.yaml
+++ b/Documentation/devicetree/bindings/arm/realtek.yaml
@@ -14,21 +14,21 @@ properties:
     const: '/'
   compatible:
     oneOf:
-      # RTD1195 SoC based boards
-      - items:
+      - description: RTD1195 SoC based boards
+        items:
           - enum:
               - mele,x1000 # MeLE X1000
               - realtek,horseradish # Realtek Horseradish EVB
           - const: realtek,rtd1195
 
-      # RTD1293 SoC based boards
-      - items:
+      - description: RTD1293 SoC based boards
+        items:
           - enum:
               - synology,ds418j # Synology DiskStation DS418j
           - const: realtek,rtd1293
 
-      # RTD1295 SoC based boards
-      - items:
+      - description: RTD1295 SoC based boards
+        items:
           - enum:
               - mele,v9 # MeLE V9
               - probox2,ava # ProBox2 AVA
@@ -36,25 +36,44 @@ properties:
               - zidoo,x9s # Zidoo X9S
           - const: realtek,rtd1295
 
-      # RTD1296 SoC based boards
-      - items:
+      - description: RTD1296 SoC based boards
+        items:
           - enum:
               - synology,ds418 # Synology DiskStation DS418
           - const: realtek,rtd1296
 
-      # RTD1395 SoC based boards
-      - items:
+      - description: RTD1395 SoC based boards
+        items:
           - enum:
               - bananapi,bpi-m4 # Banana Pi BPI-M4
               - realtek,lion-skin # Realtek Lion Skin EVB
           - const: realtek,rtd1395
 
-      # RTD1619 SoC based boards
-      - items:
+      - description: RTD1501s SoC based boards
+        items:
+          - enum:
+              - realtek,phantom # Realtek Phantom EVB (8GB)
+          - const: realtek,rtd1501s
+
+      - description: RTD1619 SoC based boards
+        items:
           - enum:
               - realtek,mjolnir # Realtek Mjolnir EVB
           - const: realtek,rtd1619
 
+      - description: RTD1861b SoC based boards
+        items:
+          - enum:
+              - realtek,krypton # Realtek Krypton EVB (8GB)
+          - const: realtek,rtd1861b
+
+      - description: RTD1920s SoC based boards
+        items:
+          - enum:
+              - realtek,smallville # Realtek Smallville EVB (4GB)
+          - const: realtek,rtd1920s
+
+
 additionalProperties: true
 
 ...
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-05 10:44 [PATCH 0/3] arm64: dts: Add support for Kent SoC family Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 1/3] dt-bindings: arm: realtek: Add Kent Soc family compatibles Yu-Chun Lin
@ 2025-11-05 10:44 ` Yu-Chun Lin
  2025-11-05 10:58   ` Krzysztof Kozlowski
  2025-11-05 12:30   ` Rob Herring (Arm)
  2025-11-05 10:44 ` [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees Yu-Chun Lin
  2 siblings, 2 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2025-11-05 10:44 UTC (permalink / raw)
  To: afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang, eleanor.lin

Add DT binding schema for Realtek system controller.

Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
 .../bindings/mfd/realtek,iso-system.yaml      | 65 +++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml

diff --git a/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
new file mode 100644
index 000000000000..6fbdedd3ee5b
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/realtek,iso-system.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Realtek ISO System Controller
+
+description: |
+  The Realtek ISO System Controller is a register area that contains
+  miscellaneous system registers for the SoC and serves as a parent node
+  for other functions.
+
+maintainers:
+  - James Tai <james.tai@realtek.com>
+  - Yu-Chun Lin <eleanor.lin@realtek.com>
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - realtek,iso-system
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  ranges:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
+  reg-io-width:
+    const: 4
+
+patternProperties:
+  "^.*@[0-9a-f]+$":
+    type: object
+    description: Catch-all for other sub-devices in the ISO area.
+
+required:
+  - compatible
+  - reg
+  - ranges
+  - '#address-cells'
+  - '#size-cells'
+  - reg-io-width
+
+additionalProperties: false
+
+examples:
+  - |
+    iso: syscon@7000 {
+        compatible = "realtek,iso-system", "syscon", "simple-mfd";
+        reg = <0x7000 0x1000>;
+        ranges = <0x0 0x7000 0x1000>;
+        reg-io-width = <4>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+    };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees
  2025-11-05 10:44 [PATCH 0/3] arm64: dts: Add support for Kent SoC family Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 1/3] dt-bindings: arm: realtek: Add Kent Soc family compatibles Yu-Chun Lin
  2025-11-05 10:44 ` [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller Yu-Chun Lin
@ 2025-11-05 10:44 ` Yu-Chun Lin
  2025-11-05 11:04   ` Krzysztof Kozlowski
  2 siblings, 1 reply; 12+ messages in thread
From: Yu-Chun Lin @ 2025-11-05 10:44 UTC (permalink / raw)
  To: afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang, eleanor.lin

Add Device Tree hierarchy for Realtek Kent SoC family:

- kent.dtsi: base SoC layer
- rtd<variant>.dtsi: SoC variant layer
- rtd<variant>-<board>.dtsi: board layer
- rtd<variant>-<board>-<config>.dts: board configuration layer

Include RTD1501S Phantom EVB (8GB), RTD1861B Krypton EVB (8GB), and
RTD1920S Smallville EVB (4GB).

Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
 arch/arm64/boot/dts/realtek/Makefile          |   5 +
 arch/arm64/boot/dts/realtek/kent.dtsi         | 179 ++++++++++++++++++
 arch/arm64/boot/dts/realtek/rtd1501.dtsi      |  13 ++
 .../boot/dts/realtek/rtd1501s-phantom-8gb.dts |  26 +++
 .../boot/dts/realtek/rtd1501s-phantom.dtsi    | 135 +++++++++++++
 arch/arm64/boot/dts/realtek/rtd1861.dtsi      |  13 ++
 .../boot/dts/realtek/rtd1861b-krypton-8gb.dts |  26 +++
 .../boot/dts/realtek/rtd1861b-krypton.dtsi    |  79 ++++++++
 arch/arm64/boot/dts/realtek/rtd1920.dtsi      |  13 ++
 .../dts/realtek/rtd1920s-smallville-4gb.dts   |  24 +++
 .../boot/dts/realtek/rtd1920s-smallville.dtsi | 145 ++++++++++++++
 11 files changed, 658 insertions(+)
 create mode 100644 arch/arm64/boot/dts/realtek/kent.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920.dtsi
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
 create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi

diff --git a/arch/arm64/boot/dts/realtek/Makefile b/arch/arm64/boot/dts/realtek/Makefile
index ef8d8fcbaa05..0ef0596681ad 100644
--- a/arch/arm64/boot/dts/realtek/Makefile
+++ b/arch/arm64/boot/dts/realtek/Makefile
@@ -13,3 +13,8 @@ dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-bpi-m4.dtb
 dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-lionskin.dtb
 
 dtb-$(CONFIG_ARCH_REALTEK) += rtd1619-mjolnir.dtb
+
+dtb-$(CONFIG_ARCH_REALTEK) += rtd1501s-phantom-8gb.dtb
+dtb-$(CONFIG_ARCH_REALTEK) += rtd1861b-krypton-8gb.dtb
+dtb-$(CONFIG_ARCH_REALTEK) += rtd1920s-smallville-4gb.dtb
+
diff --git a/arch/arm64/boot/dts/realtek/kent.dtsi b/arch/arm64/boot/dts/realtek/kent.dtsi
new file mode 100644
index 000000000000..6af3efa0bda4
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/kent.dtsi
@@ -0,0 +1,179 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek Kent SoC family
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+	interrupt-parent = <&gic>;
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	arch_timer: arch-timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
+			     <GIC_PPI  9 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a78";
+			reg = <0x0>;
+			enable-method = "psci";
+			next-level-cache = <&l2_0>;
+			dynamic-power-coefficient = <454>;
+			#cooling-cells = <2>;
+
+			l2_0: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+				cache-line-size = <64>;
+				cache-sets = <256>;
+				cache-size = <0x40000>;
+				cache-unified;
+				next-level-cache = <&l3>;
+			};
+		};
+
+		cpu1: cpu@100 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a78";
+			reg = <0x100>;
+			enable-method = "psci";
+			next-level-cache = <&l2_1>;
+			dynamic-power-coefficient = <454>;
+			#cooling-cells = <2>;
+
+			l2_1: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+				cache-line-size = <64>;
+				cache-sets = <256>;
+				cache-size = <0x40000>;
+				cache-unified;
+				next-level-cache = <&l3>;
+			};
+		};
+
+		cpu2: cpu@200 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a78";
+			reg = <0x200>;
+			enable-method = "psci";
+			next-level-cache = <&l2_2>;
+			dynamic-power-coefficient = <454>;
+			#cooling-cells = <2>;
+
+			l2_2: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+				cache-line-size = <64>;
+				cache-sets = <256>;
+				cache-size = <0x40000>;
+				cache-unified;
+				next-level-cache = <&l3>;
+			};
+		};
+
+		cpu3: cpu@300 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a78";
+			reg = <0x300>;
+			enable-method = "psci";
+			next-level-cache = <&l2_3>;
+			dynamic-power-coefficient = <454>;
+			#cooling-cells = <2>;
+
+			l2_3: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+				cache-line-size = <64>;
+				cache-sets = <256>;
+				cache-size = <0x40000>;
+				cache-unified;
+				next-level-cache = <&l3>;
+			};
+		};
+
+		l3: l3-cache {
+			compatible = "cache";
+			cache-level = <3>;
+			cache-line-size = <64>;
+			cache-sets = <512>;
+			cache-size = <0x00200000>;
+			cache-unified;
+		};
+	};
+
+	psci: psci {
+		compatible = "arm,psci-1.0";
+		method = "smc";
+	};
+
+	soc@0 {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x00000000 0x00000000 0x00000000 0x00040000>, /* boot code */
+			 <0x98000000 0x00000000 0x98000000 0x00ef0000>, /* reg-bus */
+			 <0xa0000000 0x00000000 0xa0000000 0x10000000>, /* PCIE */
+			 <0xff000000 0x00000000 0xff000000 0x00200000>; /* GIC */
+
+		rbus: reg-bus@98000000 {
+			compatible = "simple-bus";
+			reg = <0x98000000 0x00ef0000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x00000000 0x98000000 0x00ef0000>,
+				 <0xa0000000 0xa0000000 0x10000000>; /* PCIE */
+
+			iso: syscon@7000 {
+				compatible = "realtek,iso-system", "syscon", "simple-mfd";
+				reg = <0x7000 0x1000>;
+				#address-cells = <1>;
+				#size-cells = <1>;
+				ranges = <0x0 0x7000 0x1000>;
+				reg-io-width = <4>;
+			};
+		};
+
+		gic: interrupt-controller@ff100000 {
+			compatible = "arm,gic-v3";
+			reg = <0xff100000 0x10000>,
+			      <0xff140000 0x80000>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+			#address-cells = <1>;
+			#interrupt-cells = <3>;
+			#size-cells = <1>;
+		};
+	};
+};
+
+&iso {
+	uart0: serial@800 {
+		compatible = "snps,dw-apb-uart";
+		reg = <0x800 0x100>;
+		clock-frequency = <432000000>;
+		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+		reg-io-width = <4>;
+		reg-shift = <2>;
+		status = "disabled";
+	};
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1501.dtsi b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
new file mode 100644
index 000000000000..1df5d9843505
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1501 SoC
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+#include "kent.dtsi"
+
+&uart0 {
+	status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
new file mode 100644
index 000000000000..b0e03f3731e2
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1501S Phantom EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include "rtd1501s-phantom.dtsi"
+
+/ {
+	compatible = "realtek,phantom", "realtek,rtd1501s";
+	model = "Realtek Phantom EVB Chromium (8GB)";
+
+	memory: memory@40000 {
+		device_type = "memory";
+		reg = <0x00000000 0x00050000 0x00000000 0x7ffb0000>,
+		      <0x00000000 0x8a100000 0x00000000 0x0def0000>,
+		      <0x00000000 0x98700000 0x00000000 0x07900000>,
+		      <0x00000000 0xa0600000 0x00000000 0x5ea00000>,
+		      <0x00000001 0x00000000 0x00000000 0xa0000000>,
+		      <0x00000001 0xa0600000 0x00000000 0x5fa00000>;
+	};
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
new file mode 100644
index 000000000000..bf1e499addf9
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
@@ -0,0 +1,135 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1501S Phantom EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/thermal/thermal.h>
+#include "rtd1501.dtsi"
+
+/ {
+	chosen {
+		bootargs = "earlycon=uart8250,mmio32,0x98007800
+			    console=ttyS0,460800 8250.nr_uarts=2 init=/init
+			    loglevel=8 max_loop=64 loop.max_part=7
+			    firmware_class.path=/vendor/firmware/,/vendor/av_fw";
+		stdout-path = "serial0:460800n8";
+	};
+
+	reserved_memory: reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		linux,cma {
+			compatible = "shared-dma-pool";
+			alignment = <0x0 0x00400000>;
+			alloc-ranges = <0x0 0x00000000 0x0 0x20000000>;
+			size = <0x0 0x02000000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
+
+	cpu_opps: opp-table-cpu {
+		compatible = "operating-points-v2";
+		opp-shared;
+
+		opp800: opp-800000000 {
+			opp-hz = /bits/ 64 <800000000>;
+			opp-microvolt = <830000 830000 1100000>;
+			status = "okay";
+		};
+
+		opp900: opp-900000000 {
+			opp-hz = /bits/ 64 <900000000>;
+			opp-microvolt = <850000 850000 1100000>;
+			status = "okay";
+		};
+
+		opp1000: opp-1000000000 {
+			opp-hz = /bits/ 64 <1000000000>;
+			opp-microvolt = <870000 870000 1100000>;
+			status = "okay";
+		};
+
+		opp1100: opp-1100000000 {
+			opp-hz = /bits/ 64 <1100000000>;
+			opp-microvolt = <890000 890000 1100000>;
+			status = "okay";
+		};
+
+		opp1200: opp-1200000000 {
+			opp-hz = /bits/ 64 <1200000000>;
+			opp-microvolt = <910000 910000 1100000>;
+			status = "okay";
+		};
+
+		opp1300: opp-1300000000 {
+			opp-hz = /bits/ 64 <1300000000>;
+			opp-microvolt = <930000 930000 1100000>;
+			status = "okay";
+		};
+
+		opp1400: opp-1400000000 {
+			opp-hz = /bits/ 64 <1400000000>;
+			opp-microvolt = <950000 950000 1100000>;
+			status = "okay";
+		};
+
+		opp1500: opp-1500000000 {
+			opp-hz = /bits/ 64 <1500000000>;
+			opp-microvolt = <970000 970000 1100000>;
+			status = "okay";
+		};
+
+		opp1600: opp-1600000000 {
+			opp-hz = /bits/ 64 <1600000000>;
+			opp-microvolt = <990000 990000 1100000>;
+			opp-suspend;
+			status = "okay";
+		};
+
+		opp1700: opp-1700000000 {
+			opp-hz = /bits/ 64 <1700000000>;
+			opp-microvolt = <1010000 1010000 1100000>;
+			status = "okay";
+		};
+
+		opp1800: opp-1800000000 {
+			opp-hz = /bits/ 64 <1800000000>;
+			opp-microvolt = <1030000 1030000 1100000>;
+			status = "okay";
+		};
+
+		opp1900: opp-1900000000 {
+			opp-hz = /bits/ 64 <1900000000>;
+			opp-microvolt = <1050000 1050000 1100000>;
+			status = "okay";
+		};
+	};
+};
+
+&cpu0 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu1 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu2 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu3 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1861.dtsi b/arch/arm64/boot/dts/realtek/rtd1861.dtsi
new file mode 100644
index 000000000000..e9b1b85c7a63
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1861.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1861 SoC
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+#include "kent.dtsi"
+
+&uart0 {
+	status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts b/arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
new file mode 100644
index 000000000000..c36b485e8c5f
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1861B Krypton EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include "rtd1861b-krypton.dtsi"
+
+/ {
+	compatible = "realtek,krypton", "realtek,rtd1861b";
+	model = "Realtek Krypton EVB (8GB)";
+
+	memory: memory@40000 {
+		device_type = "memory";
+		reg = <0x00000000 0x00050000 0x00000000 0x7ffb0000>,
+		      <0x00000000 0x8a100000 0x00000000 0x0def0000>,
+		      <0x00000000 0x98700000 0x00000000 0x07900000>,
+		      <0x00000000 0xa0600000 0x00000000 0x5ea00000>,
+		      <0x00000001 0x00000000 0x00000000 0xa0000000>,
+		      <0x00000001 0xa0600000 0x00000000 0x5fa00000>;
+	};
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi b/arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
new file mode 100644
index 000000000000..acf9066a7d98
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
@@ -0,0 +1,79 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1861B Krypton EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include "rtd1861.dtsi"
+
+/ {
+	chosen {
+		bootargs = "earlycon=uart8250,mmio32,0x98007800 console=ttyS0,460800 8250.nr_uarts=1
+			    8250.share_irqs=1 init=/init loglevel=8 max_loop=64 loop.max_part=7
+			    firmware_class.path=/vendor/firmware/,/vendor/av_fw";
+		stdout-path = "serial0:460800n8";
+	};
+
+	reserved_memory: reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		linux,cma {
+			compatible = "shared-dma-pool";
+			alignment = <0x0 0x00400000>;
+			alloc-ranges = <0x0 0x00000000 0x0 0x20000000>;
+			size = <0x0 0x02000000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
+
+	cpu_opps: opp-table-cpu {
+		compatible = "operating-points-v2";
+		opp-shared;
+
+		opp1200: opp-1200000000 {
+			opp-hz = /bits/ 64 <1200000000>;
+			opp-microvolt = <900000>;
+			status = "okay";
+		};
+
+		opp1600: opp-1600000000 {
+			opp-hz = /bits/ 64 <1600000000>;
+			opp-microvolt = <1000000>;
+			opp-suspend;
+			status = "okay";
+		};
+
+		opp1800: opp-1800000000 {
+			opp-hz = /bits/ 64 <1800000000>;
+			opp-microvolt = <1050000>;
+			status = "okay";
+		};
+	};
+};
+
+&cpu0 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu1 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu2 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu3 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1920.dtsi b/arch/arm64/boot/dts/realtek/rtd1920.dtsi
new file mode 100644
index 000000000000..ffefde9749a1
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1920.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1920 SoC
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+#include "kent.dtsi"
+
+&uart0 {
+	status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts b/arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
new file mode 100644
index 000000000000..2c8296018e68
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1920S Smallville EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include "rtd1920s-smallville.dtsi"
+
+/ {
+	compatible = "realtek,smallville", "realtek,rtd1920s";
+	model = "Realtek Smallville EVB (4GB)";
+
+	memory: memory@40000 {
+		device_type = "memory";
+		reg = <0x00000000 0x00050000 0x00000000 0x7ffb0000>,
+		      <0x00000000 0x8a100000 0x00000000 0x0def0000>,
+		      <0x00000000 0x98700000 0x00000000 0x07900000>,
+		      <0x00000000 0xa1000000 0x00000000 0x5e000000>;
+	};
+};
+
diff --git a/arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi b/arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi
new file mode 100644
index 000000000000..75d29591b9fa
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi
@@ -0,0 +1,145 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
+/*
+ * Realtek RTD1920S Smallville EVB
+ *
+ * Copyright (c) 2024 Realtek Semiconductor Corp.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/thermal/thermal.h>
+#include "rtd1920.dtsi"
+
+/ {
+	chosen {
+		bootargs = "earlycon=uart8250,mmio32,0x98007800
+			    console=ttyS0,460800 8250.nr_uarts=11 8250.share_irqs=1
+			    init=/init loglevel=8 max_loop=64 loop.max_part=7
+			    firmware_class.path=/vendor/firmware/,/vendor/av_fw";
+		stdout-path = "serial0:460800n8";
+	};
+
+	reserved_memory: reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		protected_mem: protected-mem@50000 {
+			reg = <0x0 0x00050000 0x0 0x00bf0000>;
+			no-map;
+		};
+
+		metadata: metadata@c40000 {
+			reg = <0x0 0x00c40000 0x0 0x003c4000>;
+			no-map;
+		};
+
+		linux,cma {
+			compatible = "shared-dma-pool";
+			alignment = <0x0 0x00400000>;
+			alloc-ranges = <0x0 0x00000000 0x0 0x20000000>;
+			size = <0x0 0x02000000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
+
+	cpu_opps: opp-table-cpu {
+		compatible = "operating-points-v2";
+		opp-shared;
+
+		opp800: opp-800000000 {
+			opp-hz = /bits/ 64 <800000000>;
+			opp-microvolt = <830000 830000 1100000>;
+			status = "okay";
+		};
+
+		opp900: opp-900000000 {
+			opp-hz = /bits/ 64 <900000000>;
+			opp-microvolt = <850000 850000 1100000>;
+			status = "okay";
+		};
+
+		opp1000: opp-1000000000 {
+			opp-hz = /bits/ 64 <1000000000>;
+			opp-microvolt = <870000 870000 1100000>;
+			status = "okay";
+		};
+
+		opp1100: opp-1100000000 {
+			opp-hz = /bits/ 64 <1100000000>;
+			opp-microvolt = <890000 890000 1100000>;
+			status = "okay";
+		};
+
+		opp1200: opp-1200000000 {
+			opp-hz = /bits/ 64 <1200000000>;
+			opp-microvolt = <910000 910000 1100000>;
+			status = "okay";
+		};
+
+		opp1300: opp-1300000000 {
+			opp-hz = /bits/ 64 <1300000000>;
+			opp-microvolt = <930000 930000 1100000>;
+			status = "okay";
+		};
+
+		opp1400: opp-1400000000 {
+			opp-hz = /bits/ 64 <1400000000>;
+			opp-microvolt = <950000 950000 1100000>;
+			status = "okay";
+		};
+
+		opp1500: opp-1500000000 {
+			opp-hz = /bits/ 64 <1500000000>;
+			opp-microvolt = <970000 970000 1100000>;
+			status = "okay";
+		};
+
+		opp1600: opp-1600000000 {
+			opp-hz = /bits/ 64 <1600000000>;
+			opp-microvolt = <990000 990000 1100000>;
+			opp-suspend;
+			status = "okay";
+		};
+
+		opp1700: opp-1700000000 {
+			opp-hz = /bits/ 64 <1700000000>;
+			opp-microvolt = <1010000 1010000 1100000>;
+			status = "okay";
+		};
+
+		opp1800: opp-1800000000 {
+			opp-hz = /bits/ 64 <1800000000>;
+			opp-microvolt = <1030000 1030000 1100000>;
+			status = "okay";
+		};
+
+		opp1900: opp-1900000000 {
+			opp-hz = /bits/ 64 <1900000000>;
+			opp-microvolt = <1050000 1050000 1100000>;
+			status = "okay";
+		};
+	};
+};
+
+&cpu0 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu1 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu2 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
+&cpu3 {
+	operating-points-v2 = <&cpu_opps>;
+	#cooling-cells = <2>;
+};
+
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-05 10:44 ` [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller Yu-Chun Lin
@ 2025-11-05 10:58   ` Krzysztof Kozlowski
  2025-11-11 12:19     ` Eleanor Lin [林祐君]
  2025-11-05 12:30   ` Rob Herring (Arm)
  1 sibling, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-05 10:58 UTC (permalink / raw)
  To: Yu-Chun Lin, afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang

On 05/11/2025 11:44, Yu-Chun Lin wrote:
> Add DT binding schema for Realtek system controller.
> 
> Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> ---
>  .../bindings/mfd/realtek,iso-system.yaml      | 65 +++++++++++++++++++
>  1 file changed, 65 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> new file mode 100644
> index 000000000000..6fbdedd3ee5b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> @@ -0,0 +1,65 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/realtek,iso-system.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Realtek ISO System Controller
> +
> +description: |


Do not need '|' unless you need to preserve formatting.

> +  The Realtek ISO System Controller is a register area that contains
> +  miscellaneous system registers for the SoC and serves as a parent node
> +  for other functions.
> +
> +maintainers:
> +  - James Tai <james.tai@realtek.com>
> +  - Yu-Chun Lin <eleanor.lin@realtek.com>
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - realtek,iso-system

No clue what is "iso system", neither commit msg, nor title nor
description explain me that. Please add first bindings for the iso soc
or if this is not soc, then use only soc-specific compatibles (see
writing bindings doc).

> +      - const: syscon
> +      - const: simple-mfd
> +
> +  reg:
> +    maxItems: 1
> +
> +  ranges:
> +    maxItems: 1
> +
> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 1
> +
> +  reg-io-width:
> +    const: 4
> +
> +patternProperties:
> +  "^.*@[0-9a-f]+$":
> +    type: object
> +    description: Catch-all for other sub-devices in the ISO area.

Nope, sorry. Define exact children. All of them.

> +
> +required:
> +  - compatible
> +  - reg
> +  - ranges
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg-io-width
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    iso: syscon@7000 {

Drop label.

> +        compatible = "realtek,iso-system", "syscon", "simple-mfd";
> +        reg = <0x7000 0x1000>;
> +        ranges = <0x0 0x7000 0x1000>;
> +        reg-io-width = <4>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;

No children here, so drop simple-mfd and all these fake child stuff.


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees
  2025-11-05 10:44 ` [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees Yu-Chun Lin
@ 2025-11-05 11:04   ` Krzysztof Kozlowski
  2025-11-11 12:25     ` Eleanor Lin [林祐君]
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-05 11:04 UTC (permalink / raw)
  To: Yu-Chun Lin, afaerber, robh, krzk+dt, conor+dt, lee, james.tai
  Cc: linux-arm-kernel, linux-realtek-soc, devicetree, linux-kernel,
	cy.huang, stanley_chang

On 05/11/2025 11:44, Yu-Chun Lin wrote:
> Add Device Tree hierarchy for Realtek Kent SoC family:
> 
> - kent.dtsi: base SoC layer
> - rtd<variant>.dtsi: SoC variant layer
> - rtd<variant>-<board>.dtsi: board layer
> - rtd<variant>-<board>-<config>.dts: board configuration layer
> 
> Include RTD1501S Phantom EVB (8GB), RTD1861B Krypton EVB (8GB), and
> RTD1920S Smallville EVB (4GB).
> 
> Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> ---
>  arch/arm64/boot/dts/realtek/Makefile          |   5 +
>  arch/arm64/boot/dts/realtek/kent.dtsi         | 179 ++++++++++++++++++
>  arch/arm64/boot/dts/realtek/rtd1501.dtsi      |  13 ++
>  .../boot/dts/realtek/rtd1501s-phantom-8gb.dts |  26 +++
>  .../boot/dts/realtek/rtd1501s-phantom.dtsi    | 135 +++++++++++++
>  arch/arm64/boot/dts/realtek/rtd1861.dtsi      |  13 ++
>  .../boot/dts/realtek/rtd1861b-krypton-8gb.dts |  26 +++
>  .../boot/dts/realtek/rtd1861b-krypton.dtsi    |  79 ++++++++
>  arch/arm64/boot/dts/realtek/rtd1920.dtsi      |  13 ++
>  .../dts/realtek/rtd1920s-smallville-4gb.dts   |  24 +++
>  .../boot/dts/realtek/rtd1920s-smallville.dtsi | 145 ++++++++++++++
>  11 files changed, 658 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/realtek/kent.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1501.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1861.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1920.dtsi
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
>  create mode 100644 arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi
> 
> diff --git a/arch/arm64/boot/dts/realtek/Makefile b/arch/arm64/boot/dts/realtek/Makefile
> index ef8d8fcbaa05..0ef0596681ad 100644
> --- a/arch/arm64/boot/dts/realtek/Makefile
> +++ b/arch/arm64/boot/dts/realtek/Makefile
> @@ -13,3 +13,8 @@ dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-bpi-m4.dtb
>  dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-lionskin.dtb
>  
>  dtb-$(CONFIG_ARCH_REALTEK) += rtd1619-mjolnir.dtb
> +
> +dtb-$(CONFIG_ARCH_REALTEK) += rtd1501s-phantom-8gb.dtb
> +dtb-$(CONFIG_ARCH_REALTEK) += rtd1861b-krypton-8gb.dtb
> +dtb-$(CONFIG_ARCH_REALTEK) += rtd1920s-smallville-4gb.dtb

Keep things still ordered alphabetically.

> +
> diff --git a/arch/arm64/boot/dts/realtek/kent.dtsi b/arch/arm64/boot/dts/realtek/kent.dtsi
> new file mode 100644
> index 000000000000..6af3efa0bda4
> --- /dev/null
> +++ b/arch/arm64/boot/dts/realtek/kent.dtsi
> @@ -0,0 +1,179 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> +/*
> + * Realtek Kent SoC family
> + *
> + * Copyright (c) 2024 Realtek Semiconductor Corp.
> + */
> +
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> +	interrupt-parent = <&gic>;
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +
> +	aliases {
> +		serial0 = &uart0;
> +	};
> +
> +	arch_timer: arch-timer {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
If you cannot find a name matching your device, please check in kernel
sources for similar cases or you can grow the spec (via pull request to
DT spec repo).

> +		compatible = "arm,armv8-timer";
> +		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
> +			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
> +			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
> +			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
> +			     <GIC_PPI  9 IRQ_TYPE_LEVEL_HIGH>;
> +	};
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a78";
> +			reg = <0x0>;
> +			enable-method = "psci";
> +			next-level-cache = <&l2_0>;
> +			dynamic-power-coefficient = <454>;
> +			#cooling-cells = <2>;
> +
> +			l2_0: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +				cache-line-size = <64>;
> +				cache-sets = <256>;
> +				cache-size = <0x40000>;
> +				cache-unified;
> +				next-level-cache = <&l3>;
> +			};
> +		};
> +
> +		cpu1: cpu@100 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a78";
> +			reg = <0x100>;
> +			enable-method = "psci";
> +			next-level-cache = <&l2_1>;
> +			dynamic-power-coefficient = <454>;
> +			#cooling-cells = <2>;
> +
> +			l2_1: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +				cache-line-size = <64>;
> +				cache-sets = <256>;
> +				cache-size = <0x40000>;
> +				cache-unified;
> +				next-level-cache = <&l3>;
> +			};
> +		};
> +
> +		cpu2: cpu@200 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a78";
> +			reg = <0x200>;
> +			enable-method = "psci";
> +			next-level-cache = <&l2_2>;
> +			dynamic-power-coefficient = <454>;
> +			#cooling-cells = <2>;
> +
> +			l2_2: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +				cache-line-size = <64>;
> +				cache-sets = <256>;
> +				cache-size = <0x40000>;
> +				cache-unified;
> +				next-level-cache = <&l3>;
> +			};
> +		};
> +
> +		cpu3: cpu@300 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a78";
> +			reg = <0x300>;
> +			enable-method = "psci";
> +			next-level-cache = <&l2_3>;
> +			dynamic-power-coefficient = <454>;
> +			#cooling-cells = <2>;
> +
> +			l2_3: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +				cache-line-size = <64>;
> +				cache-sets = <256>;
> +				cache-size = <0x40000>;
> +				cache-unified;
> +				next-level-cache = <&l3>;
> +			};
> +		};
> +
> +		l3: l3-cache {
> +			compatible = "cache";
> +			cache-level = <3>;
> +			cache-line-size = <64>;
> +			cache-sets = <512>;
> +			cache-size = <0x00200000>;
> +			cache-unified;
> +		};
> +	};
> +
> +	psci: psci {
> +		compatible = "arm,psci-1.0";
> +		method = "smc";
> +	};
> +
> +	soc@0 {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges = <0x00000000 0x00000000 0x00000000 0x00040000>, /* boot code */
> +			 <0x98000000 0x00000000 0x98000000 0x00ef0000>, /* reg-bus */
> +			 <0xa0000000 0x00000000 0xa0000000 0x10000000>, /* PCIE */
> +			 <0xff000000 0x00000000 0xff000000 0x00200000>; /* GIC */
> +
> +		rbus: reg-bus@98000000 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
If you cannot find a name matching your device, please check in kernel
sources for similar cases or you can grow the spec (via pull request to
DT spec repo).


> +			compatible = "simple-bus";
> +			reg = <0x98000000 0x00ef0000>;

This means it is not a simple-bus.

> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <0x00000000 0x98000000 0x00ef0000>,
> +				 <0xa0000000 0xa0000000 0x10000000>; /* PCIE */
> +
> +			iso: syscon@7000 {
> +				compatible = "realtek,iso-system", "syscon", "simple-mfd";
> +				reg = <0x7000 0x1000>;
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				ranges = <0x0 0x7000 0x1000>;

Please follow DTS coding style.

> +				reg-io-width = <4>;
No children. You must post complete picture here.

> +			};
> +		};
> +
> +		gic: interrupt-controller@ff100000 {
> +			compatible = "arm,gic-v3";
> +			reg = <0xff100000 0x10000>,
> +			      <0xff140000 0x80000>;
> +			interrupt-controller;
> +			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
> +			#address-cells = <1>;
> +			#interrupt-cells = <3>;
> +			#size-cells = <1>;
> +		};
> +	};
> +};
> +
> +&iso {

What are you overriding? There is no inclusion of other DTSI here.

> +	uart0: serial@800 {
> +		compatible = "snps,dw-apb-uart";
> +		reg = <0x800 0x100>;
> +		clock-frequency = <432000000>;
> +		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
> +		reg-io-width = <4>;
> +		reg-shift = <2>;
> +		status = "disabled";
> +	};
> +};
> +
> diff --git a/arch/arm64/boot/dts/realtek/rtd1501.dtsi b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
> new file mode 100644
> index 000000000000..1df5d9843505
> --- /dev/null
> +++ b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> +/*
> + * Realtek RTD1501 SoC
> + *
> + * Copyright (c) 2024 Realtek Semiconductor Corp.
> + */
> +
> +#include "kent.dtsi"
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> new file mode 100644
> index 000000000000..b0e03f3731e2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> @@ -0,0 +1,26 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> +/*
> + * Realtek RTD1501S Phantom EVB
> + *
> + * Copyright (c) 2024 Realtek Semiconductor Corp.
> + */
> +
> +/dts-v1/;
> +
> +#include "rtd1501s-phantom.dtsi"
> +
> +/ {
> +	compatible = "realtek,phantom", "realtek,rtd1501s";
> +	model = "Realtek Phantom EVB Chromium (8GB)";
> +
> +	memory: memory@40000 {

Drop unused label.

> +		device_type = "memory";
> +		reg = <0x00000000 0x00050000 0x00000000 0x7ffb0000>,

0x0, don't inflate this.

> +		      <0x00000000 0x8a100000 0x00000000 0x0def0000>,
> +		      <0x00000000 0x98700000 0x00000000 0x07900000>,
> +		      <0x00000000 0xa0600000 0x00000000 0x5ea00000>,
> +		      <0x00000001 0x00000000 0x00000000 0xa0000000>,

<0x1 0x00000000 0x0 0xa0000000>,

> +		      <0x00000001 0xa0600000 0x00000000 0x5fa00000>;
> +	};
> +};
> +
> diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> new file mode 100644
> index 000000000000..bf1e499addf9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> @@ -0,0 +1,135 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> +/*
> + * Realtek RTD1501S Phantom EVB
> + *
> + * Copyright (c) 2024 Realtek Semiconductor Corp.
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/thermal/thermal.h>
> +#include "rtd1501.dtsi"
> +
> +/ {
> +	chosen {
> +		bootargs = "earlycon=uart8250,mmio32,0x98007800
> +			    console=ttyS0,460800 8250.nr_uarts=2 init=/init
> +			    loglevel=8 max_loop=64 loop.max_part=7
> +			    firmware_class.path=/vendor/firmware/,/vendor/av_fw";

NAK, drop all bootargs. None of above are suitable for mainline. Don't
post all this android or custom initramfs stuff.

> +		stdout-path = "serial0:460800n8";

And you already even have here console!

> +	};
> +
> +	reserved_memory: reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		linux,cma {
> +			compatible = "shared-dma-pool";
> +			alignment = <0x0 0x00400000>;
> +			alloc-ranges = <0x0 0x00000000 0x0 0x20000000>;
> +			size = <0x0 0x02000000>;
> +			reusable;
> +			linux,cma-default;
> +		};
> +	};
> +
> +	cpu_opps: opp-table-cpu {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		opp800: opp-800000000 {
> +			opp-hz = /bits/ 64 <800000000>;
> +			opp-microvolt = <830000 830000 1100000>;
> +			status = "okay";

Why? Where did you disable it?

...

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-05 10:44 ` [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller Yu-Chun Lin
  2025-11-05 10:58   ` Krzysztof Kozlowski
@ 2025-11-05 12:30   ` Rob Herring (Arm)
  2025-11-11 12:29     ` Eleanor Lin [林祐君]
  1 sibling, 1 reply; 12+ messages in thread
From: Rob Herring (Arm) @ 2025-11-05 12:30 UTC (permalink / raw)
  To: Yu-Chun Lin
  Cc: devicetree, linux-kernel, conor+dt, cy.huang, afaerber,
	linux-arm-kernel, james.tai, linux-realtek-soc, stanley_chang,
	krzk+dt, lee


On Wed, 05 Nov 2025 18:44:51 +0800, Yu-Chun Lin wrote:
> Add DT binding schema for Realtek system controller.
> 
> Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> ---
>  .../bindings/mfd/realtek,iso-system.yaml      | 65 +++++++++++++++++++
>  1 file changed, 65 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/arm/realtek.yaml:76:1: [warning] too many blank lines (2 > 1) (empty-lines)

dtschema/dtc warnings/errors:

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20251105104452.6336-3-eleanor.lin@realtek.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-05 10:58   ` Krzysztof Kozlowski
@ 2025-11-11 12:19     ` Eleanor Lin [林祐君]
  2025-11-13 19:41       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: Eleanor Lin [林祐君] @ 2025-11-11 12:19 UTC (permalink / raw)
  To: Krzysztof Kozlowski, afaerber@suse.de, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, lee@kernel.org,
	James Tai [戴志峰]
  Cc: linux-arm-kernel@lists.infradead.org,
	linux-realtek-soc@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, CY_Huang[黃鉦晏],
	Stanley Chang[昌育德]

Hi Krzysztof,

Sorry for the delay in responding to you.

> On 05/11/2025 11:44, Yu-Chun Lin wrote:
> > Add DT binding schema for Realtek system controller.
> >
> > Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> > ---
> >  .../bindings/mfd/realtek,iso-system.yaml      | 65
> +++++++++++++++++++
> >  1 file changed, 65 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> > b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> > new file mode 100644
> > index 000000000000..6fbdedd3ee5b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> > @@ -0,0 +1,65 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mfd/realtek,iso-system.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Realtek ISO System Controller
> > +
> > +description: |
> 
> 
> Do not need '|' unless you need to preserve formatting.
> 

I will remove it in V2.

> > +  The Realtek ISO System Controller is a register area that contains
> > + miscellaneous system registers for the SoC and serves as a parent
> > + node  for other functions.
> > +
> > +maintainers:
> > +  - James Tai <james.tai@realtek.com>
> > +  - Yu-Chun Lin <eleanor.lin@realtek.com>
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - enum:
> > +          - realtek,iso-system
> 
> No clue what is "iso system", neither commit msg, nor title nor description
> explain me that. Please add first bindings for the iso soc or if this is not soc,
> then use only soc-specific compatibles (see writing bindings doc).
> 

I will rename 'realtek,misc' for clarity.

> > +      - const: syscon
> > +      - const: simple-mfd
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  ranges:
> > +    maxItems: 1
> > +
> > +  '#address-cells':
> > +    const: 1
> > +
> > +  '#size-cells':
> > +    const: 1
> > +
> > +  reg-io-width:
> > +    const: 4
> > +
> > +patternProperties:
> > +  "^.*@[0-9a-f]+$":
> > +    type: object
> > +    description: Catch-all for other sub-devices in the ISO area.
> 
> Nope, sorry. Define exact children. All of them.
> 

Got it. I will explicitly define child for V2.

> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - ranges
> > +  - '#address-cells'
> > +  - '#size-cells'
> > +  - reg-io-width
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    iso: syscon@7000 {
> 
> Drop label.
> 

I will remove it in V2.

> > +        compatible = "realtek,iso-system", "syscon", "simple-mfd";
> > +        reg = <0x7000 0x1000>;
> > +        ranges = <0x0 0x7000 0x1000>;
> > +        reg-io-width = <4>;
> > +        #address-cells = <1>;
> > +        #size-cells = <1>;
> 
> No children here, so drop simple-mfd and all these fake child stuff.
>
I will show its child in example in V2.
> 
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees
  2025-11-05 11:04   ` Krzysztof Kozlowski
@ 2025-11-11 12:25     ` Eleanor Lin [林祐君]
  2025-11-13 19:40       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: Eleanor Lin [林祐君] @ 2025-11-11 12:25 UTC (permalink / raw)
  To: Krzysztof Kozlowski, afaerber@suse.de, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, lee@kernel.org,
	James Tai [戴志峰]
  Cc: linux-arm-kernel@lists.infradead.org,
	linux-realtek-soc@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, CY_Huang[黃鉦晏],
	Stanley Chang[昌育德]

> On 05/11/2025 11:44, Yu-Chun Lin wrote:
> > Add Device Tree hierarchy for Realtek Kent SoC family:
> >
> > - kent.dtsi: base SoC layer
> > - rtd<variant>.dtsi: SoC variant layer
> > - rtd<variant>-<board>.dtsi: board layer
> > - rtd<variant>-<board>-<config>.dts: board configuration layer
> >
> > Include RTD1501S Phantom EVB (8GB), RTD1861B Krypton EVB (8GB), and
> > RTD1920S Smallville EVB (4GB).
> >
> > Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> > ---
> >  arch/arm64/boot/dts/realtek/Makefile          |   5 +
> >  arch/arm64/boot/dts/realtek/kent.dtsi         | 179
> ++++++++++++++++++
> >  arch/arm64/boot/dts/realtek/rtd1501.dtsi      |  13 ++
> >  .../boot/dts/realtek/rtd1501s-phantom-8gb.dts |  26 +++
> >  .../boot/dts/realtek/rtd1501s-phantom.dtsi    | 135 +++++++++++++
> >  arch/arm64/boot/dts/realtek/rtd1861.dtsi      |  13 ++
> >  .../boot/dts/realtek/rtd1861b-krypton-8gb.dts |  26 +++
> >  .../boot/dts/realtek/rtd1861b-krypton.dtsi    |  79 ++++++++
> >  arch/arm64/boot/dts/realtek/rtd1920.dtsi      |  13 ++
> >  .../dts/realtek/rtd1920s-smallville-4gb.dts   |  24 +++
> >  .../boot/dts/realtek/rtd1920s-smallville.dtsi | 145 ++++++++++++++
> >  11 files changed, 658 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/realtek/kent.dtsi
> >  create mode 100644 arch/arm64/boot/dts/realtek/rtd1501.dtsi
> >  create mode 100644
> > arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> >  create mode 100644 arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> >  create mode 100644 arch/arm64/boot/dts/realtek/rtd1861.dtsi
> >  create mode 100644
> > arch/arm64/boot/dts/realtek/rtd1861b-krypton-8gb.dts
> >  create mode 100644 arch/arm64/boot/dts/realtek/rtd1861b-krypton.dtsi
> >  create mode 100644 arch/arm64/boot/dts/realtek/rtd1920.dtsi
> >  create mode 100644
> > arch/arm64/boot/dts/realtek/rtd1920s-smallville-4gb.dts
> >  create mode 100644
> > arch/arm64/boot/dts/realtek/rtd1920s-smallville.dtsi
> >
> > diff --git a/arch/arm64/boot/dts/realtek/Makefile
> > b/arch/arm64/boot/dts/realtek/Makefile
> > index ef8d8fcbaa05..0ef0596681ad 100644
> > --- a/arch/arm64/boot/dts/realtek/Makefile
> > +++ b/arch/arm64/boot/dts/realtek/Makefile
> > @@ -13,3 +13,8 @@ dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-bpi-m4.dtb
> >  dtb-$(CONFIG_ARCH_REALTEK) += rtd1395-lionskin.dtb
> >
> >  dtb-$(CONFIG_ARCH_REALTEK) += rtd1619-mjolnir.dtb
> > +
> > +dtb-$(CONFIG_ARCH_REALTEK) += rtd1501s-phantom-8gb.dtb
> > +dtb-$(CONFIG_ARCH_REALTEK) += rtd1861b-krypton-8gb.dtb
> > +dtb-$(CONFIG_ARCH_REALTEK) += rtd1920s-smallville-4gb.dtb
> 
> Keep things still ordered alphabetically.
>

I will fix it in V2.

> > +
> > diff --git a/arch/arm64/boot/dts/realtek/kent.dtsi
> > b/arch/arm64/boot/dts/realtek/kent.dtsi
> > new file mode 100644
> > index 000000000000..6af3efa0bda4
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/realtek/kent.dtsi
> > @@ -0,0 +1,179 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> > +/*
> > + * Realtek Kent SoC family
> > + *
> > + * Copyright (c) 2024 Realtek Semiconductor Corp.
> > + */
> > +
> > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > +#include <dt-bindings/interrupt-controller/irq.h>
> > +
> > +/ {
> > +     interrupt-parent = <&gic>;
> > +     #address-cells = <2>;
> > +     #size-cells = <2>;
> > +
> > +     aliases {
> > +             serial0 = &uart0;
> > +     };
> > +
> > +     arch_timer: arch-timer {
> 
> Node names should be generic. See also an explanation and list of examples
> (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-
> basics.html#generic-names-recommendation
> If you cannot find a name matching your device, please check in kernel
> sources for similar cases or you can grow the spec (via pull request to DT spec
> repo).
>

"arch_timer" will be renamed "timer".

> > +             compatible = "arm,armv8-timer";
> > +             interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
> > +                          <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
> > +                          <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
> > +                          <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
> > +                          <GIC_PPI  9 IRQ_TYPE_LEVEL_HIGH>;
> > +     };
> > +
> > +     cpus {
> > +             #address-cells = <1>;
> > +             #size-cells = <0>;
> > +
> > +             cpu0: cpu@0 {
> > +                     device_type = "cpu";
> > +                     compatible = "arm,cortex-a78";
> > +                     reg = <0x0>;
> > +                     enable-method = "psci";
> > +                     next-level-cache = <&l2_0>;
> > +                     dynamic-power-coefficient = <454>;
> > +                     #cooling-cells = <2>;
> > +
> > +                     l2_0: l2-cache {
> > +                             compatible = "cache";
> > +                             cache-level = <2>;
> > +                             cache-line-size = <64>;
> > +                             cache-sets = <256>;
> > +                             cache-size = <0x40000>;
> > +                             cache-unified;
> > +                             next-level-cache = <&l3>;
> > +                     };
> > +             };
> > +
> > +             cpu1: cpu@100 {
> > +                     device_type = "cpu";
> > +                     compatible = "arm,cortex-a78";
> > +                     reg = <0x100>;
> > +                     enable-method = "psci";
> > +                     next-level-cache = <&l2_1>;
> > +                     dynamic-power-coefficient = <454>;
> > +                     #cooling-cells = <2>;
> > +
> > +                     l2_1: l2-cache {
> > +                             compatible = "cache";
> > +                             cache-level = <2>;
> > +                             cache-line-size = <64>;
> > +                             cache-sets = <256>;
> > +                             cache-size = <0x40000>;
> > +                             cache-unified;
> > +                             next-level-cache = <&l3>;
> > +                     };
> > +             };
> > +
> > +             cpu2: cpu@200 {
> > +                     device_type = "cpu";
> > +                     compatible = "arm,cortex-a78";
> > +                     reg = <0x200>;
> > +                     enable-method = "psci";
> > +                     next-level-cache = <&l2_2>;
> > +                     dynamic-power-coefficient = <454>;
> > +                     #cooling-cells = <2>;
> > +
> > +                     l2_2: l2-cache {
> > +                             compatible = "cache";
> > +                             cache-level = <2>;
> > +                             cache-line-size = <64>;
> > +                             cache-sets = <256>;
> > +                             cache-size = <0x40000>;
> > +                             cache-unified;
> > +                             next-level-cache = <&l3>;
> > +                     };
> > +             };
> > +
> > +             cpu3: cpu@300 {
> > +                     device_type = "cpu";
> > +                     compatible = "arm,cortex-a78";
> > +                     reg = <0x300>;
> > +                     enable-method = "psci";
> > +                     next-level-cache = <&l2_3>;
> > +                     dynamic-power-coefficient = <454>;
> > +                     #cooling-cells = <2>;
> > +
> > +                     l2_3: l2-cache {
> > +                             compatible = "cache";
> > +                             cache-level = <2>;
> > +                             cache-line-size = <64>;
> > +                             cache-sets = <256>;
> > +                             cache-size = <0x40000>;
> > +                             cache-unified;
> > +                             next-level-cache = <&l3>;
> > +                     };
> > +             };
> > +
> > +             l3: l3-cache {
> > +                     compatible = "cache";
> > +                     cache-level = <3>;
> > +                     cache-line-size = <64>;
> > +                     cache-sets = <512>;
> > +                     cache-size = <0x00200000>;
> > +                     cache-unified;
> > +             };
> > +     };
> > +
> > +     psci: psci {
> > +             compatible = "arm,psci-1.0";
> > +             method = "smc";
> > +     };
> > +
> > +     soc@0 {
> > +             compatible = "simple-bus";
> > +             #address-cells = <1>;
> > +             #size-cells = <1>;
> > +             ranges = <0x00000000 0x00000000 0x00000000
> 0x00040000>, /* boot code */
> > +                      <0x98000000 0x00000000 0x98000000
> 0x00ef0000>, /* reg-bus */
> > +                      <0xa0000000 0x00000000 0xa0000000
> 0x10000000>, /* PCIE */
> > +                      <0xff000000 0x00000000 0xff000000
> 0x00200000>;
> > + /* GIC */
> > +
> > +             rbus: reg-bus@98000000 {
> 
> Node names should be generic. See also an explanation and list of examples
> (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-
> basics.html#generic-names-recommendation
> If you cannot find a name matching your device, please check in kernel
> sources for similar cases or you can grow the spec (via pull request to DT spec
> repo).
> 

"reg-bus" will be renamed "bus".

> 
> > +                     compatible = "simple-bus";
> > +                     reg = <0x98000000 0x00ef0000>;
> 
> This means it is not a simple-bus.

I accidentally exposed the "reg". Will remove it in V2.

> > +                     #address-cells = <1>;
> > +                     #size-cells = <1>;
> > +                     ranges = <0x00000000 0x98000000 0x00ef0000>,
> > +                              <0xa0000000 0xa0000000
> 0x10000000>; /*
> > + PCIE */
> > +
> > +                     iso: syscon@7000 {
> > +                             compatible = "realtek,iso-system",
> "syscon", "simple-mfd";
> > +                             reg = <0x7000 0x1000>;
> > +                             #address-cells = <1>;
> > +                             #size-cells = <1>;
> > +                             ranges = <0x0 0x7000 0x1000>;
> 
> Please follow DTS coding style.

Will put "ranges" after "compatible" and "reg".

> > +                             reg-io-width = <4>;
> No children. You must post complete picture here.
> 
> > +                     };
> > +             };
> > +
> > +             gic: interrupt-controller@ff100000 {
> > +                     compatible = "arm,gic-v3";
> > +                     reg = <0xff100000 0x10000>,
> > +                           <0xff140000 0x80000>;
> > +                     interrupt-controller;
> > +                     interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
> > +                     #address-cells = <1>;
> > +                     #interrupt-cells = <3>;
> > +                     #size-cells = <1>;
> > +             };
> > +     };
> > +};
> > +
> > +&iso {
> 
> What are you overriding? There is no inclusion of other DTSI here.
> 

I will fix it and move the content directly into the "iso" node.

> > +     uart0: serial@800 {
> > +             compatible = "snps,dw-apb-uart";
> > +             reg = <0x800 0x100>;
> > +             clock-frequency = <432000000>;
> > +             interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
> > +             reg-io-width = <4>;
> > +             reg-shift = <2>;
> > +             status = "disabled";
> > +     };
> > +};
> > +
> > diff --git a/arch/arm64/boot/dts/realtek/rtd1501.dtsi
> > b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
> > new file mode 100644
> > index 000000000000..1df5d9843505
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/realtek/rtd1501.dtsi
> > @@ -0,0 +1,13 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> > +/*
> > + * Realtek RTD1501 SoC
> > + *
> > + * Copyright (c) 2024 Realtek Semiconductor Corp.
> > + */
> > +
> > +#include "kent.dtsi"
> > +
> > +&uart0 {
> > +     status = "okay";
> > +};
> > +
> > diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> > b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> > new file mode 100644
> > index 000000000000..b0e03f3731e2
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom-8gb.dts
> > @@ -0,0 +1,26 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> > +/*
> > + * Realtek RTD1501S Phantom EVB
> > + *
> > + * Copyright (c) 2024 Realtek Semiconductor Corp.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "rtd1501s-phantom.dtsi"
> > +
> > +/ {
> > +     compatible = "realtek,phantom", "realtek,rtd1501s";
> > +     model = "Realtek Phantom EVB Chromium (8GB)";
> > +
> > +     memory: memory@40000 {
> 
> Drop unused label.
> 

I will fix it in V2.

> > +             device_type = "memory";
> > +             reg = <0x00000000 0x00050000 0x00000000 0x7ffb0000>,
> 
> 0x0, don't inflate this.
> 
> > +                   <0x00000000 0x8a100000 0x00000000
> 0x0def0000>,
> > +                   <0x00000000 0x98700000 0x00000000
> 0x07900000>,
> > +                   <0x00000000 0xa0600000 0x00000000
> 0x5ea00000>,
> > +                   <0x00000001 0x00000000 0x00000000
> 0xa0000000>,
> 
> <0x1 0x00000000 0x0 0xa0000000>,
> 
> > +                   <0x00000001 0xa0600000 0x00000000
> 0x5fa00000>;
> > +     };
> > +};
> > +
> > diff --git a/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> > b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> > new file mode 100644
> > index 000000000000..bf1e499addf9
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/realtek/rtd1501s-phantom.dtsi
> > @@ -0,0 +1,135 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> > +/*
> > + * Realtek RTD1501S Phantom EVB
> > + *
> > + * Copyright (c) 2024 Realtek Semiconductor Corp.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include <dt-bindings/thermal/thermal.h> #include "rtd1501.dtsi"
> > +
> > +/ {
> > +     chosen {
> > +             bootargs = "earlycon=uart8250,mmio32,0x98007800
> > +                         console=ttyS0,460800 8250.nr_uarts=2
> init=/init
> > +                         loglevel=8 max_loop=64 loop.max_part=7
> > +
> > +firmware_class.path=/vendor/firmware/,/vendor/av_fw";
> 
> NAK, drop all bootargs. None of above are suitable for mainline. Don't post all
> this android or custom initramfs stuff.
>

I will remove all custom bootargs and keep only 'earlycon=uart8250,mmio32,0x98007800'.

> > +             stdout-path = "serial0:460800n8";
> 
> And you already even have here console!
>
> 
> > +     };
> > +
> > +     reserved_memory: reserved-memory {
> > +             #address-cells = <2>;
> > +             #size-cells = <2>;
> > +             ranges;
> > +
> > +             linux,cma {
> > +                     compatible = "shared-dma-pool";
> > +                     alignment = <0x0 0x00400000>;
> > +                     alloc-ranges = <0x0 0x00000000 0x0
> 0x20000000>;
> > +                     size = <0x0 0x02000000>;
> > +                     reusable;
> > +                     linux,cma-default;
> > +             };
> > +     };
> > +
> > +     cpu_opps: opp-table-cpu {
> > +             compatible = "operating-points-v2";
> > +             opp-shared;
> > +
> > +             opp800: opp-800000000 {
> > +                     opp-hz = /bits/ 64 <800000000>;
> > +                     opp-microvolt = <830000 830000 1100000>;
> > +                     status = "okay";
> 
> Why? Where did you disable it?

You're right, I'll remove the 'status = "okay";' entry.

> 
> ...
> 
> Best regards,
> Krzysztof

Thank you for all your detailed replies and patience.
Yu-Chun

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-05 12:30   ` Rob Herring (Arm)
@ 2025-11-11 12:29     ` Eleanor Lin [林祐君]
  0 siblings, 0 replies; 12+ messages in thread
From: Eleanor Lin [林祐君] @ 2025-11-11 12:29 UTC (permalink / raw)
  To: Rob Herring (Arm)
  Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	conor+dt@kernel.org, CY_Huang[黃鉦晏],
	afaerber@suse.de, linux-arm-kernel@lists.infradead.org,
	James Tai [戴志峰],
	linux-realtek-soc@lists.infradead.org,
	Stanley Chang[昌育德], krzk+dt@kernel.org,
	lee@kernel.org

> 
> On Wed, 05 Nov 2025 18:44:51 +0800, Yu-Chun Lin wrote:
> > Add DT binding schema for Realtek system controller.
> >
> > Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
> > ---
> >  .../bindings/mfd/realtek,iso-system.yaml      | 65
> +++++++++++++++++++
> >  1 file changed, 65 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
> >
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/arm/realtek.yaml:76:1: [warning] too
> many blank lines (2 > 1) (empty-lines)
> 
> dtschema/dtc warnings/errors:
> 
> doc reference errors (make refcheckdocs):
> 
> See
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202511051044
> 52.6336-3-eleanor.lin@realtek.com
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above error(s),
> then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.

Thanks. I will fix it in v2.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees
  2025-11-11 12:25     ` Eleanor Lin [林祐君]
@ 2025-11-13 19:40       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-13 19:40 UTC (permalink / raw)
  To: Eleanor Lin [林祐君], afaerber@suse.de,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	lee@kernel.org, James Tai [戴志峰]
  Cc: linux-arm-kernel@lists.infradead.org,
	linux-realtek-soc@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, CY_Huang[黃鉦晏],
	Stanley Chang[昌育德]

On 11/11/2025 13:25, Eleanor Lin [林祐君] wrote:
>>> +
>>> +#include <dt-bindings/thermal/thermal.h> #include "rtd1501.dtsi"
>>> +
>>> +/ {
>>> +     chosen {
>>> +             bootargs = "earlycon=uart8250,mmio32,0x98007800
>>> +                         console=ttyS0,460800 8250.nr_uarts=2
>> init=/init
>>> +                         loglevel=8 max_loop=64 loop.max_part=7
>>> +
>>> +firmware_class.path=/vendor/firmware/,/vendor/av_fw";
>>
>> NAK, drop all bootargs. None of above are suitable for mainline. Don't post all
>> this android or custom initramfs stuff.
>>
> 
> I will remove all custom bootargs and keep only 'earlycon=uart8250,mmio32,0x98007800'.
> 


Not really, that's debugging not mainline use.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller
  2025-11-11 12:19     ` Eleanor Lin [林祐君]
@ 2025-11-13 19:41       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-13 19:41 UTC (permalink / raw)
  To: Eleanor Lin [林祐君], afaerber@suse.de,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	lee@kernel.org, James Tai [戴志峰]
  Cc: linux-arm-kernel@lists.infradead.org,
	linux-realtek-soc@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, CY_Huang[黃鉦晏],
	Stanley Chang[昌育德]

On 11/11/2025 13:19, Eleanor Lin [林祐君] wrote:
> Hi Krzysztof,
> 
> Sorry for the delay in responding to you.
> 
>> On 05/11/2025 11:44, Yu-Chun Lin wrote:
>>> Add DT binding schema for Realtek system controller.
>>>
>>> Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
>>> ---
>>>  .../bindings/mfd/realtek,iso-system.yaml      | 65
>> +++++++++++++++++++
>>>  1 file changed, 65 insertions(+)
>>>  create mode 100644
>>> Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
>>> b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
>>> new file mode 100644
>>> index 000000000000..6fbdedd3ee5b
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mfd/realtek,iso-system.yaml
>>> @@ -0,0 +1,65 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/mfd/realtek,iso-system.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Realtek ISO System Controller
>>> +
>>> +description: |
>>
>>
>> Do not need '|' unless you need to preserve formatting.
>>
> 
> I will remove it in V2.
> 
>>> +  The Realtek ISO System Controller is a register area that contains
>>> + miscellaneous system registers for the SoC and serves as a parent
>>> + node  for other functions.
>>> +
>>> +maintainers:
>>> +  - James Tai <james.tai@realtek.com>
>>> +  - Yu-Chun Lin <eleanor.lin@realtek.com>
>>> +
>>> +properties:
>>> +  compatible:
>>> +    items:
>>> +      - enum:
>>> +          - realtek,iso-system
>>
>> No clue what is "iso system", neither commit msg, nor title nor description
>> explain me that. Please add first bindings for the iso soc or if this is not soc,
>> then use only soc-specific compatibles (see writing bindings doc).
>>
> 
> I will rename 'realtek,misc' for clarity.

How "misc" clarifies a lot? In what way this helps anyone to understand:
1. What is this hardware?
2. What device it is?
3. How do you fulfill requirements from writing-bindings?


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-11-13 19:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-05 10:44 [PATCH 0/3] arm64: dts: Add support for Kent SoC family Yu-Chun Lin
2025-11-05 10:44 ` [PATCH 1/3] dt-bindings: arm: realtek: Add Kent Soc family compatibles Yu-Chun Lin
2025-11-05 10:44 ` [PATCH 2/3] dt-bindings: mfd: Add Realtek ISO system controller Yu-Chun Lin
2025-11-05 10:58   ` Krzysztof Kozlowski
2025-11-11 12:19     ` Eleanor Lin [林祐君]
2025-11-13 19:41       ` Krzysztof Kozlowski
2025-11-05 12:30   ` Rob Herring (Arm)
2025-11-11 12:29     ` Eleanor Lin [林祐君]
2025-11-05 10:44 ` [PATCH 3/3] arm64: dts: realtek: Add Kent SoC and EVB device trees Yu-Chun Lin
2025-11-05 11:04   ` Krzysztof Kozlowski
2025-11-11 12:25     ` Eleanor Lin [林祐君]
2025-11-13 19:40       ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).