Commit | Line | Data |
---|---|---|
d0fc2eaa KG |
1 | * Freescale Communications Processor Module |
2 | ||
3 | NOTE: This is an interim binding, and will likely change slightly, | |
4 | as more devices are supported. The QE bindings especially are | |
5 | incomplete. | |
6 | ||
7 | * Root CPM node | |
8 | ||
9 | Properties: | |
10 | - compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe". | |
11 | - reg : A 48-byte region beginning with CPCR. | |
12 | ||
13 | Example: | |
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 | ||
19f59460 | 22 | * Properties common to multiple CPM/QE devices |
d0fc2eaa KG |
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 | ||
38 | The multi-user/dual-ported RAM is expressed as a bus under the CPM node. | |
39 | ||
40 | Ranges 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 | ||
52 | A child "data" node must exist, compatible with "fsl,cpm-muram-data", to | |
53 | indicate the portion of muram that is usable by the OS for arbitrary | |
54 | purposes. The data node may have an arbitrary number of reg resources, | |
55 | all of which contribute to the allocatable muram pool. | |
56 | ||
57 | Example, 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 | }; |