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