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'

+1
Documentation/devicetree/bindings/bus/allwinner,sun8i-a23-rsb.yaml
··· 42 42 43 43 patternProperties: 44 44 "^.*@[0-9a-fA-F]+$": 45 + type: object 45 46 properties: 46 47 reg: 47 48 maxItems: 1
+35 -30
Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
··· 114 114 115 115 examples: 116 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 - 117 + spi { 127 118 #address-cells = <1>; 128 119 #size-cells = <0>; 129 120 130 - channel@0 { 121 + adc@0 { 122 + compatible = "adi,ad7124-4"; 131 123 reg = <0>; 132 - diff-channels = <0 1>; 133 - adi,reference-select = <0>; 134 - adi,buffered-positive; 135 - }; 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"; 136 130 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 - }; 131 + #address-cells = <1>; 132 + #size-cells = <0>; 145 133 146 - channel@2 { 147 - reg = <2>; 148 - diff-channels = <4 5>; 149 - }; 134 + channel@0 { 135 + reg = <0>; 136 + diff-channels = <0 1>; 137 + adi,reference-select = <0>; 138 + adi,buffered-positive; 139 + }; 150 140 151 - channel@3 { 152 - reg = <3>; 153 - diff-channels = <6 7>; 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 + }; 154 159 }; 155 160 };
+1 -1
Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
··· 61 61 compatible = "avia,hx711"; 62 62 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>; 63 63 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 64 - avdd-suppy = <&avdd>; 64 + avdd-supply = <&avdd>; 65 65 clock-frequency = <100000>; 66 66 };
+1
Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
··· 55 55 "^pinctrl-[0-9]+$": true 56 56 57 57 "^nand@[a-f0-9]+$": 58 + type: object 58 59 properties: 59 60 reg: 60 61 minimum: 0
+1
Documentation/devicetree/bindings/mtd/nand-controller.yaml
··· 40 40 41 41 patternProperties: 42 42 "^nand@[a-f0-9]$": 43 + type: object 43 44 properties: 44 45 reg: 45 46 description:
+3 -1
Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml
··· 22 22 23 23 properties: 24 24 compatible: 25 - enum: [ aspeed,ast2400-pinctrl, aspeed,g4-pinctrl ] 25 + enum: 26 + - aspeed,ast2400-pinctrl 27 + - aspeed,g4-pinctrl 26 28 27 29 patternProperties: 28 30 '^.*$':
+4 -5
Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml
··· 22 22 23 23 properties: 24 24 compatible: 25 - enum: [ aspeed,ast2500-pinctrl, aspeed,g5-pinctrl ] 25 + enum: 26 + - aspeed,ast2500-pinctrl 27 + - aspeed,g5-pinctrl 26 28 aspeed,external-nodes: 27 29 minItems: 2 28 30 maxItems: 2 ··· 76 74 77 75 examples: 78 76 - | 79 - compatible = "simple-bus"; 80 - ranges; 81 - 82 77 apb { 83 78 compatible = "simple-bus"; 84 79 #address-cells = <1>; ··· 88 89 89 90 pinctrl: pinctrl { 90 91 compatible = "aspeed,g5-pinctrl"; 91 - aspeed,external-nodes = <&gfx &lhc>; 92 + aspeed,external-nodes = <&gfx>, <&lhc>; 92 93 93 94 pinctrl_i2c3_default: i2c3_default { 94 95 function = "I2C3";
+7
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
··· 55 55 56 56 patternProperties: 57 57 '^gpio@[0-9a-f]*$': 58 + type: object 58 59 properties: 59 60 gpio-controller: true 60 61 '#gpio-cells': ··· 114 113 - st,bank-name 115 114 116 115 '-[0-9]*$': 116 + type: object 117 117 patternProperties: 118 118 '^pins': 119 + type: object 119 120 description: | 120 121 A pinctrl node should contain at least one subnode representing the 121 122 pinctrl group available on the machine. Each subnode will list the ··· 197 194 examples: 198 195 - | 199 196 #include <dt-bindings/pinctrl/stm32-pinfunc.h> 197 + #include <dt-bindings/mfd/stm32f4-rcc.h> 200 198 //Example 1 201 199 pinctrl@40020000 { 202 200 #address-cells = <1>; ··· 211 207 #gpio-cells = <2>; 212 208 reg = <0x0 0x400>; 213 209 resets = <&reset_ahb1 0>; 210 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOA)>; 214 211 st,bank-name = "GPIOA"; 215 212 }; 216 213 }; ··· 229 224 #gpio-cells = <2>; 230 225 reg = <0x1000 0x400>; 231 226 resets = <&reset_ahb1 0>; 227 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOB)>; 232 228 st,bank-name = "GPIOB"; 233 229 gpio-ranges = <&pinctrl 0 0 16>; 234 230 }; ··· 239 233 #gpio-cells = <2>; 240 234 reg = <0x2000 0x400>; 241 235 resets = <&reset_ahb1 0>; 236 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOC)>; 242 237 st,bank-name = "GPIOC"; 243 238 ngpios = <5>; 244 239 gpio-ranges = <&pinctrl 0 16 3>,
+59 -80
Documentation/devicetree/bindings/riscv/cpus.yaml
··· 10 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 11 - Palmer Dabbelt <palmer@sifive.com> 12 12 13 - allOf: 14 - - $ref: /schemas/cpus.yaml# 15 - 16 13 properties: 17 - $nodename: 18 - const: cpus 19 - description: Container of cpu nodes 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. 20 27 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). 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/ 27 40 28 - '#size-cells': 29 - const: 0 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/ 30 52 31 - patternProperties: 32 - '^cpu@[0-9a-f]+$': 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 + 33 64 properties: 65 + '#interrupt-cells': 66 + const: 1 67 + 34 68 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. 69 + const: riscv,cpu-intc 48 70 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 71 + interrupt-controller: true 98 72 99 73 required: 100 - - riscv,isa 101 - - timebase-frequency 74 + - '#interrupt-cells' 75 + - compatible 102 76 - interrupt-controller 77 + 78 + required: 79 + - riscv,isa 80 + - timebase-frequency 81 + - interrupt-controller 103 82 104 83 examples: 105 84 - |
+1
Documentation/devicetree/bindings/spi/allwinner,sun4i-a10-spi.yaml
··· 50 50 51 51 patternProperties: 52 52 "^.*@[0-9a-f]+": 53 + type: object 53 54 properties: 54 55 reg: 55 56 items:
+1
Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
··· 55 55 56 56 patternProperties: 57 57 "^.*@[0-9a-f]+": 58 + type: object 58 59 properties: 59 60 reg: 60 61 items: