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

dt-bindings: memory-controller: st,stm32: Split off MC properties

Split st,stm32-fmc2-ebi.yaml specific properties into
st,stm32-fmc2-ebi-props.yaml, split memory-controller bus peripheral
properties into mc-peripheral-props.yaml, reference the
st,stm32-fmc2-ebi-props.yaml in mc-peripheral-props.yaml and reference
the mc-peripheral-props.yaml in micrel,ks8851.yaml.

This way, the FMC2 controller properties in Micrel KSZ8851MLL ethernet
controller node can be properly validated.

Fixes the following warning:
arch/arm/boot/dts/stm32mp153c-dhcor-drc-compact.dtb: ethernet@1,0:
Unevaluated properties are not allowed ('bank-width', 'st,fmc2-ebi-cs-mux-enable', ... 'st,fmc2-ebi-cs-write-data-hold-ns' were unexpected)

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20220928181944.194808-1-marex@denx.de
[krzk: trim warning message]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Marek Vasut and committed by
Krzysztof Kozlowski
a11a5deb 4985a545

+184 -137
+38
Documentation/devicetree/bindings/memory-controllers/mc-peripheral-props.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/memory-controllers/mc-peripheral-props.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Peripheral-specific properties for a Memory Controller bus. 8 + 9 + description: 10 + Many Memory Controllers need to add properties to peripheral devices. 11 + They could be common properties like reg or they could be controller 12 + specific like delay in clock or data lines, etc. These properties need 13 + to be defined in the peripheral node because they are per-peripheral 14 + and there can be multiple peripherals attached to a controller. All 15 + those properties are listed here. The controller specific properties 16 + should go in their own separate schema that should be referenced 17 + from here. 18 + 19 + maintainers: 20 + - Marek Vasut <marex@denx.de> 21 + 22 + properties: 23 + reg: 24 + description: Bank number, base address and size of the device. 25 + 26 + bank-width: 27 + $ref: /schemas/types.yaml#/definitions/uint32 28 + description: Bank width of the device, in bytes. 29 + enum: [1, 2, 4] 30 + 31 + required: 32 + - reg 33 + 34 + # The controller specific properties go here. 35 + allOf: 36 + - $ref: st,stm32-fmc2-ebi-props.yaml# 37 + 38 + additionalProperties: true
+144
Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi-props.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/memory-controllers/st,stm32-fmc2-ebi-props.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Peripheral properties for ST FMC2 Controller 8 + 9 + maintainers: 10 + - Christophe Kerello <christophe.kerello@foss.st.com> 11 + - Marek Vasut <marex@denx.de> 12 + 13 + properties: 14 + st,fmc2-ebi-cs-transaction-type: 15 + description: | 16 + Select one of the transactions type supported 17 + 0: Asynchronous mode 1 SRAM/FRAM. 18 + 1: Asynchronous mode 1 PSRAM. 19 + 2: Asynchronous mode A SRAM/FRAM. 20 + 3: Asynchronous mode A PSRAM. 21 + 4: Asynchronous mode 2 NOR. 22 + 5: Asynchronous mode B NOR. 23 + 6: Asynchronous mode C NOR. 24 + 7: Asynchronous mode D NOR. 25 + 8: Synchronous read synchronous write PSRAM. 26 + 9: Synchronous read asynchronous write PSRAM. 27 + 10: Synchronous read synchronous write NOR. 28 + 11: Synchronous read asynchronous write NOR. 29 + $ref: /schemas/types.yaml#/definitions/uint32 30 + minimum: 0 31 + maximum: 11 32 + 33 + st,fmc2-ebi-cs-cclk-enable: 34 + description: Continuous clock enable (first bank must be configured 35 + in synchronous mode). The FMC_CLK is generated continuously 36 + during asynchronous and synchronous access. By default, the 37 + FMC_CLK is only generated during synchronous access. 38 + $ref: /schemas/types.yaml#/definitions/flag 39 + 40 + st,fmc2-ebi-cs-mux-enable: 41 + description: Address/Data multiplexed on databus (valid only with 42 + NOR and PSRAM transactions type). By default, Address/Data 43 + are not multiplexed. 44 + $ref: /schemas/types.yaml#/definitions/flag 45 + 46 + st,fmc2-ebi-cs-buswidth: 47 + description: Data bus width 48 + $ref: /schemas/types.yaml#/definitions/uint32 49 + enum: [ 8, 16 ] 50 + default: 16 51 + 52 + st,fmc2-ebi-cs-waitpol-high: 53 + description: Wait signal polarity (NWAIT signal active high). 54 + By default, NWAIT is active low. 55 + $ref: /schemas/types.yaml#/definitions/flag 56 + 57 + st,fmc2-ebi-cs-waitcfg-enable: 58 + description: The NWAIT signal indicates wheither the data from the 59 + device are valid or if a wait state must be inserted when accessing 60 + the device in synchronous mode. By default, the NWAIT signal is 61 + active one data cycle before wait state. 62 + $ref: /schemas/types.yaml#/definitions/flag 63 + 64 + st,fmc2-ebi-cs-wait-enable: 65 + description: The NWAIT signal is enabled (its level is taken into 66 + account after the programmed latency period to insert wait states 67 + if asserted). By default, the NWAIT signal is disabled. 68 + $ref: /schemas/types.yaml#/definitions/flag 69 + 70 + st,fmc2-ebi-cs-asyncwait-enable: 71 + description: The NWAIT signal is taken into account during asynchronous 72 + transactions. By default, the NWAIT signal is not taken into account 73 + during asynchronous transactions. 74 + $ref: /schemas/types.yaml#/definitions/flag 75 + 76 + st,fmc2-ebi-cs-cpsize: 77 + description: CRAM page size. The controller splits the burst access 78 + when the memory page is reached. By default, no burst split when 79 + crossing page boundary. 80 + $ref: /schemas/types.yaml#/definitions/uint32 81 + enum: [ 0, 128, 256, 512, 1024 ] 82 + default: 0 83 + 84 + st,fmc2-ebi-cs-byte-lane-setup-ns: 85 + description: This property configures the byte lane setup timing 86 + defined in nanoseconds from NBLx low to Chip Select NEx low. 87 + 88 + st,fmc2-ebi-cs-address-setup-ns: 89 + description: This property defines the duration of the address setup 90 + phase in nanoseconds used for asynchronous read/write transactions. 91 + 92 + st,fmc2-ebi-cs-address-hold-ns: 93 + description: This property defines the duration of the address hold 94 + phase in nanoseconds used for asynchronous multiplexed read/write 95 + transactions. 96 + 97 + st,fmc2-ebi-cs-data-setup-ns: 98 + description: This property defines the duration of the data setup phase 99 + in nanoseconds used for asynchronous read/write transactions. 100 + 101 + st,fmc2-ebi-cs-bus-turnaround-ns: 102 + description: This property defines the delay in nanoseconds between the 103 + end of current read/write transaction and the next transaction. 104 + 105 + st,fmc2-ebi-cs-data-hold-ns: 106 + description: This property defines the duration of the data hold phase 107 + in nanoseconds used for asynchronous read/write transactions. 108 + 109 + st,fmc2-ebi-cs-clk-period-ns: 110 + description: This property defines the FMC_CLK output signal period in 111 + nanoseconds. 112 + 113 + st,fmc2-ebi-cs-data-latency-ns: 114 + description: This property defines the data latency before reading or 115 + writing the first data in nanoseconds. 116 + 117 + st,fmc2-ebi-cs-write-address-setup-ns: 118 + description: This property defines the duration of the address setup 119 + phase in nanoseconds used for asynchronous write transactions. 120 + 121 + st,fmc2-ebi-cs-write-address-hold-ns: 122 + description: This property defines the duration of the address hold 123 + phase in nanoseconds used for asynchronous multiplexed write 124 + transactions. 125 + 126 + st,fmc2-ebi-cs-write-data-setup-ns: 127 + description: This property defines the duration of the data setup 128 + phase in nanoseconds used for asynchronous write transactions. 129 + 130 + st,fmc2-ebi-cs-write-bus-turnaround-ns: 131 + description: This property defines the delay between the end of current 132 + write transaction and the next transaction in nanoseconds. 133 + 134 + st,fmc2-ebi-cs-write-data-hold-ns: 135 + description: This property defines the duration of the data hold phase 136 + in nanoseconds used for asynchronous write transactions. 137 + 138 + st,fmc2-ebi-cs-max-low-pulse-ns: 139 + description: This property defines the maximum chip select low pulse 140 + duration in nanoseconds for synchronous transactions. When this timing 141 + reaches 0, the controller splits the current access, toggles NE to 142 + allow device refresh and restarts a new access. 143 + 144 + additionalProperties: true
+1 -137
Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml
··· 48 48 patternProperties: 49 49 "^.*@[0-4],[a-f0-9]+$": 50 50 type: object 51 - 52 - properties: 53 - reg: 54 - description: Bank number, base address and size of the device. 55 - 56 - st,fmc2-ebi-cs-transaction-type: 57 - description: | 58 - Select one of the transactions type supported 59 - 0: Asynchronous mode 1 SRAM/FRAM. 60 - 1: Asynchronous mode 1 PSRAM. 61 - 2: Asynchronous mode A SRAM/FRAM. 62 - 3: Asynchronous mode A PSRAM. 63 - 4: Asynchronous mode 2 NOR. 64 - 5: Asynchronous mode B NOR. 65 - 6: Asynchronous mode C NOR. 66 - 7: Asynchronous mode D NOR. 67 - 8: Synchronous read synchronous write PSRAM. 68 - 9: Synchronous read asynchronous write PSRAM. 69 - 10: Synchronous read synchronous write NOR. 70 - 11: Synchronous read asynchronous write NOR. 71 - $ref: /schemas/types.yaml#/definitions/uint32 72 - minimum: 0 73 - maximum: 11 74 - 75 - st,fmc2-ebi-cs-cclk-enable: 76 - description: Continuous clock enable (first bank must be configured 77 - in synchronous mode). The FMC_CLK is generated continuously 78 - during asynchronous and synchronous access. By default, the 79 - FMC_CLK is only generated during synchronous access. 80 - $ref: /schemas/types.yaml#/definitions/flag 81 - 82 - st,fmc2-ebi-cs-mux-enable: 83 - description: Address/Data multiplexed on databus (valid only with 84 - NOR and PSRAM transactions type). By default, Address/Data 85 - are not multiplexed. 86 - $ref: /schemas/types.yaml#/definitions/flag 87 - 88 - st,fmc2-ebi-cs-buswidth: 89 - description: Data bus width 90 - $ref: /schemas/types.yaml#/definitions/uint32 91 - enum: [ 8, 16 ] 92 - default: 16 93 - 94 - st,fmc2-ebi-cs-waitpol-high: 95 - description: Wait signal polarity (NWAIT signal active high). 96 - By default, NWAIT is active low. 97 - $ref: /schemas/types.yaml#/definitions/flag 98 - 99 - st,fmc2-ebi-cs-waitcfg-enable: 100 - description: The NWAIT signal indicates wheither the data from the 101 - device are valid or if a wait state must be inserted when accessing 102 - the device in synchronous mode. By default, the NWAIT signal is 103 - active one data cycle before wait state. 104 - $ref: /schemas/types.yaml#/definitions/flag 105 - 106 - st,fmc2-ebi-cs-wait-enable: 107 - description: The NWAIT signal is enabled (its level is taken into 108 - account after the programmed latency period to insert wait states 109 - if asserted). By default, the NWAIT signal is disabled. 110 - $ref: /schemas/types.yaml#/definitions/flag 111 - 112 - st,fmc2-ebi-cs-asyncwait-enable: 113 - description: The NWAIT signal is taken into account during asynchronous 114 - transactions. By default, the NWAIT signal is not taken into account 115 - during asynchronous transactions. 116 - $ref: /schemas/types.yaml#/definitions/flag 117 - 118 - st,fmc2-ebi-cs-cpsize: 119 - description: CRAM page size. The controller splits the burst access 120 - when the memory page is reached. By default, no burst split when 121 - crossing page boundary. 122 - $ref: /schemas/types.yaml#/definitions/uint32 123 - enum: [ 0, 128, 256, 512, 1024 ] 124 - default: 0 125 - 126 - st,fmc2-ebi-cs-byte-lane-setup-ns: 127 - description: This property configures the byte lane setup timing 128 - defined in nanoseconds from NBLx low to Chip Select NEx low. 129 - 130 - st,fmc2-ebi-cs-address-setup-ns: 131 - description: This property defines the duration of the address setup 132 - phase in nanoseconds used for asynchronous read/write transactions. 133 - 134 - st,fmc2-ebi-cs-address-hold-ns: 135 - description: This property defines the duration of the address hold 136 - phase in nanoseconds used for asynchronous multiplexed read/write 137 - transactions. 138 - 139 - st,fmc2-ebi-cs-data-setup-ns: 140 - description: This property defines the duration of the data setup phase 141 - in nanoseconds used for asynchronous read/write transactions. 142 - 143 - st,fmc2-ebi-cs-bus-turnaround-ns: 144 - description: This property defines the delay in nanoseconds between the 145 - end of current read/write transaction and the next transaction. 146 - 147 - st,fmc2-ebi-cs-data-hold-ns: 148 - description: This property defines the duration of the data hold phase 149 - in nanoseconds used for asynchronous read/write transactions. 150 - 151 - st,fmc2-ebi-cs-clk-period-ns: 152 - description: This property defines the FMC_CLK output signal period in 153 - nanoseconds. 154 - 155 - st,fmc2-ebi-cs-data-latency-ns: 156 - description: This property defines the data latency before reading or 157 - writing the first data in nanoseconds. 158 - 159 - st,fmc2-ebi-cs-write-address-setup-ns: 160 - description: This property defines the duration of the address setup 161 - phase in nanoseconds used for asynchronous write transactions. 162 - 163 - st,fmc2-ebi-cs-write-address-hold-ns: 164 - description: This property defines the duration of the address hold 165 - phase in nanoseconds used for asynchronous multiplexed write 166 - transactions. 167 - 168 - st,fmc2-ebi-cs-write-data-setup-ns: 169 - description: This property defines the duration of the data setup 170 - phase in nanoseconds used for asynchronous write transactions. 171 - 172 - st,fmc2-ebi-cs-write-bus-turnaround-ns: 173 - description: This property defines the delay between the end of current 174 - write transaction and the next transaction in nanoseconds. 175 - 176 - st,fmc2-ebi-cs-write-data-hold-ns: 177 - description: This property defines the duration of the data hold phase 178 - in nanoseconds used for asynchronous write transactions. 179 - 180 - st,fmc2-ebi-cs-max-low-pulse-ns: 181 - description: This property defines the maximum chip select low pulse 182 - duration in nanoseconds for synchronous transactions. When this timing 183 - reaches 0, the controller splits the current access, toggles NE to 184 - allow device refresh and restarts a new access. 185 - 186 - required: 187 - - reg 51 + $ref: mc-peripheral-props.yaml# 188 52 189 53 required: 190 54 - "#address-cells"
+1
Documentation/devicetree/bindings/net/micrel,ks8851.yaml
··· 44 44 45 45 allOf: 46 46 - $ref: ethernet-controller.yaml# 47 + - $ref: /schemas/memory-controllers/mc-peripheral-props.yaml# 47 48 - if: 48 49 properties: 49 50 compatible: