The timings node maximum frequency was passed as an unit address, which
is actually a workaround. Such workaround and unit address are not
needed at all, because the device memory node (parent) can contain
multiple timing nodes without unit addresses but with suffix used for
nodenames, e.g. timings-1.
LPDDR2 bindings already use such version, so unify the LPDDR3 with them.
Suggested-by: Dmitry Osipenko <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../ddr/jedec,lpddr3-timings.yaml | 16 ++++++++++------
.../memory-controllers/ddr/jedec,lpddr3.yaml | 12 +++++-------
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3-timings.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3-timings.yaml
index 98bc219e8a25..97c3e988af5f 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3-timings.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3-timings.yaml
@@ -17,6 +17,13 @@ properties:
maxItems: 1
description: |
Maximum DDR clock frequency for the speed-bin, in Hz.
+ Property is deprecated, use max-freq.
+ deprecated: true
+
+ max-freq:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Maximum DDR clock frequency for the speed-bin, in Hz.
min-freq:
$ref: /schemas/types.yaml#/definitions/uint32
@@ -117,19 +124,16 @@ properties:
required:
- compatible
- min-freq
- - reg
+ - max-freq
additionalProperties: false
examples:
- |
lpddr3 {
- #address-cells = <1>;
- #size-cells = <0>;
-
- timings@800000000 {
+ timings {
compatible = "jedec,lpddr3-timings";
- reg = <800000000>;
+ max-freq = <800000000>;
min-freq = <100000000>;
tCKE = <3750>;
tCKESR = <3750>;
diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml
index 3bcba15098ea..c542f32c39fa 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml
@@ -18,6 +18,7 @@ properties:
'#address-cells':
const: 1
+ deprecated: true
density:
$ref: /schemas/types.yaml#/definitions/uint32
@@ -55,6 +56,7 @@ properties:
'#size-cells':
const: 0
+ deprecated: true
tCKE-min-tck:
$ref: /schemas/types.yaml#/definitions/uint32
@@ -191,7 +193,7 @@ properties:
cycles.
patternProperties:
- "^timings@[0-9a-f]+$":
+ "^timings((-[0-9])+|(@[0-9a-f]+))?$":
$ref: jedec,lpddr3-timings.yaml
description: |
The lpddr3 node may have one or more child nodes with timings.
@@ -201,10 +203,8 @@ patternProperties:
required:
- compatible
- - '#address-cells'
- density
- io-width
- - '#size-cells'
additionalProperties: false
@@ -214,8 +214,6 @@ examples:
compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
density = <16384>;
io-width = <32>;
- #address-cells = <1>;
- #size-cells = <0>;
tCKE-min-tck = <2>;
tCKESR-min-tck = <2>;
@@ -239,9 +237,9 @@ examples:
tXP-min-tck = <2>;
tXSR-min-tck = <12>;
- timings@800000000 {
+ timings {
compatible = "jedec,lpddr3-timings";
- reg = <800000000>;
+ max-freq = <800000000>;
min-freq = <100000000>;
tCKE = <3750>;
tCKESR = <3750>;
--
2.32.0
06.02.2022 16:58, Krzysztof Kozlowski пишет:
> The timings node maximum frequency was passed as an unit address, which
> is actually a workaround. Such workaround and unit address are not
> needed at all, because the device memory node (parent) can contain
> multiple timing nodes without unit addresses but with suffix used for
> nodenames, e.g. timings-1.
>
> LPDDR2 bindings already use such version, so unify the LPDDR3 with them.
>
> Suggested-by: Dmitry Osipenko <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../ddr/jedec,lpddr3-timings.yaml | 16 ++++++++++------
> .../memory-controllers/ddr/jedec,lpddr3.yaml | 12 +++++-------
> 2 files changed, 15 insertions(+), 13 deletions(-)
Reviewed-by: Dmitry Osipenko <[email protected]>