gpmc-nor.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. Device tree bindings for NOR flash connect to TI GPMC
  2. NOR flash connected to the TI GPMC (found on OMAP boards) are represented as
  3. child nodes of the GPMC controller with a name of "nor".
  4. All timing relevant properties as well as generic GPMC child properties are
  5. explained in a separate documents. Please refer to
  6. Documentation/devicetree/bindings/bus/ti-gpmc.txt
  7. Required properties:
  8. - bank-width: Width of NOR flash in bytes. GPMC supports 8-bit and
  9. 16-bit devices and so must be either 1 or 2 bytes.
  10. - compatible: Documentation/devicetree/bindings/mtd/mtd-physmap.txt
  11. - gpmc,cs-on-ns: Chip-select assertion time
  12. - gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads
  13. - gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes
  14. - gpmc,oe-on-ns: Output-enable assertion time
  15. - gpmc,oe-off-ns: Output-enable de-assertion time
  16. - gpmc,we-on-ns Write-enable assertion time
  17. - gpmc,we-off-ns: Write-enable de-assertion time
  18. - gpmc,access-ns: Start cycle to first data capture (read access)
  19. - gpmc,rd-cycle-ns: Total read cycle time
  20. - gpmc,wr-cycle-ns: Total write cycle time
  21. - linux,mtd-name: Documentation/devicetree/bindings/mtd/mtd-physmap.txt
  22. - reg: Chip-select, base address (relative to chip-select)
  23. and size of NOR flash. Note that base address will be
  24. typically 0 as this is the start of the chip-select.
  25. Optional properties:
  26. - gpmc,XXX Additional GPMC timings and settings parameters. See
  27. Documentation/devicetree/bindings/bus/ti-gpmc.txt
  28. Optional properties for partition table parsing:
  29. - #address-cells: should be set to 1
  30. - #size-cells: should be set to 1
  31. Example:
  32. gpmc: gpmc@6e000000 {
  33. compatible = "ti,omap3430-gpmc", "simple-bus";
  34. ti,hwmods = "gpmc";
  35. reg = <0x6e000000 0x1000>;
  36. interrupts = <20>;
  37. gpmc,num-cs = <8>;
  38. gpmc,num-waitpins = <4>;
  39. #address-cells = <2>;
  40. #size-cells = <1>;
  41. ranges = <0 0 0x10000000 0x08000000>;
  42. nor@0,0 {
  43. compatible = "cfi-flash";
  44. linux,mtd-name= "intel,pf48f6000m0y1be";
  45. #address-cells = <1>;
  46. #size-cells = <1>;
  47. reg = <0 0 0x08000000>;
  48. bank-width = <2>;
  49. gpmc,mux-add-data;
  50. gpmc,cs-on-ns = <0>;
  51. gpmc,cs-rd-off-ns = <186>;
  52. gpmc,cs-wr-off-ns = <186>;
  53. gpmc,adv-on-ns = <12>;
  54. gpmc,adv-rd-off-ns = <48>;
  55. gpmc,adv-wr-off-ns = <48>;
  56. gpmc,oe-on-ns = <54>;
  57. gpmc,oe-off-ns = <168>;
  58. gpmc,we-on-ns = <54>;
  59. gpmc,we-off-ns = <168>;
  60. gpmc,rd-cycle-ns = <186>;
  61. gpmc,wr-cycle-ns = <186>;
  62. gpmc,access-ns = <114>;
  63. gpmc,page-burst-access-ns = <6>;
  64. gpmc,bus-turnaround-ns = <12>;
  65. gpmc,cycle2cycle-delay-ns = <18>;
  66. gpmc,wr-data-mux-bus-ns = <90>;
  67. gpmc,wr-access-ns = <186>;
  68. gpmc,cycle2cycle-samecsen;
  69. gpmc,cycle2cycle-diffcsen;
  70. partition@0 {
  71. label = "bootloader-nor";
  72. reg = <0 0x40000>;
  73. };
  74. partition@0x40000 {
  75. label = "params-nor";
  76. reg = <0x40000 0x40000>;
  77. };
  78. partition@0x80000 {
  79. label = "kernel-nor";
  80. reg = <0x80000 0x200000>;
  81. };
  82. partition@0x280000 {
  83. label = "filesystem-nor";
  84. reg = <0x240000 0x7d80000>;
  85. };
  86. };
  87. };