~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/memory-controllers/ddr/jedec,lpddr-channel.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr-channel.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: LPDDR channel with chip/rank topology description
  8 
  9 description:
 10   An LPDDR channel is a completely independent set of LPDDR pins (DQ, CA, CS,
 11   CK, etc.) that connect one or more LPDDR chips to a host system. The main
 12   purpose of this node is to overall LPDDR topology of the system, including the
 13   amount of individual LPDDR chips and the ranks per chip.
 14 
 15 maintainers:
 16   - Julius Werner <jwerner@chromium.org>
 17 
 18 properties:
 19   compatible:
 20     enum:
 21       - jedec,lpddr2-channel
 22       - jedec,lpddr3-channel
 23       - jedec,lpddr4-channel
 24       - jedec,lpddr5-channel
 25 
 26   io-width:
 27     description:
 28       The number of DQ pins in the channel. If this number is different
 29       from (a multiple of) the io-width of the LPDDR chip, that means that
 30       multiple instances of that type of chip are wired in parallel on this
 31       channel (with the channel's DQ pins split up between the different
 32       chips, and the CA, CS, etc. pins of the different chips all shorted
 33       together).  This means that the total physical memory controlled by a
 34       channel is equal to the sum of the densities of each rank on the
 35       connected LPDDR chip, times the io-width of the channel divided by
 36       the io-width of the LPDDR chip.
 37     enum:
 38       - 8
 39       - 16
 40       - 32
 41       - 64
 42       - 128
 43 
 44   "#address-cells":
 45     const: 1
 46 
 47   "#size-cells":
 48     const: 0
 49 
 50 patternProperties:
 51   "^rank@[0-9]+$":
 52     type: object
 53     description:
 54       Each physical LPDDR chip may have one or more ranks. Ranks are
 55       internal but fully independent sub-units of the chip. Each LPDDR bus
 56       transaction on the channel targets exactly one rank, based on the
 57       state of the CS pins. Different ranks may have different densities and
 58       timing requirements.
 59     required:
 60       - reg
 61 
 62 allOf:
 63   - if:
 64       properties:
 65         compatible:
 66           contains:
 67             const: jedec,lpddr2-channel
 68     then:
 69       patternProperties:
 70         "^rank@[0-9]+$":
 71           $ref: /schemas/memory-controllers/ddr/jedec,lpddr2.yaml#
 72   - if:
 73       properties:
 74         compatible:
 75           contains:
 76             const: jedec,lpddr3-channel
 77     then:
 78       patternProperties:
 79         "^rank@[0-9]+$":
 80           $ref: /schemas/memory-controllers/ddr/jedec,lpddr3.yaml#
 81   - if:
 82       properties:
 83         compatible:
 84           contains:
 85             const: jedec,lpddr4-channel
 86     then:
 87       patternProperties:
 88         "^rank@[0-9]+$":
 89           $ref: /schemas/memory-controllers/ddr/jedec,lpddr4.yaml#
 90   - if:
 91       properties:
 92         compatible:
 93           contains:
 94             const: jedec,lpddr5-channel
 95     then:
 96       patternProperties:
 97         "^rank@[0-9]+$":
 98           $ref: /schemas/memory-controllers/ddr/jedec,lpddr5.yaml#
 99 
100 required:
101   - compatible
102   - io-width
103   - "#address-cells"
104   - "#size-cells"
105 
106 additionalProperties: false
107 
108 examples:
109   - |
110     lpddr-channel0 {
111       #address-cells = <1>;
112       #size-cells = <0>;
113       compatible = "jedec,lpddr3-channel";
114       io-width = <32>;
115 
116       rank@0 {
117         compatible = "lpddr3-ff,0100", "jedec,lpddr3";
118         reg = <0>;
119         density = <8192>;
120         io-width = <16>;
121         revision-id = <1 0>;
122       };
123     };
124 
125     lpddr-channel1 {
126       #address-cells = <1>;
127       #size-cells = <0>;
128       compatible = "jedec,lpddr4-channel";
129       io-width = <32>;
130 
131       rank@0 {
132         compatible = "lpddr4-05,0301", "jedec,lpddr4";
133         reg = <0>;
134         density = <4096>;
135         io-width = <32>;
136         revision-id = <3 1>;
137       };
138 
139       rank@1 {
140         compatible = "lpddr4-05,0301", "jedec,lpddr4";
141         reg = <1>;
142         density = <2048>;
143         io-width = <32>;
144         revision-id = <3 1>;
145       };
146     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php