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

scsi: ufs: dt-bindings: common: Add OPP table

Except scaling UFS and bus clocks, it's necessary to scale also the
voltages of regulators or power domain performance state levels. Adding
Operating Performance Points table allows to adjust power domain
performance state, depending on the UFS clock speed.

OPPv2 deprecates previous property limited to clock scaling:
freq-table-hz.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20231012172129.65172-2-manivannan.sadhasivam@linaro.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Krzysztof Kozlowski and committed by
Martin K. Petersen
e820de1d 058676b5

+32 -3
+32 -3
Documentation/devicetree/bindings/ufs/ufs-common.yaml
··· 20 20 items: 21 21 - description: Minimum frequency for given clock in Hz 22 22 - description: Maximum frequency for given clock in Hz 23 + deprecated: true 23 24 description: | 25 + Preferred is operating-points-v2. 26 + 24 27 Array of <min max> operating frequencies in Hz stored in the same order 25 - as the clocks property. If this property is not defined or a value in the 26 - array is "0" then it is assumed that the frequency is set by the parent 27 - clock or a fixed rate clock source. 28 + as the clocks property. If either this property or operating-points-v2 is 29 + not defined or a value in the array is "0" then it is assumed that the 30 + frequency is set by the parent clock or a fixed rate clock source. 31 + 32 + operating-points-v2: 33 + description: 34 + Preferred over freq-table-hz. 35 + If present, each OPP must contain array of frequencies stored in the same 36 + order for each clock. If clock frequency in the array is "0" then it is 37 + assumed that the frequency is set by the parent clock or a fixed rate 38 + clock source. 39 + 40 + opp-table: 41 + type: object 28 42 29 43 interrupts: 30 44 maxItems: 1 ··· 89 75 90 76 dependencies: 91 77 freq-table-hz: [ clocks ] 78 + operating-points-v2: [ clocks, clock-names ] 92 79 93 80 required: 94 81 - interrupts 82 + 83 + allOf: 84 + - if: 85 + required: 86 + - freq-table-hz 87 + then: 88 + properties: 89 + operating-points-v2: false 90 + - if: 91 + required: 92 + - operating-points-v2 93 + then: 94 + properties: 95 + freq-table-hz: false 95 96 96 97 additionalProperties: true