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

dt-bindings: arm/cpus: Add missing properties

The Arm CPU schema is missing a number of properties already in use.
This has gone unnoticed as extra properties have not been restricted.
Add a missing reference to cpu.yaml, and add all the missing properties.

As "clock-latency" and "voltage-tolerance" are related to opp-v1, add
those properties to the opp-v1.yaml schema.

With this, other properties can be prevented from creeping in with
'unevaluatedProperties: false'.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20250410-dt-cpu-schema-v2-15-63d7dc9ddd0a@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

+61 -1
+45 -1
Documentation/devicetree/bindings/arm/cpus.yaml
··· 299 299 300 300 where voltage is in V, frequency is in MHz. 301 301 302 + interconnects: 303 + minItems: 1 304 + maxItems: 2 305 + 306 + nvmem-cells: 307 + maxItems: 1 308 + 309 + nvmem-cell-names: 310 + const: speed_grade 311 + 302 312 performance-domains: 303 313 maxItems: 1 304 314 ··· 327 317 corresponding to the index of an SCMI performance domain provider, must be 328 318 "perf". 329 319 320 + resets: 321 + maxItems: 1 322 + 323 + arm-supply: 324 + deprecated: true 325 + description: Use 'cpu-supply' instead 326 + 327 + cpu0-supply: 328 + deprecated: true 329 + description: Use 'cpu-supply' instead 330 + 331 + mem-supply: true 332 + 333 + proc-supply: 334 + deprecated: true 335 + description: Use 'cpu-supply' instead 336 + 337 + sram-supply: 338 + deprecated: true 339 + description: Use 'mem-supply' instead 340 + 341 + mediatek,cci: 342 + $ref: /schemas/types.yaml#/definitions/phandle 343 + description: Link to Mediatek Cache Coherent Interconnect 344 + 330 345 qcom,saw: 331 346 $ref: /schemas/types.yaml#/definitions/phandle 332 347 description: ··· 361 326 $ref: /schemas/types.yaml#/definitions/phandle 362 327 description: 363 328 Specifies the ACC node associated with this CPU. 329 + 330 + qcom,freq-domain: 331 + description: Specifies the QCom CPUFREQ HW associated with the CPU. 332 + $ref: /schemas/types.yaml#/definitions/phandle-array 333 + maxItems: 1 364 334 365 335 rockchip,pmu: 366 336 $ref: /schemas/types.yaml#/definitions/phandle ··· 392 352 formed by encoding the target CPU id into the low bits of the 393 353 physical start address it should jump to. 394 354 355 + thermal-idle: 356 + type: object 357 + 395 358 allOf: 359 + - $ref: /schemas/cpu.yaml# 396 360 - $ref: /schemas/opp/opp-v1.yaml# 397 361 - if: 398 362 # If the enable-method property contains one of those values ··· 461 417 dependencies: 462 418 rockchip,pmu: [enable-method] 463 419 464 - additionalProperties: true 420 + unevaluatedProperties: false 465 421 466 422 examples: 467 423 - |
+16
Documentation/devicetree/bindings/opp/opp-v1.yaml
··· 21 21 deprecated: true 22 22 23 23 properties: 24 + clock-latency: 25 + $ref: /schemas/types.yaml#/definitions/uint32 26 + description: 27 + The latency in nanoseconds for clock changes. Use OPP tables for new 28 + designs instead. 29 + 30 + voltage-tolerance: 31 + $ref: /schemas/types.yaml#/definitions/uint32 32 + maximum: 10 33 + description: 34 + The voltage tolerance in percent. Use OPP tables for new designs instead. 35 + 24 36 operating-points: 25 37 $ref: /schemas/types.yaml#/definitions/uint32-matrix 26 38 items: ··· 40 28 - description: Frequency in kHz 41 29 - description: Voltage for OPP in uV 42 30 31 + dependencies: 32 + clock-latency: [ operating-points ] 33 + voltage-tolerance: [ operating-points ] 43 34 44 35 additionalProperties: true 36 + 45 37 examples: 46 38 - | 47 39 cpus {