emif.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. * EMIF family of TI SDRAM controllers
  2. EMIF - External Memory Interface - is an SDRAM controller used in
  3. TI SoCs. EMIF supports, based on the IP revision, one or more of
  4. DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance
  5. of the EMIF IP and memory parts attached to it. Certain revisions
  6. of the EMIF controller also contain optional ECC support, which
  7. corrects one bit errors and detects two bit errors.
  8. Required properties:
  9. - compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
  10. is the IP revision of the specific EMIF instance. For newer controllers,
  11. compatible should be one of the following:
  12. "ti,emif-am3352"
  13. "ti,emif-am4372"
  14. "ti,emif-dra7xx"
  15. "ti,emif-keystone"
  16. - phy-type : <u32> indicating the DDR phy type. Following are the
  17. allowed values
  18. <1> : Attila PHY
  19. <2> : Intelli PHY
  20. - device-handle : phandle to a "lpddr2" node representing the memory part
  21. - ti,hwmods : For TI hwmods processing and omap device creation
  22. the value shall be "emif<n>" where <n> is the number of the EMIF
  23. instance with base 1.
  24. - interrupts : interrupt used by the controller
  25. Required only for "ti,emif-am3352" and "ti,emif-am4372":
  26. - sram : Phandles for generic sram driver nodes,
  27. first should be type 'protect-exec' for the driver to use to copy
  28. and run PM functions, second should be regular pool to be used for
  29. data region for code. See Documentation/devicetree/bindings/sram/sram.txt
  30. for more details.
  31. Optional properties:
  32. - cs1-used : Have this property if CS1 of this EMIF
  33. instance has a memory part attached to it. If there is a memory
  34. part attached to CS1, it should be the same type as the one on CS0,
  35. so there is no need to give the details of this memory part.
  36. - cal-resistor-per-cs : Have this property if the board has one
  37. calibration resistor per chip-select.
  38. - hw-caps-read-idle-ctrl: Have this property if the controller
  39. supports read idle window programming
  40. - hw-caps-dll-calib-ctrl: Have this property if the controller
  41. supports dll calibration control
  42. - hw-caps-ll-interface : Have this property if the controller
  43. has a low latency interface and corresponding interrupt events
  44. - hw-caps-temp-alert : Have this property if the controller
  45. has capability for generating SDRAM temperature alerts
  46. -Examples:
  47. emif1: emif@4c000000 {
  48. compatible = "ti,emif-4d";
  49. ti,hwmods = "emif2";
  50. phy-type = <1>;
  51. device-handle = <&elpida_ECB240ABACN>;
  52. cs1-used;
  53. hw-caps-read-idle-ctrl;
  54. hw-caps-ll-interface;
  55. hw-caps-temp-alert;
  56. };
  57. /* From am33xx.dtsi */
  58. emif: emif@4c000000 {
  59. compatible = "ti,emif-am3352";
  60. reg = <0x4C000000 0x1000>;
  61. sram = <&pm_sram_code
  62. &pm_sram_data>;
  63. };
  64. emif1: emif@4c000000 {
  65. compatible = "ti,emif-dra7xx";
  66. reg = <0x4c000000 0x200>;
  67. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  68. };