ifc.txt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. Integrated Flash Controller
  2. Properties:
  3. - name : Should be ifc
  4. - compatible : should contain "fsl,ifc". The version of the integrated
  5. flash controller can be found in the IFC_REV register at
  6. offset zero.
  7. - #address-cells : Should be either two or three. The first cell is the
  8. chipselect number, and the remaining cells are the
  9. offset into the chipselect.
  10. - #size-cells : Either one or two, depending on how large each chipselect
  11. can be.
  12. - reg : Offset and length of the register set for the device
  13. - interrupts: IFC may have one or two interrupts. If two interrupt
  14. specifiers are present, the first is the "common"
  15. interrupt (CM_EVTER_STAT), and the second is the NAND
  16. interrupt (NAND_EVTER_STAT). If there is only one,
  17. that interrupt reports both types of event.
  18. - ranges : Each range corresponds to a single chipselect, and covers
  19. the entire access window as configured.
  20. Child device nodes describe the devices connected to IFC such as NOR (e.g.
  21. cfi-flash) and NAND (fsl,ifc-nand). There might be board specific devices
  22. like FPGAs, CPLDs, etc.
  23. Example:
  24. ifc@ffe1e000 {
  25. compatible = "fsl,ifc", "simple-bus";
  26. #address-cells = <2>;
  27. #size-cells = <1>;
  28. reg = <0x0 0xffe1e000 0 0x2000>;
  29. interrupts = <16 2 19 2>;
  30. /* NOR, NAND Flashes and CPLD on board */
  31. ranges = <0x0 0x0 0x0 0xee000000 0x02000000
  32. 0x1 0x0 0x0 0xffa00000 0x00010000
  33. 0x3 0x0 0x0 0xffb00000 0x00020000>;
  34. flash@0,0 {
  35. #address-cells = <1>;
  36. #size-cells = <1>;
  37. compatible = "cfi-flash";
  38. reg = <0x0 0x0 0x2000000>;
  39. bank-width = <2>;
  40. device-width = <1>;
  41. partition@0 {
  42. /* 32MB for user data */
  43. reg = <0x0 0x02000000>;
  44. label = "NOR Data";
  45. };
  46. };
  47. flash@1,0 {
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. compatible = "fsl,ifc-nand";
  51. reg = <0x1 0x0 0x10000>;
  52. partition@0 {
  53. /* This location must not be altered */
  54. /* 1MB for u-boot Bootloader Image */
  55. reg = <0x0 0x00100000>;
  56. label = "NAND U-Boot Image";
  57. read-only;
  58. };
  59. };
  60. cpld@3,0 {
  61. #address-cells = <1>;
  62. #size-cells = <1>;
  63. compatible = "fsl,p1010rdb-cpld";
  64. reg = <0x3 0x0 0x000001f>;
  65. };
  66. };