The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/soc/fsl/cpm_qe/cpm.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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         };

Cache object: 9d7491b491f1fd8232e4df6bed6a7c70


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.