2022-09-09 23:45:22

by Julius Werner

[permalink] [raw]
Subject: [PATCH 3/4 v3] dt-bindings: memory: Add jedec,lpddr4 and jedec,lpddr5 bindings

This patch adds bindings for LPDDR4 and LPDDR5 memory analogous to the
existing bindings for LPDDR2 and LPDDR3. For now, the new types are only
needed for topology description, so other properties like timing
parameters are omitted. They can be added later if needed.

Signed-off-by: Julius Werner <[email protected]>
---
.../ddr/jedec,lpddr-props.yaml | 4 ++
.../memory-controllers/ddr/jedec,lpddr4.yaml | 35 ++++++++++++++
.../memory-controllers/ddr/jedec,lpddr5.yaml | 46 +++++++++++++++++++
3 files changed, 85 insertions(+)
create mode 100644 Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
create mode 100644 Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml

Changelog:

- v2
- removed minItems
- moved `$ref` below `maintainers`
- renamed example node from `lpddr4` to `lpddr`
- v3
- removed manufacturer-id property from examples

diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
index 4114cfa8de67f1..92ef660888f318 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
@@ -45,9 +45,13 @@ properties:
- 512
- 1024
- 2048
+ - 3072
- 4096
+ - 6144
- 8192
+ - 12288
- 16384
+ - 24576
- 32768

io-width:
diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
new file mode 100644
index 00000000000000..fa9b30ee89cb81
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr4.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LPDDR4 SDRAM compliant to JEDEC JESD209-4
+
+maintainers:
+ - Krzysztof Kozlowski <[email protected]>
+
+allOf:
+ - $ref: "jedec,lpddr-props.yaml#"
+
+properties:
+ compatible:
+ items:
+ - pattern: "^lpddr4-[0-9a-f]{2},[0-9a-f]{4}$"
+ - const: jedec,lpddr4
+
+required:
+ - compatible
+ - density
+ - io-width
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ lpddr {
+ compatible = "lpddr4-ff,0100", "jedec,lpddr4";
+ density = <8192>;
+ io-width = <16>;
+ revision-id = <1 0>;
+ };
diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml
new file mode 100644
index 00000000000000..01e11aabc5a3f9
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr5.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LPDDR5 SDRAM compliant to JEDEC JESD209-5
+
+maintainers:
+ - Krzysztof Kozlowski <[email protected]>
+
+allOf:
+ - $ref: "jedec,lpddr-props.yaml#"
+
+properties:
+ compatible:
+ items:
+ - pattern: "^lpddr5-[0-9a-f]{2},[0-9a-f]{4}$"
+ - const: jedec,lpddr5
+
+ serial-id:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description:
+ Serial IDs read from Mode Registers 47 through 54. One byte per uint32
+ cell (i.e. <MR47 MR48 MR49 MR50 MR51 MR52 MR53 MR54>).
+ maxItems: 8
+ items:
+ minimum: 0
+ maximum: 255
+
+required:
+ - compatible
+ - density
+ - io-width
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ lpddr {
+ compatible = "lpddr5-01,0200", "jedec,lpddr5";
+ density = <8192>;
+ io-width = <8>;
+ revision-id = <2 0>;
+ serial-id = <3 1 0 0 0 0 0 0>;
+ };
--
2.31.0


2022-09-13 15:36:06

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 3/4 v3] dt-bindings: memory: Add jedec,lpddr4 and jedec,lpddr5 bindings

On Fri, Sep 09, 2022 at 04:21:39PM -0700, Julius Werner wrote:
> This patch adds bindings for LPDDR4 and LPDDR5 memory analogous to the
> existing bindings for LPDDR2 and LPDDR3. For now, the new types are only
> needed for topology description, so other properties like timing
> parameters are omitted. They can be added later if needed.

I only see patch 3. Please only send complete series.

>
> Signed-off-by: Julius Werner <[email protected]>
> ---
> .../ddr/jedec,lpddr-props.yaml | 4 ++
> .../memory-controllers/ddr/jedec,lpddr4.yaml | 35 ++++++++++++++
> .../memory-controllers/ddr/jedec,lpddr5.yaml | 46 +++++++++++++++++++
> 3 files changed, 85 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
> create mode 100644 Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml
>
> Changelog:
>
> - v2
> - removed minItems
> - moved `$ref` below `maintainers`
> - renamed example node from `lpddr4` to `lpddr`
> - v3
> - removed manufacturer-id property from examples
>
> diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
> index 4114cfa8de67f1..92ef660888f318 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-props.yaml
> @@ -45,9 +45,13 @@ properties:
> - 512
> - 1024
> - 2048
> + - 3072
> - 4096
> + - 6144
> - 8192
> + - 12288
> - 16384
> + - 24576
> - 32768
>
> io-width:
> diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
> new file mode 100644
> index 00000000000000..fa9b30ee89cb81
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr4.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr4.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: LPDDR4 SDRAM compliant to JEDEC JESD209-4
> +
> +maintainers:
> + - Krzysztof Kozlowski <[email protected]>
> +
> +allOf:
> + - $ref: "jedec,lpddr-props.yaml#"

Drop quotes.

> +
> +properties:
> + compatible:
> + items:
> + - pattern: "^lpddr4-[0-9a-f]{2},[0-9a-f]{4}$"
> + - const: jedec,lpddr4
> +
> +required:
> + - compatible
> + - density
> + - io-width
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + lpddr {
> + compatible = "lpddr4-ff,0100", "jedec,lpddr4";
> + density = <8192>;
> + io-width = <16>;
> + revision-id = <1 0>;
> + };
> diff --git a/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml
> new file mode 100644
> index 00000000000000..01e11aabc5a3f9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr5.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr5.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: LPDDR5 SDRAM compliant to JEDEC JESD209-5
> +
> +maintainers:
> + - Krzysztof Kozlowski <[email protected]>
> +
> +allOf:
> + - $ref: "jedec,lpddr-props.yaml#"

And here.

> +
> +properties:
> + compatible:
> + items:
> + - pattern: "^lpddr5-[0-9a-f]{2},[0-9a-f]{4}$"
> + - const: jedec,lpddr5
> +
> + serial-id:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + description:
> + Serial IDs read from Mode Registers 47 through 54. One byte per uint32
> + cell (i.e. <MR47 MR48 MR49 MR50 MR51 MR52 MR53 MR54>).
> + maxItems: 8
> + items:
> + minimum: 0
> + maximum: 255
> +
> +required:
> + - compatible
> + - density
> + - io-width
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + lpddr {
> + compatible = "lpddr5-01,0200", "jedec,lpddr5";
> + density = <8192>;
> + io-width = <8>;
> + revision-id = <2 0>;
> + serial-id = <3 1 0 0 0 0 0 0>;
> + };
> --
> 2.31.0
>
>

2022-09-15 01:15:45

by Julius Werner

[permalink] [raw]
Subject: Re: [PATCH 3/4 v3] dt-bindings: memory: Add jedec,lpddr4 and jedec,lpddr5 bindings

> I only see patch 3. Please only send complete series.

Sorry, I thought it would be enough to just respin the one patch that
changed. Resending everything as v4 now.