mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
cf184dc2dd
IFC IO accressor are set at run time based on IFC IP registers endianness.IFC node in DTS file contains information about endianness. Signed-off-by: Jaiprakash Singh <b44839@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Brian Norris <computersforpeace@gmail.com>
83 lines
2.4 KiB
Plaintext
83 lines
2.4 KiB
Plaintext
Integrated Flash Controller
|
|
|
|
Properties:
|
|
- name : Should be ifc
|
|
- compatible : should contain "fsl,ifc". The version of the integrated
|
|
flash controller can be found in the IFC_REV register at
|
|
offset zero.
|
|
|
|
- #address-cells : Should be either two or three. The first cell is the
|
|
chipselect number, and the remaining cells are the
|
|
offset into the chipselect.
|
|
- #size-cells : Either one or two, depending on how large each chipselect
|
|
can be.
|
|
- reg : Offset and length of the register set for the device
|
|
- interrupts: IFC may have one or two interrupts. If two interrupt
|
|
specifiers are present, the first is the "common"
|
|
interrupt (CM_EVTER_STAT), and the second is the NAND
|
|
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.
|
|
|
|
Child device nodes describe the devices connected to IFC such as NOR (e.g.
|
|
cfi-flash) and NAND (fsl,ifc-nand). There might be board specific devices
|
|
like FPGAs, CPLDs, etc.
|
|
|
|
Example:
|
|
|
|
ifc@ffe1e000 {
|
|
compatible = "fsl,ifc", "simple-bus";
|
|
#address-cells = <2>;
|
|
#size-cells = <1>;
|
|
reg = <0x0 0xffe1e000 0 0x2000>;
|
|
interrupts = <16 2 19 2>;
|
|
little-endian;
|
|
|
|
/* NOR, NAND Flashes and CPLD on board */
|
|
ranges = <0x0 0x0 0x0 0xee000000 0x02000000
|
|
0x1 0x0 0x0 0xffa00000 0x00010000
|
|
0x3 0x0 0x0 0xffb00000 0x00020000>;
|
|
|
|
flash@0,0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "cfi-flash";
|
|
reg = <0x0 0x0 0x2000000>;
|
|
bank-width = <2>;
|
|
device-width = <1>;
|
|
|
|
partition@0 {
|
|
/* 32MB for user data */
|
|
reg = <0x0 0x02000000>;
|
|
label = "NOR Data";
|
|
};
|
|
};
|
|
|
|
flash@1,0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "fsl,ifc-nand";
|
|
reg = <0x1 0x0 0x10000>;
|
|
|
|
partition@0 {
|
|
/* This location must not be altered */
|
|
/* 1MB for u-boot Bootloader Image */
|
|
reg = <0x0 0x00100000>;
|
|
label = "NAND U-Boot Image";
|
|
read-only;
|
|
};
|
|
};
|
|
|
|
cpld@3,0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "fsl,p1010rdb-cpld";
|
|
reg = <0x3 0x0 0x000001f>;
|
|
};
|
|
};
|