Skip to contentSkip to conversation

dt-bindings: xilinx: Add missing firmware child nodes

PATCH In review Michal Simek 2 participants 8 messages Dec 21, 2023 – Jan 22, 2024

Subsystems (3)
lore
Share & tools
lore

Michal Simek

author maintainer
#0 lore raw

v3 cover dt-bindings: xilinx: Add missing firmware child nodes

Hi,

series is converting missing descriptions for child nodes and also synchronizing name for power-management discussed with Krzysztof in v1 version available here.
https://lore.kernel.org/r/[email protected]

Thanks,
Michal

Changes in v3:
- s/power-controller/power-management/g
- extend example
- s/power-controller/power-management/g
- align commit message
- s/power-controller/power-management/g
- update subject and commit message to match sed above

Changes in v2:
- Sort nodes by name
- Rename zynqmp-power to power-controller
- Keep only single patch for easier handling as done in v1
- New patch in series
- New patch is series
- New patch is series

Michal Simek (4):
dt-bindings: firmware: xilinx: Describe missing child nodes
dt-bindings: firmware: xilinx: Sort node names (clock-controller)
dt-bindings: power: reset: xilinx: Rename node names in examples
arm64: zynqmp: Rename zynqmp-power node to power-management

 .../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 68 ++++++++++++++++---
 .../power/reset/xlnx,zynqmp-power.yaml        |  4 +-
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi        |  2 +-
 3 files changed, 62 insertions(+), 12 deletions(-)
Signature · 1 line
2.36.1
author maintainer
#1 lore raw

PATCH v3 1/4 dt-bindings: firmware: xilinx: Describe missing child nodes

Firmware node has more than fpga, aes and clock child nodes but also power, reset, gpio, pinctrl and pcap which are not described yet.
All of them have binding in separate files but there is missing connection to firmware node that's why describe it.

---

Changes in v3:
- s/power-controller/power-management/g
- extend example

Changes in v2:
- Sort nodes by name
- Rename zynqmp-power to power-controller
- Keep only single patch for easier handling as done in v1

 .../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 50 +++++++++++++++++++
 1 file changed, 50 insertions(+)
Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml +50 -0
index 98945220c33c..884917edb19d 100644
@@ -41,6 +41,37 @@ properties:
   "#power-domain-cells":
     const: 1
 
+  gpio:
+    $ref: /schemas/gpio/xlnx,zynqmp-gpio-modepin.yaml#
+    description: The gpio node describes connect to PS_MODE pins via firmware
+      interface.
+    type: object
+
+  pcap:
+    $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
+    description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
+      configure the Programmable Logic (PL). The configuration uses the
+      firmware interface.
+    type: object
+
+  pinctrl:
+    $ref: /schemas/pinctrl/xlnx,zynqmp-pinctrl.yaml#
+    description: The pinctrl node provides access to pinconfig and pincontrol
+      functionality available in firmware.
+    type: object
+
+  power-management:
+    $ref: /schemas/power/reset/xlnx,zynqmp-power.yaml#
+    description: The zynqmp-power node describes the power management
+      configurations. It will control remote suspend/shutdown interfaces.
+    type: object
+
+  reset-controller:
+    $ref: /schemas/reset/xlnx,zynqmp-reset.yaml#
+    description: The reset-controller node describes connection to the reset
+      functionality via firmware interface.
+    type: object
+
   versal-fpga:
     $ref: /schemas/fpga/xlnx,versal-fpga.yaml#
     description: Compatible of the FPGA device.
