hc
2023-11-07 5e8555e3ea324daaf0e38422bcba48c4df33a0d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
* Freescale Serial RapidIO (SRIO) Controller
 
RapidIO port node:
Properties:
   - compatible
   Usage: required
   Value type: <string>
   Definition: Must include "fsl,srio" for IP blocks with IP Block
   Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0.
 
   Optionally, a compatible string of "fsl,srio-vX.Y" where X is Major
   version in IP Block Revision Register and Y is Minor version.  If this
   compatible is provided it should be ordered before "fsl,srio".
 
   - reg
   Usage: required
   Value type: <prop-encoded-array>
   Definition: A standard property.  Specifies the physical address and
       length of the SRIO configuration registers.  The size should
       be set to 0x11000.
 
   - interrupts
   Usage: required
   Value type: <prop_encoded-array>
   Definition:  Specifies the interrupts generated by this device.  The
       value of the interrupts property consists of one interrupt
       specifier. The format of the specifier is defined by the
       binding document describing the node's interrupt parent.
 
       A single IRQ that handles error conditions is specified by this
       property.  (Typically shared with port-write).
 
   - fsl,srio-rmu-handle:
   Usage: required if rmu node is defined
   Value type: <phandle>
   Definition: A single <phandle> value that points to the RMU.
   (See srio-rmu.txt for more details on RMU node binding)
 
Port Child Nodes:  There should a port child node for each port that exists in
the controller.  The ports are numbered starting at one (1) and should have
the following properties:
 
   - cell-index
   Usage: required
   Value type: <u32>
   Definition: A standard property.  Matches the port id.
 
   - ranges
   Usage: required if local access windows preset
   Value type: <prop-encoded-array>
   Definition: A standard property. Utilized to describe the memory mapped
       IO space utilized by the controller.  This corresponds to the
       setting of the local access windows that are targeted to this
       SRIO port.
 
   - fsl,liodn
   Usage: optional-but-recommended (for devices with PAMU)
   Value type: <prop-encoded-array>
   Definition: The logical I/O device number for the PAMU (IOMMU) to be
       correctly configured for SRIO accesses.  The property should
       not exist on devices that do not support PAMU.
 
       For HW (ie, the P4080) that only supports a LIODN for both
       memory and maintenance transactions then a single LIODN is
       represented in the property for both transactions.
 
       For HW (ie, the P304x/P5020, etc) that supports an LIODN for
       memory transactions and a unique LIODN for maintenance
       transactions then a pair of LIODNs are represented in the
       property.  Within the pair, the first element represents the
       LIODN associated with memory transactions and the second element
       represents the LIODN associated with maintenance transactions
       for the port.
 
Note: All other standard properties (see the Devicetree Specification)
are allowed but are optional.
 
Example:
 
   rapidio: rapidio@ffe0c0000 {
       #address-cells = <2>;
       #size-cells = <2>;
       reg = <0xf 0xfe0c0000 0 0x11000>;
       compatible = "fsl,srio";
       interrupts = <16 2 1 11>; /* err_irq */
       fsl,srio-rmu-handle = <&rmu>;
       ranges;
 
       port1 {
           cell-index = <1>;
           #address-cells = <2>;
           #size-cells = <2>;
           fsl,liodn = <34>;
           ranges = <0 0 0xc 0x20000000 0 0x10000000>;
       };
 
       port2 {
           cell-index = <2>;
           #address-cells = <2>;
           #size-cells = <2>;
           fsl,liodn = <48>;
           ranges = <0 0 0xc 0x30000000 0 0x10000000>;
       };
   };