summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/uio-howto.tmpl12
-rw-r--r--Documentation/devicetree/bindings/arm/fsl.txt28
-rw-r--r--Documentation/devicetree/bindings/clock/ls1021a-clock.txt27
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-edma.txt76
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt (renamed from Documentation/devicetree/bindings/powerpc/fsl/ifc.txt)2
-rw-r--r--Documentation/devicetree/bindings/mtd/fsl-quadspi.txt51
-rw-r--r--Documentation/devicetree/bindings/mtd/spi-nor-flash.txt7
-rw-r--r--Documentation/devicetree/bindings/net/fsl-tsec-phy.txt12
-rw-r--r--Documentation/devicetree/bindings/pci/designware-pcie.txt1
-rw-r--r--Documentation/devicetree/bindings/pci/layerscape-pci.txt46
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/board.txt18
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt44
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/dma.txt70
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/fman_chosen_node_device_tree.txt292
-rwxr-xr-xDocumentation/devicetree/bindings/powerpc/fsl/fman_device_tree.txt712
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/fsl-dce.txt66
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/l2-switch.txt99
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/pmc.txt59
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/rman.txt178
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt52
-rw-r--r--Documentation/devicetree/bindings/regmap/regmap.txt47
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-lpuart.txt6
-rw-r--r--Documentation/devicetree/bindings/serial/of-serial.txt1
-rw-r--r--Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt7
-rw-r--r--Documentation/devicetree/bindings/tdm/fsl-tdm.txt65
-rw-r--r--Documentation/devicetree/bindings/tdm/pq-mds-t1.txt63
-rw-r--r--Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt31
-rw-r--r--Documentation/devicetree/bindings/video/fsl-dcu-fb.txt69
-rw-r--r--Documentation/devicetree/bindings/video/fsl-sii902x.txt17
-rw-r--r--Documentation/hwmon/ltc294584
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--Documentation/mmc/mmc-dev-attrs.txt2
-rw-r--r--Documentation/networking/gianfar.txt30
-rw-r--r--Documentation/virtual/kvm/api.txt31
34 files changed, 2246 insertions, 62 deletions
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
index 9561815..88451f7 100644
--- a/Documentation/DocBook/uio-howto.tmpl
+++ b/Documentation/DocBook/uio-howto.tmpl
@@ -510,6 +510,18 @@ interrupts from userspace by writing to <filename>/dev/uioX</filename>,
you can implement this function. The parameter <varname>irq_on</varname>
will be 0 to disable interrupts and 1 to enable them.
</para></listitem>
+
+<listitem><para>
+<varname>pgprot_t (*set_pgprot)(struct uio_info *info, unsigned int mem_idx,
+pgprot_t prot)</varname>: Optional. If special flags are required when mapping
+certain hardware regions, then this callback can be used to specify those flags.
+The default flags are given by the host architecture's definition of
+<function>pgprot_noncached()</function> and are passed to the callback as the
+<varname>prot</varname> parameter, but the return value is what is used for the
+resulting mapping. Note that this callback is only used by the built in mapping
+logic (when the <function>mmap()</function> callback has not been set), and then
+only for UIO_MEM_PHYS regions.
+</para></listitem>
</itemizedlist>
<para>
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt
index e935d7d..2e9b283 100644
--- a/Documentation/devicetree/bindings/arm/fsl.txt
+++ b/Documentation/devicetree/bindings/arm/fsl.txt
@@ -74,3 +74,31 @@ Required root node properties:
i.MX6q generic board
Required root node properties:
- compatible = "fsl,imx6q";
+
+
+------------------------------------------------
+
+Freescale LS1021A platfform device tree bindings
+------------------------------------------------
+
+Each device tree must specify the following compatible values:
+
+ "fsl,ls1021a"
+
+SoC-specific device tree bindings
+-------------------------------------------
+
+Each device tree must specify the following SoC-specific compatible values:
+
+ - compatible = "fsl,ls1021a-scfg":
+ scfg is the supplemental configuration unit, provides SoC specific
+ configuration and status registers for the chip.there isn't a dedicate
+ driver for it, device that has configuration and status register located
+ in this space can operate on it. Such as getting PEX port status.
+
+ - compatible = "fsl,ls1021a-dcfg":
+ dcfg is the device configuration unit that provides general purpose
+ configuration and status for the device, there isn't a dedicate driver
+ for it, device that has configuration and status register located in
+ this space can operate on it. Such as setting the secondary core start
+ address and release the secondary core from holdoff and startup.
diff --git a/Documentation/devicetree/bindings/clock/ls1021a-clock.txt b/Documentation/devicetree/bindings/clock/ls1021a-clock.txt
new file mode 100644
index 0000000..e53d976
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ls1021a-clock.txt
@@ -0,0 +1,27 @@
+Gating clock bindings for Freescale LS1021A SOC
+
+Required properties:
+- compatible: Should be "fsl,ls1021a-gate"
+- reg: Address and length of the register set
+- #clock-cells: Should be <1>
+
+The clock consumers should specify the desired clock by having one clock
+ID in its "clocks" phandle cell.
+Please see include/dt-bindings/clock/ls1021a-clock.h for the full list of
+LS1021A clock IDs.
+
+Example:
+
+gate: gate@1ee0000 {
+ compatible = "fsl,ls1021a-gate";
+ reg = <0x0 0x1ee0000 0x0 0x10000>;
+ #clock-cells = <1>;
+};
+
+wdog0: wdog@2ad0000 {
+ compatible = "fsl,ls1021a-wdt", "fsl,imx21-wdt";
+ reg = <0x0 0x2ad0000 0x0 0x10000>;
+ interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&gate LS1021A_CLK_WDOG12_EN>;
+ clock-names = "wdog12_en";
+};
diff --git a/Documentation/devicetree/bindings/dma/fsl-edma.txt b/Documentation/devicetree/bindings/dma/fsl-edma.txt
new file mode 100644
index 0000000..191d7bd
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/fsl-edma.txt
@@ -0,0 +1,76 @@
+* Freescale enhanced Direct Memory Access(eDMA) Controller
+
+ The eDMA channels have multiplex capability by programmble memory-mapped
+registers. channels are split into two groups, called DMAMUX0 and DMAMUX1,
+specific DMA request source can only be multiplexed by any channel of certain
+group, DMAMUX0 or DMAMUX1, but not both.
+
+* eDMA Controller
+Required properties:
+- compatible :
+ - "fsl,vf610-edma" for eDMA used similar to that on Vybrid vf610 SoC
+- reg : Specifies base physical address(s) and size of the eDMA registers.
+ The 1st region is eDMA control register's address and size.
+ The 2nd and the 3rd regions are programmable channel multiplexing
+ control register's address and size.
+- interrupts : A list of interrupt-specifiers, one for each entry in
+ interrupt-names.
+- interrupt-names : Should contain:
+ "edma-tx" - the transmission interrupt
+ "edma-err" - the error interrupt
+- #dma-cells : Must be <2>.
+ The 1st cell specifies the DMAMUX(0 for DMAMUX0 and 1 for DMAMUX1).
+ Specific request source can only be multiplexed by specific channels
+ group called DMAMUX.
+ The 2nd cell specifies the request source(slot) ID.
+ See the SoC's reference manual for all the supported request sources.
+- dma-channels : Number of channels supported by the controller
+- clock-names : A list of channel group clock names. Should contain:
+ "dmamux0" - clock name of mux0 group
+ "dmamux1" - clock name of mux1 group
+- clocks : A list of phandle and clock-specifier pairs, one for each entry in
+ clock-names.
+
+Optional properties:
+- big-endian: If present registers and hardware scatter/gather descriptors
+ of the eDMA are implemented in big endian mode, otherwise in little
+ mode.
+
+
+Examples:
+
+edma0: dma-controller@40018000 {
+ #dma-cells = <2>;
+ compatible = "fsl,vf610-edma";
+ reg = <0x40018000 0x2000>,
+ <0x40024000 0x1000>,
+ <0x40025000 0x1000>;
+ interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
+ <0 9 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "edma-tx", "edma-err";
+ dma-channels = <32>;
+ clock-names = "dmamux0", "dmamux1";
+ clocks = <&clks VF610_CLK_DMAMUX0>,
+ <&clks VF610_CLK_DMAMUX1>;
+};
+
+
+* DMA clients
+DMA client drivers that uses the DMA function must use the format described
+in the dma.txt file, using a two-cell specifier for each channel: the 1st
+specifies the channel group(DMAMUX) in which this request can be multiplexed,
+and the 2nd specifies the request source.
+
+Examples:
+
+sai2: sai@40031000 {
+ compatible = "fsl,vf610-sai";
+ reg = <0x40031000 0x1000>;
+ interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "sai";
+ clocks = <&clks VF610_CLK_SAI2>;
+ dma-names = "tx", "rx";
+ dmas = <&edma0 0 21>,
+ <&edma0 0 20>;
+ status = "disabled";
+};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt
index d5e3704..ee6226b 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt
+++ b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt
@@ -18,6 +18,8 @@ Properties:
interrupt (NAND_EVTER_STAT). If there is only one,
that interrupt reports both types of event.
+- little-endian : If this property is absent, the big-endian mode will
+ be in use as default for registers.
- ranges : Each range corresponds to a single chipselect, and covers
the entire access window as configured.
diff --git a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
new file mode 100644
index 0000000..7e1dbaf
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
@@ -0,0 +1,51 @@
+* Freescale Quad Serial Peripheral Interface(QuadSPI)
+
+The QuadSPI controller acts as the SPI master. It is described with a node
+for the controller and a set of child nodes for each SPI NOR flash.
+
+Part I - The DT node for the controller:
+------------------------------
+
+Required properties:
+ - compatible : Should be "fsl,vf610-qspi"
+ - reg : the first contains the register location and length,
+ the second contains the memory mapping address and length
+ - reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory"
+ - interrupts : Should contain the interrupt for the device
+ - clocks : The clocks needed by the QuadSPI controller
+ - clock-names : the name of the clocks
+
+Optional properties:
+ - fsl,qspi-has-second-chip: The controller has two buses, bus A and bus B.
+ Each bus can be connected with two NOR flashes.
+ Most of the time, each bus only has one NOR flash
+ connected, this is the default case.
+ But if there are two NOR flashes connected to the
+ bus, you should enable this property.
+ (Please check the board's schematic.)
+
+Part II - The DT nodes for each SPI NOR flash
+------------------------------
+Required properties:
+- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at
+
+Optional properties:
+ Please refer to the Documentation/devicetree/bindings/mtd/spi-nor-flash.txt
+ If you set the "spi-nor,ddr-quad-read-dummy", it means you enable the DDR
+ quad read feature for the driver.
+
+Example:
+
+qspi0: quadspi@40044000 {
+ compatible = "fsl,vf610-qspi";
+ reg = <0x40044000 0x1000>, <0x20000000 0x10000000>;
+ reg-names = "QuadSPI", "QuadSPI-memory";
+ interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clks VF610_CLK_QSPI0_EN>,
+ <&clks VF610_CLK_QSPI0>;
+ clock-names = "qspi_en", "qspi";
+
+ flash0: s25fl128s@0 {
+ ....
+ };
+};
diff --git a/Documentation/devicetree/bindings/mtd/spi-nor-flash.txt b/Documentation/devicetree/bindings/mtd/spi-nor-flash.txt
new file mode 100644
index 0000000..aba4d54
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/spi-nor-flash.txt
@@ -0,0 +1,7 @@
+This file defines some DT properties for specific SPI NOR flash features.
+The SPI NOR controller drivers may refer to this file, such as fsl-quadspi.txt
+
+Optional properties:
+ - spi-nor,ddr-quad-read-dummy: The dummy cycles used by the DDR Quad read.
+ Please refer to the chip's datasheet. This
+ property can be 4 or 6 which is less then 8.
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
index d2ea460..ffbfc63 100644
--- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
+++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
@@ -93,6 +93,16 @@ Clock Properties:
- fsl,tmr-fiper1 Fixed interval period pulse generator.
- fsl,tmr-fiper2 Fixed interval period pulse generator.
- fsl,max-adj Maximum frequency adjustment in parts per billion.
+ - fsl,clock-source-select Value type: <u32>,
+ select 1588 Timer reference clock source.
+ 0. External high precision timer reference
+ clock (TSEC_1588_CLK_IN)
+ 1. eTSEC system clock
+ 2. eTSEC1 transmit clock
+ 3. RTC clock input.
+ - fsl,ts-to-buffer Value type <none>, if present, indicates that TSEC
+ has ability to write time stamp of the transmitted
+ frame to memory in the padding.
These properties set the operational parameters for the PTP
clock. You must choose these carefully for the clock to work right.
@@ -143,4 +153,6 @@ Example:
fsl,tmr-fiper1 = <0x3B9AC9F6>;
fsl,tmr-fiper2 = <0x00018696>;
fsl,max-adj = <659999998>;
+ fsl,clock-source-select = <1>;
+ fsl,ts-to-buffer;
};
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt b/Documentation/devicetree/bindings/pci/designware-pcie.txt
index e216af3..83ccba4 100644
--- a/Documentation/devicetree/bindings/pci/designware-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt
@@ -20,6 +20,7 @@ Required properties:
numbers.
- num-lanes: number of lanes to use
- reset-gpio: gpio pin number of power good signal
+- num-atus: number of ATUs. The default value is 2 if not present
Example:
diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
new file mode 100644
index 0000000..d7b0026
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
@@ -0,0 +1,46 @@
+Freescale Layerscape PCIe controller
+
+This PCIe host controller is based on the Synopsis Designware PCIe IP
+and thus inherits all the common properties defined in designware-pcie.txt.
+
+Required properties:
+- compatible: should contain the platform identifier such as "fsl,ls1021a-pcie"
+- reg: base addresses and lengths of the PCIe controller
+- interrupts: A list of interrupt outputs of the controller. Must contain an
+ entry for each entry in the interrupt-names property.
+- interrupt-names: Must include the following entries:
+ "intr": The interrupt that is asserted for controller interrupts
+ "msi": The interrupt that is asserted when an MSI is received
+ "pme": The interrupt that is asserted when PME state changes
+- fsl,pcie-scfg: Must include two entries.
+ The first entry must be a link to the SCFG device node
+ The second entry must be '0' or '1' based on physical PCIe controller index.
+ used to get SCFG PEXN registers
+
+Example:
+
+ pcie@3400000 {
+ compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";
+ reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
+ 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
+ reg-names = "regs", "config";
+ interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
+ <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>, /* MSI interrupt */
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
+ interrupt-names = "intr", "msi", "pme";
+ fsl,pcie-scfg = <&scfg 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ device_type = "pci";
+ num-lanes = <4>;
+ bus-range = <0x0 0xff>;
+ ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
+ 0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */
+ 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
+ <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+ <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+ <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
+ };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/board.txt b/Documentation/devicetree/bindings/powerpc/fsl/board.txt
index 380914e..ecc2e52 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/board.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/board.txt
@@ -67,3 +67,21 @@ Example:
gpio-controller;
};
};
+
+* Freescale on-board FPGA connected on I2C bus
+
+Some Freescale boards like BSC9132QDS have on board FPGA connected on
+the i2c bus.
+
+Required properties:
+- compatible: Should be a board-specific string followed by a string
+ indicating the type of FPGA. Example:
+ "fsl,<board>-fpga", "fsl,fpga-qixis-i2c"
+- reg: Should contain the address of the FPGA
+
+Example:
+ fpga: fpga@66 {
+ compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
+ reg = <0x66>;
+ };
+
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt
index e47734b..5e4a61b 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt
@@ -2,8 +2,10 @@
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.
+ "bisync", "atm", "tdm" or "serial".
+- compatible : Describes the specific device attached to the UCC.
+ Examples include "ucc_geth", "fsl_atm", "ucc_uart","fsl,ucc-tdm",
+ and "fsl,ucc_hdlc".
- 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
@@ -53,6 +55,24 @@ Recommended properties:
Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
"tbi", or "rtbi".
+Required properties for fsl, ucc-tdm, compatible:
+- fsl,rx-sync-clock, fsl,tx-sync-clock: the TDM sync clock source for
+ receive/transmit
+ "none": clock source is disabled
+ "rsync_pin" : clock source is TDM_A1 RSYNC pin
+ "brg9" through "brg15" : clock source is BRG9-BRG15, respectively
+- fsl,tdm-tx-timeslot, fsl,tdm-rx-timeslot: time slot mask for transmit/receive
+ Each bit (LSB first) corresponds to a time slot. The time slot is enabled
+ if the bit is set
+- fsl,tdm-id : It is the tdm port number. e.g. P1021E has 4 ports - port
+ A/B/C/D mapping to number 0/1/2/3.
+- fsl,tdm-framer-type : It should be "t1" or "e1", "t1" for T1 line rate, and
+ "e1" for E1 line rate
+- fsl,tdm-mode : It is tsa working mode. It should be "normal" or
+ "internal-loopback"
+- fsl,siram-entry-id : This number is used for setting index siram entry
+ It should be 0/2/4.../14. Each TDM should not use the same number
+ with others
Example:
ucc@2000 {
device_type = "network";
@@ -68,3 +88,23 @@ Example:
phy-connection-type = "gmii";
pio-handle = <140001>;
};
+
+ tdmc: ucc@2400 {
+ compatible = "fsl,ucc-tdm";
+ cell-index = <5>;
+ reg = <0x2400 0x200>;
+ interrupts = <40>;
+ interrupt-parent = <&qeic>;
+ rx-clock-name = "clk7";
+ tx-clock-name = "clk13";
+ fsl,rx-sync-clock = "rsync_pin";
+ fsl,tx-sync-clock = "tsync_pin";
+ fsl,tx-timeslot = <0x00ffffff>;
+ fsl,rx-timeslot = <0x00ffffff>;
+ pio-handle = <&pio_tdmc>;
+ fsl,tdm-framer-type = "t1";
+ fsl,tdm-mode = "normal";
+ fsl,tdm-id = <2>;
+ fsl,siram-entry-id = <4>;
+ phy-handle = <&tdmphy>;
+ };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/dma.txt b/Documentation/devicetree/bindings/powerpc/fsl/dma.txt
index 2a4b4bc..67e7c1a 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/dma.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/dma.txt
@@ -134,6 +134,76 @@ Example:
};
};
+** Freescale Elo3 DMA Controller
+ DMA controller which has same function as EloPlus except that Elo3 has 8
+ channels while EloPlus has only 4, it is used in Freescale Txxx and Bxxx
+ series chips, such as t1040, t4240, b4860.
+
+Required properties:
+
+- compatible : must include "fsl,elo3-dma"
+- reg : contains two entries for DMA General Status Registers,
+ i.e. DGSR0 which includes status for channel 1~4, and
+ DGSR1 for channel 5~8
+- ranges : describes the mapping between the address space of the
+ DMA channels and the address space of the DMA controller
+
+- DMA channel nodes:
+ - compatible : must include "fsl,eloplus-dma-channel"
+ - reg : DMA channel specific registers
+ - interrupts : interrupt specifier for DMA channel IRQ
+ - interrupt-parent : optional, if needed for interrupt mapping
+
+Example:
+dma@100300 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fsl,elo3-dma";
+ reg = <0x100300 0x4>,
+ <0x100600 0x4>;
+ ranges = <0x0 0x100100 0x500>;
+ dma-channel@0 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x0 0x80>;
+ interrupts = <28 2 0 0>;
+ };
+ dma-channel@80 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x80 0x80>;
+ interrupts = <29 2 0 0>;
+ };
+ dma-channel@100 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x100 0x80>;
+ interrupts = <30 2 0 0>;
+ };
+ dma-channel@180 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x180 0x80>;
+ interrupts = <31 2 0 0>;
+ };
+ dma-channel@300 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x300 0x80>;
+ interrupts = <76 2 0 0>;
+ };
+ dma-channel@380 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x380 0x80>;
+ interrupts = <77 2 0 0>;
+ };
+ dma-channel@400 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x400 0x80>;
+ interrupts = <78 2 0 0>;
+ };
+ dma-channel@480 {
+ compatible = "fsl,eloplus-dma-channel";
+ reg = <0x480 0x80>;
+ interrupts = <79 2 0 0>;
+ };
+};
+
Note on DMA channel compatible properties: The compatible property must say
"fsl,elo-dma-channel" or "fsl,eloplus-dma-channel" to be used by the Elo DMA
driver (fsldma). Any DMA channel used by fsldma cannot be used by another
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman_chosen_node_device_tree.txt b/Documentation/devicetree/bindings/powerpc/fsl/fman_chosen_node_device_tree.txt
new file mode 100644
index 0000000..86f6dac
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/fman_chosen_node_device_tree.txt
@@ -0,0 +1,292 @@
+=================================================================================
+Chosen Node - DPAA extended arguments Bindings
+
+Copyright 2013 Freescale Semiconductor Inc.
+
+CONTENTS
+ - FMan Extended Args Node
+ - FMan-Port Extended Args Node
+ - Example
+ - General note on FMan internal resources
+
+NOTE: The bindings described in this document are preliminary and subject to change.
+
+=================================================================================
+FMan Extended Args Node
+
+DESCRIPTION
+
+The purpose of this node it to provide means to implicitly initialize some of the
+FMan advanced arguments as described below. This node is entirely optional; i.e.
+the FMan Linux driver already sets the appropriate default values that should
+fit most of the standard applications.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "fsl,fman-extended-args"
+
+ - cell-index
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the index of the FMan unit. The index should match
+ exactly the numbering of the cell-index of the FMan device-tree node.
+ It is recommended to use the "reference-to-node" method to assure matching.
+
+ - dma-aid-mode
+ Usage: optional
+ Value type: <string>
+ Definition: Sets the AID mode.
+ The optional values are "port" and "tnum".
+
+ - total-fifo-size
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the total space allocated for data FIFOs.
+ This attribute could be used when tuning the fman block.
+ It might be needed when expecting heavy traffic load and
+ then an increased value is required.
+ The extra-space will be taken from the PCD space portion
+ which means less space for classification patterns.
+ More information can be found in the note below -
+ "FMan Internal Resources".
+
+
+Example
+
+fman1-extd-args {
+ cell-index = <1>;
+ compatible = "fsl,fman-extended-args";
+ dma-aid-mode = "port";
+ total-fifo-size = <0x27000>;
+};
+
+=================================================================================
+FMan-Port Extended Args Node
+
+DESCRIPTION
+
+The purpose of this node it to provide means to implicitly initialize some of the
+FMan-port advanced arguments as described below. This node supports all FMan-Port
+types: OP, RX, 10G-RX, TX and 10G-TX ports. This node is entirely optional; i.e.
+the FMan Linux driver already sets the appropriate default values that should
+fit most of the standard applications.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property.
+ An Offline-Parsing port must include "fsl,fman-port-op-extended-args".
+ The Rx port must include "fsl,fman-port-1g-rx-extended-args" or
+ "fsl,fman-port-10g-rx-extended-args" for 10G Rx ports.
+ The Tx port must include "fsl,fman-port-1g-tx-extended-args" or
+ "fsl,fman-port-10g-tx-extended-args" for 10G Tx ports.
+
+ - cell-index
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the index of the FMan Port unit.
+ The types of ports: offline-parsing, 1G Rx, 10G Rx, 1G Tx and 10G Tx
+ ports. The index should match exactly the numbering of the cell-index of the
+ FMan-Port device-tree node. It is recommended to use the "reference-to-node"
+ method to assure matching.
+
+ - num-tnums
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the number of tnums required (first value)
+ as well as the extra required tnums (second value).
+ In the fman-port case "tnums" represent the number of tasks that the
+ Fman controller allocates to handle the appropriate port RX or TX activities.
+ For more details please refer to the Fman RM.
+
+ - num-dmas
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the number of dmas required (first value)
+ as well as the extra required dmas (second value).
+ In the fman-port case "num-dmas" represent the number of dma channels
+ that the Fman controller allocates to handle the appropriate port
+ RX or TX activities.
+ For more details please refer to the Fman RM.
+
+ - fifo-size
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the fifo size required (first value)
+ as well as the required excessive buffer size (second value).
+ In the fman-port case "fifo-size" represent the size of memory (in bytes)
+ that the Fman controller allocates to handle the appropriate port
+ RX or TX activities.
+ For more details please refer to the Fman RM.
+
+ - buffer-layout
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the manipulation extra space needed (first value)
+ and the data alignment (second value).
+ For more information please refer to the FMan User's guide
+
+ - vsp-window
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the number of profiles for this port (first value)
+ and the dfault virtual port relative id (second value). Note that the
+ kernel FMan driver automatically initializes the default VSP (using
+ the configuration from the Linux dpaa Ethernet Driver of the equivalent
+ port) while the rest of the VSPs should be initialized by the user
+ (using the appropriate IOCTLs).
+ For more information please refer to the FMan User's guide
+
+ - errors-to-discard
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies which errors should be discarded.
+ Errors that are not in the mask, will not be discarded;
+ I.e. those errors will be enqueued and sent to the default error queue.
+
+ - ar-tables-sizes
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the max number of entries which would be allocated
+ to each protocol in the auto response module. 0 value means protocol is
+ not supported. This field is only relevant for Rx ports.
+ A special value is the SNMP_char which stands for total
+ number of characters that would be available for the SNMP protocol in
+ auto response; Since all memory for the auto response must be pre
+ allocated, this is the only value that can't be auto calculated from
+ number of entries.
+ For example, if SNMP table uses among other values 3 strings:
+ "General printer", "idle", "Floor 2",
+ then the number of characters used is 15+4+7=26. The SNMP_char should
+ be a maximal value for such cases, i.e. worst case for such combination.
+ the location of the protocols is as followes:
+ < ARP ICMPv4 NDP ICMPv6 SNMP_ipv4 SNMP_ipv6 SNMP_oid SNMP_char >
+
+ - ar-filters-sizes
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the max number of entries which would be allocated
+ to each filtering table in the auto response module.
+ 0 value means such filtering table will not be used.
+ This field is only relevant for Rx ports.
+ the location of the filtering tables is as followes:
+ < IP_prot TCP_port UDP_port >
+
+Example
+
+fman1_rx4-extd-args {
+ cell-index = <4>;
+ compatible = "fsl,fman-port-1g-rx-extended-args";
+ num-tnums = <16 0>;
+ num-dmas = <8 0>;
+ fifo-size = <0x3000 0>;
+ buffer-layout = <64 128>;
+ vsp-window = <8 0>;
+ errors-to-discard = <0x00020000>;
+};
+
+===============================================================================
+Example
+
+chosen {
+ name = "chosen";
+
+ dpaa-extended-args {
+ fman1-extd-args {
+ cell-index = <1>;
+ compatible = "fsl,fman-extended-args";
+ dma-aid-mode = "port";
+
+ fman1_rx4-extd-args {
+ cell-index = <4>;
+ compatible = "fsl,fman-port-1g-rx-extended-args";
+ policer-profile-window = <8>;
+ num-tnums = <16 0>;
+ num-dmas = <8 0>;
+ fifo-size = <0x3000 0>;
+ buffer-layout = <64 128>;
+ vsp-window = <8 0>;
+ errors-to-discard = <0x00020000>;
+ };
+
+ fman1_tx4-extd-args {
+ cell-index = <4>;
+ compatible = "fsl,fman-port-1g-tx-extended-args";
+ num-tnums = <16 0>;
+ num-dmas = <8 0>;
+ fifo-size = <0x3000 0>;
+ };
+ };
+ };
+};
+
+===============================================================================
+FMan Internal Resources
+
+The FMan internal resources are: FIFO buffers, number of open DMA lines,
+number of tasks (TNUMs), excessive buffer size, shared extra TNUMs and
+shared extra DMAs.
+
+FIFO allocation size ("total-fifo-size"):
+The P2/P3/P4/P5 devices have 160KB total size of MURAM.
+The MURAM resource has two consumers: the FIFOs and the microcode.
+In the FMan driver we reserve by default 32KB for the coarse-classification
+microcode and the rest of the 128KB are reserved for the ports FIFOs data.
+
+There are 4 types of ports ("fifo-size"): 10G, 1G, host command and
+Offline Parsing (O/H). Each one requires reservation of FIFOs space
+on the RX and on the TX sides. In addition there is a general space reservation
+called Excessive Buffer Size (Excessive Buffer Size: When Rx port FIFO size
+exceeds its max value BMI may allocate additional internal buffers to avoid
+frames discard) Default initialization values for committed FIFO sizes are:
+
+10G Tx Ports: 16KB for all ports
+10G Rx Ports: 16KB for regular ports
+ (if largest buffer pool is larger than 14K, fifo size should be
+ ((largest buffer pool size rounded up to 256) +1792)).
+1G Tx Ports: 4KB for regular frames (assuming 'dequeue pipeline depth' <= 2)
+ 11008B for regular ports using jumbo frames.
+1G Rx Ports: 4KB for regular ports (unless largest buffer pool is larger than
+ 2304B, in which case FIFO should be:
+ ((largest buffer pool size rounded up to 256) +1792)).
+O/H Ports: 1536B (assuming 'dequeue pipeline depth' <= 2)
+
+Default initialization value for Rx ports excessive FIFO size is:
+16KB of excessive buffer size.
+
+Tasks allocation ("num-tnums"):
+Committed number of tnums is defined per port and specifies the maximum number
+of concurrent tasks that the port can create. The total number of committed
+tnums for all ports should not exceed the total number of tnums defined for
+the whole FMan block. There's a max number of 128 tnums per FM. By default,
+the total number is configured to be 96. When a port reached its max number
+of committed tasks, the BMI, if configured accordingly, may allocate
+extra tnums to the port in order to ease its stress.
+The committed number of tnums (and excessive tnums) are initialized by default:
+with the following values:
+10G Rx/Tx Ports: 16 (8)
+1G Rx/Tx Ports: 3 (2)
+Offline parsing ports: 3 (2)
+Host command ports: 1 (0)
+
+Number of open DMAs allocation ("num-dmas")
+The number of open DMAs is defined per port and specifies the number of maximum
+outstanding DMA requests allowed. The total number of committed open DMAs
+for all ports should not exceed the total number of open DMAs defined for
+the whole FM. There's a max number of 32 open DMA's per FM. By default,
+the total number is configured to be 24. When a port reached its max DMA
+transactions, the BMI may allocate extra DMA to the port (if configured to
+do so) in order to ease its stress.
+
+The committed number of DMAs (and excessive dmas) is initialized by default
+with the following values:
+10G Rx Port: 4 (8)
+10G Tx Port: 10 (8)
+1G Rx/Tx Ports: 1 (1)
+Offline parsing ports: 1 (1)
+Host command ports: 1 (0)
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman_device_tree.txt b/Documentation/devicetree/bindings/powerpc/fsl/fman_device_tree.txt
new file mode 100755
index 0000000..0d670b0
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/fman_device_tree.txt
@@ -0,0 +1,712 @@
+=================================================================================
+P4080 Frame Manager Device Bindings
+Copyright 2008 Freescale Semiconductor Inc.
+Version 1, September 16, 2008
+
+CONTENTS
+ - FMan Node
+ - FMan Port Node
+ - FMan MURAM Node
+ - FMan Parser Node
+ - FMan KeyGen Node
+ - FMan Coarse-Classification Node
+ - FMan Policer Node
+ - FMan dTSEC/XGEC Node
+ - FMan MDIO Node
+ - Example
+
+NOTE: The bindings described in this document are preliminary and subject to
+change.
+
+=================================================================================
+FMan Node
+
+DESCRIPTION
+
+Due to the fact that the FMan is an aggregation of sub-engines (ports, MACs,
+KeyGen, etc.) the FMan node will have child nodes for each of them. In order for
+these child nodes to be probed by the kernel, the FMan node must be "simple-bus"
+compatible.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "fsl,fman" and "simple-bus"
+
+ - #address-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Defines the number of cells
+ for representing physical addresses in child nodes. Must
+ have a value of 1.
+
+ - #size-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Defines the number of cells
+ for representing the size of physical addresses in
+ child nodes. Must have a value of 1.
+
+ - cell-index
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the index of the FMan unit. In P4080 there
+ two FMan blocks.
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical
+ address and length of the FMan configuration (SkyBlue)
+ registers
+
+ - ranges
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ and length of the FMan memory space
+
+ - clock-frequency
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the FM clock frequency in Hz units.
+
+Note(s): All other standard properties (see the ePAPR) are allowed but are
+ optional.
+
+=================================================================================
+FMan MURAM Node
+
+DESCRIPTION
+
+FMan Internal memory - shared between all the FMan modules.
+It contains data structures that are common and written to or read by the modules.
+FMan internal memory is split into the following parts:
+ Packet buffering (Tx/Rx FIFOs)
+ Coarse classification table
+ Frames internal context
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "fsl,fman-muram"
+
+ - ranges
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ and length of the FMan memory space
+
+EXAMPLE
+
+muram@0 {
+ compatible = "fsl,fman-muram";
+ ranges = <0 0x000000 0x28000>;
+};
+
+=================================================================================
+FMan Port Node
+
+DESCRIPTION
+
+The Frame Manager (FMan) supports several types of hardware ports:
+ Ethernet receiver (RX)
+ Ethernet transmitter (TX)
+ Offline (O/H)
+ Host command (O/H)
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-port".
+ An OH must include "fsl,fman-port-hc" for Host-Command port
+ or "fsl,fman-port-op" for Offline-Parsing port.
+ The Rx port must include "fsl,fman-port-rx" or "fsl,fman-port-xgrx"
+ for 10G Rx ports.
+ The Tx port must include "fsl,fman-port-tx" or "fsl,fman-port-xgtx"
+ for 10G Tx ports.
+
+ - cell-index
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the index of the FMan Port unit. Note that there are
+ types of ports: host-command/offline-parsing, Rx, 10G Rx, Tx and 10G Tx
+ ports. The index is the port location according to its memory-map.
+ I.e. the index is relative for each group/type of ports (rx, 10grx, tx,
+ 10gtx, oh).
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the port configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+ - fsl,liodn
+ Usage: see definition
+ Value type: <u32>
+ Definition: The logical I/O device number (LIODN) for this
+ device. The LIODN is a number expressed by this device
+ and used to perform look-ups in the IOMMU (PAMU) address
+ table when performing DMAs. This property is required
+ if the PAMU is enabled.
+
+ - fsl,qman-channel-id
+ Usage: required for Tx, HC, and OP ports, unused for Rx ports.
+ Value type <u32>
+ Definition: Specifies the channel to dequeue from for this port.
+
+Note(s): All other standard properties (see the ePAPR) are allowed but are
+ optional.
+
+EXAMPLE
+
+fman0_tx0: port@a8000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-1g-tx", "fsl,fman-port-1g-tx";
+ reg = <0xa8000 0x1000>;
+ fsl,qman-channel-id = <0x47>;
+};
+
+=================================================================================
+FMan Parser Node
+
+DESCRIPTION
+
+The FMan Parser parses incoming frames and generates parser results that
+contain header types and indexes to the headers
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-parser".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the KeyGen configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+EXAMPLE
+
+parser@80000 {
+ compatible = "fsl,fman-parser";
+ reg = <0x80000 0x1000>;
+};
+
+=================================================================================
+FMan KeyGen Node
+
+DESCRIPTION
+
+KeyGen - key generator module.
+ This module determines how frames are distributed to a range of FQs
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-keygen".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the KeyGen configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+EXAMPLE
+
+keygen@c1000 {
+ compatible = "fsl,fman-keygen";
+ reg = <0xc1000 0x1000>;
+};
+
+=================================================================================
+FMan Coarse-Classification Node
+
+DESCRIPTION
+
+The Coarse Classification block is a tree data structure inside the FMan controller
+that provides exact matching by searching predefined classification tables.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-cc".
+
+EXAMPLE
+
+cc: {
+ compatible = "fsl,fman-cc";
+};
+
+=================================================================================
+FMan Policer Node
+
+DESCRIPTION
+
+The Ploicer provides means to configure policy profiles that are used to
+prioritize a flow of frames over the other
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-policer".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the KeyGen configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+EXAMPLE
+
+policer@c2000 {
+ compatible = "fsl,fman-policer";
+ reg = <0xc2000 0x1000>;
+};
+
+=================================================================================
+FMan common BMI Node
+
+DESCRIPTION
+
+Tha BMI is the FMan interfacet to the Buffer Manager (BMan)
+which allocates/deallocates frames buffers
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-bmi".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the KeyGen configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+EXAMPLE
+
+bmi@80000 {
+ compatible = "fsl,p4080-fman-bmi", "fsl,fman-bmi";
+ reg = <0x80000 0x400>;
+};
+
+=================================================================================
+FMan common QMI Node
+
+DESCRIPTION
+
+The QMI is the FMan interface to the Queue Manager (QMan)
+It dequeues/enqueues frame descriptors (FD) from/to the QMan
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-qmi".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the KeyGen configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+EXAMPLE
+
+bmi@80400 {
+ compatible = "fsl,p4080-fman-qmi", "fsl,fman-qmi";
+ reg = <0x80400 0x400>;
+};
+
+=================================================================================
+FMan dTSEC/XGEC Node
+
+DESCRIPTION
+
+dTSEC/XGEC are the Ethernet network interfaces
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-mac".
+ dTSEC MAC must include "fsl,fman-mac-dtsec".
+ 10G MAC must include "fsl,fman-mac-xgec".
+
+ - cell-index
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the index of the FMan MAC unit. Note that there are
+ types of MACs: dTSEC and XGMAC. The index is the MAC location according
+ to its memory-map. I.e. the index is relative for each group/type of MACs.
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the MAC configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+ - fsl,port-handles
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: An array of two phandles-- the first references the
+ FMan RX port and the second the TX port used by this MAC.
+
+ - local-mac-address
+ Usage: required
+ Value type: <prop-encoded-array>, encoded as array of 6 hex numbers
+ Definition: Specifies IEEE 802.3 MAC address for this MAC.
+
+ - phy-handle
+ Usage: required
+ Value type: <phandle>
+ Definition: Specifies the PHY connected to this MAC
+
+ - phy-connection-type
+ Usage: required
+ Value type: <string>
+ Definition: Specifies the PHY type connected to this MAC.
+ Defaults to "mii". See the ePAPR for further details.
+
+Note(s): All other standard properties (see the ePAPR) are allowed but are
+ optional.
+
+EXAMPLE
+
+enet0: ethernet@e0000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-1g-mac", "fsl,fman-1g-mac";
+ reg = <0xe0000 0x1000>;
+ fsl,port-handles = <&fman0_rx0 &fman0_tx0>;
+ phy-handle = <&phy0>;
+ phy-connection-type = "rgmii-id";
+};
+
+=================================================================================
+FMan MDIO Node
+
+DESCRIPTION
+
+The MDIO is a bus to which network PHY devices are attached. Each PHY device on
+the MDIO bus should be represented by a child node.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,fman-mdio".
+
+ - #address-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Defines the number of cells
+ for representing physical addresses in child node. Must
+ have a value of 1.
+
+ - #size-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Must be 0.
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address
+ offset and length of the MDIO configuration (SkyBlue)
+ registers within the Fman node's address space.
+
+Note(s): All other standard properties (see the ePAPR) are allowed but are
+ optional.
+
+EXAMPLE
+
+mdio@e1000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xe1000 0x1000>;
+ interrupts = <100 1>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+=================================================================================
+Example
+
+fman0: fman@400000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman", "fsl,fman", "simple-bus";
+ ranges = <0 0x400000 0x100000>;
+ reg = <0x400000 0x100000>;
+ clock-frequency = <666>;
+ interrupts = <96 2 16 2>;
+ interrupt-parent = <&mpic>;
+
+ cc@0 {
+ compatible = "fsl,p4080-fman-cc", "fsl,fman-cc";
+ };
+
+ parser@c7000 {
+ compatible = "fsl,p4080-fman-parser", "fsl,fman-parser";
+ reg = <0xc7000 0x1000>;
+ };
+
+ keygen@c1000 {
+ compatible = "fsl,p4080-fman-keygen", "fsl,fman-keygen";
+ reg = <0xc1000 0x1000>;
+ };
+
+ policer@c0000 {
+ compatible = "fsl,p4080-fman-policer", "fsl,fman-policer";
+ reg = <0xc0000 0x1000>;
+ };
+
+ muram@0 {
+ compatible = "fsl,p4080-fman-muram", "fsl,fman-muram";
+ reg = <0x0 0x28000>;
+ };
+
+ bmi@80000 {
+ compatible = "fsl,p4080-fman-bmi", "fsl,fman-bmi";
+ reg = <0x80000 0x400>;
+ };
+
+ qmi@80400 {
+ compatible = "fsl,p4080-fman-qmi", "fsl,fman-qmi";
+ reg = <0x80400 0x400>;
+ };
+
+ fman0_oh0: port@81000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x81000 0x1000>;
+ fsl,qman-channel-id = <0x40>;
+ };
+ fman0_oh1: port@82000 {
+ cell-index = <1>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x82000 0x1000>;
+ fsl,qman-channel-id = <0x41>;
+ };
+ fman0_oh2: port@83000 {
+ cell-index = <2>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x83000 0x1000>;
+ fsl,qman-channel-id = <0x42>;
+ };
+ fman0_oh3: port@84000 {
+ cell-index = <3>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x84000 0x1000>;
+ fsl,qman-channel-id = <0x43>;
+ };
+ fman0_oh4: port@85000 {
+ cell-index = <4>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x85000 0x1000>;
+ fsl,qman-channel-id = <0x44>;
+ };
+ fman0_oh5: port@86000 {
+ cell-index = <5>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x86000 0x1000>;
+ fsl,qman-channel-id = <0x45>;
+ };
+ fman0_oh6: port@87000 {
+ cell-index = <6>;
+ compatible = "fsl,p4080-fman-port-oh", "fsl,fman-port-oh";
+ reg = <0x87000 0x1000>;
+ fsl,qman-channel-id = <0x46>;
+ };
+
+ fman0_rx0: port@88000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-1g-rx", "fsl,fman-port-1g-rx";
+ reg = <0x88000 0x1000>;
+ };
+ fman0_rx1: port@89000 {
+ cell-index = <1>;
+ compatible = "fsl,p4080-fman-port-1g-rx", "fsl,fman-port-1g-rx";
+ reg = <0x89000 0x1000>;
+ };
+ fman0_rx2: port@8a000 {
+ cell-index = <2>;
+ compatible = "fsl,p4080-fman-port-1g-rx", "fsl,fman-port-1g-rx";
+ reg = <0x8a000 0x1000>;
+ };
+ fman0_rx3: port@8b000 {
+ cell-index = <3>;
+ compatible = "fsl,p4080-fman-port-1g-rx", "fsl,fman-port-1g-rx";
+ reg = <0x8b000 0x1000>;
+ };
+ fman0_rx4: port@90000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-10g-rx", "fsl,fman-port-10g-rx";
+ reg = <0x90000 0x1000>;
+ };
+
+ fman0_tx0: port@a8000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-1g-tx", "fsl,fman-port-1g-tx";
+ reg = <0xa8000 0x1000>;
+ fsl,qman-channel-id = <0x47>;
+ };
+ fman0_tx1: port@a9000 {
+ cell-index = <1>;
+ compatible = "fsl,p4080-fman-port-1g-tx", "fsl,fman-port-1g-tx";
+ reg = <0xa9000 0x1000>;
+ fsl,qman-channel-id = <0x48>;
+ };
+ fman0_tx2: port@aa000 {
+ cell-index = <2>;
+ compatible = "fsl,p4080-fman-port-1g-tx", "fsl,fman-port-1g-tx";
+ reg = <0xaa000 0x1000>;
+ fsl,qman-channel-id = <0x49>;
+ };
+ fman0_tx3: port@ab000 {
+ cell-index = <3>;
+ compatible = "fsl,p4080-fman-port-1g-tx", "fsl,fman-port-1g-tx";
+ reg = <0xab000 0x1000>;
+ fsl,qman-channel-id = <0x4a>;
+ };
+ fman0_tx4: port@b0000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-port-10g-tx", "fsl,fman-port-10g-tx";
+ reg = <0xb0000 0x1000>;
+ fsl,qman-channel-id = <0x4b>;
+ };
+
+ enet0: ethernet@e0000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-1g-mac", "fsl,fman-1g-mac";
+ reg = <0xe0000 0x1000>;
+ fsl,port-handles = <&fman0_rx0 &fman0_tx0>;
+ phy-handle = <&phy0>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ mdio@e1000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xe1000 0x1000>;
+ interrupts = <100 1>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+
+ enet1: ethernet@e2000 {
+ cell-index = <1>;
+ compatible = "fsl,p4080-fman-1g-mac", "fsl,fman-1g-mac";
+ reg = <0xe2000 0x1000>;
+ fsl,port-handles = <&fman0_rx1 &fman0_tx1>;
+ phy-handle = <&phy1>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ mdio@e3000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xe3000 0x1000>;
+ interrupts = <100 1>;
+
+ phy1: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+
+ enet2: ethernet@e4000 {
+ cell-index = <2>;
+ compatible = "fsl,p4080-fman-1g-mac", "fsl,fman-1g-mac";
+ reg = <0xe4000 0x1000>;
+ fsl,port-handles = <&fman0_rx2 &fman0_tx2>;
+ phy-handle = <&phy2>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ mdio@e5000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xe5000 0x1000>;
+ interrupts = <100 1>;
+
+ phy2: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+
+ enet3: ethernet@e6000 {
+ cell-index = <3>;
+ compatible = "fsl,p4080-fman-1g-mac", "fsl,fman-1g-mac";
+ reg = <0xe6000 0x1000>;
+ fsl,port-handles = <&fman0_rx3 &fman0_tx3>;
+ phy-handle = <&phy3>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ mdio@e7000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xe7000 0x1000>;
+ interrupts = <100 1>;
+
+ phy3: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+
+ enet4: ethernet@f0000 {
+ cell-index = <0>;
+ compatible = "fsl,p4080-fman-10g-mac", "fsl,fman-10g-mac";
+ reg = <0xf0000 0x1000>;
+ fsl,port-handles = <&fman0_rx4 &fman0_tx4>;
+ phy-handle = <&phy4>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ mdio@f1000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,fman-mdio";
+ reg = <0xf1000 0x1000>;
+ interrupts = <100 1>;
+
+ phy4: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fsl-dce.txt b/Documentation/devicetree/bindings/powerpc/fsl/fsl-dce.txt
new file mode 100644
index 0000000..7eb50d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/fsl-dce.txt
@@ -0,0 +1,66 @@
+=====================================================================
+DCE Device Tree Binding
+Copyright (C) 2012 Freescale Semiconductor Inc.
+
+ CONTENTS
+ -Overview
+ -DCE Node and Example
+
+NOTE: the DCE is also known as Freescale's Decompression and Compression Engine
+
+=====================================================================
+Overview
+
+DESCRIPTION
+
+ The Decompression and Compression Engine is an accelerator compatible
+ with Datapath Architecture providing lossless data decompression and
+ compression for the QorIQ family of SoCs.
+
+=====================================================================
+DCE Node
+
+Description
+
+ Node defines the base address of the DCE block.
+ This block specifies the address range of all global
+ configuration registers for the DCE block. It
+ also receives error interrupts
+
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "fsl,dce"
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical
+ address and length of the DCE configuration registers.
+ registers
+
+ - interrupts
+ Usage: required
+ Value type: <prop_encoded-array>
+ Definition: Specifies the interrupts generated by this
+ device. The value of the interrupts property
+ consists of one interrupt specifier. The format
+ of the specifier is defined by the binding document
+ describing the node's interrupt parent.
+ This device only generates an error interrupt.
+
+ Note: All other standard properties (see the ePAPR) are allowed
+ but are optional.
+
+
+EXAMPLE
+ dce@312000 {
+ compatible = "fsl,dce";
+ reg = <0x312000 0x10000>;
+ interrupts = <16 2 1 4>;
+ };
+
+=====================================================================
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/l2-switch.txt b/Documentation/devicetree/bindings/powerpc/fsl/l2-switch.txt
new file mode 100644
index 0000000..c192f74
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/l2-switch.txt
@@ -0,0 +1,99 @@
+T1040 L2switch Device Tree Binding
+Copyright (C) 2013 Freescale Semiconductor Inc.
+
+CONTENTS
+ - Overview
+ - L2switch Node
+ - Port Node
+
+=====================================================================
+Overview
+
+DESCRIPTION
+
+ T1040 integrates a Gigabit Ethernet switch core with eight 10/100/1000 Mbps
+ Ethernet ports and two 10/100/1000/2500 Mbps ports.
+
+=====================================================================
+L2switch Node
+
+Description
+
+ This node specifies the address range of l2switch configuration registers
+ and interrupts. It also contains a set of child nodes defining the
+ Ethernet ports.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "vitesse-9953"
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Standard property which specifies the physical address and
+ length of the l2switch configuration registers.
+
+ - interrupts
+ Usage: required
+ Value type: <prop_encoded-array>
+ Definition: Standard property, specifies the interrupts generated by
+ this device.
+ The value of the interrupts property consists of one interrupt
+ specifier. The format of the specifier is defined by the binding
+ document describing the node's interrupt parent.
+
+=====================================================================
+Port Node
+
+Description
+
+ This node specifies the status and connection type of each of the Ethernet
+ ports.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "vitesse-9953-port"
+
+ - port-index
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the port index. Values 0, 1 are used by the two
+ internal 10/100/1000/2500 Mbps ports, values 2-9 are used by the
+ eight external 10/100/1000 Mbps ports.
+
+ - phy-connection-type
+ Usage: required
+ Value type: <string>
+ Definition: Specifies the controller/PHY interface type.
+
+ - status
+ Usage: optional
+ Value type: <string>
+ Definition: Standard property.
+ Indicates the operational status of the port. "disabled" is used
+ to indicate that the port is not usable (for example because the
+ QSGMII link to the PHYs is not available with current RCW).
+
+ - fixed-link
+ Usage: optional
+ Value type: <prop_encoded-array>
+ Definition: Specifies link parameters in the absence of a PHY.
+ <a b c d e> where a is emulated phy id - must be unique to among
+ all specified fixed-links, b is duplex - 0 half, 1 full, c is
+ link speed - 10/100/1000/2500, d is pause - 0 no pause, 1 pause,
+ e is asym_pause - 0 no asym_pause, 1 asym_pause.
+
+ - phy-handle
+ Usage: optional
+ Value type: <phandle>
+ Definition: The phandle for the PHY connected to this l2switch port.
+
+
+ Note: All other standard properties (see the ePAPR) are allowed but are
+ optional.
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt b/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt
index 07256b7..f1f749f 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt
@@ -9,15 +9,20 @@ Properties:
"fsl,mpc8548-pmc" should be listed for any chip whose PMC is
compatible. "fsl,mpc8536-pmc" should also be listed for any chip
- whose PMC is compatible, and implies deep-sleep capability.
+ whose PMC is compatible, and implies deep-sleep capability and
+ wake on user defined packet(wakeup on ARP).
+
+ "fsl,p1022-pmc" should be listed for any chip whose PMC is
+ compatible, and implies lossless Ethernet capability during sleep.
"fsl,mpc8641d-pmc" should be listed for any chip whose PMC is
compatible; all statements below that apply to "fsl,mpc8548-pmc" also
apply to "fsl,mpc8641d-pmc".
Compatibility does not include bit assignments in SCCR/PMCDR/DEVDISR; these
- bit assignments are indicated via the sleep specifier in each device's
- sleep property.
+ bit assignments are indicated via the clock nodes. Device which has a
+ controllable clock source should have a "fsl,pmc-handle" property pointing
+ to the clock node.
- reg: For devices compatible with "fsl,mpc8349-pmc", the first resource
is the PMC block, and the second resource is the Clock Configuration
@@ -33,31 +38,35 @@ Properties:
this is a phandle to an "fsl,gtm" node on which timer 4 can be used as
a wakeup source from deep sleep.
-Sleep specifiers:
+Clock nodes:
+The clock nodes are to describe the masks in PM controller registers for each
+soc clock.
+- fsl,pmcdr-mask: For "fsl,mpc8548-pmc"-compatible devices, the mask will be
+ ORed into PMCDR before suspend if the device using this clock is the wake-up
+ source and need to be running during low power mode; clear the mask if
+ otherwise.
- fsl,mpc8349-pmc: Sleep specifiers consist of one cell. For each bit
- that is set in the cell, the corresponding bit in SCCR will be saved
- and cleared on suspend, and restored on resume. This sleep controller
- supports disabling and resuming devices at any time.
+- fsl,sccr-mask: For "fsl,mpc8349-pmc"-compatible devices, the corresponding
+ bit specified by the mask in SCCR will be saved and cleared on suspend, and
+ restored on resume.
- fsl,mpc8536-pmc: Sleep specifiers consist of three cells, the third of
- which will be ORed into PMCDR upon suspend, and cleared from PMCDR
- upon resume. The first two cells are as described for fsl,mpc8578-pmc.
- This sleep controller only supports disabling devices during system
- sleep, or permanently.
-
- fsl,mpc8548-pmc: Sleep specifiers consist of one or two cells, the
- first of which will be ORed into DEVDISR (and the second into
- DEVDISR2, if present -- this cell should be zero or absent if the
- hardware does not have DEVDISR2) upon a request for permanent device
- disabling. This sleep controller does not support configuring devices
- to disable during system sleep (unless supported by another compatible
- match), or dynamically.
+- fsl,devdisr-mask: Contain one or two cells, depending on the availability of
+ DEVDISR2 register. For compatible devices, the mask will be ORed into DEVDISR
+ or DEVDISR2 when the clock should be permenently disabled.
Example:
- power@b00 {
- compatible = "fsl,mpc8313-pmc", "fsl,mpc8349-pmc";
- reg = <0xb00 0x100 0xa00 0x100>;
- interrupts = <80 8>;
+ power@e0070 {
+ compatible = "fsl,mpc8536-pmc", "fsl,mpc8548-pmc";
+ reg = <0xe0070 0x20>;
+
+ etsec1_clk: soc-clk@24 {
+ fsl,pmcdr-mask = <0x00000080>;
+ };
+ etsec2_clk: soc-clk@25 {
+ fsl,pmcdr-mask = <0x00000040>;
+ };
+ etsec3_clk: soc-clk@26 {
+ fsl,pmcdr-mask = <0x00000020>;
+ };
};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/rman.txt b/Documentation/devicetree/bindings/powerpc/fsl/rman.txt
new file mode 100644
index 0000000..76a86fd
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/rman.txt
@@ -0,0 +1,178 @@
+=================================================================================
+Freescale RapidIO Message Manager Device Bindings
+Copyright 2013 Freescale Semiconductor Inc.
+
+CONTENTS
+ - RMan Node
+ - RMan Inbound Block Node
+ - RMan Global CFG Node
+ - Example
+
+NOTE: The bindings described in this document are preliminary and subject to
+change.
+
+=================================================================================
+RMan Node
+
+DESCRIPTION
+
+The RapidIO message manager (RMan) supports a message passing programming model
+for inter-processor and inter-device communication. Due to the fact RMan has
+multiple inbound blocks, the RMan node will have child nodes for each block.
+The RMan's revision information can be get from IPBRRO and IPBRR1 registers.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Must include "fsl,rman".
+ Definition: Must include "fsl,rman" for IP blocks with IP Block
+ Revision Register (SRIO IPBRR1) Major ID equal to 0x0a20.
+
+ Optionally, a compatiable string of "fsl,rman-vX.Y" where X is Major
+ version in IP Block Revision Register and Y is Minor version. If this
+ compatiable is provided it should be ordered before "fsl,rman".
+
+ - #address-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Defines the number of cells for
+ representing physical addresses in child nodes. Must have a
+ value of 1.
+
+ - #size-cells
+ Usage: required
+ Value type: <u32>
+ Definition: A standard property. Defines the number of cells for
+ representing the size of physical addresses in child nodes.
+ Must have a value of 1.
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address and
+ length of the RMan configuration registers within the CCSR
+ address space.
+
+ - ranges
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address and=
+ length of the RMan memory space.
+
+ - interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Interrupt mapping for RMAN error IRQ.
+
+ - fsl,qman-channels-id
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: This property represents the ID value for the specific QMan
+ dequeue channel(s) asssociate with RMan. Typically there is a
+ dequeue channel per RapidIO port.
+
+=================================================================================
+RMan Inbound Block Node
+
+DESCRIPTION
+
+RMan has multiple inbound blocks. Each inbound block has eight classification
+units.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,rman-inbound-block".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address offset
+ and length of the RMan inbound block configuration registers
+ within the RMan node's address space.
+
+ - fsl,liodn
+ Usage: see definition
+ Value type: <u32>
+ Definition: The logical I/O device number (LIODN) for this device. The
+ LIODN is a number expressed by this device and used to perform
+ look-ups in the IOMMU (PAMU) address table when performing DMAs.
+ This property is required if the PAMU is enabled.
+
+Example
+
+inbound-block@0 {
+ fsl,liodn = <203>;
+ compatible = "fsl,rman-inbound-block";
+ reg = <0x0 0x800>;
+};
+
+=================================================================================
+RMan Global CFG Node
+
+DESCRIPTION
+
+This node describes the RMan global registers located within the first 4K bytes
+resource block.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: A standard property. Must include "fsl,rman-global-cfg".
+
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A standard property. Specifies the physical address offset
+ and length of the RMan global configuration registers within the
+ RMan node's address space.
+
+Example
+
+global-cfg@b00 {
+ compatible = "fsl,rman-global-cfg";
+ reg = <0xb00 0x500>;
+};
+
+=================================================================================
+Example
+
+rman: rman@1e0000 {
+ compatible = "fsl,rman";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x1e0000 0x20000>;
+ reg = <0x1e0000 0x20000>;
+ interrupts = <16 2 1 11>; /* err_irq */
+ fsl,qman-channels-id = <0x62 0x63>;
+ inbound-block@0 {
+ fsl,liodn = <203>;
+ compatible = "fsl,rman-inbound-block";
+ reg = <0x0 0x800>;
+ };
+ global-cfg@b00 {
+ compatible = "fsl,rman-global-cfg";
+ reg = <0xb00 0x500>;
+ };
+ inbound-block@1000 {
+ fsl,liodn = <204>;
+ compatible = "fsl,rman-inbound-block";
+ reg = <0x1000 0x800>;
+ };
+ inbound-block@2000 {
+ fsl,liodn = <205>;
+ compatible = "fsl,rman-inbound-block";
+ reg = <0x2000 0x800>;
+ };
+ inbound-block@3000 {
+ fsl,liodn = <206>;
+ compatible = "fsl,rman-inbound-block";
+ reg = <0x3000 0x800>;
+ };
+};
diff --git a/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
new file mode 100644
index 0000000..3899d6a
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
@@ -0,0 +1,52 @@
+Freescale FlexTimer Module (FTM) PWM controller
+
+The same FTM PWM device can have a different endianness on different SoCs. The
+device tree provides a property to describing this so that an operating system
+device driver can handle all variants of the device. Refer to the table below
+for the endianness of the FTM PWM block as integrated into the existing SoCs:
+
+ SoC | FTM-PWM endianness
+ --------+-------------------
+ Vybrid | LE
+ LS1 | BE
+ LS2 | LE
+
+Please see ../regmap/regmap.txt for more detail about how to specify endian
+modes in device tree.
+
+
+Required properties:
+- compatible: Should be "fsl,vf610-ftm-pwm".
+- reg: Physical base address and length of the controller's registers
+- #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
+ the cells format.
+- clock-names: Should include the following module clock source entries:
+ "ftm_sys" (module clock, also can be used as counter clock),
+ "ftm_ext" (external counter clock),
+ "ftm_fix" (fixed counter clock),
+ "ftm_cnt_clk_en" (external and fixed counter clock enable/disable).
+- clocks: Must contain a phandle and clock specifier for each entry in
+ clock-names, please see clock/clock-bindings.txt for details of the property
+ values.
+- pinctrl-names: Must contain a "default" entry.
+- pinctrl-NNN: One property must exist for each entry in pinctrl-names.
+ See pinctrl/pinctrl-bindings.txt for details of the property values.
+- big-endian: Boolean property, required if the FTM PWM registers use a big-
+ endian rather than little-endian layout.
+
+Example:
+
+pwm0: pwm@40038000 {
+ compatible = "fsl,vf610-ftm-pwm";
+ reg = <0x40038000 0x1000>;
+ #pwm-cells = <3>;
+ clock-names = "ftm_sys", "ftm_ext",
+ "ftm_fix", "ftm_cnt_clk_en";
+ clocks = <&clks VF610_CLK_FTM0>,
+ <&clks VF610_CLK_FTM0_EXT_SEL>,
+ <&clks VF610_CLK_FTM0_FIX_SEL>,
+ <&clks VF610_CLK_FTM0_EXT_FIX_EN>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm0_1>;
+ big-endian;
+};
diff --git a/Documentation/devicetree/bindings/regmap/regmap.txt b/Documentation/devicetree/bindings/regmap/regmap.txt
new file mode 100644
index 0000000..b494f8b
--- /dev/null
+++ b/Documentation/devicetree/bindings/regmap/regmap.txt
@@ -0,0 +1,47 @@
+Device-Tree binding for regmap
+
+The endianness mode of CPU & Device scenarios:
+Index Device Endianness properties
+---------------------------------------------------
+1 BE 'big-endian'
+2 LE 'little-endian'
+
+For one device driver, which will run in different scenarios above
+on different SoCs using the devicetree, we need one way to simplify
+this.
+
+Required properties:
+- {big,little}-endian: these are boolean properties, if absent
+ meaning that the CPU and the Device are in the same endianness mode,
+ these properties are for register values and all the buffers only.
+
+Examples:
+Scenario 1 : CPU in LE mode & device in LE mode.
+dev: dev@40031000 {
+ compatible = "name";
+ reg = <0x40031000 0x1000>;
+ ...
+};
+
+Scenario 2 : CPU in LE mode & device in BE mode.
+dev: dev@40031000 {
+ compatible = "name";
+ reg = <0x40031000 0x1000>;
+ ...
+ big-endian;
+};
+
+Scenario 3 : CPU in BE mode & device in BE mode.
+dev: dev@40031000 {
+ compatible = "name";
+ reg = <0x40031000 0x1000>;
+ ...
+};
+
+Scenario 4 : CPU in BE mode & device in LE mode.
+dev: dev@40031000 {
+ compatible = "name";
+ reg = <0x40031000 0x1000>;
+ ...
+ little-endian;
+};
diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
index 6fd1dd1..9b8429f 100644
--- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
@@ -1,7 +1,11 @@
* Freescale low power universal asynchronous receiver/transmitter (lpuart)
Required properties:
-- compatible : Should be "fsl,<soc>-lpuart"
+- compatible :
+ - "fsl,vf610-lpuart" for lpuart compatible with the one integrated
+ on Vybrid vf610 SoC with 8-bit register organization
+ - "fsl,ls1021a-lpuart" for lpuart compatible with the one integrated
+ on LS1021A SoC with 32-bit big-endian register organization
- reg : Address and length of the register set for the device
- interrupts : Should contain uart interrupt
diff --git a/Documentation/devicetree/bindings/serial/of-serial.txt b/Documentation/devicetree/bindings/serial/of-serial.txt
index 1928a3e..8c4fd03 100644
--- a/Documentation/devicetree/bindings/serial/of-serial.txt
+++ b/Documentation/devicetree/bindings/serial/of-serial.txt
@@ -14,6 +14,7 @@ Required properties:
- "altr,16550-FIFO32"
- "altr,16550-FIFO64"
- "altr,16550-FIFO128"
+ - "fsl,16550-FIFO64"
- "serial" if the port type is unknown.
- reg : offset and length of the register set for the device.
- interrupts : should contain uart interrupt.
diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
index a1fb303..cbbe16e 100644
--- a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
+++ b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
@@ -10,6 +10,12 @@ Required properties:
- pinctrl-names: must contain a "default" entry.
- spi-num-chipselects : the number of the chipselect signals.
- bus-num : the slave chip chipselect signal number.
+
+Optional property:
+- big-endian: If present the dspi device's registers are implemented
+ in big endian mode, otherwise in native mode(same with CPU), for more
+ detail please see: Documentation/devicetree/bindings/regmap/regmap.txt.
+
Example:
dspi0@4002c000 {
@@ -24,6 +30,7 @@ dspi0@4002c000 {
bus-num = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_dspi0_1>;
+ big-endian;
status = "okay";
sflash: at26df081a@0 {
diff --git a/Documentation/devicetree/bindings/tdm/fsl-tdm.txt b/Documentation/devicetree/bindings/tdm/fsl-tdm.txt
new file mode 100644
index 0000000..1258b89
--- /dev/null
+++ b/Documentation/devicetree/bindings/tdm/fsl-tdm.txt
@@ -0,0 +1,65 @@
+=====================================================================
+TDM Device Tree Binding
+Copyright (C) 2012 Freescale Semiconductor Inc.
+
+NOTE: The bindings described in this document are preliminary
+and subject to change.
+
+=====================================================================
+TDM (Time Division Multiplexing)
+
+DESCRIPTION
+
+The TDM is full duplex serial port designed to allow various devices including
+digital signal processors (DSPs) to communicate with a variety of serial devices
+including industry standard framers, codecs, other DSPs and microprocessors.
+
+The below properties describe the device tree bindings for Freescale TDM
+controller.
+This TDM controller is available on various Freescale Processors like
+MPC8313, P1020, P1022 and P1010.
+
+PROPERTIES
+
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Should contain "fsl,tdm1.0".
+
+ - reg
+ Usage: required
+ Definition: A standard property. The first reg specifier describes the
+ TDM registers, and the second describes the TDM DMAC registers.
+
+ - clock-frequency
+ Usage: optional
+ Value type: <u32 or u64>
+ Definition: The frequency at which the TDM block is operating.
+
+ - interrupts
+ Usage: required
+ Definition: Definition: Two interrupt specifiers. The first is TDM
+ error, and the second is TDM EMAC.
+
+ - phy-handle
+ Usage: optional
+ Value type: <phandle>
+ Definition: Phandle of the line controller node or framer node eg. SLIC,
+ E1/T1 etc.
+
+ - fsl,max-time-slots
+ Usage: required
+ Value type: <u32>
+ Definition: Maximum number of 8-bit time slots in one TDM frame.
+ This is the maximum number which TDM hardware supports.
+
+EXAMPLE
+
+ tdm@16000 {
+ compatible = "fsl,tdm1.0";
+ reg = <0x16000 0x200 0x2c000 0x2000>;
+ clock-frequency = <0>;
+ interrupts = <16 8 62 8>;
+ phy-handle = <&zarlink1>;
+ fsl,max-time-slots = <128>;
+ };
diff --git a/Documentation/devicetree/bindings/tdm/pq-mds-t1.txt b/Documentation/devicetree/bindings/tdm/pq-mds-t1.txt
new file mode 100644
index 0000000..d5a9240
--- /dev/null
+++ b/Documentation/devicetree/bindings/tdm/pq-mds-t1.txt
@@ -0,0 +1,63 @@
+=====================================================================
+FSL PQ_MDS_T1 Device Tree Binding
+Copyright (C) 2012 Freescale Semiconductor Inc.
+
+=====================================================================
+Introduction
+
+The PQ-MDS-T1 - A board card with the T1/E1/DS3/T3/SLIC-SLAC module
+ which serves as a platform for S/W and H/W development
+ around the host device, it is connected by PMC sockets.
+
+1.TDM PHY
+ Function : DS26528 T1/E1/J1 transceiver
+
+Properties
+ - compatible
+ Usage: required
+ Value type: <string>
+ Definition: Should be "fsl,pq-mds-t1".
+ - reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: The first reg specifier describes the the address,
+ and the second describes the length.
+ - line-rate
+ Usage: required
+ Value type: <string>
+ Definition: It descrbets the line rate "e1" or "t1". "e1" is 2.048MHz
+ "t1" is 1.544MHz.
+ - fsl,trans-mode
+ Usage: required
+ Value type: <string>
+ Definition: TDM controller transfer mode setting
+ Normal operation: set fsl,trans-mode = "normal". In this mode,
+ controller sends and receives data normally.
+ Loopback operation: set fsl,trans-mode = "internal-loopback".
+ In this mode, the data is sent via tsa tx pin and
+ received from tsa rx pin.
+Example
+
+ ds26528: tdm-phy@0 {
+ compatible = "dallas,ds26528";
+ reg = <0 0x2000>;
+ line-rate = "e1";
+ fsl,trans-mode = "normal";
+ };
+
+2.PQ-MDS-T1 PLD
+ Function: Board identification, control and clock/signal routing
+
+Properties
+ - fsl,card-support
+ Usage: required
+ Value type: <u32>
+ Definition: This property use phandle to describe which it serves as,
+ ds26528 or zarlink.
+
+Example
+ pld-reg@2000 {
+ compatible = "fsl,pq-mds-t1-pld";
+ reg = <0x2000 0x1000>;
+ fsl,card-support = <&ds26528>;
+ }
diff --git a/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt b/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
new file mode 100644
index 0000000..aa8c402
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
@@ -0,0 +1,31 @@
+Freescale FlexTimer Module (FTM) Timer
+
+Required properties:
+
+- compatible : should be "fsl,ftm-timer"
+- reg : Specifies base physical address and size of the register sets for the
+ clock event device and clock source device.
+- interrupts : Should be the clock event device interrupt.
+- clocks : The clocks provided by the SoC to drive the timer, must contain an
+ entry for each entry in clock-names.
+- clock-names : Must include the following entries:
+ o "ftm-evt"
+ o "ftm-src"
+ o "ftm-evt-counter-en"
+ o "ftm-src-counter-en"
+- big-endian: One boolean property, the big endian mode will be in use if it is
+ present, or the little endian mode will be in use for all the device registers.
+
+Example:
+ftm: ftm@400b8000 {
+ compatible = "fsl,ftm-timer";
+ reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
+ interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "ftm-evt", "ftm-src",
+ "ftm-evt-counter-en", "ftm-src-counter-en";
+ clocks = <&clks VF610_CLK_FTM2>,
+ <&clks VF610_CLK_FTM3>,
+ <&clks VF610_CLK_FTM2_EXT_FIX_EN>,
+ <&clks VF610_CLK_FTM3_EXT_FIX_EN>;
+ big-endian;
+};
diff --git a/Documentation/devicetree/bindings/video/fsl-dcu-fb.txt b/Documentation/devicetree/bindings/video/fsl-dcu-fb.txt
new file mode 100644
index 0000000..20fc74c
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/fsl-dcu-fb.txt
@@ -0,0 +1,69 @@
+* Freescale Display Control Unit (DCU)
+
+=== For dcu node ===
+Required properties:
+- compatible: Should be one of "fsl,vf610-dcu" and "fsl,ls1021a-dcu".
+- reg: Address and length of the register set for DCU.
+- interrupts: Should contain DCU interrupts.
+- clocks: From common clock binding: handle to DCU clock.
+- clock-names: From common clock binding: Shall be "dcu".
+- display: The phandle to display node.
+
+Optional properties:
+- tcon-controller: The phandle of TCON controller.
+- scfg-controller: The phandle of scfg node.
+
+=== For display sub-node ===
+Required properties:
+- bits-per-pixel: <24> for RGB888.
+
+Required timing node for dispplay sub-node:
+- display-timings: Refer to binding doc display-timing.txt for details.
+
+=== For TCON node ===
+Required properties:
+- compatible: Should be "fsl,tcon".
+- reg: Address and length of the register set for TCON.
+- clocks: From common clock binding: handle to TCON clock.
+- clock-names: From common clock binding: Shall be "tcon".
+
+Examples:
+
+dcu0: dcu@40058000 {
+ compatible = "fsl,vf610-dcu";
+ reg = <0x40058000 0x1200>;
+ interrupts = <0 30 0x04>;
+ clocks = <&clks VF610_CLK_DCU0>;
+ clock-names = "dcu";
+ tcon-controller = <&tcon0>;
+ scfg-controller = <&scfg>;
+ display = <&display>;
+
+ display: display@0 {
+ bits-per-pixel = <24>;
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: nl4827hc19 {
+ clock-frequency = <10870000>;
+ hactive = <480>;
+ vactive = <272>;
+ hback-porch = <2>;
+ hfront-porch = <2>;
+ vback-porch = <1>;
+ vfront-porch = <1>;
+ hsync-len = <41>;
+ vsync-len = <2>;
+ hsync-active = <1>;
+ vsync-active = <1>;
+ };
+ };
+ };
+};
+
+tcon0: tcon@4003d000 {
+ compatible = "fsl,vf610-tcon";
+ reg = <0x4003d000 0x1000>;
+ clocks = <&clks VF610_CLK_TCON0>;
+ clock-names = "tcon";
+};
diff --git a/Documentation/devicetree/bindings/video/fsl-sii902x.txt b/Documentation/devicetree/bindings/video/fsl-sii902x.txt
new file mode 100644
index 0000000..c513a41
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/fsl-sii902x.txt
@@ -0,0 +1,17 @@
+Device-Tree bindings for framebuffer hdmi driver
+
+Required properties:
+- compatible: Should be "fsl,sii902x".
+- reg: The I2C address of the device.
+- interrupts: Interrupt number to the cpu.
+
+Example:
+
+&i2c1 {
+ status = "okay";
+ hdmi: sii9022a@39 {
+ compatible = "fsl,sii902x";
+ reg = <0x39>;
+ interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
+ };
+};
diff --git a/Documentation/hwmon/ltc2945 b/Documentation/hwmon/ltc2945
new file mode 100644
index 0000000..f8d0f7f
--- /dev/null
+++ b/Documentation/hwmon/ltc2945
@@ -0,0 +1,84 @@
+Kernel driver ltc2945
+=====================
+
+Supported chips:
+ * Linear Technology LTC2945
+ Prefix: 'ltc2945'
+ Addresses scanned: -
+ Datasheet:
+ http://cds.linear.com/docs/en/datasheet/2945fa.pdf
+
+Author: Guenter Roeck <linux@roeck-us.net>
+
+
+Description
+-----------
+
+The LTC2945 is a rail-to-rail system monitor that measures current, voltage,
+and power consumption.
+
+
+Usage Notes
+-----------
+
+This driver does not probe for LTC2945 devices, since there is no register
+which can be safely used to identify the chip. You will have to instantiate
+the devices explicitly.
+
+Example: the following will load the driver for an LTC2945 at address 0x10
+on I2C bus #1:
+$ modprobe ltc2945
+$ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
+
+
+Sysfs entries
+-------------
+
+Voltage readings provided by this driver are reported as obtained from the ADC
+registers. If a set of voltage divider resistors is installed, calculate the
+real voltage by multiplying the reported value with (R1+R2)/R2, where R1 is the
+value of the divider resistor against the measured voltage and R2 is the value
+of the divider resistor against Ground.
+
+Current reading provided by this driver is reported as obtained from the ADC
+Current Sense register. The reported value assumes that a 1 mOhm sense resistor
+is installed. If a different sense resistor is installed, calculate the real
+current by dividing the reported value by the sense resistor value in mOhm.
+
+in1_input VIN voltage (mV). Voltage is measured either at
+ SENSE+ or VDD pin depending on chip configuration.
+in1_min Undervoltage threshold
+in1_max Overvoltage threshold
+in1_lowest Lowest measured voltage
+in1_highest Highest measured voltage
+in1_reset_history Write 1 to reset in1 history
+in1_min_alarm Undervoltage alarm
+in1_max_alarm Overvoltage alarm
+
+in2_input ADIN voltage (mV)
+in2_min Undervoltage threshold
+in2_max Overvoltage threshold
+in2_lowest Lowest measured voltage
+in2_highest Highest measured voltage
+in2_reset_history Write 1 to reset in2 history
+in2_min_alarm Undervoltage alarm
+in2_max_alarm Overvoltage alarm
+
+curr1_input SENSE current (mA)
+curr1_min Undercurrent threshold
+curr1_max Overcurrent threshold
+curr1_lowest Lowest measured current
+curr1_highest Highest measured current
+curr1_reset_history Write 1 to reset curr1 history
+curr1_min_alarm Undercurrent alarm
+curr1_max_alarm Overcurrent alarm
+
+power1_input Power (in uW). Power is calculated based on SENSE+/VDD
+ voltage or ADIN voltage depending on chip configuration.
+power1_min Low lower threshold
+power1_max High power threshold
+power1_input_lowest Historical minimum power use
+power1_input_highest Historical maximum power use
+power1_reset_history Write 1 to reset power1 history
+power1_min_alarm Low power alarm
+power1_max_alarm High power alarm
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 64c6734..ebd2c25 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -506,6 +506,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
c101= [NET] Moxa C101 synchronous serial card
+ cache-sram= [HW] Create a cache-based SRAM.
+ Format: <phys-addr>,<size>
+
cachesize= [BUGS=X86-32] Override level 2 CPU cache size detection.
Sometimes CPU hardware bugs make them report the cache
size incorrectly. The kernel will attempt work arounds
diff --git a/Documentation/mmc/mmc-dev-attrs.txt b/Documentation/mmc/mmc-dev-attrs.txt
index 189bab0..db00d95 100644
--- a/Documentation/mmc/mmc-dev-attrs.txt
+++ b/Documentation/mmc/mmc-dev-attrs.txt
@@ -7,6 +7,8 @@ SD or MMC device.
The following attributes are read/write.
force_ro Enforce read-only access even if write protect switch is off.
+ bouncesz Support dynamic adjustment of bounce buffer size at runtime,
+ from 4096 to 4194304, integer multiple of 512 bytes only.
SD and MMC Device Attributes
============================
diff --git a/Documentation/networking/gianfar.txt b/Documentation/networking/gianfar.txt
index ad474ea..ba1daea 100644
--- a/Documentation/networking/gianfar.txt
+++ b/Documentation/networking/gianfar.txt
@@ -1,38 +1,8 @@
The Gianfar Ethernet Driver
-Sysfs File description
Author: Andy Fleming <afleming@freescale.com>
Updated: 2005-07-28
-SYSFS
-
-Several of the features of the gianfar driver are controlled
-through sysfs files. These are:
-
-bd_stash:
-To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to
-bd_stash, echo 'off' or '0' to disable
-
-rx_stash_len:
-To stash the first n bytes of the packet in L2, echo the number
-of bytes to buf_stash_len. echo 0 to disable.
-
-WARNING: You could really screw these up if you set them too low or high!
-fifo_threshold:
-To change the number of bytes the controller needs in the
-fifo before it starts transmission, echo the number of bytes to
-fifo_thresh. Range should be 0-511.
-
-fifo_starve:
-When the FIFO has less than this many bytes during a transmit, it
-enters starve mode, and increases the priority of TX memory
-transactions. To change, echo the number of bytes to
-fifo_starve. Range should be 0-511.
-
-fifo_starve_off:
-Once in starve mode, the FIFO remains there until it has this
-many bytes. To change, echo the number of bytes to
-fifo_starve_off. Range should be 0-511.
CHECKSUM OFFLOADING
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 858aecf..076b849 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -2304,7 +2304,31 @@ Possible features:
Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only).
-4.83 KVM_GET_REG_LIST
+4.83 KVM_ARM_PREFERRED_TARGET
+
+Capability: basic
+Architectures: arm, arm64
+Type: vm ioctl
+Parameters: struct struct kvm_vcpu_init (out)
+Returns: 0 on success; -1 on error
+Errors:
+  ENODEV:    no preferred target available for the host
+
+This queries KVM for preferred CPU target type which can be emulated
+by KVM on underlying host.
+
+The ioctl returns struct kvm_vcpu_init instance containing information
+about preferred CPU target type and recommended features for it. The
+kvm_vcpu_init->features bitmap returned will have feature bits set if
+the preferred target recommends setting these features, but this is
+not mandatory.
+
+The information returned by this ioctl can be used to prepare an instance
+of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result in
+in VCPU matching underlying host.
+
+
+4.84 KVM_GET_REG_LIST
Capability: basic
Architectures: arm, arm64
@@ -2323,8 +2347,7 @@ struct kvm_reg_list {
This ioctl returns the guest registers that are supported for the
KVM_GET_ONE_REG/KVM_SET_ONE_REG calls.
-
-4.84 KVM_ARM_SET_DEVICE_ADDR
+4.85 KVM_ARM_SET_DEVICE_ADDR
Capability: KVM_CAP_ARM_SET_DEVICE_ADDR
Architectures: arm, arm64
@@ -2362,7 +2385,7 @@ must be called after calling KVM_CREATE_IRQCHIP, but before calling
KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the
base addresses will return -EEXIST.
-4.85 KVM_PPC_RTAS_DEFINE_TOKEN
+4.86 KVM_PPC_RTAS_DEFINE_TOKEN
Capability: KVM_CAP_PPC_RTAS
Architectures: ppc