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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.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 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml (Architecture i386) and /Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml (Architecture sparc64)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS      1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/memory-cont      4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra186-mc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: NVIDIA Tegra186 (and later) SoC Memory       7 title: NVIDIA Tegra186 (and later) SoC Memory Controller
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Jon Hunter <jonathanh@nvidia.com>               10   - Jon Hunter <jonathanh@nvidia.com>
 11   - Thierry Reding <thierry.reding@gmail.com>       11   - Thierry Reding <thierry.reding@gmail.com>
 12                                                    12 
 13 description: |                                     13 description: |
 14   The NVIDIA Tegra186 SoC features a 128 bit m     14   The NVIDIA Tegra186 SoC features a 128 bit memory controller that is split
 15   into four 32 bit channels to support LPDDR4      15   into four 32 bit channels to support LPDDR4 with x16 subpartitions. The MC
 16   handles memory requests for 40-bit virtual a     16   handles memory requests for 40-bit virtual addresses from internal clients
 17   and arbitrates among them to allocate memory     17   and arbitrates among them to allocate memory bandwidth.
 18                                                    18 
 19   Up to 15 GiB of physical memory can be suppo     19   Up to 15 GiB of physical memory can be supported. Security features such as
 20   encryption of traffic to and from DRAM via g     20   encryption of traffic to and from DRAM via general security apertures are
 21   available for video and other secure applica     21   available for video and other secure applications, as well as DRAM ECC for
 22   automotive safety applications (single bit e     22   automotive safety applications (single bit error correction and double bit
 23   error detection).                                23   error detection).
 24                                                    24 
 25 properties:                                        25 properties:
 26   $nodename:                                       26   $nodename:
 27     pattern: "^memory-controller@[0-9a-f]+$"       27     pattern: "^memory-controller@[0-9a-f]+$"
 28                                                    28 
 29   compatible:                                      29   compatible:
 30     items:                                         30     items:
 31       - enum:                                      31       - enum:
 32           - nvidia,tegra186-mc                     32           - nvidia,tegra186-mc
 33           - nvidia,tegra194-mc                     33           - nvidia,tegra194-mc
 34           - nvidia,tegra234-mc                     34           - nvidia,tegra234-mc
 35                                                    35 
 36   reg:                                             36   reg:
 37     minItems: 6                                    37     minItems: 6
 38     maxItems: 18                                   38     maxItems: 18
 39                                                    39 
 40   reg-names:                                       40   reg-names:
 41     minItems: 6                                    41     minItems: 6
 42     maxItems: 18                                   42     maxItems: 18
 43                                                    43 
 44   interrupts:                                      44   interrupts:
 45     items:                                         45     items:
 46       - description: MC general interrupt          46       - description: MC general interrupt
 47                                                    47 
 48   "#address-cells":                                48   "#address-cells":
 49     const: 2                                       49     const: 2
 50                                                    50 
 51   "#size-cells":                                   51   "#size-cells":
 52     const: 2                                       52     const: 2
 53                                                    53 
 54   ranges: true                                     54   ranges: true
 55                                                    55 
 56   dma-ranges: true                                 56   dma-ranges: true
 57                                                    57 
 58   "#interconnect-cells":                           58   "#interconnect-cells":
 59     const: 1                                       59     const: 1
 60                                                    60 
 61 patternProperties:                                 61 patternProperties:
 62   "^external-memory-controller@[0-9a-f]+$":        62   "^external-memory-controller@[0-9a-f]+$":
 63     description:                                   63     description:
 64       The bulk of the work involved in control     64       The bulk of the work involved in controlling the external memory
 65       controller on NVIDIA Tegra186 and later      65       controller on NVIDIA Tegra186 and later is performed on the BPMP. This
 66       coprocessor exposes the EMC clock that i     66       coprocessor exposes the EMC clock that is used to set the frequency at
 67       which the external memory is clocked and     67       which the external memory is clocked and a remote procedure call that
 68       can be used to obtain the set of availab     68       can be used to obtain the set of available frequencies.
 69     type: object                                   69     type: object
 70     properties:                                    70     properties:
 71       compatible:                                  71       compatible:
 72         items:                                     72         items:
 73           - enum:                                  73           - enum:
 74               - nvidia,tegra186-emc                74               - nvidia,tegra186-emc
 75               - nvidia,tegra194-emc                75               - nvidia,tegra194-emc
 76               - nvidia,tegra234-emc                76               - nvidia,tegra234-emc
 77                                                    77 
 78       reg:                                         78       reg:
 79         minItems: 1                                79         minItems: 1
 80         maxItems: 2                                80         maxItems: 2
 81                                                    81 
 82       interrupts:                                  82       interrupts:
 83         items:                                     83         items:
 84           - description: EMC general interrupt     84           - description: EMC general interrupt
 85                                                    85 
 86       clocks:                                      86       clocks:
 87         items:                                     87         items:
 88           - description: external memory clock     88           - description: external memory clock
 89                                                    89 
 90       clock-names:                                 90       clock-names:
 91         items:                                     91         items:
 92           - const: emc                             92           - const: emc
 93                                                    93 
 94       "#interconnect-cells":                       94       "#interconnect-cells":
 95         const: 0                                   95         const: 0
 96                                                    96 
 97       nvidia,bpmp:                                 97       nvidia,bpmp:
 98         $ref: /schemas/types.yaml#/definitions     98         $ref: /schemas/types.yaml#/definitions/phandle
 99         description:                               99         description:
