Merge tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull Devicetree fixes from Rob Herring:
"Fix several warnings/errors in validation of binding schemas"

* tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples
dt-bindings: iio: ad7124: Fix dtc warnings in example
dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example
dt-bindings: pinctrl: aspeed: Fix AST2500 example errors
dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors
dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes
dt-bindings: Ensure child nodes are of type 'object'

+114 -117
+1
Documentation/devicetree/bindings/bus/allwinner,sun8i-a23-rsb.yaml
··· 42 43 patternProperties: 44 "^.*@[0-9a-fA-F]+$": 45 properties: 46 reg: 47 maxItems: 1
··· 42 43 patternProperties: 44 "^.*@[0-9a-fA-F]+$": 45 + type: object 46 properties: 47 reg: 48 maxItems: 1
+35 -30
Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
··· 114 115 examples: 116 - | 117 - adc@0 { 118 - compatible = "adi,ad7124-4"; 119 - reg = <0>; 120 - spi-max-frequency = <5000000>; 121 - interrupts = <25 2>; 122 - interrupt-parent = <&gpio>; 123 - refin1-supply = <&adc_vref>; 124 - clocks = <&ad7124_mclk>; 125 - clock-names = "mclk"; 126 - 127 #address-cells = <1>; 128 #size-cells = <0>; 129 130 - channel@0 { 131 reg = <0>; 132 - diff-channels = <0 1>; 133 - adi,reference-select = <0>; 134 - adi,buffered-positive; 135 - }; 136 137 - channel@1 { 138 - reg = <1>; 139 - bipolar; 140 - diff-channels = <2 3>; 141 - adi,reference-select = <0>; 142 - adi,buffered-positive; 143 - adi,buffered-negative; 144 - }; 145 146 - channel@2 { 147 - reg = <2>; 148 - diff-channels = <4 5>; 149 - }; 150 151 - channel@3 { 152 - reg = <3>; 153 - diff-channels = <6 7>; 154 }; 155 };
··· 114 115 examples: 116 - | 117 + spi { 118 #address-cells = <1>; 119 #size-cells = <0>; 120 121 + adc@0 { 122 + compatible = "adi,ad7124-4"; 123 reg = <0>; 124 + spi-max-frequency = <5000000>; 125 + interrupts = <25 2>; 126 + interrupt-parent = <&gpio>; 127 + refin1-supply = <&adc_vref>; 128 + clocks = <&ad7124_mclk>; 129 + clock-names = "mclk"; 130 131 + #address-cells = <1>; 132 + #size-cells = <0>; 133 134 + channel@0 { 135 + reg = <0>; 136 + diff-channels = <0 1>; 137 + adi,reference-select = <0>; 138 + adi,buffered-positive; 139 + }; 140 141 + channel@1 { 142 + reg = <1>; 143 + bipolar; 144 + diff-channels = <2 3>; 145 + adi,reference-select = <0>; 146 + adi,buffered-positive; 147 + adi,buffered-negative; 148 + }; 149 + 150 + channel@2 { 151 + reg = <2>; 152 + diff-channels = <4 5>; 153 + }; 154 + 155 + channel@3 { 156 + reg = <3>; 157 + diff-channels = <6 7>; 158 + }; 159 }; 160 };
+1 -1
Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
··· 61 compatible = "avia,hx711"; 62 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>; 63 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 64 - avdd-suppy = <&avdd>; 65 clock-frequency = <100000>; 66 };
··· 61 compatible = "avia,hx711"; 62 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>; 63 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 64 + avdd-supply = <&avdd>; 65 clock-frequency = <100000>; 66 };
+1
Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
··· 55 "^pinctrl-[0-9]+$": true 56 57 "^nand@[a-f0-9]+$": 58 properties: 59 reg: 60 minimum: 0
··· 55 "^pinctrl-[0-9]+$": true 56 57 "^nand@[a-f0-9]+$": 58 + type: object 59 properties: 60 reg: 61 minimum: 0
+1
Documentation/devicetree/bindings/mtd/nand-controller.yaml
··· 40 41 patternProperties: 42 "^nand@[a-f0-9]$": 43 properties: 44 reg: 45 description:
··· 40 41 patternProperties: 42 "^nand@[a-f0-9]$": 43 + type: object 44 properties: 45 reg: 46 description:
+3 -1
Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml
··· 22 23 properties: 24 compatible: 25 - enum: [ aspeed,ast2400-pinctrl, aspeed,g4-pinctrl ] 26 27 patternProperties: 28 '^.*$':
··· 22 23 properties: 24 compatible: 25 + enum: 26 + - aspeed,ast2400-pinctrl 27 + - aspeed,g4-pinctrl 28 29 patternProperties: 30 '^.*$':
+4 -5
Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml
··· 22 23 properties: 24 compatible: 25 - enum: [ aspeed,ast2500-pinctrl, aspeed,g5-pinctrl ] 26 aspeed,external-nodes: 27 minItems: 2 28 maxItems: 2 ··· 76 77 examples: 78 - | 79 - compatible = "simple-bus"; 80 - ranges; 81 - 82 apb { 83 compatible = "simple-bus"; 84 #address-cells = <1>; ··· 88 89 pinctrl: pinctrl { 90 compatible = "aspeed,g5-pinctrl"; 91 - aspeed,external-nodes = <&gfx &lhc>; 92 93 pinctrl_i2c3_default: i2c3_default { 94 function = "I2C3";
··· 22 23 properties: 24 compatible: 25 + enum: 26 + - aspeed,ast2500-pinctrl 27 + - aspeed,g5-pinctrl 28 aspeed,external-nodes: 29 minItems: 2 30 maxItems: 2 ··· 74 75 examples: 76 - | 77 apb { 78 compatible = "simple-bus"; 79 #address-cells = <1>; ··· 89 90 pinctrl: pinctrl { 91 compatible = "aspeed,g5-pinctrl"; 92 + aspeed,external-nodes = <&gfx>, <&lhc>; 93 94 pinctrl_i2c3_default: i2c3_default { 95 function = "I2C3";
+7
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
··· 55 56 patternProperties: 57 '^gpio@[0-9a-f]*$': 58 properties: 59 gpio-controller: true 60 '#gpio-cells': ··· 114 - st,bank-name 115 116 '-[0-9]*$': 117 patternProperties: 118 '^pins': 119 description: | 120 A pinctrl node should contain at least one subnode representing the 121 pinctrl group available on the machine. Each subnode will list the ··· 197 examples: 198 - | 199 #include <dt-bindings/pinctrl/stm32-pinfunc.h> 200 //Example 1 201 pinctrl@40020000 { 202 #address-cells = <1>; ··· 211 #gpio-cells = <2>; 212 reg = <0x0 0x400>; 213 resets = <&reset_ahb1 0>; 214 st,bank-name = "GPIOA"; 215 }; 216 }; ··· 229 #gpio-cells = <2>; 230 reg = <0x1000 0x400>; 231 resets = <&reset_ahb1 0>; 232 st,bank-name = "GPIOB"; 233 gpio-ranges = <&pinctrl 0 0 16>; 234 }; ··· 239 #gpio-cells = <2>; 240 reg = <0x2000 0x400>; 241 resets = <&reset_ahb1 0>; 242 st,bank-name = "GPIOC"; 243 ngpios = <5>; 244 gpio-ranges = <&pinctrl 0 16 3>,
··· 55 56 patternProperties: 57 '^gpio@[0-9a-f]*$': 58 + type: object 59 properties: 60 gpio-controller: true 61 '#gpio-cells': ··· 113 - st,bank-name 114 115 '-[0-9]*$': 116 + type: object 117 patternProperties: 118 '^pins': 119 + type: object 120 description: | 121 A pinctrl node should contain at least one subnode representing the 122 pinctrl group available on the machine. Each subnode will list the ··· 194 examples: 195 - | 196 #include <dt-bindings/pinctrl/stm32-pinfunc.h> 197 + #include <dt-bindings/mfd/stm32f4-rcc.h> 198 //Example 1 199 pinctrl@40020000 { 200 #address-cells = <1>; ··· 207 #gpio-cells = <2>; 208 reg = <0x0 0x400>; 209 resets = <&reset_ahb1 0>; 210 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOA)>; 211 st,bank-name = "GPIOA"; 212 }; 213 }; ··· 224 #gpio-cells = <2>; 225 reg = <0x1000 0x400>; 226 resets = <&reset_ahb1 0>; 227 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOB)>; 228 st,bank-name = "GPIOB"; 229 gpio-ranges = <&pinctrl 0 0 16>; 230 }; ··· 233 #gpio-cells = <2>; 234 reg = <0x2000 0x400>; 235 resets = <&reset_ahb1 0>; 236 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOC)>; 237 st,bank-name = "GPIOC"; 238 ngpios = <5>; 239 gpio-ranges = <&pinctrl 0 16 3>,
+59 -80
Documentation/devicetree/bindings/riscv/cpus.yaml
··· 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 12 13 - allOf: 14 - - $ref: /schemas/cpus.yaml# 15 - 16 properties: 17 - $nodename: 18 - const: cpus 19 - description: Container of cpu nodes 20 21 - '#address-cells': 22 - const: 1 23 - description: | 24 - A single unsigned 32-bit integer uniquely identifies each RISC-V 25 - hart in a system. (See the "reg" node under the "cpu" node, 26 - below). 27 28 - '#size-cells': 29 - const: 0 30 31 - patternProperties: 32 - '^cpu@[0-9a-f]+$': 33 properties: 34 compatible: 35 - type: array 36 - items: 37 - - enum: 38 - - sifive,rocket0 39 - - sifive,e5 40 - - sifive,e51 41 - - sifive,u54-mc 42 - - sifive,u54 43 - - sifive,u5 44 - - const: riscv 45 - description: 46 - Identifies that the hart uses the RISC-V instruction set 47 - and identifies the type of the hart. 48 49 - mmu-type: 50 - allOf: 51 - - $ref: "/schemas/types.yaml#/definitions/string" 52 - - enum: 53 - - riscv,sv32 54 - - riscv,sv39 55 - - riscv,sv48 56 - description: 57 - Identifies the MMU address translation mode used on this 58 - hart. These values originate from the RISC-V Privileged 59 - Specification document, available from 60 - https://riscv.org/specifications/ 61 - 62 - riscv,isa: 63 - allOf: 64 - - $ref: "/schemas/types.yaml#/definitions/string" 65 - - enum: 66 - - rv64imac 67 - - rv64imafdc 68 - description: 69 - Identifies the specific RISC-V instruction set architecture 70 - supported by the hart. These are documented in the RISC-V 71 - User-Level ISA document, available from 72 - https://riscv.org/specifications/ 73 - 74 - timebase-frequency: 75 - type: integer 76 - minimum: 1 77 - description: 78 - Specifies the clock frequency of the system timer in Hz. 79 - This value is common to all harts on a single system image. 80 - 81 - interrupt-controller: 82 - type: object 83 - description: Describes the CPU's local interrupt controller 84 - 85 - properties: 86 - '#interrupt-cells': 87 - const: 1 88 - 89 - compatible: 90 - const: riscv,cpu-intc 91 - 92 - interrupt-controller: true 93 - 94 - required: 95 - - '#interrupt-cells' 96 - - compatible 97 - - interrupt-controller 98 99 required: 100 - - riscv,isa 101 - - timebase-frequency 102 - interrupt-controller 103 104 examples: 105 - |
··· 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 12 13 properties: 14 + compatible: 15 + items: 16 + - enum: 17 + - sifive,rocket0 18 + - sifive,e5 19 + - sifive,e51 20 + - sifive,u54-mc 21 + - sifive,u54 22 + - sifive,u5 23 + - const: riscv 24 + description: 25 + Identifies that the hart uses the RISC-V instruction set 26 + and identifies the type of the hart. 27 28 + mmu-type: 29 + allOf: 30 + - $ref: "/schemas/types.yaml#/definitions/string" 31 + - enum: 32 + - riscv,sv32 33 + - riscv,sv39 34 + - riscv,sv48 35 + description: 36 + Identifies the MMU address translation mode used on this 37 + hart. These values originate from the RISC-V Privileged 38 + Specification document, available from 39 + https://riscv.org/specifications/ 40 41 + riscv,isa: 42 + allOf: 43 + - $ref: "/schemas/types.yaml#/definitions/string" 44 + - enum: 45 + - rv64imac 46 + - rv64imafdc 47 + description: 48 + Identifies the specific RISC-V instruction set architecture 49 + supported by the hart. These are documented in the RISC-V 50 + User-Level ISA document, available from 51 + https://riscv.org/specifications/ 52 53 + timebase-frequency: 54 + type: integer 55 + minimum: 1 56 + description: 57 + Specifies the clock frequency of the system timer in Hz. 58 + This value is common to all harts on a single system image. 59 + 60 + interrupt-controller: 61 + type: object 62 + description: Describes the CPU's local interrupt controller 63 + 64 properties: 65 + '#interrupt-cells': 66 + const: 1 67 + 68 compatible: 69 + const: riscv,cpu-intc 70 71 + interrupt-controller: true 72 73 required: 74 + - '#interrupt-cells' 75 + - compatible 76 - interrupt-controller 77 + 78 + required: 79 + - riscv,isa 80 + - timebase-frequency 81 + - interrupt-controller 82 83 examples: 84 - |
+1
Documentation/devicetree/bindings/spi/allwinner,sun4i-a10-spi.yaml
··· 50 51 patternProperties: 52 "^.*@[0-9a-f]+": 53 properties: 54 reg: 55 items:
··· 50 51 patternProperties: 52 "^.*@[0-9a-f]+": 53 + type: object 54 properties: 55 reg: 56 items:
+1
Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
··· 55 56 patternProperties: 57 "^.*@[0-9a-f]+": 58 properties: 59 reg: 60 items:
··· 55 56 patternProperties: 57 "^.*@[0-9a-f]+": 58 + type: object 59 properties: 60 reg: 61 items: