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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt

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 ===============================================================================
  2 Freescale Interlaken Look-Aside Controller Device Bindings
  3 Copyright 2012 Freescale Semiconductor Inc.
  4 
  5 CONTENTS
  6   - Interlaken Look-Aside Controller (LAC) Node
  7   - Example LAC Node
  8   - Interlaken Look-Aside Controller (LAC) Software Portal Node
  9   - Interlaken Look-Aside Controller (LAC) Software Portal Child Nodes
 10   - Example LAC SWP Node with Child Nodes
 11 
 12 ==============================================================================
 13 Interlaken Look-Aside Controller (LAC) Node
 14 
 15 DESCRIPTION
 16 
 17 The Interlaken is a narrow, high speed channelized chip-to-chip interface. To
 18 facilitate interoperability between a data path device and a look-aside
 19 co-processor, the Interlaken Look-Aside protocol is defined for short
 20 transaction-related transfers. Although based on the Interlaken protocol,
 21 Interlaken Look-Aside is not directly compatible with Interlaken and can be
 22 considered a different operation mode.
 23 
 24 The Interlaken LA controller connects internal platform to Interlaken serial
 25 interface. It accepts LA command through software portals, which are system
 26 memory mapped 4KB spaces. The LA commands are then translated into the
 27 Interlaken control words and data words, which are sent on TX side to TCAM
 28 through SerDes lanes.
 29 
 30 There are two 4KiB spaces defined within the LAC global register memory map.
 31 There is a full register set at 0x0000-0x0FFF (also known as the "hypervisor"
 32 version), and a subset at 0x1000-0x1FFF.  The former is a superset of the
 33 latter, and includes certain registers that should not be accessible to
 34 partitioned software.  Separate nodes are used for each region, with a phandle
 35 linking the hypervisor node to the normal operating node.
 36 
 37 PROPERTIES
 38 
 39   - compatible
 40         Usage: required
 41         Value type: <string>
 42         Definition: Must include "fsl,interlaken-lac". This represents only
 43                 those LAC CCSR registers not protected in partitioned
 44                 software. The version of the device is determined by the LAC
 45                 IP Block Revision Register (IPBRR0) at offset 0x0BF8.
 46 
 47                 Table of correspondences between IPBRR0 values and example
 48                 chips:
 49                         Value           Device
 50                         -----------     -------
 51                         0x02000100      T4240
 52 
 53                 The Hypervisor node has a different compatible. It must include
 54                 "fsl,interlaken-lac-hv". This node represents the protected
 55                 LAC register space and is required except inside a partition
 56                 where access to the hypervisor node is to be denied.
 57 
 58   - fsl,non-hv-node
 59         Usage: required in "fsl,interlaken-lac-hv"
 60         Value type: <phandle>
 61         Definition: Points to the non-protected LAC CCSR mapped register space
 62                 node.
 63 
 64   - reg
 65         Usage: required
 66         Value type: <prop-encoded-array>
 67         Definition: A standard property. The first resource represents the
 68                 Interlaken LAC configuration registers.
 69 
 70   - interrupts:
 71         Usage: required in non-hv node only
 72         Value type: <prop-encoded-array>
 73         Definition: Interrupt mapping for Interlaken LAC error IRQ.
 74 
 75 EXAMPLE
 76         lac: lac@229000 {
 77                 compatible = "fsl,interlaken-lac"
 78                 reg = <0x229000 0x1000>;
 79                 interrupts = <16 2 1 18>;
 80         };
 81 
 82         lac-hv@228000 {
 83                 compatible = "fsl,interlaken-lac-hv"
 84                 reg = <0x228000 0x1000>;
 85                 fsl,non-hv-node = <&lac>;
 86         };
 87 
 88 ===============================================================================
 89 Interlaken Look-Aside Controller (LAC) Software Portal Container Node
 90 
 91 DESCRIPTION
 92 The Interlaken Look-Aside Controller (LAC) utilizes Software Portals to accept
 93 Interlaken Look-Aside (ILA) commands. The Interlaken LAC software portal
 94 memory map occupies 128KB of memory space. The software portal memory space is
 95 intended to be cache-enabled. WIMG for each software space is required to be
 96 0010 if stashing is enabled; otherwise, WIMG can be 0000 or 0010.
 97 
 98 PROPERTIES
 99 