100           phandle of the node representing the    100           phandle of the node representing the BPMP
101                                                   101 
102     allOf:                                        102     allOf:
103       - if:                                       103       - if:
104           properties:                             104           properties:
105             compatible:                           105             compatible:
106               const: nvidia,tegra186-emc          106               const: nvidia,tegra186-emc
107         then:                                     107         then:
108           properties:                             108           properties:
109             reg:                                  109             reg:
110               maxItems: 1                         110               maxItems: 1
111                                                   111 
112       - if:                                       112       - if:
113           properties:                             113           properties:
114             compatible:                           114             compatible:
115               const: nvidia,tegra194-emc          115               const: nvidia,tegra194-emc
116         then:                                     116         then:
117           properties:                             117           properties:
118             reg:                                  118             reg:
119               minItems: 2                         119               minItems: 2
120                                                   120 
121       - if:                                       121       - if:
122           properties:                             122           properties:
123             compatible:                           123             compatible:
124               const: nvidia,tegra234-emc          124               const: nvidia,tegra234-emc
125         then:                                     125         then:
126           properties:                             126           properties:
127             reg:                                  127             reg:
128               minItems: 2                         128               minItems: 2
129                                                   129 
130     additionalProperties: false                   130     additionalProperties: false
131                                                   131 
132     required:                                     132     required:
133       - compatible                                133       - compatible
134       - reg                                       134       - reg
135       - interrupts                                135       - interrupts
136       - clocks                                    136       - clocks
137       - clock-names                               137       - clock-names
138       - "#interconnect-cells"                     138       - "#interconnect-cells"
139       - nvidia,bpmp                               139       - nvidia,bpmp
140                                                   140 
141 allOf:                                            141 allOf:
142   - if:                                           142   - if:
143       properties:                                 143       properties:
144         compatible:                               144         compatible:
145           const: nvidia,tegra186-mc               145           const: nvidia,tegra186-mc
146     then:                                         146     then:
147       properties:                                 147       properties:
148         reg:                                      148         reg:
149           maxItems: 6                             149           maxItems: 6
150           description: 5 memory controller cha    150           description: 5 memory controller channels and 1 for stream-id registers
151                                                   151 
152         reg-names:                                152         reg-names:
153           items:                                  153           items:
154             - const: sid                          154             - const: sid
155             - const: broadcast                    155             - const: broadcast
156             - const: ch0                          156             - const: ch0
157             - const: ch1                          157             - const: ch1
158             - const: ch2                          158             - const: ch2
159             - const: ch3                          159             - const: ch3
160                                                   160 
161   - if:                                           161   - if:
162       properties:                                 162       properties:
163         compatible:                               163         compatible:
164           const: nvidia,tegra194-mc               164           const: nvidia,tegra194-mc
165     then:                                         165     then:
166       properties:                                 166       properties:
167         reg:                                      167         reg:
168           minItems: 18                            168           minItems: 18
169           description: 17 memory controller ch    169           description: 17 memory controller channels and 1 for stream-id registers
170                                                   170 
171         reg-names:                                171         reg-names:
172           items:                                  172           items:
173             - const: sid                          173             - const: sid
174             - const: broadcast                    174             - const: broadcast
175             - const: ch0                          175             - const: ch0
176             - const: ch1                          176             - const: ch1
177             - const: ch2                          177             - const: ch2
178             - const: ch3                          178             - const: ch3
179             - const: ch4                          179             - const: ch4
180             - const: ch5                          180             - const: ch5
181             - const: ch6                          181             - const: ch6
182             - const: ch7                          182             - const: ch7
183             - const: ch8                          183             - const: ch8
184             - const: ch9                          184             - const: ch9
185             - const: ch10                         185             - const: ch10
186             - const: ch11                         186             - const: ch11
187             - const: ch12                         187             - const: ch12
188             - const: ch13                         188             - const: ch13
189             - const: ch14                         189             - const: ch14
190             - const: ch15                         190             - const: ch15
191                                                   191 
192   - if:                                           192   - if:
193       properties:                                 193       properties:
194         compatible:                               194         compatible:
195           const: nvidia,tegra234-mc               195           const: nvidia,tegra234-mc
196     then:                                         196     then:
197       properties:                                 197       properties:
198         reg:                                      198         reg:
199           minItems: 18                            199           minItems: 18
200           description: 17 memory controller ch    200           description: 17 memory controller channels and 1 for stream-id registers
201                                                   201 
202         reg-names:                                202         reg-names:
203           items:                                  203           items:
204             - const: sid                          204             - const: sid
205             - const: broadcast                    205             - const: broadcast
206             - const: ch0                          206             - const: ch0
207             - const: ch1                          207             - const: ch1
208             - const: ch2                          208             - const: ch2
209             - const: ch3                          209             - const: ch3
210             - const: ch4                          210             - const: ch4
211             - const: ch5                          211             - const: ch5
212             - const: ch6                          212             - const: ch6
213             - const: ch7                          213             - const: ch7
214             - const: ch8                          214             - const: ch8
215             - const: ch9                          215             - const: ch9
216             - const: ch10                         216             - const: ch10
217             - const: ch11                         217             - const: ch11
218             - const: ch12                         218             - const: ch12
219             - const: ch13                         219             - const: ch13
220             - const: ch14                         220             - const: ch14
221             - const: ch15                         221             - const: ch15
222                                                   222 
223 additionalProperties: false                       223 additionalProperties: false
224                                                   224 
225 required:                                         225 required:
226   - compatible                                    226   - compatible
227   - reg                                           227   - reg
228   - reg-names                                     228   - reg-names
229   - interrupts                                    229   - interrupts
230   - "#address-cells"                              230   - "#address-cells"
231   - "#size-cells"                                 231   - "#size-cells"
232                                                   232 
233 examples:                                         233 examples:
234   - |                                             234   - |
235     #include <dt-bindings/clock/tegra186-clock    235     #include <dt-bindings/clock/tegra186-clock.h>
236     #include <dt-bindings/interrupt-controller    236     #include <dt-bindings/interrupt-controller/arm-gic.h>
237                                                   237 
238     bus {                                         238     bus {
239         #address-cells = <2>;                     239         #address-cells = <2>;
240         #size-cells = <2>;                        240         #size-cells = <2>;
241                                                   241 
242         memory-controller@2c00000 {               242         memory-controller@2c00000 {
243             compatible = "nvidia,tegra186-mc";    243             compatible = "nvidia,tegra186-mc";
244             reg = <0x0 0x02c00000 0x0 0x10000>    244             reg = <0x0 0x02c00000 0x0 0x10000>,    /* MC-SID */
245                   <0x0 0x02c10000 0x0 0x10000>    245                   <0x0 0x02c10000 0x0 0x10000>,    /* Broadcast channel */
246                   <0x0 0x02c20000 0x0 0x10000>    246                   <0x0 0x02c20000 0x0 0x10000>,    /* MC0 */
247                   <0x0 0x02c30000 0x0 0x10000>    247                   <0x0 0x02c30000 0x0 0x10000>,    /* MC1 */
248                   <0x0 0x02c40000 0x0 0x10000>    248                   <0x0 0x02c40000 0x0 0x10000>,    /* MC2 */
249                   <0x0 0x02c50000 0x0 0x10000>    249                   <0x0 0x02c50000 0x0 0x10000>;    /* MC3 */
250             reg-names = "sid", "broadcast", "c    250             reg-names = "sid", "broadcast", "ch0", "ch1", "ch2", "ch3";
251             interrupts = <GIC_SPI 223 IRQ_TYPE    251             interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
252                                                   252 
253             #address-cells = <2>;                 253             #address-cells = <2>;
254             #size-cells = <2>;                    254             #size-cells = <2>;
255                                                   255 
256             ranges = <0x0 0x02c00000 0x0 0x02c    256             ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
257                                                   257 
258             /*                                    258             /*
259              * Memory clients have access to a    259              * Memory clients have access to all 40 bits that the memory
260              * controller can address.            260              * controller can address.
261              */                                   261              */
262             dma-ranges = <0x0 0x0 0x0 0x0 0x10    262             dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
263                                                   263 
264             external-memory-controller@2c60000    264             external-memory-controller@2c60000 {
265                 compatible = "nvidia,tegra186-    265                 compatible = "nvidia,tegra186-emc";
266                 reg = <0x0 0x02c60000 0x0 0x50    266                 reg = <0x0 0x02c60000 0x0 0x50000>;
267                 interrupts = <GIC_SPI 224 IRQ_    267                 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
268                 clocks = <&bpmp TEGRA186_CLK_E    268                 clocks = <&bpmp TEGRA186_CLK_EMC>;
269                 clock-names = "emc";              269                 clock-names = "emc";
270                                                   270 
271                 #interconnect-cells = <0>;        271                 #interconnect-cells = <0>;
272                                                   272 
273                 nvidia,bpmp = <&bpmp>;            273                 nvidia,bpmp = <&bpmp>;
274             };                                    274             };
275         };                                        275         };
276     };                                            276     };
                                                      

~ [ 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