xref: /linux/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr3.yaml (revision 42f94bb962cd1b15dc57c90aca7e48848ca6c6c3)
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:
1028f81858SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
1128f81858SKrzysztof Kozlowski
1228f81858SKrzysztof Kozlowskiproperties:
1328f81858SKrzysztof Kozlowski  compatible:
1428f81858SKrzysztof Kozlowski    items:
1528f81858SKrzysztof Kozlowski      - enum:
1628f81858SKrzysztof Kozlowski          - samsung,K3QF2F20DB
1728f81858SKrzysztof Kozlowski      - const: jedec,lpddr3
1828f81858SKrzysztof Kozlowski
1928f81858SKrzysztof Kozlowski  '#address-cells':
2028f81858SKrzysztof Kozlowski    const: 1
21*42f94bb9SKrzysztof Kozlowski    deprecated: true
2228f81858SKrzysztof Kozlowski
2328f81858SKrzysztof Kozlowski  density:
2428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
2528f81858SKrzysztof Kozlowski    description: |
2628f81858SKrzysztof Kozlowski      Density in megabits of SDRAM chip.
2728f81858SKrzysztof Kozlowski    enum:
2828f81858SKrzysztof Kozlowski      - 4096
2928f81858SKrzysztof Kozlowski      - 8192
3028f81858SKrzysztof Kozlowski      - 16384
3128f81858SKrzysztof Kozlowski      - 32768
3228f81858SKrzysztof Kozlowski
3328f81858SKrzysztof Kozlowski  io-width:
3428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
3528f81858SKrzysztof Kozlowski    description: |
3628f81858SKrzysztof Kozlowski      IO bus width in bits of SDRAM chip.
3728f81858SKrzysztof Kozlowski    enum:
3828f81858SKrzysztof Kozlowski      - 32
3928f81858SKrzysztof Kozlowski      - 16
4028f81858SKrzysztof Kozlowski
4128f81858SKrzysztof Kozlowski  manufacturer-id:
4228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
4328f81858SKrzysztof Kozlowski    description: |
44e531932cSKrzysztof Kozlowski      Manufacturer ID value read from Mode Register 5.  The property is
45e531932cSKrzysztof Kozlowski      deprecated, manufacturer should be derived from the compatible.
46e531932cSKrzysztof Kozlowski    deprecated: true
4728f81858SKrzysztof Kozlowski
4828f81858SKrzysztof Kozlowski  revision-id:
4928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
5028f81858SKrzysztof Kozlowski    minItems: 2
5128f81858SKrzysztof Kozlowski    maxItems: 2
5228f81858SKrzysztof Kozlowski    items:
5328f81858SKrzysztof Kozlowski      maximum: 255
5428f81858SKrzysztof Kozlowski    description: |
5528f81858SKrzysztof Kozlowski      Revision value of SDRAM chip read from Mode Registers 6 and 7.
5628f81858SKrzysztof Kozlowski
5728f81858SKrzysztof Kozlowski  '#size-cells':
5828f81858SKrzysztof Kozlowski    const: 0
59*42f94bb9SKrzysztof Kozlowski    deprecated: true
6028f81858SKrzysztof Kozlowski
6128f81858SKrzysztof Kozlowski  tCKE-min-tck:
6228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
6328f81858SKrzysztof Kozlowski    maximum: 15
6428f81858SKrzysztof Kozlowski    description: |
6528f81858SKrzysztof Kozlowski      CKE minimum pulse width (HIGH and LOW pulse width) in terms of number
6628f81858SKrzysztof Kozlowski      of clock cycles.
6728f81858SKrzysztof Kozlowski
6828f81858SKrzysztof Kozlowski  tCKESR-min-tck:
6928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
7028f81858SKrzysztof Kozlowski    maximum: 15
7128f81858SKrzysztof Kozlowski    description: |
7228f81858SKrzysztof Kozlowski      CKE minimum pulse width during SELF REFRESH (low pulse width during
7328f81858SKrzysztof Kozlowski      SELF REFRESH) in terms of number of clock cycles.
7428f81858SKrzysztof Kozlowski
7528f81858SKrzysztof Kozlowski  tDQSCK-min-tck:
7628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
7728f81858SKrzysztof Kozlowski    maximum: 15
7828f81858SKrzysztof Kozlowski    description: |
7928f81858SKrzysztof Kozlowski      DQS output data access time from CK_t/CK_c in terms of number of clock
8028f81858SKrzysztof Kozlowski      cycles.
8128f81858SKrzysztof Kozlowski
8228f81858SKrzysztof Kozlowski  tFAW-min-tck:
8328f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
8428f81858SKrzysztof Kozlowski    maximum: 63
8528f81858SKrzysztof Kozlowski    description: |
8628f81858SKrzysztof Kozlowski      Four-bank activate window in terms of number of clock cycles.
8728f81858SKrzysztof Kozlowski
8828f81858SKrzysztof Kozlowski  tMRD-min-tck:
8928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
9028f81858SKrzysztof Kozlowski    maximum: 15
9128f81858SKrzysztof Kozlowski    description: |
9228f81858SKrzysztof Kozlowski      Mode register set command delay in terms of number of clock cycles.
9328f81858SKrzysztof Kozlowski
9428f81858SKrzysztof Kozlowski  tR2R-C2C-min-tck:
9528f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
9628f81858SKrzysztof Kozlowski    enum: [0, 1]
9728f81858SKrzysztof Kozlowski    description: |
9828f81858SKrzysztof Kozlowski      Additional READ-to-READ delay in chip-to-chip cases in terms of number
9928f81858SKrzysztof Kozlowski      of clock cycles.
10028f81858SKrzysztof Kozlowski
10128f81858SKrzysztof Kozlowski  tRAS-min-tck:
10228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
10328f81858SKrzysztof Kozlowski    maximum: 63
10428f81858SKrzysztof Kozlowski    description: |
10528f81858SKrzysztof Kozlowski      Row active time in terms of number of clock cycles.
10628f81858SKrzysztof Kozlowski
10728f81858SKrzysztof Kozlowski  tRC-min-tck:
10828f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
10928f81858SKrzysztof Kozlowski    maximum: 63
11028f81858SKrzysztof Kozlowski    description: |
11128f81858SKrzysztof Kozlowski      ACTIVATE-to-ACTIVATE command period in terms of number of clock cycles.
11228f81858SKrzysztof Kozlowski
11328f81858SKrzysztof Kozlowski  tRCD-min-tck:
11428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
11528f81858SKrzysztof Kozlowski    maximum: 15
11628f81858SKrzysztof Kozlowski    description: |
11728f81858SKrzysztof Kozlowski      RAS-to-CAS delay in terms of number of clock cycles.
11828f81858SKrzysztof Kozlowski
11928f81858SKrzysztof Kozlowski  tRFC-min-tck:
12028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
12128f81858SKrzysztof Kozlowski    maximum: 255
12228f81858SKrzysztof Kozlowski    description: |
12328f81858SKrzysztof Kozlowski      Refresh Cycle time in terms of number of clock cycles.
12428f81858SKrzysztof Kozlowski
12528f81858SKrzysztof Kozlowski  tRL-min-tck:
12628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
12728f81858SKrzysztof Kozlowski    maximum: 15
12828f81858SKrzysztof Kozlowski    description: |
12928f81858SKrzysztof Kozlowski     READ data latency in terms of number of clock cycles.
13028f81858SKrzysztof Kozlowski
13128f81858SKrzysztof Kozlowski  tRPab-min-tck:
13228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
13328f81858SKrzysztof Kozlowski    maximum: 15
13428f81858SKrzysztof Kozlowski    description: |
13528f81858SKrzysztof Kozlowski      Row precharge time (all banks) in terms of number of clock cycles.
13628f81858SKrzysztof Kozlowski
13728f81858SKrzysztof Kozlowski  tRPpb-min-tck:
13828f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
13928f81858SKrzysztof Kozlowski    maximum: 15
14028f81858SKrzysztof Kozlowski    description: |
14128f81858SKrzysztof Kozlowski      Row precharge time (single banks) in terms of number of clock cycles.
14228f81858SKrzysztof Kozlowski
14328f81858SKrzysztof Kozlowski  tRRD-min-tck:
14428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
14528f81858SKrzysztof Kozlowski    maximum: 15
14628f81858SKrzysztof Kozlowski    description: |
14728f81858SKrzysztof Kozlowski      Active bank A to active bank B in terms of number of clock cycles.
14828f81858SKrzysztof Kozlowski
14928f81858SKrzysztof Kozlowski  tRTP-min-tck:
15028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
15128f81858SKrzysztof Kozlowski    maximum: 15
15228f81858SKrzysztof Kozlowski    description: |
15328f81858SKrzysztof Kozlowski      Internal READ to PRECHARGE command delay in terms of number of clock
15428f81858SKrzysztof Kozlowski      cycles.
15528f81858SKrzysztof Kozlowski
15628f81858SKrzysztof Kozlowski  tW2W-C2C-min-tck:
15728f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
15828f81858SKrzysztof Kozlowski    enum: [0, 1]
15928f81858SKrzysztof Kozlowski    description: |
16028f81858SKrzysztof Kozlowski      Additional WRITE-to-WRITE delay in chip-to-chip cases in terms of number
16128f81858SKrzysztof Kozlowski      of clock cycles.
16228f81858SKrzysztof Kozlowski
16328f81858SKrzysztof Kozlowski  tWL-min-tck:
16428f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
16528f81858SKrzysztof Kozlowski    maximum: 15
16628f81858SKrzysztof Kozlowski    description: |
16728f81858SKrzysztof Kozlowski      WRITE data latency in terms of number of clock cycles.
16828f81858SKrzysztof Kozlowski
16928f81858SKrzysztof Kozlowski  tWR-min-tck:
17028f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
17128f81858SKrzysztof Kozlowski    maximum: 15
17228f81858SKrzysztof Kozlowski    description: |
17328f81858SKrzysztof Kozlowski      WRITE recovery time in terms of number of clock cycles.
17428f81858SKrzysztof Kozlowski
17528f81858SKrzysztof Kozlowski  tWTR-min-tck:
17628f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
17728f81858SKrzysztof Kozlowski    maximum: 15
17828f81858SKrzysztof Kozlowski    description: |
17928f81858SKrzysztof Kozlowski      Internal WRITE-to-READ command delay in terms of number of clock cycles.
18028f81858SKrzysztof Kozlowski
18128f81858SKrzysztof Kozlowski  tXP-min-tck:
18228f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
18328f81858SKrzysztof Kozlowski    maximum: 255
18428f81858SKrzysztof Kozlowski    description: |
18528f81858SKrzysztof Kozlowski      Exit power-down to next valid command delay in terms of number of clock
18628f81858SKrzysztof Kozlowski      cycles.
18728f81858SKrzysztof Kozlowski
18828f81858SKrzysztof Kozlowski  tXSR-min-tck:
18928f81858SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
19028f81858SKrzysztof Kozlowski    maximum: 1023
19128f81858SKrzysztof Kozlowski    description: |
19228f81858SKrzysztof Kozlowski      SELF REFRESH exit to next valid command delay in terms of number of clock
19328f81858SKrzysztof Kozlowski      cycles.
19428f81858SKrzysztof Kozlowski
19528f81858SKrzysztof KozlowskipatternProperties:
196*42f94bb9SKrzysztof Kozlowski  "^timings((-[0-9])+|(@[0-9a-f]+))?$":
19728f81858SKrzysztof Kozlowski    $ref: jedec,lpddr3-timings.yaml
19828f81858SKrzysztof Kozlowski    description: |
19928f81858SKrzysztof Kozlowski      The lpddr3 node may have one or more child nodes with timings.
20028f81858SKrzysztof Kozlowski      Each timing node provides AC timing parameters of the device for a given
20128f81858SKrzysztof Kozlowski      speed-bin. The user may provide the timings for as many speed-bins as is
20228f81858SKrzysztof Kozlowski      required.
20328f81858SKrzysztof Kozlowski
20428f81858SKrzysztof Kozlowskirequired:
20528f81858SKrzysztof Kozlowski  - compatible
20628f81858SKrzysztof Kozlowski  - density
20728f81858SKrzysztof Kozlowski  - io-width
20828f81858SKrzysztof Kozlowski
20928f81858SKrzysztof KozlowskiadditionalProperties: false
21028f81858SKrzysztof Kozlowski
21128f81858SKrzysztof Kozlowskiexamples:
21228f81858SKrzysztof Kozlowski  - |
21328f81858SKrzysztof Kozlowski    lpddr3 {
21428f81858SKrzysztof Kozlowski        compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
21528f81858SKrzysztof Kozlowski        density = <16384>;
21628f81858SKrzysztof Kozlowski        io-width = <32>;
21728f81858SKrzysztof Kozlowski
21828f81858SKrzysztof Kozlowski        tCKE-min-tck = <2>;
21928f81858SKrzysztof Kozlowski        tCKESR-min-tck = <2>;
22028f81858SKrzysztof Kozlowski        tDQSCK-min-tck = <5>;
22128f81858SKrzysztof Kozlowski        tFAW-min-tck = <5>;
22228f81858SKrzysztof Kozlowski        tMRD-min-tck = <5>;
22328f81858SKrzysztof Kozlowski        tR2R-C2C-min-tck = <0>;
22428f81858SKrzysztof Kozlowski        tRAS-min-tck = <5>;
22528f81858SKrzysztof Kozlowski        tRC-min-tck = <6>;
22628f81858SKrzysztof Kozlowski        tRCD-min-tck = <3>;
22728f81858SKrzysztof Kozlowski        tRFC-min-tck = <17>;
22828f81858SKrzysztof Kozlowski        tRL-min-tck = <14>;
22928f81858SKrzysztof Kozlowski        tRPab-min-tck = <2>;
23028f81858SKrzysztof Kozlowski        tRPpb-min-tck = <2>;
23128f81858SKrzysztof Kozlowski        tRRD-min-tck = <2>;
23228f81858SKrzysztof Kozlowski        tRTP-min-tck = <2>;
23328f81858SKrzysztof Kozlowski        tW2W-C2C-min-tck = <0>;
23428f81858SKrzysztof Kozlowski        tWL-min-tck = <8>;
23528f81858SKrzysztof Kozlowski        tWR-min-tck = <7>;
23628f81858SKrzysztof Kozlowski        tWTR-min-tck = <2>;
23728f81858SKrzysztof Kozlowski        tXP-min-tck = <2>;
23828f81858SKrzysztof Kozlowski        tXSR-min-tck = <12>;
23928f81858SKrzysztof Kozlowski
240*42f94bb9SKrzysztof Kozlowski        timings {
24128f81858SKrzysztof Kozlowski            compatible = "jedec,lpddr3-timings";
242*42f94bb9SKrzysztof Kozlowski            max-freq = <800000000>;
24328f81858SKrzysztof Kozlowski            min-freq = <100000000>;
24428f81858SKrzysztof Kozlowski            tCKE = <3750>;
24528f81858SKrzysztof Kozlowski            tCKESR = <3750>;
24628f81858SKrzysztof Kozlowski            tFAW = <25000>;
24728f81858SKrzysztof Kozlowski            tMRD = <7000>;
24828f81858SKrzysztof Kozlowski            tR2R-C2C = <0>;
24928f81858SKrzysztof Kozlowski            tRAS = <23000>;
25028f81858SKrzysztof Kozlowski            tRC = <33750>;
25128f81858SKrzysztof Kozlowski            tRCD = <10000>;
25228f81858SKrzysztof Kozlowski            tRFC = <65000>;
25328f81858SKrzysztof Kozlowski            tRPab = <12000>;
25428f81858SKrzysztof Kozlowski            tRPpb = <12000>;
25528f81858SKrzysztof Kozlowski            tRRD = <6000>;
25628f81858SKrzysztof Kozlowski            tRTP = <3750>;
25728f81858SKrzysztof Kozlowski            tW2W-C2C = <0>;
25828f81858SKrzysztof Kozlowski            tWR = <7500>;
25928f81858SKrzysztof Kozlowski            tWTR = <3750>;
26028f81858SKrzysztof Kozlowski            tXP = <3750>;
26128f81858SKrzysztof Kozlowski            tXSR = <70000>;
26228f81858SKrzysztof Kozlowski        };
26328f81858SKrzysztof Kozlowski    };
264