cpm.txt (2279B)
1* Freescale Communications Processor Module 2 3NOTE: This is an interim binding, and will likely change slightly, 4as more devices are supported. The QE bindings especially are 5incomplete. 6 7* Root CPM node 8 9Properties: 10- compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe". 11- reg : A 48-byte region beginning with CPCR. 12 13Example: 14 cpm@119c0 { 15 #address-cells = <1>; 16 #size-cells = <1>; 17 #interrupt-cells = <2>; 18 compatible = "fsl,mpc8272-cpm", "fsl,cpm2"; 19 reg = <119c0 30>; 20 } 21 22* Properties common to multiple CPM/QE devices 23 24- fsl,cpm-command : This value is ORed with the opcode and command flag 25 to specify the device on which a CPM command operates. 26 27- fsl,cpm-brg : Indicates which baud rate generator the device 28 is associated with. If absent, an unused BRG 29 should be dynamically allocated. If zero, the 30 device uses an external clock rather than a BRG. 31 32- reg : Unless otherwise specified, the first resource represents the 33 scc/fcc/ucc registers, and the second represents the device's 34 parameter RAM region (if it has one). 35 36* Multi-User RAM (MURAM) 37 38The multi-user/dual-ported RAM is expressed as a bus under the CPM node. 39 40Ranges must be set up subject to the following restrictions: 41 42- Children's reg nodes must be offsets from the start of all muram, even 43 if the user-data area does not begin at zero. 44- If multiple range entries are used, the difference between the parent 45 address and the child address must be the same in all, so that a single 46 mapping can cover them all while maintaining the ability to determine 47 CPM-side offsets with pointer subtraction. It is recommended that 48 multiple range entries not be used. 49- A child address of zero must be translatable, even if no reg resources 50 contain it. 51 52A child "data" node must exist, compatible with "fsl,cpm-muram-data", to 53indicate the portion of muram that is usable by the OS for arbitrary 54purposes. The data node may have an arbitrary number of reg resources, 55all of which contribute to the allocatable muram pool. 56 57Example, based on mpc8272: 58 muram@0 { 59 #address-cells = <1>; 60 #size-cells = <1>; 61 ranges = <0 0 10000>; 62 63 data@0 { 64 compatible = "fsl,cpm-muram-data"; 65 reg = <0 2000 9800 800>; 66 }; 67 };