bindings: move cpm_qe binding from powerpc/fsl to soc/fsl
authorZhao Qiang <qiang.zhao@nxp.com>
Tue, 17 May 2016 02:39:00 +0000 (10:39 +0800)
committerScott Wood <oss@buserror.net>
Sat, 9 Jul 2016 06:12:04 +0000 (01:12 -0500)
cpm_qe is supported on both powerpc and arm.
and the QE code has been moved from arch/powerpc into
drivers/soc/fsl, so move cpm_qe binding from powerpc/fsl
to soc/fsl

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Acked-by: Rob Herring<robh@kernel.org>
Signed-off-by: Scott Wood <oss@buserror.net>
30 files changed:
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/brg.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/i2c.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/pic.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/usb.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/gpio.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/firmware.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/par_io.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/usb.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/serial.txt [deleted file]
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt [deleted file]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/brg.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/i2c.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/pic.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/usb.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/network.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/firmware.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/par_io.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/pincfg.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/usb.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/serial.txt [new file with mode: 0644]
Documentation/devicetree/bindings/soc/fsl/cpm_qe/uqe_serial.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm.txt
deleted file mode 100644 (file)
index 160c752..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-* Freescale Communications Processor Module
-
-NOTE: This is an interim binding, and will likely change slightly,
-as more devices are supported.  The QE bindings especially are
-incomplete.
-
-* Root CPM node
-
-Properties:
-- compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe".
-- reg : A 48-byte region beginning with CPCR.
-
-Example:
-     cpm@119c0 {
-       #address-cells = <1>;
-       #size-cells = <1>;
-       #interrupt-cells = <2>;
-       compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
-       reg = <119c0 30>;
-     }
-
-* Properties common to multiple CPM/QE devices
-
-- fsl,cpm-command : This value is ORed with the opcode and command flag
-                    to specify the device on which a CPM command operates.
-
-- fsl,cpm-brg : Indicates which baud rate generator the device
-                is associated with.  If absent, an unused BRG
-                should be dynamically allocated.  If zero, the
-                device uses an external clock rather than a BRG.
-
-- reg : Unless otherwise specified, the first resource represents the
-        scc/fcc/ucc registers, and the second represents the device's
-        parameter RAM region (if it has one).
-
-* Multi-User RAM (MURAM)
-
-The multi-user/dual-ported RAM is expressed as a bus under the CPM node.
-
-Ranges must be set up subject to the following restrictions:
-
-- Children's reg nodes must be offsets from the start of all muram, even
-  if the user-data area does not begin at zero.
-- If multiple range entries are used, the difference between the parent
-  address and the child address must be the same in all, so that a single
-  mapping can cover them all while maintaining the ability to determine
-  CPM-side offsets with pointer subtraction.  It is recommended that
-  multiple range entries not be used.
-- A child address of zero must be translatable, even if no reg resources
-  contain it.
-
-A child "data" node must exist, compatible with "fsl,cpm-muram-data", to
-indicate the portion of muram that is usable by the OS for arbitrary
-purposes.  The data node may have an arbitrary number of reg resources,
-all of which contribute to the allocatable muram pool.
-
-Example, based on mpc8272:
-       muram@0 {
-               #address-cells = <1>;
-               #size-cells = <1>;
-               ranges = <0 0 10000>;
-
-               data@0 {
-                       compatible = "fsl,cpm-muram-data";
-                       reg = <0 2000 9800 800>;
-               };
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/brg.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/brg.txt
deleted file mode 100644 (file)
index 4c7d45e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-* Baud Rate Generators
-
-Currently defined compatibles:
-fsl,cpm-brg
-fsl,cpm1-brg
-fsl,cpm2-brg
-
-Properties:
-- reg : There may be an arbitrary number of reg resources; BRG
-  numbers are assigned to these in order.
-- clock-frequency : Specifies the base frequency driving
-  the BRG.
-
-Example:
-       brg@119f0 {
-               compatible = "fsl,mpc8272-brg",
-                            "fsl,cpm2-brg",
-                            "fsl,cpm-brg";
-               reg = <119f0 10 115f0 10>;
-               clock-frequency = <d#25000000>;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/i2c.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/i2c.txt
deleted file mode 100644 (file)
index 87bc604..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-* I2C
-
-The I2C controller is expressed as a bus under the CPM node.
-
-Properties:
-- compatible : "fsl,cpm1-i2c", "fsl,cpm2-i2c"
-- reg : On CPM2 devices, the second resource doesn't specify the I2C
-  Parameter RAM itself, but the I2C_BASE field of the CPM2 Parameter RAM
-  (typically 0x8afc 0x2).
-- #address-cells : Should be one. The cell is the i2c device address with
-  the r/w bit set to zero.
-- #size-cells : Should be zero.
-- clock-frequency : Can be used to set the i2c clock frequency. If
-  unspecified, a default frequency of 60kHz is being used.
-The following two properties are deprecated. They are only used by legacy
-i2c drivers to find the bus to probe:
-- linux,i2c-index : Can be used to hard code an i2c bus number. By default,
-  the bus number is dynamically assigned by the i2c core.
-- linux,i2c-class : Can be used to override the i2c class. The class is used
-  by legacy i2c device drivers to find a bus in a specific context like
-  system management, video or sound. By default, I2C_CLASS_HWMON (1) is
-  being used. The definition of the classes can be found in
-  include/i2c/i2c.h
-
-Example, based on mpc823:
-
-       i2c@860 {
-               compatible = "fsl,mpc823-i2c",
-                            "fsl,cpm1-i2c";
-               reg = <0x860 0x20 0x3c80 0x30>;
-               interrupts = <16>;
-               interrupt-parent = <&CPM_PIC>;
-               fsl,cpm-command = <0x10>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               rtc@68 {
-                       compatible = "dallas,ds1307";
-                       reg = <0x68>;
-               };
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/pic.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/pic.txt
deleted file mode 100644 (file)
index 8e3ee16..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-* Interrupt Controllers
-
-Currently defined compatibles:
-- fsl,cpm1-pic
-  - only one interrupt cell
-- fsl,pq1-pic
-- fsl,cpm2-pic
-  - second interrupt cell is level/sense:
-    - 2 is falling edge
-    - 8 is active low
-
-Example:
-       interrupt-controller@10c00 {
-               #interrupt-cells = <2>;
-               interrupt-controller;
-               reg = <10c00 80>;
-               compatible = "mpc8272-pic", "fsl,cpm2-pic";
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/usb.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/usb.txt
deleted file mode 100644 (file)
index 74bfda4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-* USB (Universal Serial Bus Controller)
-
-Properties:
-- compatible : "fsl,cpm1-usb", "fsl,cpm2-usb", "fsl,qe-usb"
-
-Example:
-       usb@11bc0 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               compatible = "fsl,cpm2-usb";
-               reg = <11b60 18 8b00 100>;
-               interrupts = <b 8>;
-               interrupt-parent = <&PIC>;
-               fsl,cpm-command = <2e600000>;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/gpio.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/gpio.txt
deleted file mode 100644 (file)
index 349f79f..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-Every GPIO controller node must have #gpio-cells property defined,
-this information will be used to translate gpio-specifiers.
-
-On CPM1 devices, all ports are using slightly different register layouts.
-Ports A, C and D are 16bit ports and Ports B and E are 32bit ports.
-
-On CPM2 devices, all ports are 32bit ports and use a common register layout.
-
-Required properties:
-- compatible : "fsl,cpm1-pario-bank-a", "fsl,cpm1-pario-bank-b",
-  "fsl,cpm1-pario-bank-c", "fsl,cpm1-pario-bank-d",
-  "fsl,cpm1-pario-bank-e", "fsl,cpm2-pario-bank"
-- #gpio-cells : Should be two. The first cell is the pin number and the
-  second cell is used to specify optional parameters (currently unused).
-- gpio-controller : Marks the port as GPIO controller.
-
-Example of three SOC GPIO banks defined as gpio-controller nodes:
-
-       CPM1_PIO_A: gpio-controller@950 {
-               #gpio-cells = <2>;
-               compatible = "fsl,cpm1-pario-bank-a";
-               reg = <0x950 0x10>;
-               gpio-controller;
-       };
-
-       CPM1_PIO_B: gpio-controller@ab8 {
-               #gpio-cells = <2>;
-               compatible = "fsl,cpm1-pario-bank-b";
-               reg = <0xab8 0x10>;
-               gpio-controller;
-       };
-
-       CPM1_PIO_E: gpio-controller@ac8 {
-               #gpio-cells = <2>;
-               compatible = "fsl,cpm1-pario-bank-e";
-               reg = <0xac8 0x18>;
-               gpio-controller;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt
deleted file mode 100644 (file)
index 03c7416..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-* Network
-
-Currently defined compatibles:
-- fsl,cpm1-scc-enet
-- fsl,cpm2-scc-enet
-- fsl,cpm1-fec-enet
-- fsl,cpm2-fcc-enet (third resource is GFEMR)
-- fsl,qe-enet
-
-Example:
-
-       ethernet@11300 {
-               compatible = "fsl,mpc8272-fcc-enet",
-                            "fsl,cpm2-fcc-enet";
-               reg = <11300 20 8400 100 11390 1>;
-               local-mac-address = [ 00 00 00 00 00 00 ];
-               interrupts = <20 8>;
-               interrupt-parent = <&PIC>;
-               phy-handle = <&PHY0>;
-               fsl,cpm-command = <12000300>;
-       };
-
-* MDIO
-
-Currently defined compatibles:
-fsl,pq1-fec-mdio (reg is same as first resource of FEC device)
-fsl,cpm2-mdio-bitbang (reg is port C registers)
-
-Properties for fsl,cpm2-mdio-bitbang:
-fsl,mdio-pin : pin of port C controlling mdio data
-fsl,mdc-pin : pin of port C controlling mdio clock
-
-Example:
-       mdio@10d40 {
-               compatible = "fsl,mpc8272ads-mdio-bitbang",
-                            "fsl,mpc8272-mdio-bitbang",
-                            "fsl,cpm2-mdio-bitbang";
-               reg = <10d40 14>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-               fsl,mdio-pin = <12>;
-               fsl,mdc-pin = <13>;
-       };
-
-* HDLC
-
-Currently defined compatibles:
-- fsl,ucc-hdlc
-
-Properties for fsl,ucc-hdlc:
-- rx-clock-name
-- tx-clock-name
-       Usage: required
-       Value type: <string>
-       Definition : Must be "brg1"-"brg16" for internal clock source,
-                    Must be "clk1"-"clk24" for external clock source.
-
-- fsl,tdm-interface
-       Usage: optional
-       Value type: <empty>
-       Definition : Specify that hdlc is based on tdm-interface
-
-The property below is dependent on fsl,tdm-interface:
-- fsl,rx-sync-clock
-       Usage: required
-       Value type: <string>
-       Definition : Must be "none", "rsync_pin", "brg9-11" and "brg13-15".
-
-- fsl,tx-sync-clock
-       Usage: required
-       Value type: <string>
-       Definition : Must be "none", "tsync_pin", "brg9-11" and "brg13-15".
-
-- fsl,tdm-framer-type
-       Usage: required for tdm interface
-       Value type: <string>
-       Definition : "e1" or "t1".Now e1 and t1 are used, other framer types
-                    are not supported.
-
-- fsl,tdm-id
-       Usage: required for tdm interface
-       Value type: <u32>
-       Definition : number of TDM ID
-
-- fsl,tx-timeslot-mask
-- fsl,rx-timeslot-mask
-       Usage: required for tdm interface
-       Value type: <u32>
-       Definition : time slot mask for TDM operation. Indicates which time
-                    slots used for transmitting and receiving.
-
-- fsl,siram-entry-id
-       Usage: required for tdm interface
-       Value type: <u32>
-       Definition : Must be 0,2,4...64. the number of TDM entry.
-
-- fsl,tdm-internal-loopback
-       usage: optional for tdm interface
-       value type: <empty>
-       Definition : Internal loopback connecting on TDM layer.
-
-Example for tdm interface:
-
-       ucc@2000 {
-               compatible = "fsl,ucc-hdlc";
-               rx-clock-name = "clk8";
-               tx-clock-name = "clk9";
-               fsl,rx-sync-clock = "rsync_pin";
-               fsl,tx-sync-clock = "tsync_pin";
-               fsl,tx-timeslot-mask = <0xfffffffe>;
-               fsl,rx-timeslot-mask = <0xfffffffe>;
-               fsl,tdm-framer-type = "e1";
-               fsl,tdm-id = <0>;
-               fsl,siram-entry-id = <0>;
-               fsl,tdm-interface;
-       };
-
-Example for hdlc without tdm interface:
-
-       ucc@2000 {
-               compatible = "fsl,ucc-hdlc";
-               rx-clock-name = "brg1";
-               tx-clock-name = "brg1";
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt
deleted file mode 100644 (file)
index d7afaff..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-* Freescale QUICC Engine module (QE)
-This represents qe module that is installed on PowerQUICC II Pro.
-
-NOTE:  This is an interim binding; it should be updated to fit
-in with the CPM binding later in this document.
-
-Basically, it is a bus of devices, that could act more or less
-as a complete entity (UCC, USB etc ). All of them should be siblings on
-the "root" qe node, using the common properties from there.
-The description below applies to the qe of MPC8360 and
-more nodes and properties would be extended in the future.
-
-i) Root QE device
-
-Required properties:
-- compatible : should be "fsl,qe";
-- model : precise model of the QE, Can be "QE", "CPM", or "CPM2"
-- reg : offset and length of the device registers.
-- bus-frequency : the clock frequency for QUICC Engine.
-- fsl,qe-num-riscs: define how many RISC engines the QE has.
-- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
-  threads.
-
-Optional properties:
-- fsl,firmware-phandle:
-    Usage: required only if there is no fsl,qe-firmware child node
-    Value type: <phandle>
-    Definition: Points to a firmware node (see "QE Firmware Node" below)
-        that contains the firmware that should be uploaded for this QE.
-        The compatible property for the firmware node should say,
-        "fsl,qe-firmware".
-
-Recommended properties
-- brg-frequency : the internal clock source frequency for baud-rate
-  generators in Hz.
-
-Example:
-     qe@e0100000 {
-       #address-cells = <1>;
-       #size-cells = <1>;
-       #interrupt-cells = <2>;
-       compatible = "fsl,qe";
-       ranges = <0 e0100000 00100000>;
-       reg = <e0100000 480>;
-       brg-frequency = <0>;
-       bus-frequency = <179A7B00>;
-     }
-
-* Multi-User RAM (MURAM)
-
-Required properties:
-- compatible : should be "fsl,qe-muram", "fsl,cpm-muram".
-- mode : the could be "host" or "slave".
-- ranges : Should be defined as specified in 1) to describe the
-   translation of MURAM addresses.
-- data-only : sub-node which defines the address area under MURAM
-   bus that can be allocated as data/parameter
-
-Example:
-
-     muram@10000 {
-       compatible = "fsl,qe-muram", "fsl,cpm-muram";
-       ranges = <0 00010000 0000c000>;
-
-       data-only@0{
-               compatible = "fsl,qe-muram-data",
-                            "fsl,cpm-muram-data";
-               reg = <0 c000>;
-       };
-     };
-
-* Interrupt Controller (IC)
-
-Required properties:
-- compatible : should be "fsl,qe-ic".
-- reg : Address range of IC register set.
-- interrupts : interrupts generated by the device.
-- interrupt-controller : this device is a interrupt controller.
-
-Example:
-
-       qeic: interrupt-controller@80 {
-               interrupt-controller;
-               compatible = "fsl,qe-ic";
-               #address-cells = <0>;
-               #interrupt-cells = <1>;
-               reg = <0x80 0x80>;
-               interrupts = <95 2 0 0  94 2 0 0>;
-       };
-
-* Serial Interface Block (SI)
-
-The SI manages the routing of eight TDM lines to the QE block serial drivers
-, the MCC and the UCCs, for receive and transmit.
-
-Required properties:
-- compatible : must be "fsl,<chip>-qe-si". For t1040, must contain
-  "fsl,t1040-qe-si".
-- reg : Address range of SI register set.
-
-Example:
-
-       si1: si@700 {
-               compatible = "fsl,t1040-qe-si";
-               reg = <0x700 0x80>;
-       };
-
-* Serial Interface Block RAM(SIRAM)
-
-store the routing entries of SI
-
-Required properties:
-- compatible : should be "fsl,<chip>-qe-siram". For t1040, must contain
-  "fsl,t1040-qe-siram".
-- reg : Address range of SI RAM.
-
-Example:
-
-       siram1: siram@1000 {
-               compatible = "fsl,t1040-qe-siram";
-               reg = <0x1000 0x800>;
-       };
-
-* QE Firmware Node
-
-This node defines a firmware binary that is embedded in the device tree, for
-the purpose of passing the firmware from bootloader to the kernel, or from
-the hypervisor to the guest.
-
-The firmware node itself contains the firmware binary contents, a compatible
-property, and any firmware-specific properties.  The node should be placed
-inside a QE node that needs it.  Doing so eliminates the need for a
-fsl,firmware-phandle property.  Other QE nodes that need the same firmware
-should define an fsl,firmware-phandle property that points to the firmware node
-in the first QE node.
-
-The fsl,firmware property can be specified in the DTS (possibly using incbin)
-or can be inserted by the boot loader at boot time.
-
-Required properties:
-  - compatible
-      Usage: required
-      Value type: <string>
-      Definition: A standard property.  Specify a string that indicates what
-          kind of firmware it is.  For QE, this should be "fsl,qe-firmware".
-
-   - fsl,firmware
-      Usage: required
-      Value type: <prop-encoded-array>, encoded as an array of bytes
-      Definition: A standard property.  This property contains the firmware
-          binary "blob".
-
-Example:
-       qe1@e0080000 {
-               compatible = "fsl,qe";
-               qe_firmware:qe-firmware {
-                       compatible = "fsl,qe-firmware";
-                       fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...];
-               };
-               ...
-       };
-
-       qe2@e0090000 {
-               compatible = "fsl,qe";
-               fsl,firmware-phandle = <&qe_firmware>;
-               ...
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/firmware.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/firmware.txt
deleted file mode 100644 (file)
index 249db3a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-* Uploaded QE firmware
-
-      If a new firmware has been uploaded to the QE (usually by the
-      boot loader), then a 'firmware' child node should be added to the QE
-      node.  This node provides information on the uploaded firmware that
-      device drivers may need.
-
-      Required properties:
-      - id: The string name of the firmware.  This is taken from the 'id'
-            member of the qe_firmware structure of the uploaded firmware.
-            Device drivers can search this string to determine if the
-            firmware they want is already present.
-      - extended-modes: The Extended Modes bitfield, taken from the
-                  firmware binary.  It is a 64-bit number represented
-                  as an array of two 32-bit numbers.
-      - virtual-traps: The virtual traps, taken from the firmware binary.
-                 It is an array of 8 32-bit numbers.
-
-Example:
-       firmware {
-               id = "Soft-UART";
-               extended-modes = <0 0>;
-               virtual-traps = <0 0 0 0 0 0 0 0>;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/par_io.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/par_io.txt
deleted file mode 100644 (file)
index 6098426..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-* Parallel I/O Ports
-
-This node configures Parallel I/O ports for CPUs with QE support.
-The node should reside in the "soc" node of the tree.  For each
-device that using parallel I/O ports, a child node should be created.
-See the definition of the Pin configuration nodes below for more
-information.
-
-Required properties:
-- device_type : should be "par_io".
-- reg : offset to the register set and its length.
-- num-ports : number of Parallel I/O ports
-
-Example:
-par_io@1400 {
-       reg = <1400 100>;
-       #address-cells = <1>;
-       #size-cells = <0>;
-       device_type = "par_io";
-       num-ports = <7>;
-       ucc_pin@01 {
-               ......
-       };
-
-Note that "par_io" nodes are obsolete, and should not be used for
-the new device trees. Instead, each Par I/O bank should be represented
-via its own gpio-controller node:
-
-Required properties:
-- #gpio-cells : should be "2".
-- compatible : should be "fsl,<chip>-qe-pario-bank",
-  "fsl,mpc8323-qe-pario-bank".
-- reg : offset to the register set and its length.
-- gpio-controller : node to identify gpio controllers.
-
-Example:
-       qe_pio_a: gpio-controller@1400 {
-               #gpio-cells = <2>;
-               compatible = "fsl,mpc8360-qe-pario-bank",
-               "fsl,mpc8323-qe-pario-bank";
-               reg = <0x1400 0x18>;
-               gpio-controller;
-         };
-
-       qe_pio_e: gpio-controller@1460 {
-               #gpio-cells = <2>;
-               compatible = "fsl,mpc8360-qe-pario-bank",
-                            "fsl,mpc8323-qe-pario-bank";
-               reg = <0x1460 0x18>;
-               gpio-controller;
-         };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt
deleted file mode 100644 (file)
index ec6ee2e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-* Pin configuration nodes
-
-Required properties:
-- pio-map : array of pin configurations.  Each pin is defined by 6
-  integers.  The six numbers are respectively: port, pin, dir,
-  open_drain, assignment, has_irq.
-  - port : port number of the pin; 0-6 represent port A-G in UM.
-  - pin : pin number in the port.
-  - dir : direction of the pin, should encode as follows:
-
-     0 = The pin is disabled
-     1 = The pin is an output
-     2 = The pin is an input
-     3 = The pin is I/O
-
-  - open_drain : indicates the pin is normal or wired-OR:
-
-     0 = The pin is actively driven as an output
-     1 = The pin is an open-drain driver. As an output, the pin is
-         driven active-low, otherwise it is three-stated.
-
-  - assignment : function number of the pin according to the Pin Assignment
-    tables in User Manual.  Each pin can have up to 4 possible functions in
-    QE and two options for CPM.
-  - has_irq : indicates if the pin is used as source of external
-    interrupts.
-
-Example:
-     ucc_pin@01 {
-       pio-map = <
-       /* port  pin  dir  open_drain  assignment  has_irq */
-               0  3  1  0  1  0        /* TxD0 */
-               0  4  1  0  1  0        /* TxD1 */
-               0  5  1  0  1  0        /* TxD2 */
-               0  6  1  0  1  0        /* TxD3 */
-               1  6  1  0  3  0        /* TxD4 */
-               1  7  1  0  1  0        /* TxD5 */
-               1  9  1  0  2  0        /* TxD6 */
-               1  a  1  0  2  0        /* TxD7 */
-               0  9  2  0  1  0        /* RxD0 */
-               0  a  2  0  1  0        /* RxD1 */
-               0  b  2  0  1  0        /* RxD2 */
-               0  c  2  0  1  0        /* RxD3 */
-               0  d  2  0  1  0        /* RxD4 */
-               1  1  2  0  2  0        /* RxD5 */
-               1  0  2  0  2  0        /* RxD6 */
-               1  4  2  0  2  0        /* RxD7 */
-               0  7  1  0  1  0        /* TX_EN */
-               0  8  1  0  1  0        /* TX_ER */
-               0  f  2  0  1  0        /* RX_DV */
-               0  10 2  0  1  0        /* RX_ER */
-               0  0  2  0  1  0        /* RX_CLK */
-               2  9  1  0  3  0        /* GTX_CLK - CLK10 */
-               2  8  2  0  1  0>;      /* GTX125 - CLK9 */
-     };
-
-
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt
deleted file mode 100644 (file)
index e47734b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-* UCC (Unified Communications Controllers)
-
-Required properties:
-- device_type : should be "network", "hldc", "uart", "transparent"
-  "bisync", "atm", or "serial".
-- compatible : could be "ucc_geth" or "fsl_atm" and so on.
-- cell-index : the ucc number(1-8), corresponding to UCCx in UM.
-- reg : Offset and length of the register set for the device
-- interrupts : <a b> where a is the interrupt number and b is a
-  field that represents an encoding of the sense and level
-  information for the interrupt.  This should be encoded based on
-  the information in section 2) depending on the type of interrupt
-  controller you have.
-- interrupt-parent : the phandle for the interrupt controller that
-  services interrupts for this device.
-- pio-handle : The phandle for the Parallel I/O port configuration.
-- port-number : for UART drivers, the port number to use, between 0 and 3.
-  This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.
-  The port number is added to the minor number of the device.  Unlike the
-  CPM UART driver, the port-number is required for the QE UART driver.
-- soft-uart : for UART drivers, if specified this means the QE UART device
-  driver should use "Soft-UART" mode, which is needed on some SOCs that have
-  broken UART hardware.  Soft-UART is provided via a microcode upload.
-- rx-clock-name: the UCC receive clock source
-  "none": clock source is disabled
-  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
-  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
-- tx-clock-name: the UCC transmit clock source
-  "none": clock source is disabled
-  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
-  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
-The following two properties are deprecated.  rx-clock has been replaced
-with rx-clock-name, and tx-clock has been replaced with tx-clock-name.
-Drivers that currently use the deprecated properties should continue to
-do so, in order to support older device trees, but they should be updated
-to check for the new properties first.
-- rx-clock : represents the UCC receive clock source.
-  0x00 : clock source is disabled;
-  0x1~0x10 : clock source is BRG1~BRG16 respectively;
-  0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
-- tx-clock: represents the UCC transmit clock source;
-  0x00 : clock source is disabled;
-  0x1~0x10 : clock source is BRG1~BRG16 respectively;
-  0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
-
-Required properties for network device_type:
-- mac-address : list of bytes representing the ethernet address.
-- phy-handle : The phandle for the PHY connected to this controller.
-
-Recommended properties:
-- phy-connection-type : a string naming the controller/PHY interface type,
-  i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
-  Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
-  "tbi", or "rtbi".
-
-Example:
-       ucc@2000 {
-               device_type = "network";
-               compatible = "ucc_geth";
-               cell-index = <1>;
-               reg = <2000 200>;
-               interrupts = <a0 0>;
-               interrupt-parent = <700>;
-               mac-address = [ 00 04 9f 00 23 23 ];
-               rx-clock = "none";
-               tx-clock = "clk9";
-               phy-handle = <212000>;
-               phy-connection-type = "gmii";
-               pio-handle = <140001>;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/usb.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/usb.txt
deleted file mode 100644 (file)
index 9ccd5f3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-Freescale QUICC Engine USB Controller
-
-Required properties:
-- compatible : should be "fsl,<chip>-qe-usb", "fsl,mpc8323-qe-usb".
-- reg : the first two cells should contain usb registers location and
-  length, the next two two cells should contain PRAM location and
-  length.
-- interrupts : should contain USB interrupt.
-- interrupt-parent : interrupt source phandle.
-- fsl,fullspeed-clock : specifies the full speed USB clock source:
-  "none": clock source is disabled
-  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
-  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
-- fsl,lowspeed-clock : specifies the low speed USB clock source:
-  "none": clock source is disabled
-  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
-  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
-- hub-power-budget : USB power budget for the root hub, in mA.
-- gpios : should specify GPIOs in this order: USBOE, USBTP, USBTN, USBRP,
-  USBRN, SPEED (optional), and POWER (optional).
-
-Example:
-
-usb@6c0 {
-       compatible = "fsl,mpc8360-qe-usb", "fsl,mpc8323-qe-usb";
-       reg = <0x6c0 0x40 0x8b00 0x100>;
-       interrupts = <11>;
-       interrupt-parent = <&qeic>;
-       fsl,fullspeed-clock = "clk21";
-       gpios = <&qe_pio_b  2 0 /* USBOE */
-                &qe_pio_b  3 0 /* USBTP */
-                &qe_pio_b  8 0 /* USBTN */
-                &qe_pio_b  9 0 /* USBRP */
-                &qe_pio_b 11 0 /* USBRN */
-                &qe_pio_e 20 0 /* SPEED */
-                &qe_pio_e 21 0 /* POWER */>;
-};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/serial.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/serial.txt
deleted file mode 100644 (file)
index 2ea76d9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-* Serial
-
-Currently defined compatibles:
-- fsl,cpm1-smc-uart
-- fsl,cpm2-smc-uart
-- fsl,cpm1-scc-uart
-- fsl,cpm2-scc-uart
-- fsl,qe-uart
-
-Modem control lines connected to GPIO controllers are listed in the gpios
-property as described in booting-without-of.txt, section IX.1 in the following
-order:
-
-CTS, RTS, DCD, DSR, DTR, and RI.
-
-The gpios property is optional and can be left out when control lines are
-not used.
-
-Example:
-
-       serial@11a00 {
-               device_type = "serial";
-               compatible = "fsl,mpc8272-scc-uart",
-                            "fsl,cpm2-scc-uart";
-               reg = <11a00 20 8000 100>;
-               interrupts = <28 8>;
-               interrupt-parent = <&PIC>;
-               fsl,cpm-brg = <1>;
-               fsl,cpm-command = <00800000>;
-               gpios = <&gpio_c 15 0
-                        &gpio_d 29 0>;
-       };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt
deleted file mode 100644 (file)
index 8823c86..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-* Serial
-
-Required Properties:
-compatible : must be "fsl,<chip>-ucc-uart". For t1040, must be
-"fsl,t1040-ucc-uart".
-port-number : port number of UCC-UART
-tx/rx-clock-name : should be "brg1"-"brg16" for internal clock source,
-                  should be "clk1"-"clk28" for external clock source.
-
-Example:
-
-       ucc_serial: ucc@2200 {
-               compatible = "fsl,t1040-ucc-uart";
-               port-number = <0>;
-               rx-clock-name = "brg2";
-               tx-clock-name = "brg2";
-       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm.txt
new file mode 100644 (file)
index 0000000..160c752
--- /dev/null
@@ -0,0 +1,67 @@
+* Freescale Communications Processor Module
+
+NOTE: This is an interim binding, and will likely change slightly,
+as more devices are supported.  The QE bindings especially are
+incomplete.
+
+* Root CPM node
+
+Properties:
+- compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe".
+- reg : A 48-byte region beginning with CPCR.
+
+Example:
+     cpm@119c0 {
+       #address-cells = <1>;
+       #size-cells = <1>;
+       #interrupt-cells = <2>;
+       compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
+       reg = <119c0 30>;
+     }
+
+* Properties common to multiple CPM/QE devices
+
+- fsl,cpm-command : This value is ORed with the opcode and command flag
+                    to specify the device on which a CPM command operates.
+
+- fsl,cpm-brg : Indicates which baud rate generator the device
+                is associated with.  If absent, an unused BRG
+                should be dynamically allocated.  If zero, the
+                device uses an external clock rather than a BRG.
+
+- reg : Unless otherwise specified, the first resource represents the
+        scc/fcc/ucc registers, and the second represents the device's
+        parameter RAM region (if it has one).
+
+* Multi-User RAM (MURAM)
+
+The multi-user/dual-ported RAM is expressed as a bus under the CPM node.
+
+Ranges must be set up subject to the following restrictions:
+
+- Children's reg nodes must be offsets from the start of all muram, even
+  if the user-data area does not begin at zero.
+- If multiple range entries are used, the difference between the parent
+  address and the child address must be the same in all, so that a single
+  mapping can cover them all while maintaining the ability to determine
+  CPM-side offsets with pointer subtraction.  It is recommended that
+  multiple range entries not be used.
+- A child address of zero must be translatable, even if no reg resources
+  contain it.
+
+A child "data" node must exist, compatible with "fsl,cpm-muram-data", to
+indicate the portion of muram that is usable by the OS for arbitrary
+purposes.  The data node may have an arbitrary number of reg resources,
+all of which contribute to the allocatable muram pool.
+
+Example, based on mpc8272:
+       muram@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0 0 10000>;
+
+               data@0 {
+                       compatible = "fsl,cpm-muram-data";
+                       reg = <0 2000 9800 800>;
+               };
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/brg.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/brg.txt
new file mode 100644 (file)
index 0000000..4c7d45e
--- /dev/null
@@ -0,0 +1,21 @@
+* Baud Rate Generators
+
+Currently defined compatibles:
+fsl,cpm-brg
+fsl,cpm1-brg
+fsl,cpm2-brg
+
+Properties:
+- reg : There may be an arbitrary number of reg resources; BRG
+  numbers are assigned to these in order.
+- clock-frequency : Specifies the base frequency driving
+  the BRG.
+
+Example:
+       brg@119f0 {
+               compatible = "fsl,mpc8272-brg",
+                            "fsl,cpm2-brg",
+                            "fsl,cpm-brg";
+               reg = <119f0 10 115f0 10>;
+               clock-frequency = <d#25000000>;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/i2c.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/i2c.txt
new file mode 100644 (file)
index 0000000..87bc604
--- /dev/null
@@ -0,0 +1,41 @@
+* I2C
+
+The I2C controller is expressed as a bus under the CPM node.
+
+Properties:
+- compatible : "fsl,cpm1-i2c", "fsl,cpm2-i2c"
+- reg : On CPM2 devices, the second resource doesn't specify the I2C
+  Parameter RAM itself, but the I2C_BASE field of the CPM2 Parameter RAM
+  (typically 0x8afc 0x2).
+- #address-cells : Should be one. The cell is the i2c device address with
+  the r/w bit set to zero.
+- #size-cells : Should be zero.
+- clock-frequency : Can be used to set the i2c clock frequency. If
+  unspecified, a default frequency of 60kHz is being used.
+The following two properties are deprecated. They are only used by legacy
+i2c drivers to find the bus to probe:
+- linux,i2c-index : Can be used to hard code an i2c bus number. By default,
+  the bus number is dynamically assigned by the i2c core.
+- linux,i2c-class : Can be used to override the i2c class. The class is used
+  by legacy i2c device drivers to find a bus in a specific context like
+  system management, video or sound. By default, I2C_CLASS_HWMON (1) is
+  being used. The definition of the classes can be found in
+  include/i2c/i2c.h
+
+Example, based on mpc823:
+
+       i2c@860 {
+               compatible = "fsl,mpc823-i2c",
+                            "fsl,cpm1-i2c";
+               reg = <0x860 0x20 0x3c80 0x30>;
+               interrupts = <16>;
+               interrupt-parent = <&CPM_PIC>;
+               fsl,cpm-command = <0x10>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               rtc@68 {
+                       compatible = "dallas,ds1307";
+                       reg = <0x68>;
+               };
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/pic.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/pic.txt
new file mode 100644 (file)
index 0000000..8e3ee16
--- /dev/null
@@ -0,0 +1,18 @@
+* Interrupt Controllers
+
+Currently defined compatibles:
+- fsl,cpm1-pic
+  - only one interrupt cell
+- fsl,pq1-pic
+- fsl,cpm2-pic
+  - second interrupt cell is level/sense:
+    - 2 is falling edge
+    - 8 is active low
+
+Example:
+       interrupt-controller@10c00 {
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               reg = <10c00 80>;
+               compatible = "mpc8272-pic", "fsl,cpm2-pic";
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/usb.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/usb.txt
new file mode 100644 (file)
index 0000000..74bfda4
--- /dev/null
@@ -0,0 +1,15 @@
+* USB (Universal Serial Bus Controller)
+
+Properties:
+- compatible : "fsl,cpm1-usb", "fsl,cpm2-usb", "fsl,qe-usb"
+
+Example:
+       usb@11bc0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "fsl,cpm2-usb";
+               reg = <11b60 18 8b00 100>;
+               interrupts = <b 8>;
+               interrupt-parent = <&PIC>;
+               fsl,cpm-command = <2e600000>;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt
new file mode 100644 (file)
index 0000000..349f79f
--- /dev/null
@@ -0,0 +1,38 @@
+Every GPIO controller node must have #gpio-cells property defined,
+this information will be used to translate gpio-specifiers.
+
+On CPM1 devices, all ports are using slightly different register layouts.
+Ports A, C and D are 16bit ports and Ports B and E are 32bit ports.
+
+On CPM2 devices, all ports are 32bit ports and use a common register layout.
+
+Required properties:
+- compatible : "fsl,cpm1-pario-bank-a", "fsl,cpm1-pario-bank-b",
+  "fsl,cpm1-pario-bank-c", "fsl,cpm1-pario-bank-d",
+  "fsl,cpm1-pario-bank-e", "fsl,cpm2-pario-bank"
+- #gpio-cells : Should be two. The first cell is the pin number and the
+  second cell is used to specify optional parameters (currently unused).
+- gpio-controller : Marks the port as GPIO controller.
+
+Example of three SOC GPIO banks defined as gpio-controller nodes:
+
+       CPM1_PIO_A: gpio-controller@950 {
+               #gpio-cells = <2>;
+               compatible = "fsl,cpm1-pario-bank-a";
+               reg = <0x950 0x10>;
+               gpio-controller;
+       };
+
+       CPM1_PIO_B: gpio-controller@ab8 {
+               #gpio-cells = <2>;
+               compatible = "fsl,cpm1-pario-bank-b";
+               reg = <0xab8 0x10>;
+               gpio-controller;
+       };
+
+       CPM1_PIO_E: gpio-controller@ac8 {
+               #gpio-cells = <2>;
+               compatible = "fsl,cpm1-pario-bank-e";
+               reg = <0xac8 0x18>;
+               gpio-controller;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/network.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/network.txt
new file mode 100644 (file)
index 0000000..03c7416
--- /dev/null
@@ -0,0 +1,124 @@
+* Network
+
+Currently defined compatibles:
+- fsl,cpm1-scc-enet
+- fsl,cpm2-scc-enet
+- fsl,cpm1-fec-enet
+- fsl,cpm2-fcc-enet (third resource is GFEMR)
+- fsl,qe-enet
+
+Example:
+
+       ethernet@11300 {
+               compatible = "fsl,mpc8272-fcc-enet",
+                            "fsl,cpm2-fcc-enet";
+               reg = <11300 20 8400 100 11390 1>;
+               local-mac-address = [ 00 00 00 00 00 00 ];
+               interrupts = <20 8>;
+               interrupt-parent = <&PIC>;
+               phy-handle = <&PHY0>;
+               fsl,cpm-command = <12000300>;
+       };
+
+* MDIO
+
+Currently defined compatibles:
+fsl,pq1-fec-mdio (reg is same as first resource of FEC device)
+fsl,cpm2-mdio-bitbang (reg is port C registers)
+
+Properties for fsl,cpm2-mdio-bitbang:
+fsl,mdio-pin : pin of port C controlling mdio data
+fsl,mdc-pin : pin of port C controlling mdio clock
+
+Example:
+       mdio@10d40 {
+               compatible = "fsl,mpc8272ads-mdio-bitbang",
+                            "fsl,mpc8272-mdio-bitbang",
+                            "fsl,cpm2-mdio-bitbang";
+               reg = <10d40 14>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               fsl,mdio-pin = <12>;
+               fsl,mdc-pin = <13>;
+       };
+
+* HDLC
+
+Currently defined compatibles:
+- fsl,ucc-hdlc
+
+Properties for fsl,ucc-hdlc:
+- rx-clock-name
+- tx-clock-name
+       Usage: required
+       Value type: <string>
+       Definition : Must be "brg1"-"brg16" for internal clock source,
+                    Must be "clk1"-"clk24" for external clock source.
+
+- fsl,tdm-interface
+       Usage: optional
+       Value type: <empty>
+       Definition : Specify that hdlc is based on tdm-interface
+
+The property below is dependent on fsl,tdm-interface:
+- fsl,rx-sync-clock
+       Usage: required
+       Value type: <string>
+       Definition : Must be "none", "rsync_pin", "brg9-11" and "brg13-15".
+
+- fsl,tx-sync-clock
+       Usage: required
+       Value type: <string>
+       Definition : Must be "none", "tsync_pin", "brg9-11" and "brg13-15".
+
+- fsl,tdm-framer-type
+       Usage: required for tdm interface
+       Value type: <string>
+       Definition : "e1" or "t1".Now e1 and t1 are used, other framer types
+                    are not supported.
+
+- fsl,tdm-id
+       Usage: required for tdm interface
+       Value type: <u32>
+       Definition : number of TDM ID
+
+- fsl,tx-timeslot-mask
+- fsl,rx-timeslot-mask
+       Usage: required for tdm interface
+       Value type: <u32>
+       Definition : time slot mask for TDM operation. Indicates which time
+                    slots used for transmitting and receiving.
+
+- fsl,siram-entry-id
+       Usage: required for tdm interface
+       Value type: <u32>
+       Definition : Must be 0,2,4...64. the number of TDM entry.
+
+- fsl,tdm-internal-loopback
+       usage: optional for tdm interface
+       value type: <empty>
+       Definition : Internal loopback connecting on TDM layer.
+
+Example for tdm interface:
+
+       ucc@2000 {
+               compatible = "fsl,ucc-hdlc";
+               rx-clock-name = "clk8";
+               tx-clock-name = "clk9";
+               fsl,rx-sync-clock = "rsync_pin";
+               fsl,tx-sync-clock = "tsync_pin";
+               fsl,tx-timeslot-mask = <0xfffffffe>;
+               fsl,rx-timeslot-mask = <0xfffffffe>;
+               fsl,tdm-framer-type = "e1";
+               fsl,tdm-id = <0>;
+               fsl,siram-entry-id = <0>;
+               fsl,tdm-interface;
+       };
+
+Example for hdlc without tdm interface:
+
+       ucc@2000 {
+               compatible = "fsl,ucc-hdlc";
+               rx-clock-name = "brg1";
+               tx-clock-name = "brg1";
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe.txt
new file mode 100644 (file)
index 0000000..d7afaff
--- /dev/null
@@ -0,0 +1,167 @@
+* Freescale QUICC Engine module (QE)
+This represents qe module that is installed on PowerQUICC II Pro.
+
+NOTE:  This is an interim binding; it should be updated to fit
+in with the CPM binding later in this document.
+
+Basically, it is a bus of devices, that could act more or less
+as a complete entity (UCC, USB etc ). All of them should be siblings on
+the "root" qe node, using the common properties from there.
+The description below applies to the qe of MPC8360 and
+more nodes and properties would be extended in the future.
+
+i) Root QE device
+
+Required properties:
+- compatible : should be "fsl,qe";
+- model : precise model of the QE, Can be "QE", "CPM", or "CPM2"
+- reg : offset and length of the device registers.
+- bus-frequency : the clock frequency for QUICC Engine.
+- fsl,qe-num-riscs: define how many RISC engines the QE has.
+- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
+  threads.
+
+Optional properties:
+- fsl,firmware-phandle:
+    Usage: required only if there is no fsl,qe-firmware child node
+    Value type: <phandle>
+    Definition: Points to a firmware node (see "QE Firmware Node" below)
+        that contains the firmware that should be uploaded for this QE.
+        The compatible property for the firmware node should say,
+        "fsl,qe-firmware".
+
+Recommended properties
+- brg-frequency : the internal clock source frequency for baud-rate
+  generators in Hz.
+
+Example:
+     qe@e0100000 {
+       #address-cells = <1>;
+       #size-cells = <1>;
+       #interrupt-cells = <2>;
+       compatible = "fsl,qe";
+       ranges = <0 e0100000 00100000>;
+       reg = <e0100000 480>;
+       brg-frequency = <0>;
+       bus-frequency = <179A7B00>;
+     }
+
+* Multi-User RAM (MURAM)
+
+Required properties:
+- compatible : should be "fsl,qe-muram", "fsl,cpm-muram".
+- mode : the could be "host" or "slave".
+- ranges : Should be defined as specified in 1) to describe the
+   translation of MURAM addresses.
+- data-only : sub-node which defines the address area under MURAM
+   bus that can be allocated as data/parameter
+
+Example:
+
+     muram@10000 {
+       compatible = "fsl,qe-muram", "fsl,cpm-muram";
+       ranges = <0 00010000 0000c000>;
+
+       data-only@0{
+               compatible = "fsl,qe-muram-data",
+                            "fsl,cpm-muram-data";
+               reg = <0 c000>;
+       };
+     };
+
+* Interrupt Controller (IC)
+
+Required properties:
+- compatible : should be "fsl,qe-ic".
+- reg : Address range of IC register set.
+- interrupts : interrupts generated by the device.
+- interrupt-controller : this device is a interrupt controller.
+
+Example:
+
+       qeic: interrupt-controller@80 {
+               interrupt-controller;
+               compatible = "fsl,qe-ic";
+               #address-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x80 0x80>;
+               interrupts = <95 2 0 0  94 2 0 0>;
+       };
+
+* Serial Interface Block (SI)
+
+The SI manages the routing of eight TDM lines to the QE block serial drivers
+, the MCC and the UCCs, for receive and transmit.
+
+Required properties:
+- compatible : must be "fsl,<chip>-qe-si". For t1040, must contain
+  "fsl,t1040-qe-si".
+- reg : Address range of SI register set.
+
+Example:
+
+       si1: si@700 {
+               compatible = "fsl,t1040-qe-si";
+               reg = <0x700 0x80>;
+       };
+
+* Serial Interface Block RAM(SIRAM)
+
+store the routing entries of SI
+
+Required properties:
+- compatible : should be "fsl,<chip>-qe-siram". For t1040, must contain
+  "fsl,t1040-qe-siram".
+- reg : Address range of SI RAM.
+
+Example:
+
+       siram1: siram@1000 {
+               compatible = "fsl,t1040-qe-siram";
+               reg = <0x1000 0x800>;
+       };
+
+* QE Firmware Node
+
+This node defines a firmware binary that is embedded in the device tree, for
+the purpose of passing the firmware from bootloader to the kernel, or from
+the hypervisor to the guest.
+
+The firmware node itself contains the firmware binary contents, a compatible
+property, and any firmware-specific properties.  The node should be placed
+inside a QE node that needs it.  Doing so eliminates the need for a
+fsl,firmware-phandle property.  Other QE nodes that need the same firmware
+should define an fsl,firmware-phandle property that points to the firmware node
+in the first QE node.
+
+The fsl,firmware property can be specified in the DTS (possibly using incbin)
+or can be inserted by the boot loader at boot time.
+
+Required properties:
+  - compatible
+      Usage: required
+      Value type: <string>
+      Definition: A standard property.  Specify a string that indicates what
+          kind of firmware it is.  For QE, this should be "fsl,qe-firmware".
+
+   - fsl,firmware
+      Usage: required
+      Value type: <prop-encoded-array>, encoded as an array of bytes
+      Definition: A standard property.  This property contains the firmware
+          binary "blob".
+
+Example:
+       qe1@e0080000 {
+               compatible = "fsl,qe";
+               qe_firmware:qe-firmware {
+                       compatible = "fsl,qe-firmware";
+                       fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...];
+               };
+               ...
+       };
+
+       qe2@e0090000 {
+               compatible = "fsl,qe";
+               fsl,firmware-phandle = <&qe_firmware>;
+               ...
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/firmware.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/firmware.txt
new file mode 100644 (file)
index 0000000..249db3a
--- /dev/null
@@ -0,0 +1,24 @@
+* Uploaded QE firmware
+
+      If a new firmware has been uploaded to the QE (usually by the
+      boot loader), then a 'firmware' child node should be added to the QE
+      node.  This node provides information on the uploaded firmware that
+      device drivers may need.
+
+      Required properties:
+      - id: The string name of the firmware.  This is taken from the 'id'
+            member of the qe_firmware structure of the uploaded firmware.
+            Device drivers can search this string to determine if the
+            firmware they want is already present.
+      - extended-modes: The Extended Modes bitfield, taken from the
+                  firmware binary.  It is a 64-bit number represented
+                  as an array of two 32-bit numbers.
+      - virtual-traps: The virtual traps, taken from the firmware binary.
+                 It is an array of 8 32-bit numbers.
+
+Example:
+       firmware {
+               id = "Soft-UART";
+               extended-modes = <0 0>;
+               virtual-traps = <0 0 0 0 0 0 0 0>;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/par_io.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/par_io.txt
new file mode 100644 (file)
index 0000000..6098426
--- /dev/null
@@ -0,0 +1,51 @@
+* Parallel I/O Ports
+
+This node configures Parallel I/O ports for CPUs with QE support.
+The node should reside in the "soc" node of the tree.  For each
+device that using parallel I/O ports, a child node should be created.
+See the definition of the Pin configuration nodes below for more
+information.
+
+Required properties:
+- device_type : should be "par_io".
+- reg : offset to the register set and its length.
+- num-ports : number of Parallel I/O ports
+
+Example:
+par_io@1400 {
+       reg = <1400 100>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+       device_type = "par_io";
+       num-ports = <7>;
+       ucc_pin@01 {
+               ......
+       };
+
+Note that "par_io" nodes are obsolete, and should not be used for
+the new device trees. Instead, each Par I/O bank should be represented
+via its own gpio-controller node:
+
+Required properties:
+- #gpio-cells : should be "2".
+- compatible : should be "fsl,<chip>-qe-pario-bank",
+  "fsl,mpc8323-qe-pario-bank".
+- reg : offset to the register set and its length.
+- gpio-controller : node to identify gpio controllers.
+
+Example:
+       qe_pio_a: gpio-controller@1400 {
+               #gpio-cells = <2>;
+               compatible = "fsl,mpc8360-qe-pario-bank",
+               "fsl,mpc8323-qe-pario-bank";
+               reg = <0x1400 0x18>;
+               gpio-controller;
+         };
+
+       qe_pio_e: gpio-controller@1460 {
+               #gpio-cells = <2>;
+               compatible = "fsl,mpc8360-qe-pario-bank",
+                            "fsl,mpc8323-qe-pario-bank";
+               reg = <0x1460 0x18>;
+               gpio-controller;
+         };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/pincfg.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/pincfg.txt
new file mode 100644 (file)
index 0000000..ec6ee2e
--- /dev/null
@@ -0,0 +1,57 @@
+* Pin configuration nodes
+
+Required properties:
+- pio-map : array of pin configurations.  Each pin is defined by 6
+  integers.  The six numbers are respectively: port, pin, dir,
+  open_drain, assignment, has_irq.
+  - port : port number of the pin; 0-6 represent port A-G in UM.
+  - pin : pin number in the port.
+  - dir : direction of the pin, should encode as follows:
+
+     0 = The pin is disabled
+     1 = The pin is an output
+     2 = The pin is an input
+     3 = The pin is I/O
+
+  - open_drain : indicates the pin is normal or wired-OR:
+
+     0 = The pin is actively driven as an output
+     1 = The pin is an open-drain driver. As an output, the pin is
+         driven active-low, otherwise it is three-stated.
+
+  - assignment : function number of the pin according to the Pin Assignment
+    tables in User Manual.  Each pin can have up to 4 possible functions in
+    QE and two options for CPM.
+  - has_irq : indicates if the pin is used as source of external
+    interrupts.
+
+Example:
+     ucc_pin@01 {
+       pio-map = <
+       /* port  pin  dir  open_drain  assignment  has_irq */
+               0  3  1  0  1  0        /* TxD0 */
+               0  4  1  0  1  0        /* TxD1 */
+               0  5  1  0  1  0        /* TxD2 */
+               0  6  1  0  1  0        /* TxD3 */
+               1  6  1  0  3  0        /* TxD4 */
+               1  7  1  0  1  0        /* TxD5 */
+               1  9  1  0  2  0        /* TxD6 */
+               1  a  1  0  2  0        /* TxD7 */
+               0  9  2  0  1  0        /* RxD0 */
+               0  a  2  0  1  0        /* RxD1 */
+               0  b  2  0  1  0        /* RxD2 */
+               0  c  2  0  1  0        /* RxD3 */
+               0  d  2  0  1  0        /* RxD4 */
+               1  1  2  0  2  0        /* RxD5 */
+               1  0  2  0  2  0        /* RxD6 */
+               1  4  2  0  2  0        /* RxD7 */
+               0  7  1  0  1  0        /* TX_EN */
+               0  8  1  0  1  0        /* TX_ER */
+               0  f  2  0  1  0        /* RX_DV */
+               0  10 2  0  1  0        /* RX_ER */
+               0  0  2  0  1  0        /* RX_CLK */
+               2  9  1  0  3  0        /* GTX_CLK - CLK10 */
+               2  8  2  0  1  0>;      /* GTX125 - CLK9 */
+     };
+
+
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt
new file mode 100644 (file)
index 0000000..e47734b
--- /dev/null
@@ -0,0 +1,70 @@
+* UCC (Unified Communications Controllers)
+
+Required properties:
+- device_type : should be "network", "hldc", "uart", "transparent"
+  "bisync", "atm", or "serial".
+- compatible : could be "ucc_geth" or "fsl_atm" and so on.
+- cell-index : the ucc number(1-8), corresponding to UCCx in UM.
+- reg : Offset and length of the register set for the device
+- interrupts : <a b> where a is the interrupt number and b is a
+  field that represents an encoding of the sense and level
+  information for the interrupt.  This should be encoded based on
+  the information in section 2) depending on the type of interrupt
+  controller you have.
+- interrupt-parent : the phandle for the interrupt controller that
+  services interrupts for this device.
+- pio-handle : The phandle for the Parallel I/O port configuration.
+- port-number : for UART drivers, the port number to use, between 0 and 3.
+  This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.
+  The port number is added to the minor number of the device.  Unlike the
+  CPM UART driver, the port-number is required for the QE UART driver.
+- soft-uart : for UART drivers, if specified this means the QE UART device
+  driver should use "Soft-UART" mode, which is needed on some SOCs that have
+  broken UART hardware.  Soft-UART is provided via a microcode upload.
+- rx-clock-name: the UCC receive clock source
+  "none": clock source is disabled
+  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
+  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
+- tx-clock-name: the UCC transmit clock source
+  "none": clock source is disabled
+  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
+  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
+The following two properties are deprecated.  rx-clock has been replaced
+with rx-clock-name, and tx-clock has been replaced with tx-clock-name.
+Drivers that currently use the deprecated properties should continue to
+do so, in order to support older device trees, but they should be updated
+to check for the new properties first.
+- rx-clock : represents the UCC receive clock source.
+  0x00 : clock source is disabled;
+  0x1~0x10 : clock source is BRG1~BRG16 respectively;
+  0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
+- tx-clock: represents the UCC transmit clock source;
+  0x00 : clock source is disabled;
+  0x1~0x10 : clock source is BRG1~BRG16 respectively;
+  0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
+
+Required properties for network device_type:
+- mac-address : list of bytes representing the ethernet address.
+- phy-handle : The phandle for the PHY connected to this controller.
+
+Recommended properties:
+- phy-connection-type : a string naming the controller/PHY interface type,
+  i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
+  Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
+  "tbi", or "rtbi".
+
+Example:
+       ucc@2000 {
+               device_type = "network";
+               compatible = "ucc_geth";
+               cell-index = <1>;
+               reg = <2000 200>;
+               interrupts = <a0 0>;
+               interrupt-parent = <700>;
+               mac-address = [ 00 04 9f 00 23 23 ];
+               rx-clock = "none";
+               tx-clock = "clk9";
+               phy-handle = <212000>;
+               phy-connection-type = "gmii";
+               pio-handle = <140001>;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/usb.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/usb.txt
new file mode 100644 (file)
index 0000000..9ccd5f3
--- /dev/null
@@ -0,0 +1,37 @@
+Freescale QUICC Engine USB Controller
+
+Required properties:
+- compatible : should be "fsl,<chip>-qe-usb", "fsl,mpc8323-qe-usb".
+- reg : the first two cells should contain usb registers location and
+  length, the next two two cells should contain PRAM location and
+  length.
+- interrupts : should contain USB interrupt.
+- interrupt-parent : interrupt source phandle.
+- fsl,fullspeed-clock : specifies the full speed USB clock source:
+  "none": clock source is disabled
+  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
+  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
+- fsl,lowspeed-clock : specifies the low speed USB clock source:
+  "none": clock source is disabled
+  "brg1" through "brg16": clock source is BRG1-BRG16, respectively
+  "clk1" through "clk24": clock source is CLK1-CLK24, respectively
+- hub-power-budget : USB power budget for the root hub, in mA.
+- gpios : should specify GPIOs in this order: USBOE, USBTP, USBTN, USBRP,
+  USBRN, SPEED (optional), and POWER (optional).
+
+Example:
+
+usb@6c0 {
+       compatible = "fsl,mpc8360-qe-usb", "fsl,mpc8323-qe-usb";
+       reg = <0x6c0 0x40 0x8b00 0x100>;
+       interrupts = <11>;
+       interrupt-parent = <&qeic>;
+       fsl,fullspeed-clock = "clk21";
+       gpios = <&qe_pio_b  2 0 /* USBOE */
+                &qe_pio_b  3 0 /* USBTP */
+                &qe_pio_b  8 0 /* USBTN */
+                &qe_pio_b  9 0 /* USBRP */
+                &qe_pio_b 11 0 /* USBRN */
+                &qe_pio_e 20 0 /* SPEED */
+                &qe_pio_e 21 0 /* POWER */>;
+};
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/serial.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/serial.txt
new file mode 100644 (file)
index 0000000..2ea76d9
--- /dev/null
@@ -0,0 +1,32 @@
+* Serial
+
+Currently defined compatibles:
+- fsl,cpm1-smc-uart
+- fsl,cpm2-smc-uart
+- fsl,cpm1-scc-uart
+- fsl,cpm2-scc-uart
+- fsl,qe-uart
+
+Modem control lines connected to GPIO controllers are listed in the gpios
+property as described in booting-without-of.txt, section IX.1 in the following
+order:
+
+CTS, RTS, DCD, DSR, DTR, and RI.
+
+The gpios property is optional and can be left out when control lines are
+not used.
+
+Example:
+
+       serial@11a00 {
+               device_type = "serial";
+               compatible = "fsl,mpc8272-scc-uart",
+                            "fsl,cpm2-scc-uart";
+               reg = <11a00 20 8000 100>;
+               interrupts = <28 8>;
+               interrupt-parent = <&PIC>;
+               fsl,cpm-brg = <1>;
+               fsl,cpm-command = <00800000>;
+               gpios = <&gpio_c 15 0
+                        &gpio_d 29 0>;
+       };
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/uqe_serial.txt b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/uqe_serial.txt
new file mode 100644 (file)
index 0000000..8823c86
--- /dev/null
@@ -0,0 +1,17 @@
+* Serial
+
+Required Properties:
+compatible : must be "fsl,<chip>-ucc-uart". For t1040, must be
+"fsl,t1040-ucc-uart".
+port-number : port number of UCC-UART
+tx/rx-clock-name : should be "brg1"-"brg16" for internal clock source,
+                  should be "clk1"-"clk28" for external clock source.
+
+Example:
+
+       ucc_serial: ucc@2200 {
+               compatible = "fsl,t1040-ucc-uart";
+               port-number = <0>;
+               rx-clock-name = "brg2";
+               tx-clock-name = "brg2";
+       };