Commit caf963ef authored by Rob Herring's avatar Rob Herring Committed by Linus Walleij
Browse files

dt-bindings: pinctrl: brcm: Ensure all child node properties are documented



The Broadcom pinctrl bindings are incomplete for child nodes as they are
missing 'unevaluatedProperties: false' to prevent unknown properties.
Fixing this reveals many warnings including having grandchild nodes in some
cases. Many cases in the examples use 'group' property which is
undocumented and not used by the driver. As the schemas define 'pins', I
assume that is the correct name except for the one case, 6358, using
'groups' which is documented.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231020185203.3941590-2-robh@kernel.org


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 593bcf68
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -148,47 +148,47 @@ examples:

        pinctrl_nand: nand-pins {
          function = "nand";
          group = "nand_grp";
          pins = "nand_grp";
        };

        pinctrl_gpio35_alt: gpio35_alt-pins {
          function = "gpio35_alt";
          pin = "gpio35";
          pins = "gpio35";
        };

        pinctrl_dectpd: dectpd-pins {
          function = "dectpd";
          group = "dectpd_grp";
          pins = "dectpd_grp";
        };

        pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins {
          function = "vdsl_phy_override_0";
          group = "vdsl_phy_override_0_grp";
          pins = "vdsl_phy_override_0_grp";
        };

        pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins {
          function = "vdsl_phy_override_1";
          group = "vdsl_phy_override_1_grp";
          pins = "vdsl_phy_override_1_grp";
        };

        pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins {
          function = "vdsl_phy_override_2";
          group = "vdsl_phy_override_2_grp";
          pins = "vdsl_phy_override_2_grp";
        };

        pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins {
          function = "vdsl_phy_override_3";
          group = "vdsl_phy_override_3_grp";
          pins = "vdsl_phy_override_3_grp";
        };

        pinctrl_dsl_gpio8: dsl_gpio8-pins {
          function = "dsl_gpio8";
          group = "dsl_gpio8";
          pins = "dsl_gpio8";
        };

        pinctrl_dsl_gpio9: dsl_gpio9-pins {
          function = "dsl_gpio9";
          group = "dsl_gpio9";
          pins = "dsl_gpio9";
        };
      };
    };
+1 −1
Original line number Diff line number Diff line
@@ -230,7 +230,7 @@ examples:

        pinctrl_nand: nand-pins {
          function = "nand";
          group = "nand_grp";
          pins = "nand_grp";
        };
      };
    };
+1 −1
Original line number Diff line number Diff line
@@ -240,7 +240,7 @@ examples:

        pinctrl_uart1: uart1-pins {
          function = "uart1";
          group = "uart1_grp";
          pins = "uart1_grp";
        };
      };
    };
+5 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ patternProperties:
  '-pins$':
    type: object
    $ref: pinmux-node.yaml#
    additionalProperties: false

    properties:
      function:
@@ -37,6 +38,10 @@ patternProperties:
        enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
                gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ]

    patternProperties:
      '-pins$':
        $ref: '#/patternProperties/-pins$'

allOf:
  - $ref: pinctrl.yaml#

+15 −10
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ patternProperties:
  '-pins$':
    type: object
    $ref: pinmux-node.yaml#
    unevaluatedProperties: false

    properties:
      function:
@@ -36,11 +37,15 @@ patternProperties:

      pins:
        enum: [ gpio0, gpio1, gpio16, gpio17, gpio8, gpio9, gpio18, gpio19,
                gpio22, gpio23, gpio30, gpio31, nand_grp, gpio35
                gpio22, gpio23, gpio30, gpio31, nand_grp, gpio35,
                dectpd_grp, vdsl_phy_override_0_grp,
                vdsl_phy_override_1_grp, vdsl_phy_override_2_grp,
                vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ]

    patternProperties:
      '-pins$':
        $ref: '#/patternProperties/-pins$'

allOf:
  - $ref: pinctrl.yaml#

@@ -122,46 +127,46 @@ examples:

      pinctrl_nand: nand-pins {
        function = "nand";
        group = "nand_grp";
        pins = "nand_grp";
      };

      pinctrl_gpio35_alt: gpio35_alt-pins {
        function = "gpio35_alt";
        pin = "gpio35";
        pins = "gpio35";
      };

      pinctrl_dectpd: dectpd-pins {
        function = "dectpd";
        group = "dectpd_grp";
        pins = "dectpd_grp";
      };

      pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins {
        function = "vdsl_phy_override_0";
        group = "vdsl_phy_override_0_grp";
        pins = "vdsl_phy_override_0_grp";
      };

      pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins {
        function = "vdsl_phy_override_1";
        group = "vdsl_phy_override_1_grp";
        pins = "vdsl_phy_override_1_grp";
      };

      pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins {
        function = "vdsl_phy_override_2";
        group = "vdsl_phy_override_2_grp";
        pins = "vdsl_phy_override_2_grp";
      };

      pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins {
        function = "vdsl_phy_override_3";
        group = "vdsl_phy_override_3_grp";
        pins = "vdsl_phy_override_3_grp";
      };

      pinctrl_dsl_gpio8: dsl_gpio8-pins {
        function = "dsl_gpio8";
        group = "dsl_gpio8";
        pins = "dsl_gpio8";
      };

      pinctrl_dsl_gpio9: dsl_gpio9-pins {
        function = "dsl_gpio9";
        group = "dsl_gpio9";
        pins = "dsl_gpio9";
      };
    };
Loading