Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231020185203.3941590-2-robh@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Rob Herring and committed by
Linus Walleij
caf963ef 593bcf68

+51 -25
+9 -9
Documentation/devicetree/bindings/mfd/brcm,bcm63268-gpio-sysctl.yaml
··· 148 148 149 149 pinctrl_nand: nand-pins { 150 150 function = "nand"; 151 - group = "nand_grp"; 151 + pins = "nand_grp"; 152 152 }; 153 153 154 154 pinctrl_gpio35_alt: gpio35_alt-pins { 155 155 function = "gpio35_alt"; 156 - pin = "gpio35"; 156 + pins = "gpio35"; 157 157 }; 158 158 159 159 pinctrl_dectpd: dectpd-pins { 160 160 function = "dectpd"; 161 - group = "dectpd_grp"; 161 + pins = "dectpd_grp"; 162 162 }; 163 163 164 164 pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins { 165 165 function = "vdsl_phy_override_0"; 166 - group = "vdsl_phy_override_0_grp"; 166 + pins = "vdsl_phy_override_0_grp"; 167 167 }; 168 168 169 169 pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins { 170 170 function = "vdsl_phy_override_1"; 171 - group = "vdsl_phy_override_1_grp"; 171 + pins = "vdsl_phy_override_1_grp"; 172 172 }; 173 173 174 174 pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins { 175 175 function = "vdsl_phy_override_2"; 176 - group = "vdsl_phy_override_2_grp"; 176 + pins = "vdsl_phy_override_2_grp"; 177 177 }; 178 178 179 179 pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins { 180 180 function = "vdsl_phy_override_3"; 181 - group = "vdsl_phy_override_3_grp"; 181 + pins = "vdsl_phy_override_3_grp"; 182 182 }; 183 183 184 184 pinctrl_dsl_gpio8: dsl_gpio8-pins { 185 185 function = "dsl_gpio8"; 186 - group = "dsl_gpio8"; 186 + pins = "dsl_gpio8"; 187 187 }; 188 188 189 189 pinctrl_dsl_gpio9: dsl_gpio9-pins { 190 190 function = "dsl_gpio9"; 191 - group = "dsl_gpio9"; 191 + pins = "dsl_gpio9"; 192 192 }; 193 193 }; 194 194 };
+1 -1
Documentation/devicetree/bindings/mfd/brcm,bcm6362-gpio-sysctl.yaml
··· 230 230 231 231 pinctrl_nand: nand-pins { 232 232 function = "nand"; 233 - group = "nand_grp"; 233 + pins = "nand_grp"; 234 234 }; 235 235 }; 236 236 };
+1 -1
Documentation/devicetree/bindings/mfd/brcm,bcm6368-gpio-sysctl.yaml
··· 240 240 241 241 pinctrl_uart1: uart1-pins { 242 242 function = "uart1"; 243 - group = "uart1_grp"; 243 + pins = "uart1_grp"; 244 244 }; 245 245 }; 246 246 };
+5
Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + additionalProperties: false 27 28 28 29 properties: 29 30 function: ··· 37 36 pins: 38 37 enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, 39 38 gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ] 39 + 40 + patternProperties: 41 + '-pins$': 42 + $ref: '#/patternProperties/-pins$' 40 43 41 44 allOf: 42 45 - $ref: pinctrl.yaml#
+15 -10
Documentation/devicetree/bindings/pinctrl/brcm,bcm63268-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + unevaluatedProperties: false 27 28 28 29 properties: 29 30 function: ··· 37 36 38 37 pins: 39 38 enum: [ gpio0, gpio1, gpio16, gpio17, gpio8, gpio9, gpio18, gpio19, 40 - gpio22, gpio23, gpio30, gpio31, nand_grp, gpio35 39 + gpio22, gpio23, gpio30, gpio31, nand_grp, gpio35, 41 40 dectpd_grp, vdsl_phy_override_0_grp, 42 41 vdsl_phy_override_1_grp, vdsl_phy_override_2_grp, 43 42 vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ] 43 + 44 + patternProperties: 45 + '-pins$': 46 + $ref: '#/patternProperties/-pins$' 44 47 45 48 allOf: 46 49 - $ref: pinctrl.yaml# ··· 127 122 128 123 pinctrl_nand: nand-pins { 129 124 function = "nand"; 130 - group = "nand_grp"; 125 + pins = "nand_grp"; 131 126 }; 132 127 133 128 pinctrl_gpio35_alt: gpio35_alt-pins { 134 129 function = "gpio35_alt"; 135 - pin = "gpio35"; 130 + pins = "gpio35"; 136 131 }; 137 132 138 133 pinctrl_dectpd: dectpd-pins { 139 134 function = "dectpd"; 140 - group = "dectpd_grp"; 135 + pins = "dectpd_grp"; 141 136 }; 142 137 143 138 pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins { 144 139 function = "vdsl_phy_override_0"; 145 - group = "vdsl_phy_override_0_grp"; 140 + pins = "vdsl_phy_override_0_grp"; 146 141 }; 147 142 148 143 pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins { 149 144 function = "vdsl_phy_override_1"; 150 - group = "vdsl_phy_override_1_grp"; 145 + pins = "vdsl_phy_override_1_grp"; 151 146 }; 152 147 153 148 pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins { 154 149 function = "vdsl_phy_override_2"; 155 - group = "vdsl_phy_override_2_grp"; 150 + pins = "vdsl_phy_override_2_grp"; 156 151 }; 157 152 158 153 pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins { 159 154 function = "vdsl_phy_override_3"; 160 - group = "vdsl_phy_override_3_grp"; 155 + pins = "vdsl_phy_override_3_grp"; 161 156 }; 162 157 163 158 pinctrl_dsl_gpio8: dsl_gpio8-pins { 164 159 function = "dsl_gpio8"; 165 - group = "dsl_gpio8"; 160 + pins = "dsl_gpio8"; 166 161 }; 167 162 168 163 pinctrl_dsl_gpio9: dsl_gpio9-pins { 169 164 function = "dsl_gpio9"; 170 - group = "dsl_gpio9"; 165 + pins = "dsl_gpio9"; 171 166 }; 172 167 };
+5
Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + unevaluatedProperties: false 27 28 28 29 properties: 29 30 function: ··· 36 35 enum: [ gpio6, gpio7, gpio11, gpio16, gpio17, gpio18, gpio19, 37 36 gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1, 38 37 usb_port1 ] 38 + 39 + patternProperties: 40 + '-pins$': 41 + $ref: '#/patternProperties/-pins$' 39 42 40 43 allOf: 41 44 - $ref: pinctrl.yaml#
+3 -2
Documentation/devicetree/bindings/pinctrl/brcm,bcm6358-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + unevaluatedProperties: false 27 28 28 29 properties: 29 30 function: 30 31 enum: [ ebi_cs, uart1, serial_led, legacy_led, led, spi_cs, utopia, 31 32 pwm_syn_clk, sys_irq ] 32 33 33 - pins: 34 + groups: 34 35 enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp, 35 - led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk, sys_irq_grp ] 36 + led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk_grp, sys_irq_grp ] 36 37 37 38 allOf: 38 39 - $ref: pinctrl.yaml#
+6 -1
Documentation/devicetree/bindings/pinctrl/brcm,bcm6362-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + unevaluatedProperties: false 27 28 28 29 properties: 29 30 function: ··· 41 40 gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14, 42 41 gpio15, gpio16, gpio17, gpio18, gpio19, gpio20, gpio21, 43 42 gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, nand_grp ] 43 + 44 + patternProperties: 45 + '-pins$': 46 + $ref: '#/patternProperties/-pins$' 44 47 45 48 allOf: 46 49 - $ref: pinctrl.yaml# ··· 209 204 210 205 pinctrl_nand: nand-pins { 211 206 function = "nand"; 212 - group = "nand_grp"; 207 + pins = "nand_grp"; 213 208 }; 214 209 };
+6 -1
Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml
··· 24 24 '-pins$': 25 25 type: object 26 26 $ref: pinmux-node.yaml# 27 + unevaluatedProperties: false 27 28 28 29 properties: 29 30 function: ··· 42 41 gpio16, gpio17, gpio18, gpio19, gpio20, gpio22, gpio23, 43 42 gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30, 44 43 gpio31, uart1_grp ] 44 + 45 + patternProperties: 46 + '-pins$': 47 + $ref: '#/patternProperties/-pins$' 45 48 46 49 allOf: 47 50 - $ref: pinctrl.yaml# ··· 220 215 221 216 pinctrl_uart1: uart1-pins { 222 217 function = "uart1"; 223 - group = "uart1_grp"; 218 + pins = "uart1_grp"; 224 219 }; 225 220 };