xref: /linux/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
128f81858SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
228f81858SKrzysztof Kozlowski%YAML 1.2
328f81858SKrzysztof Kozlowski---
428f81858SKrzysztof Kozlowski$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr3.yaml#
528f81858SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
628f81858SKrzysztof Kozlowski
728f81858SKrzysztof Kozlowskititle: LPDDR3 SDRAM compliant to JEDEC JESD209-3
828f81858SKrzysztof Kozlowski
928f81858SKrzysztof Kozlowskimaintainers:
108a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
1128f81858SKrzysztof Kozlowski
12b7178cd5SJulius WernerallOf:
13b7178cd5SJulius Werner  - $ref: jedec,lpddr-props.yaml#
14b7178cd5SJulius Werner
1528f81858SKrzysztof Kozlowskiproperties:
1628f81858SKrzysztof Kozlowski  compatible:
17*686fe63bSJulius Werner    oneOf:
18*686fe63bSJulius Werner      - items:
1928f81858SKrzysztof Kozlowski          - enum:
2028f81858SKrzysztof Kozlowski              - samsung,K3QF2F20DB
2128f81858SKrzysztof Kozlowski          - const: jedec,lpddr3
22*686fe63bSJulius Werner      - items:
23*686fe63bSJulius Werner          - pattern: "^lpddr3-[0-9a-f]{2},[0-9a-f]{4}$"
24*686fe63bSJulius Werner          - const: jedec,lpddr3
2528f81858SKrzysztof Kozlowski
2628f81858SKrzysztof Kozlowski  '#address-cells':
2728f81858SKrzysztof Kozlowski    const: 1
2842f94bb9SKrzysztof Kozlowski    deprecated: true
2928f81858SKrzysztof Kozlowski
3028f81858SKrzysztof Kozlowski  manufacturer-id:
3128f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
3228f81858SKrzysztof Kozlowski    description: |
33e531932cSKrzysztof Kozlowski      Manufacturer ID value read from Mode Register 5.  The property is
34e531932cSKrzysztof Kozlowski      deprecated, manufacturer should be derived from the compatible.
35e531932cSKrzysztof Kozlowski    deprecated: true
3628f81858SKrzysztof Kozlowski
3728f81858SKrzysztof Kozlowski  '#size-cells':
3828f81858SKrzysztof Kozlowski    const: 0
3942f94bb9SKrzysztof Kozlowski    deprecated: true
4028f81858SKrzysztof Kozlowski
4128f81858SKrzysztof Kozlowski  tCKE-min-tck:
4228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
4328f81858SKrzysztof Kozlowski    maximum: 15
4428f81858SKrzysztof Kozlowski    description: |
4528f81858SKrzysztof Kozlowski      CKE minimum pulse width (HIGH and LOW pulse width) in terms of number
4628f81858SKrzysztof Kozlowski      of clock cycles.
4728f81858SKrzysztof Kozlowski
4828f81858SKrzysztof Kozlowski  tCKESR-min-tck:
4928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
5028f81858SKrzysztof Kozlowski    maximum: 15
5128f81858SKrzysztof Kozlowski    description: |
5228f81858SKrzysztof Kozlowski      CKE minimum pulse width during SELF REFRESH (low pulse width during
5328f81858SKrzysztof Kozlowski      SELF REFRESH) in terms of number of clock cycles.
5428f81858SKrzysztof Kozlowski
5528f81858SKrzysztof Kozlowski  tDQSCK-min-tck:
5628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
5728f81858SKrzysztof Kozlowski    maximum: 15
5828f81858SKrzysztof Kozlowski    description: |
5928f81858SKrzysztof Kozlowski      DQS output data access time from CK_t/CK_c in terms of number of clock
6028f81858SKrzysztof Kozlowski      cycles.
6128f81858SKrzysztof Kozlowski
6228f81858SKrzysztof Kozlowski  tFAW-min-tck:
6328f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
6428f81858SKrzysztof Kozlowski    maximum: 63
6528f81858SKrzysztof Kozlowski    description: |
6628f81858SKrzysztof Kozlowski      Four-bank activate window in terms of number of clock cycles.
6728f81858SKrzysztof Kozlowski
6828f81858SKrzysztof Kozlowski  tMRD-min-tck:
6928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
7028f81858SKrzysztof Kozlowski    maximum: 15
7128f81858SKrzysztof Kozlowski    description: |
7228f81858SKrzysztof Kozlowski      Mode register set command delay in terms of number of clock cycles.
7328f81858SKrzysztof Kozlowski
7428f81858SKrzysztof Kozlowski  tR2R-C2C-min-tck:
7528f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
7628f81858SKrzysztof Kozlowski    enum: [0, 1]
7728f81858SKrzysztof Kozlowski    description: |
7828f81858SKrzysztof Kozlowski      Additional READ-to-READ delay in chip-to-chip cases in terms of number
7928f81858SKrzysztof Kozlowski      of clock cycles.
8028f81858SKrzysztof Kozlowski
8128f81858SKrzysztof Kozlowski  tRAS-min-tck:
8228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
8328f81858SKrzysztof Kozlowski    maximum: 63
8428f81858SKrzysztof Kozlowski    description: |
8528f81858SKrzysztof Kozlowski      Row active time in terms of number of clock cycles.
8628f81858SKrzysztof Kozlowski
8728f81858SKrzysztof Kozlowski  tRC-min-tck:
8828f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
8928f81858SKrzysztof Kozlowski    maximum: 63
9028f81858SKrzysztof Kozlowski    description: |
9128f81858SKrzysztof Kozlowski      ACTIVATE-to-ACTIVATE command period in terms of number of clock cycles.
9228f81858SKrzysztof Kozlowski
9328f81858SKrzysztof Kozlowski  tRCD-min-tck:
9428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
9528f81858SKrzysztof Kozlowski    maximum: 15
9628f81858SKrzysztof Kozlowski    description: |
9728f81858SKrzysztof Kozlowski      RAS-to-CAS delay in terms of number of clock cycles.
9828f81858SKrzysztof Kozlowski
9928f81858SKrzysztof Kozlowski  tRFC-min-tck:
10028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
10128f81858SKrzysztof Kozlowski    maximum: 255
10228f81858SKrzysztof Kozlowski    description: |
10328f81858SKrzysztof Kozlowski      Refresh Cycle time in terms of number of clock cycles.
10428f81858SKrzysztof Kozlowski
10528f81858SKrzysztof Kozlowski  tRL-min-tck:
10628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
10728f81858SKrzysztof Kozlowski    maximum: 15
10828f81858SKrzysztof Kozlowski    description: |
10928f81858SKrzysztof Kozlowski     READ data latency in terms of number of clock cycles.
11028f81858SKrzysztof Kozlowski
11128f81858SKrzysztof Kozlowski  tRPab-min-tck:
11228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
11328f81858SKrzysztof Kozlowski    maximum: 15
11428f81858SKrzysztof Kozlowski    description: |
11528f81858SKrzysztof Kozlowski      Row precharge time (all banks) in terms of number of clock cycles.
11628f81858SKrzysztof Kozlowski
11728f81858SKrzysztof Kozlowski  tRPpb-min-tck:
11828f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
11928f81858SKrzysztof Kozlowski    maximum: 15
12028f81858SKrzysztof Kozlowski    description: |
12128f81858SKrzysztof Kozlowski      Row precharge time (single banks) in terms of number of clock cycles.
12228f81858SKrzysztof Kozlowski
12328f81858SKrzysztof Kozlowski  tRRD-min-tck:
12428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
12528f81858SKrzysztof Kozlowski    maximum: 15
12628f81858SKrzysztof Kozlowski    description: |
12728f81858SKrzysztof Kozlowski      Active bank A to active bank B in terms of number of clock cycles.
12828f81858SKrzysztof Kozlowski
12928f81858SKrzysztof Kozlowski  tRTP-min-tck:
13028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
13128f81858SKrzysztof Kozlowski    maximum: 15
13228f81858SKrzysztof Kozlowski    description: |
13328f81858SKrzysztof Kozlowski      Internal READ to PRECHARGE command delay in terms of number of clock
13428f81858SKrzysztof Kozlowski      cycles.
13528f81858SKrzysztof Kozlowski
13628f81858SKrzysztof Kozlowski  tW2W-C2C-min-tck:
13728f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
13828f81858SKrzysztof Kozlowski    enum: [0, 1]
13928f81858SKrzysztof Kozlowski    description: |
14028f81858SKrzysztof Kozlowski      Additional WRITE-to-WRITE delay in chip-to-chip cases in terms of number
14128f81858SKrzysztof Kozlowski      of clock cycles.
14228f81858SKrzysztof Kozlowski
14328f81858SKrzysztof Kozlowski  tWL-min-tck:
14428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
14528f81858SKrzysztof Kozlowski    maximum: 15
14628f81858SKrzysztof Kozlowski    description: |
14728f81858SKrzysztof Kozlowski      WRITE data latency in terms of number of clock cycles.
14828f81858SKrzysztof Kozlowski
14928f81858SKrzysztof Kozlowski  tWR-min-tck:
15028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
15128f81858SKrzysztof Kozlowski    maximum: 15
15228f81858SKrzysztof Kozlowski    description: |
15328f81858SKrzysztof Kozlowski      WRITE recovery time in terms of number of clock cycles.
15428f81858SKrzysztof Kozlowski
15528f81858SKrzysztof Kozlowski  tWTR-min-tck:
15628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
15728f81858SKrzysztof Kozlowski    maximum: 15
15828f81858SKrzysztof Kozlowski    description: |
15928f81858SKrzysztof Kozlowski      Internal WRITE-to-READ command delay in terms of number of clock cycles.
16028f81858SKrzysztof Kozlowski
16128f81858SKrzysztof Kozlowski  tXP-min-tck:
16228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
16328f81858SKrzysztof Kozlowski    maximum: 255
16428f81858SKrzysztof Kozlowski    description: |
16528f81858SKrzysztof Kozlowski      Exit power-down to next valid command delay in terms of number of clock
16628f81858SKrzysztof Kozlowski      cycles.
16728f81858SKrzysztof Kozlowski
16828f81858SKrzysztof Kozlowski  tXSR-min-tck:
16928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
17028f81858SKrzysztof Kozlowski    maximum: 1023
17128f81858SKrzysztof Kozlowski    description: |
17228f81858SKrzysztof Kozlowski      SELF REFRESH exit to next valid command delay in terms of number of clock
17328f81858SKrzysztof Kozlowski      cycles.
17428f81858SKrzysztof Kozlowski
17528f81858SKrzysztof KozlowskipatternProperties:
17642f94bb9SKrzysztof Kozlowski  "^timings((-[0-9])+|(@[0-9a-f]+))?$":
17728f81858SKrzysztof Kozlowski    $ref: jedec,lpddr3-timings.yaml
17828f81858SKrzysztof Kozlowski    description: |
17928f81858SKrzysztof Kozlowski      The lpddr3 node may have one or more child nodes with timings.
18028f81858SKrzysztof Kozlowski      Each timing node provides AC timing parameters of the device for a given
18128f81858SKrzysztof Kozlowski      speed-bin. The user may provide the timings for as many speed-bins as is
18228f81858SKrzysztof Kozlowski      required.
18328f81858SKrzysztof Kozlowski
18428f81858SKrzysztof Kozlowskirequired:
18528f81858SKrzysztof Kozlowski  - compatible
18628f81858SKrzysztof Kozlowski  - density
18728f81858SKrzysztof Kozlowski  - io-width
18828f81858SKrzysztof Kozlowski
189b7178cd5SJulius WernerunevaluatedProperties: false
19028f81858SKrzysztof Kozlowski
19128f81858SKrzysztof Kozlowskiexamples:
19228f81858SKrzysztof Kozlowski  - |
19328f81858SKrzysztof Kozlowski    lpddr3 {
19428f81858SKrzysztof Kozlowski        compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
19528f81858SKrzysztof Kozlowski        density = <16384>;
19628f81858SKrzysztof Kozlowski        io-width = <32>;
19728f81858SKrzysztof Kozlowski
19828f81858SKrzysztof Kozlowski        tCKE-min-tck = <2>;
19928f81858SKrzysztof Kozlowski        tCKESR-min-tck = <2>;
20028f81858SKrzysztof Kozlowski        tDQSCK-min-tck = <5>;
20128f81858SKrzysztof Kozlowski        tFAW-min-tck = <5>;
20228f81858SKrzysztof Kozlowski        tMRD-min-tck = <5>;
20328f81858SKrzysztof Kozlowski        tR2R-C2C-min-tck = <0>;
20428f81858SKrzysztof Kozlowski        tRAS-min-tck = <5>;
20528f81858SKrzysztof Kozlowski        tRC-min-tck = <6>;
20628f81858SKrzysztof Kozlowski        tRCD-min-tck = <3>;
20728f81858SKrzysztof Kozlowski        tRFC-min-tck = <17>;
20828f81858SKrzysztof Kozlowski        tRL-min-tck = <14>;
20928f81858SKrzysztof Kozlowski        tRPab-min-tck = <2>;
21028f81858SKrzysztof Kozlowski        tRPpb-min-tck = <2>;
21128f81858SKrzysztof Kozlowski        tRRD-min-tck = <2>;
21228f81858SKrzysztof Kozlowski        tRTP-min-tck = <2>;
21328f81858SKrzysztof Kozlowski        tW2W-C2C-min-tck = <0>;
21428f81858SKrzysztof Kozlowski        tWL-min-tck = <8>;
21528f81858SKrzysztof Kozlowski        tWR-min-tck = <7>;
21628f81858SKrzysztof Kozlowski        tWTR-min-tck = <2>;
21728f81858SKrzysztof Kozlowski        tXP-min-tck = <2>;
21828f81858SKrzysztof Kozlowski        tXSR-min-tck = <12>;
21928f81858SKrzysztof Kozlowski
22042f94bb9SKrzysztof Kozlowski        timings {
22128f81858SKrzysztof Kozlowski            compatible = "jedec,lpddr3-timings";
22242f94bb9SKrzysztof Kozlowski            max-freq = <800000000>;
22328f81858SKrzysztof Kozlowski            min-freq = <100000000>;
22428f81858SKrzysztof Kozlowski            tCKE = <3750>;
22528f81858SKrzysztof Kozlowski            tCKESR = <3750>;
22628f81858SKrzysztof Kozlowski            tFAW = <25000>;
22728f81858SKrzysztof Kozlowski            tMRD = <7000>;
22828f81858SKrzysztof Kozlowski            tR2R-C2C = <0>;
22928f81858SKrzysztof Kozlowski            tRAS = <23000>;
23028f81858SKrzysztof Kozlowski            tRC = <33750>;
23128f81858SKrzysztof Kozlowski            tRCD = <10000>;
23228f81858SKrzysztof Kozlowski            tRFC = <65000>;
23328f81858SKrzysztof Kozlowski            tRPab = <12000>;
23428f81858SKrzysztof Kozlowski            tRPpb = <12000>;
23528f81858SKrzysztof Kozlowski            tRRD = <6000>;
23628f81858SKrzysztof Kozlowski            tRTP = <3750>;
23728f81858SKrzysztof Kozlowski            tW2W-C2C = <0>;
23828f81858SKrzysztof Kozlowski            tWR = <7500>;
23928f81858SKrzysztof Kozlowski            tWTR = <3750>;
24028f81858SKrzysztof Kozlowski            tXP = <3750>;
24128f81858SKrzysztof Kozlowski            tXSR = <70000>;
24228f81858SKrzysztof Kozlowski        };
24328f81858SKrzysztof Kozlowski    };
244