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