xref: /linux/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,sdram-props.yaml (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1*dffaa1beSClément Le Goffic# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*dffaa1beSClément Le Goffic%YAML 1.2
3*dffaa1beSClément Le Goffic---
4*dffaa1beSClément Le Goffic$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,sdram-props.yaml#
5*dffaa1beSClément Le Goffic$schema: http://devicetree.org/meta-schemas/core.yaml#
6*dffaa1beSClément Le Goffic
7*dffaa1beSClément Le Goffictitle: Common properties for SDRAM types
8*dffaa1beSClément Le Goffic
9*dffaa1beSClément Le Gofficdescription:
10*dffaa1beSClément Le Goffic  Different SDRAM types generally use the same properties and only differ in the
11*dffaa1beSClément Le Goffic  range of legal values for each. This file defines the common parts that can be
12*dffaa1beSClément Le Goffic  reused for each type. Nodes using this schema should generally be nested under
13*dffaa1beSClément Le Goffic  a SDRAM channel node.
14*dffaa1beSClément Le Goffic
15*dffaa1beSClément Le Gofficmaintainers:
16*dffaa1beSClément Le Goffic  - Krzysztof Kozlowski <krzk@kernel.org>
17*dffaa1beSClément Le Goffic
18*dffaa1beSClément Le Gofficproperties:
19*dffaa1beSClément Le Goffic  compatible:
20*dffaa1beSClément Le Goffic    description: |
21*dffaa1beSClément Le Goffic      Compatible strings can be either explicit vendor names and part numbers
22*dffaa1beSClément Le Goffic      (e.g. elpida,ECB240ABACN), or generated strings of the form
23*dffaa1beSClément Le Goffic      lpddrX-YY,ZZZZ or ddrX-YYYY,AAAA...-ZZ where X, Y, and Z are lowercase
24*dffaa1beSClément Le Goffic      hexadecimal with leading zeroes, and A is lowercase ASCII.
25*dffaa1beSClément Le Goffic      For LPDDR and DDR SDRAM, X is the SDRAM version (2, 3, 4, etc.).
26*dffaa1beSClément Le Goffic      For LPDDR SDRAM:
27*dffaa1beSClément Le Goffic        - YY is the manufacturer ID (from MR5), 1 byte
28*dffaa1beSClément Le Goffic        - ZZZZ is the revision ID (from MR6 and MR7), 2 bytes
29*dffaa1beSClément Le Goffic      For DDR4 SDRAM with SPD, according to JEDEC SPD4.1.2.L-6:
30*dffaa1beSClément Le Goffic        - YYYY is the manufacturer ID, 2 bytes, from bytes 320 and 321
31*dffaa1beSClément Le Goffic        - AAAA... is the part number, 20 bytes (20 chars) from bytes 329 to 348
32*dffaa1beSClément Le Goffic          without trailing spaces
33*dffaa1beSClément Le Goffic        - ZZ is the revision ID, 1 byte, from byte 349
34*dffaa1beSClément Le Goffic      The former form is useful when the SDRAM vendor and part number are
35*dffaa1beSClément Le Goffic      known, for example, when memory is soldered on the board. The latter
36*dffaa1beSClément Le Goffic      form is useful when SDRAM nodes are created at runtime by boot firmware
37*dffaa1beSClément Le Goffic      that doesn't have access to static part number information.
38*dffaa1beSClément Le Goffic
39*dffaa1beSClément Le Goffic  reg:
40*dffaa1beSClément Le Goffic    description:
41*dffaa1beSClément Le Goffic      The rank number of this memory rank when used as a subnode to an memory
42*dffaa1beSClément Le Goffic      channel.
43*dffaa1beSClément Le Goffic    minimum: 0
44*dffaa1beSClément Le Goffic    maximum: 3
45*dffaa1beSClément Le Goffic
46*dffaa1beSClément Le Goffic  revision-id:
47*dffaa1beSClément Le Goffic    $ref: /schemas/types.yaml#/definitions/uint32-array
48*dffaa1beSClément Le Goffic    description: |
49*dffaa1beSClément Le Goffic      SDRAM revision ID:
50*dffaa1beSClément Le Goffic        - LPDDR SDRAM, decoded from Mode Registers 6 and 7, always 2 bytes.
51*dffaa1beSClément Le Goffic        - DDR4 SDRAM, decoded from the SPD from byte 349 according to
52*dffaa1beSClément Le Goffic          JEDEC SPD4.1.2.L-6, always 1 byte.
53*dffaa1beSClément Le Goffic      One byte per uint32 cell (e.g., <MR6 MR7>).
54*dffaa1beSClément Le Goffic    maxItems: 2
55*dffaa1beSClément Le Goffic    items:
56*dffaa1beSClément Le Goffic      minimum: 0
57*dffaa1beSClément Le Goffic      maximum: 255
58*dffaa1beSClément Le Goffic
59*dffaa1beSClément Le Goffic  density:
60*dffaa1beSClément Le Goffic    $ref: /schemas/types.yaml#/definitions/uint32
61*dffaa1beSClément Le Goffic    description: |
62*dffaa1beSClément Le Goffic      Density of the SDRAM chip in megabits:
63*dffaa1beSClément Le Goffic        - LPDDR SDRAM, decoded from Mode Register 8.
64*dffaa1beSClément Le Goffic        - DDR4 SDRAM, decoded from the SPD from bits 3-0 of byte 4 according to
65*dffaa1beSClément Le Goffic          JEDEC SPD4.1.2.L-6.
66*dffaa1beSClément Le Goffic    enum:
67*dffaa1beSClément Le Goffic      - 64
68*dffaa1beSClément Le Goffic      - 128
69*dffaa1beSClément Le Goffic      - 256
70*dffaa1beSClément Le Goffic      - 512
71*dffaa1beSClément Le Goffic      - 1024
72*dffaa1beSClément Le Goffic      - 2048
73*dffaa1beSClément Le Goffic      - 3072
74*dffaa1beSClément Le Goffic      - 4096
75*dffaa1beSClément Le Goffic      - 6144
76*dffaa1beSClément Le Goffic      - 8192
77*dffaa1beSClément Le Goffic      - 12288
78*dffaa1beSClément Le Goffic      - 16384
79*dffaa1beSClément Le Goffic      - 24576
80*dffaa1beSClément Le Goffic      - 32768
81*dffaa1beSClément Le Goffic
82*dffaa1beSClément Le Goffic  io-width:
83*dffaa1beSClément Le Goffic    $ref: /schemas/types.yaml#/definitions/uint32
84*dffaa1beSClément Le Goffic    description: |
85*dffaa1beSClément Le Goffic      I/O bus width in bits of the SDRAM chip:
86*dffaa1beSClément Le Goffic        - LPDDR SDRAM, decoded from Mode Register 8.
87*dffaa1beSClément Le Goffic        - DDR4 SDRAM, decoded from the SPD from bits 2-0 of byte 12 according to
88*dffaa1beSClément Le Goffic          JEDEC SPD4.1.2.L-6.
89*dffaa1beSClément Le Goffic    enum:
90*dffaa1beSClément Le Goffic      - 8
91*dffaa1beSClément Le Goffic      - 16
92*dffaa1beSClément Le Goffic      - 32
93*dffaa1beSClément Le Goffic
94*dffaa1beSClément Le GofficadditionalProperties: true
95