100   - #address-cells
101         Usage: required
102         Value type: <u32>
103         Definition: A standard property. Must have a value of 1.
104 
105   - #size-cells
106         Usage: required
107         Value type: <u32>
108         Definition: A standard property. Must have a value of 1.
109 
110   - compatible
111         Usage: required
112         Value type: <string>
113         Definition: Must include "fsl,interlaken-lac-portals"
114 
115   - ranges
116         Usage: required
117         Value type: <prop-encoded-array>
118         Definition: A standard property. Specifies the address and length
119                 of the LAC portal memory space.
120 
121 ===============================================================================
122 Interlaken Look-Aside Controller (LAC) Software Portals Child Nodes
123 
124 DESCRIPTION
125 There are up to 24 available software portals with each software portal
126 requiring 4KB of consecutive memory within the software portal memory mapped
127 space.
128 
129 PROPERTIES
130 
131   - compatible
132         Usage: required
133         Value type: <string>
134         Definition: Must include "fsl,interlaken-lac-portal-vX.Y" where X is
135                 the Major version (IP_MJ) found in the LAC IP Block Revision
136                 Register (IPBRR0), at offset 0x0BF8, and Y is the Minor version
137                 (IP_MN).
138 
139                 Table of correspondences between version values and example chips:
140                     Value       Device
141                     ------      -------
142                       1.0       T4240
143 
144   - reg
145         Usage: required
146         Value type: <prop-encoded-array>
147         Definition: A standard property.  The first resource represents the
148                 Interlaken LAC software portal registers.
149 
150   - fsl,liodn
151         Value type: <u32>
152         Definition: The logical I/O device number (LIODN) for this device.  The
153                 LIODN is a number expressed by this device and used to perform
154                 look-ups in the IOMMU (PAMU) address table when performing
155                 DMAs. This property is automatically added by u-boot.
156 
157 ===============================================================================
158 EXAMPLE
159 
160 lac-portals {
161         #address-cells = <0x1>;
162         #size-cells = <0x1>;
163         compatible = "fsl,interlaken-lac-portals";
164         ranges = <0x0 0xf 0xf4400000 0x20000>;
165 
166         lportal0: lac-portal@0 {
167                 compatible = "fsl,interlaken-lac-portal-v1.0";
168                 fsl,liodn = <0x204>;
169                 reg = <0x0 0x1000>;
170         };
171 
172         lportal1: lac-portal@1000 {
173                 compatible = "fsl,interlaken-lac-portal-v1.0";
174                 fsl,liodn = <0x205>;
175                 reg = <0x1000 0x1000>;
176         };
177 
178         lportal2: lac-portal@2000 {
179                 compatible = "fsl,interlaken-lac-portal-v1.0";
180                 fsl,liodn = <0x206>;
181                 reg = <0x2000 0x1000>;
182         };
183 
184         lportal3: lac-portal@3000 {
185                 compatible = "fsl,interlaken-lac-portal-v1.0";
186                 fsl,liodn = <0x207>;
187                 reg = <0x3000 0x1000>;
188         };
189 
190         lportal4: lac-portal@4000 {
191                 compatible = "fsl,interlaken-lac-portal-v1.0";
192                 fsl,liodn = <0x208>;
193                 reg = <0x4000 0x1000>;
194         };
195 
196         lportal5: lac-portal@5000 {
197                 compatible = "fsl,interlaken-lac-portal-v1.0";
198                 fsl,liodn = <0x209>;
199                 reg = <0x5000 0x1000>;
200         };
201 
202         lportal6: lac-portal@6000 {
203                 compatible = "fsl,interlaken-lac-portal-v1.0";
204                 fsl,liodn = <0x20A>;
205                 reg = <0x6000 0x1000>;
206         };
207 
208         lportal7: lac-portal@7000 {
209                 compatible = "fsl,interlaken-lac-portal-v1.0";
210                 fsl,liodn = <0x20B>;
211                 reg = <0x7000 0x1000>;
212         };
213 
214         lportal8: lac-portal@8000 {
215                 compatible = "fsl,interlaken-lac-portal-v1.0";
216                 fsl,liodn = <0x20C>;
217                 reg = <0x8000 0x1000>;
218         };
219 
220         lportal9: lac-portal@9000 {
221                 compatible = "fsl,interlaken-lac-portal-v1.0";
222                 fsl,liodn = <0x20D>;
223                 reg = <0x9000 0x1000>;
224         };
225 
226         lportal10: lac-portal@a000 {
227                 compatible = "fsl,interlaken-lac-portal-v1.0";
228                 fsl,liodn = <0x20E>;
229                 reg = <0xA000 0x1000>;
230         };
231 
232         lportal11: lac-portal@b000 {
233                 compatible = "fsl,interlaken-lac-portal-v1.0";
234                 fsl,liodn = <0x20F>;
235                 reg = <0xB000 0x1000>;
236         };
237 
238         lportal12: lac-portal@c000 {
239                 compatible = "fsl,interlaken-lac-portal-v1.0";
240                 fsl,liodn = <0x210>;
241                 reg = <0xC000 0x1000>;
242         };
243 
244         lportal13: lac-portal@d000 {
245                 compatible = "fsl,interlaken-lac-portal-v1.0";
246                 fsl,liodn = <0x211>;
247                 reg = <0xD000 0x1000>;
248         };
249 
250         lportal14: lac-portal@e000 {
251                 compatible = "fsl,interlaken-lac-portal-v1.0";
252                 fsl,liodn = <0x212>;
253                 reg = <0xE000 0x1000>;
254         };
255 
256         lportal15: lac-portal@f000 {
257                 compatible = "fsl,interlaken-lac-portal-v1.0";
258                 fsl,liodn = <0x213>;
259                 reg = <0xF000 0x1000>;
260         };
261 
262         lportal16: lac-portal@10000 {
263                 compatible = "fsl,interlaken-lac-portal-v1.0";
264                 fsl,liodn = <0x214>;
265                 reg = <0x10000 0x1000>;
266         };
267 
268         lportal17: lac-portal@11000 {
269                 compatible = "fsl,interlaken-lac-portal-v1.0";
270                 fsl,liodn = <0x215>;
271                 reg = <0x11000 0x1000>;
272         };
273 
274         lportal8: lac-portal@1200 {
275                 compatible = "fsl,interlaken-lac-portal-v1.0";
276                 fsl,liodn = <0x216>;
277                 reg = <0x12000 0x1000>;
278         };
279 
280         lportal19: lac-portal@13000 {
281                 compatible = "fsl,interlaken-lac-portal-v1.0";
282                 fsl,liodn = <0x217>;
283                 reg = <0x13000 0x1000>;
284         };
285 
286         lportal20: lac-portal@14000 {
287                 compatible = "fsl,interlaken-lac-portal-v1.0";
288                 fsl,liodn = <0x218>;
289                 reg = <0x14000 0x1000>;
290         };
291 
292         lportal21: lac-portal@15000 {
293                 compatible = "fsl,interlaken-lac-portal-v1.0";
294                 fsl,liodn = <0x219>;
295                 reg = <0x15000 0x1000>;
296         };
297 
298         lportal22: lac-portal@16000 {
299                 compatible = "fsl,interlaken-lac-portal-v1.0";
300                 fsl,liodn = <0x21A>;
301                 reg = <0x16000 0x1000>;
302         };
303 
304         lportal23: lac-portal@17000 {
305                 compatible = "fsl,interlaken-lac-portal-v1.0";
306                 fsl,liodn = <0x21B>;
307                 reg = <0x17000 0x1000>;
308         };
309 };

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