About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / powerpc / fsl / cpm_qe / cpm.txt


Based on kernel version 4.7.2. Page generated on 2016-08-22 22:43 EST.

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	
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	
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		};
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog