Re: [PATCH 3/6] dt-bindings: pinctrl: Add fsl,ls1012a-pinctrl yaml file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 27 Aug 2024, Krzysztof Kozlowski wrote:

On Tue, Aug 27, 2024 at 12:10:44PM +1000, David Leonard wrote:

Add a binding schema and examples for the LS1012A's pinctrl function.

Signed-off-by: David Leonard <David.Leonard@xxxxxxxx>
---

It does not look like you tested the bindings, at least after quick
look. Please run  (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint.

I've since updated tools (dt-valdate 2024.5 and yamllint 1.33.0) and
rebased onto v6.11-rc1.

--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/fsl,ls1012a-pinctrl.yaml
@@ -0,0 +1,83 @@

+description: >

Drop >

+  Bindings for LS1012A pinmux control.

Drop "Bindings for" and explain the hardware.

Changed to

 description:
   The LS1012A pinmux controller can override the RCW and
   alter some pin groups' functions in a limited way.

+
+properties:
+  compatible:
+    const: fsl,ls1012a-pinctrl
+
+  reg:
+    description: Specifies the base address of the PMUXCR0 register.
+    maxItems: 2

Instead list and describe the items.

Changed to

   reg:
     items:
       - description: Physical base address of the PMUXCR0 register.
       - description: Size of the PMUXCR0 register (4).

Is this what you meant?

+
+  big-endian:
+    description: If present, the PMUXCR0 register is implemented in big-endian.

Why is this here? Either it is or it is not?

You're right. Changed to

   big-endian: true

(This also lead to some code simplification)

+    type: boolean
+
+  dcfg-regmap:

Missing vendor prefix.

Will use "fsl,"

+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      The phandle of the syscon node for the DCFG registers.

Instead explain what it is needed it for, how is it used.

Changed to

   fsl,dcfg-regmap:
     $ref: /schemas/types.yaml#/definitions/phandle
     description:
       The phandle of the syscon node for the DCFG registers
       providing the RCW's pin configuration that is in effect when
       the pinmux controller is disabled.

+
+patternProperties:
+  '^pinctrl-':

Rather -pins$ or ^pins-

Changed to ^pins-  See example at the end.

+allOf:
+  - $ref: pinctrl.yaml#

Thies goes after required.

+
+required:
+  - compatible
+  - reg

Relocated

+additionalProperties: false
+
+examples:
+  - |
+    pinctrl: pinctrl@1570430 {
+        compatible = "fsl,ls1012a-pinctrl";
+        reg = <0x0 0x1570430 0x0 0x4>;
+        big-endian;
+        dcfg-regmap = <&dcfg>;
+        pinctrl_qspi_1: pinctrl-qspi-1 {
+            groups = "qspi_1_grp";
+            function = "spi";
+        };
+        pinctrl_qspi_2: pinctrl-qspi-2 {
+            groups = "qspi_1_grp", "qspi_2_grp";
+            function = "spi";
+        };
+        pinctrl_qspi_4: pinctrl-qspi-4 {
+            groups = "qspi_1_grp", "qspi_2_grp", "qspi_3_grp";
+            function = "spi";
+        };
+    };
+  - |
+    qspi: quadspi@1550000 {

Drop, useless and not related.

Dropped the qspi example. Examples are now

  examples:
    - |
      pinctrl: pinctrl@1570430 {
	  compatible = "fsl,ls1012a-pinctrl";
	  reg = <0x0 0x1570430 0x0 0x4>;
	  big-endian;
	  fsl,dcfg-regmap = <&dcfg>;
	  pinctrl_qspi_1: pins-qspi-1 { /* buswidth 1 */
	      groups = "qspi_1_grp";
	      function = "spi";
	  };
	  pinctrl_qspi_2: pins-qspi-2 { /* buswidth 2 */
	      groups = "qspi_1_grp", "qspi_2_grp";
	      function = "spi";
	  };
	  pinctrl_qspi_4: pins-qspi-4 { /* buswidth 4 */
	      groups = "qspi_1_grp", "qspi_2_grp", "qspi_3_grp";
	      function = "spi";
	  };
      };


Thanks,

David




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux