244 lines
6.5 KiB
YAML
244 lines
6.5 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr3.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: LPDDR3 SDRAM compliant to JEDEC JESD209-3
|
||
|
|
||
|
maintainers:
|
||
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
||
|
|
||
|
allOf:
|
||
|
- $ref: jedec,lpddr-props.yaml#
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- items:
|
||
|
- enum:
|
||
|
- samsung,K3QF2F20DB
|
||
|
- const: jedec,lpddr3
|
||
|
- items:
|
||
|
- pattern: "^lpddr3-[0-9a-f]{2},[0-9a-f]{4}$"
|
||
|
- const: jedec,lpddr3
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 1
|
||
|
deprecated: true
|
||
|
|
||
|
manufacturer-id:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Manufacturer ID value read from Mode Register 5. The property is
|
||
|
deprecated, manufacturer should be derived from the compatible.
|
||
|
deprecated: true
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
deprecated: true
|
||
|
|
||
|
tCKE-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
CKE minimum pulse width (HIGH and LOW pulse width) in terms of number
|
||
|
of clock cycles.
|
||
|
|
||
|
tCKESR-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
CKE minimum pulse width during SELF REFRESH (low pulse width during
|
||
|
SELF REFRESH) in terms of number of clock cycles.
|
||
|
|
||
|
tDQSCK-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
DQS output data access time from CK_t/CK_c in terms of number of clock
|
||
|
cycles.
|
||
|
|
||
|
tFAW-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 63
|
||
|
description: |
|
||
|
Four-bank activate window in terms of number of clock cycles.
|
||
|
|
||
|
tMRD-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Mode register set command delay in terms of number of clock cycles.
|
||
|
|
||
|
tR2R-C2C-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
enum: [0, 1]
|
||
|
description: |
|
||
|
Additional READ-to-READ delay in chip-to-chip cases in terms of number
|
||
|
of clock cycles.
|
||
|
|
||
|
tRAS-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 63
|
||
|
description: |
|
||
|
Row active time in terms of number of clock cycles.
|
||
|
|
||
|
tRC-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 63
|
||
|
description: |
|
||
|
ACTIVATE-to-ACTIVATE command period in terms of number of clock cycles.
|
||
|
|
||
|
tRCD-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
RAS-to-CAS delay in terms of number of clock cycles.
|
||
|
|
||
|
tRFC-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 255
|
||
|
description: |
|
||
|
Refresh Cycle time in terms of number of clock cycles.
|
||
|
|
||
|
tRL-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
READ data latency in terms of number of clock cycles.
|
||
|
|
||
|
tRPab-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Row precharge time (all banks) in terms of number of clock cycles.
|
||
|
|
||
|
tRPpb-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Row precharge time (single banks) in terms of number of clock cycles.
|
||
|
|
||
|
tRRD-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Active bank A to active bank B in terms of number of clock cycles.
|
||
|
|
||
|
tRTP-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Internal READ to PRECHARGE command delay in terms of number of clock
|
||
|
cycles.
|
||
|
|
||
|
tW2W-C2C-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
enum: [0, 1]
|
||
|
description: |
|
||
|
Additional WRITE-to-WRITE delay in chip-to-chip cases in terms of number
|
||
|
of clock cycles.
|
||
|
|
||
|
tWL-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
WRITE data latency in terms of number of clock cycles.
|
||
|
|
||
|
tWR-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
WRITE recovery time in terms of number of clock cycles.
|
||
|
|
||
|
tWTR-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 15
|
||
|
description: |
|
||
|
Internal WRITE-to-READ command delay in terms of number of clock cycles.
|
||
|
|
||
|
tXP-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 255
|
||
|
description: |
|
||
|
Exit power-down to next valid command delay in terms of number of clock
|
||
|
cycles.
|
||
|
|
||
|
tXSR-min-tck:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
maximum: 1023
|
||
|
description: |
|
||
|
SELF REFRESH exit to next valid command delay in terms of number of clock
|
||
|
cycles.
|
||
|
|
||
|
patternProperties:
|
||
|
"^timings((-[0-9])+|(@[0-9a-f]+))?$":
|
||
|
$ref: jedec,lpddr3-timings.yaml
|
||
|
description: |
|
||
|
The lpddr3 node may have one or more child nodes with timings.
|
||
|
Each timing node provides AC timing parameters of the device for a given
|
||
|
speed-bin. The user may provide the timings for as many speed-bins as is
|
||
|
required.
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- density
|
||
|
- io-width
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
lpddr3 {
|
||
|
compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
|
||
|
density = <16384>;
|
||
|
io-width = <32>;
|
||
|
|
||
|
tCKE-min-tck = <2>;
|
||
|
tCKESR-min-tck = <2>;
|
||
|
tDQSCK-min-tck = <5>;
|
||
|
tFAW-min-tck = <5>;
|
||
|
tMRD-min-tck = <5>;
|
||
|
tR2R-C2C-min-tck = <0>;
|
||
|
tRAS-min-tck = <5>;
|
||
|
tRC-min-tck = <6>;
|
||
|
tRCD-min-tck = <3>;
|
||
|
tRFC-min-tck = <17>;
|
||
|
tRL-min-tck = <14>;
|
||
|
tRPab-min-tck = <2>;
|
||
|
tRPpb-min-tck = <2>;
|
||
|
tRRD-min-tck = <2>;
|
||
|
tRTP-min-tck = <2>;
|
||
|
tW2W-C2C-min-tck = <0>;
|
||
|
tWL-min-tck = <8>;
|
||
|
tWR-min-tck = <7>;
|
||
|
tWTR-min-tck = <2>;
|
||
|
tXP-min-tck = <2>;
|
||
|
tXSR-min-tck = <12>;
|
||
|
|
||
|
timings {
|
||
|
compatible = "jedec,lpddr3-timings";
|
||
|
max-freq = <800000000>;
|
||
|
min-freq = <100000000>;
|
||
|
tCKE = <3750>;
|
||
|
tCKESR = <3750>;
|
||
|
tFAW = <25000>;
|
||
|
tMRD = <7000>;
|
||
|
tR2R-C2C = <0>;
|
||
|
tRAS = <23000>;
|
||
|
tRC = <33750>;
|
||
|
tRCD = <10000>;
|
||
|
tRFC = <65000>;
|
||
|
tRPab = <12000>;
|
||
|
tRPpb = <12000>;
|
||
|
tRRD = <6000>;
|
||
|
tRTP = <3750>;
|
||
|
tW2W-C2C = <0>;
|
||
|
tWR = <7500>;
|
||
|
tWTR = <3750>;
|
||
|
tXP = <3750>;
|
||
|
tXSR = <70000>;
|
||
|
};
|
||
|
};
|