forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.4 KiB
82 lines
2.4 KiB
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>; |
|
}; |
|
};
|
|
|