@@ -73,7 +104,26 @@ examples:
     firmware {
       zynqmp_firmware: zynqmp-firmware {
         #power-domain-cells = <1>;
+        gpio {
+          compatible = "xlnx,zynqmp-gpio-modepin";
+          gpio-controller;
+          #gpio-cells = <2>;
+        };
+        pcap {
+          compatible = "xlnx,zynqmp-pcap-fpga";
+        };
+        pinctrl {
+          compatible = "xlnx,zynqmp-pinctrl";
         };
+        power-management {
+          compatible = "xlnx,zynqmp-power";
+          interrupts = <0 35 4>;
+        };
+        reset-controller {
+          compatible = "xlnx,zynqmp-reset";
+          #reset-cells = <1>;
+        };
+      };
     };
 
     sata {
Signature · 1 line
2.36.1
Reviewed-by on v3 1/4
#2 lore raw

Re: [PATCH v3 1/4] dt-bindings: firmware: xilinx: Describe missing child nodes

Quoted 6 lines · Michal Simek

Firmware node has more than fpga, aes and clock child nodes but also power, reset, gpio, pinctrl and pcap which are not described yet.
All of them have binding in separate files but there is missing connection to firmware node that's why describe it.

Best regards,
Krzysztof

author maintainer
#3 lore raw

PATCH v3 2/4 dt-bindings: firmware: xilinx: Sort node names (clock-controller)

In reply to Michal Simek

Nodes should be sorted that's why move clock-controller to the top of list.

---

(no changes since v2)

Changes in v2:
- New patch in series

 .../firmware/xilinx/xlnx,zynqmp-firmware.yaml  | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml +9 -9
index 884917edb19d..51dc4e3afd25 100644
@@ -41,6 +41,15 @@ properties:
   "#power-domain-cells":
     const: 1
 
+  clock-controller:
+    $ref: /schemas/clock/xlnx,versal-clk.yaml#
+    description: The clock controller is a hardware block of Xilinx versal
+      clock tree. It reads required input clock frequencies from the devicetree
+      and acts as clock provider for all clock consumers of PS clocks.list of
+      clock specifiers which are external input clocks to the given clock
+      controller.
+    type: object
+
   gpio:
     $ref: /schemas/gpio/xlnx,zynqmp-gpio-modepin.yaml#
     description: The gpio node describes connect to PS_MODE pins via firmware
@@ -84,15 +93,6 @@ properties:
       vector.
     type: object
 
-  clock-controller:
-    $ref: /schemas/clock/xlnx,versal-clk.yaml#
-    description: The clock controller is a hardware block of Xilinx versal
-      clock tree. It reads required input clock frequencies from the devicetree
-      and acts as clock provider for all clock consumers of PS clocks.list of
-      clock specifiers which are external input clocks to the given clock
-      controller.
-    type: object
-
 required:
   - compatible
 
Signature · 1 line
2.36.1
author maintainer
#4 lore raw

PATCH v3 3/4 dt-bindings: power: reset: xilinx: Rename node names in examples

In reply to Michal Simek

Rename zynqmp-power node name to power-management which is more aligned with generic node name recommendation.

---

Changes in v3:
- s/power-controller/power-management/g
- align commit message

Changes in v2:
- New patch is series

 .../devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml +2 -2
index 45792e216981..799831636194 100644
@@ -57,7 +57,7 @@ examples:
 
     firmware {
       zynqmp-firmware {
-        zynqmp-power {
+        power-management {
           compatible = "xlnx,zynqmp-power";
           interrupts = <0 35 4>;
         };
@@ -70,7 +70,7 @@ examples:
 
     firmware {
       zynqmp-firmware {
-        zynqmp-power {
+        power-management {
           compatible = "xlnx,zynqmp-power";
           interrupt-parent = <&gic>;
           interrupts = <0 35 4>;
Signature · 1 line
2.36.1
author maintainer
#6 lore raw

PATCH v3 4/4 arm64: zynqmp: Rename zynqmp-power node to power-management

In reply to Michal Simek

Rename zynqmp-power node name to power-management which is more aligned with generic node name recommendation.

---

Changes in v3:
- s/power-controller/power-management/g
- update subject and commit message to match sed above

Changes in v2:
- New patch is series

 arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1 -1
index eaba466804bc..ea1a9ba16246 100644
@@ -186,7 +186,7 @@ zynqmp_firmware: zynqmp-firmware {
 			method = "smc";
 			bootph-all;
 
-			zynqmp_power: zynqmp-power {
+			zynqmp_power: power-management {
 				bootph-all;
 				compatible = "xlnx,zynqmp-power";
 				interrupt-parent = <&gic>;
Signature · 1 line
2.36.1
author maintainer
#7 lore raw
In reply to Michal Simek
Quoted 32 lines · Michal Simek

Hi,

series is converting missing descriptions for child nodes and also synchronizing name for power-management discussed with Krzysztof in v1 version available here.
https://lore.kernel.org/r/[email protected]

Thanks,
Michal

Changes in v3:
- s/power-controller/power-management/g
- extend example
- s/power-controller/power-management/g
- align commit message
- s/power-controller/power-management/g
- update subject and commit message to match sed above

Changes in v2:
- Sort nodes by name
- Rename zynqmp-power to power-controller
- Keep only single patch for easier handling as done in v1
- New patch in series
- New patch is series
- New patch is series

Michal Simek (4):
dt-bindings: firmware: xilinx: Describe missing child nodes
dt-bindings: firmware: xilinx: Sort node names (clock-controller)
dt-bindings: power: reset: xilinx: Rename node names in examples
arm64: zynqmp: Rename zynqmp-power node to power-management

Quoted 5 lines
  .../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 68 ++++++++++++++++---
  .../power/reset/xlnx,zynqmp-power.yaml        |  4 +-
  arch/arm64/boot/dts/xilinx/zynqmp.dtsi        |  2 +-
  3 files changed, 62 insertions(+), 12 deletions(-)

Applied 1,2 and 4.

3 has been applied to v6.8-rc1 already by Sebastian as
97b9b383976e ("dt-bindings: power: reset: xilinx: Rename node names in examples")

Thanks,
Michal