Freescale Reference Board Bindings

This document describes device tree bindings for various devices that
exist on some Freescale reference boards.

* Board Control and Status (BCSR)

Required properties:

 - compatible : Should be "fsl,<board>-bcsr"
 - reg : Offset and length of the register set for the device

Example:

	bcsr@f8000000 {
		compatible = "fsl,mpc8360mds-bcsr";
		reg = <f8000000 8000>;
	};

* Freescale on-board FPGA

This is the memory-mapped registers for on board FPGA.

Required properties:
- compatible: should be a board-specific string followed by a string
  indicating the type of FPGA.  Example:
	"fsl,<board>-fpga", "fsl,fpga-pixis", or
	"fsl,<board>-fpga", "fsl,fpga-qixis"
- reg: should contain the address and the length of the FPGA register set.

Optional properties:
- interrupts: should specify event (wakeup) IRQ.

Example (P1022DS):

	 board-control@3,0 {
		 compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
		 reg = <3 0 0x30>;
		 interrupt-parent = <&mpic>;
		 interrupts = <8 8 0 0>;
	 };

Example (LS2080A-RDB):

        cpld@3,0 {
                compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis";
                reg = <0x3 0 0x10000>;
        };

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

* Freescale on-board CPLD

Some Freescale boards like T1040RDB have an on board CPLD connected.

Required properties:
- compatible: Should be a board-specific string like "fsl,<board>-cpld"
  Example:
	"fsl,t1040rdb-cpld", "fsl,t1042rdb-cpld", "fsl,t1042rdb_pi-cpld"
- reg: should describe CPLD registers

Example:
	cpld@3,0 {
		compatible = "fsl,t1040rdb-cpld";
		reg = <3 0 0x300>;
	};
