18c2ecf20Sopenharmony_ci* Freescale Serial RapidIO (SRIO) Controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRapidIO port node: 48c2ecf20Sopenharmony_ciProperties: 58c2ecf20Sopenharmony_ci - compatible 68c2ecf20Sopenharmony_ci Usage: required 78c2ecf20Sopenharmony_ci Value type: <string> 88c2ecf20Sopenharmony_ci Definition: Must include "fsl,srio" for IP blocks with IP Block 98c2ecf20Sopenharmony_ci Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0. 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci Optionally, a compatible string of "fsl,srio-vX.Y" where X is Major 128c2ecf20Sopenharmony_ci version in IP Block Revision Register and Y is Minor version. If this 138c2ecf20Sopenharmony_ci compatible is provided it should be ordered before "fsl,srio". 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci - reg 168c2ecf20Sopenharmony_ci Usage: required 178c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 188c2ecf20Sopenharmony_ci Definition: A standard property. Specifies the physical address and 198c2ecf20Sopenharmony_ci length of the SRIO configuration registers. The size should 208c2ecf20Sopenharmony_ci be set to 0x11000. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci - interrupts 238c2ecf20Sopenharmony_ci Usage: required 248c2ecf20Sopenharmony_ci Value type: <prop_encoded-array> 258c2ecf20Sopenharmony_ci Definition: Specifies the interrupts generated by this device. The 268c2ecf20Sopenharmony_ci value of the interrupts property consists of one interrupt 278c2ecf20Sopenharmony_ci specifier. The format of the specifier is defined by the 288c2ecf20Sopenharmony_ci binding document describing the node's interrupt parent. 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci A single IRQ that handles error conditions is specified by this 318c2ecf20Sopenharmony_ci property. (Typically shared with port-write). 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci - fsl,srio-rmu-handle: 348c2ecf20Sopenharmony_ci Usage: required if rmu node is defined 358c2ecf20Sopenharmony_ci Value type: <phandle> 368c2ecf20Sopenharmony_ci Definition: A single <phandle> value that points to the RMU. 378c2ecf20Sopenharmony_ci (See srio-rmu.txt for more details on RMU node binding) 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciPort Child Nodes: There should a port child node for each port that exists in 408c2ecf20Sopenharmony_cithe controller. The ports are numbered starting at one (1) and should have 418c2ecf20Sopenharmony_cithe following properties: 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci - cell-index 448c2ecf20Sopenharmony_ci Usage: required 458c2ecf20Sopenharmony_ci Value type: <u32> 468c2ecf20Sopenharmony_ci Definition: A standard property. Matches the port id. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci - ranges 498c2ecf20Sopenharmony_ci Usage: required if local access windows preset 508c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 518c2ecf20Sopenharmony_ci Definition: A standard property. Utilized to describe the memory mapped 528c2ecf20Sopenharmony_ci IO space utilized by the controller. This corresponds to the 538c2ecf20Sopenharmony_ci setting of the local access windows that are targeted to this 548c2ecf20Sopenharmony_ci SRIO port. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci - fsl,liodn 578c2ecf20Sopenharmony_ci Usage: optional-but-recommended (for devices with PAMU) 588c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 598c2ecf20Sopenharmony_ci Definition: The logical I/O device number for the PAMU (IOMMU) to be 608c2ecf20Sopenharmony_ci correctly configured for SRIO accesses. The property should 618c2ecf20Sopenharmony_ci not exist on devices that do not support PAMU. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci For HW (ie, the P4080) that only supports a LIODN for both 648c2ecf20Sopenharmony_ci memory and maintenance transactions then a single LIODN is 658c2ecf20Sopenharmony_ci represented in the property for both transactions. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci For HW (ie, the P304x/P5020, etc) that supports an LIODN for 688c2ecf20Sopenharmony_ci memory transactions and a unique LIODN for maintenance 698c2ecf20Sopenharmony_ci transactions then a pair of LIODNs are represented in the 708c2ecf20Sopenharmony_ci property. Within the pair, the first element represents the 718c2ecf20Sopenharmony_ci LIODN associated with memory transactions and the second element 728c2ecf20Sopenharmony_ci represents the LIODN associated with maintenance transactions 738c2ecf20Sopenharmony_ci for the port. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciNote: All other standard properties (see the Devicetree Specification) 768c2ecf20Sopenharmony_ciare allowed but are optional. 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciExample: 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci rapidio: rapidio@ffe0c0000 { 818c2ecf20Sopenharmony_ci #address-cells = <2>; 828c2ecf20Sopenharmony_ci #size-cells = <2>; 838c2ecf20Sopenharmony_ci reg = <0xf 0xfe0c0000 0 0x11000>; 848c2ecf20Sopenharmony_ci compatible = "fsl,srio"; 858c2ecf20Sopenharmony_ci interrupts = <16 2 1 11>; /* err_irq */ 868c2ecf20Sopenharmony_ci fsl,srio-rmu-handle = <&rmu>; 878c2ecf20Sopenharmony_ci ranges; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci port1 { 908c2ecf20Sopenharmony_ci cell-index = <1>; 918c2ecf20Sopenharmony_ci #address-cells = <2>; 928c2ecf20Sopenharmony_ci #size-cells = <2>; 938c2ecf20Sopenharmony_ci fsl,liodn = <34>; 948c2ecf20Sopenharmony_ci ranges = <0 0 0xc 0x20000000 0 0x10000000>; 958c2ecf20Sopenharmony_ci }; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci port2 { 988c2ecf20Sopenharmony_ci cell-index = <2>; 998c2ecf20Sopenharmony_ci #address-cells = <2>; 1008c2ecf20Sopenharmony_ci #size-cells = <2>; 1018c2ecf20Sopenharmony_ci fsl,liodn = <48>; 1028c2ecf20Sopenharmony_ci ranges = <0 0 0xc 0x30000000 0 0x10000000>; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci }; 105