summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
blob: 621b41c79faab3c355a28fb1bf2693bcb8aa6cee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
* EMIF family of TI SDRAM controllers

EMIF - External Memory Interface - is an SDRAM controller used in
TI SoCs. EMIF supports, based on the IP revision, one or more of
DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance
of the EMIF IP and memory parts attached to it.

Required properties:
- compatible	: Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
  is the IP revision of the specific EMIF instance. For newer controllers,
  compatible should be one of the following:
  	     "ti,emif-am3352"
	     "ti,emif-am4372"

- phy-type	: <u32> indicating the DDR phy type. Following are the
  allowed values
  <1>	: Attila PHY
  <2>	: Intelli PHY

- device-handle	: phandle to a "lpddr2" node representing the memory part

- ti,hwmods	: For TI hwmods processing and omap device creation
  the value shall be "emif<n>" where <n> is the number of the EMIF
  instance with base 1.

Required only for "ti,emif-am3352" and "ti,emif-am4372":
- sram			: Phandles for generic sram driver nodes,
  first should be type 'protect-exec' for the driver to use to copy
  and run PM functions, second should be regular pool to be used for
  data region for code. See Documentation/devicetree/bindings/sram/sram.txt
  for more details.

Optional properties:
- cs1-used		: Have this property if CS1 of this EMIF
  instance has a memory part attached to it. If there is a memory
  part attached to CS1, it should be the same type as the one on CS0,
  so there is no need to give the details of this memory part.

- cal-resistor-per-cs	: Have this property if the board has one
  calibration resistor per chip-select.

- hw-caps-read-idle-ctrl: Have this property if the controller
  supports read idle window programming

- hw-caps-dll-calib-ctrl: Have this property if the controller
  supports dll calibration control

- hw-caps-ll-interface	: Have this property if the controller
  has a low latency interface and corresponding interrupt events

- hw-caps-temp-alert	: Have this property if the controller
  has capability for generating SDRAM temperature alerts

-Examples:

emif1: emif@4c000000 {
	compatible	= "ti,emif-4d";
	ti,hwmods	= "emif2";
	phy-type	= <1>;
	device-handle	= <&elpida_ECB240ABACN>;
	cs1-used;
	hw-caps-read-idle-ctrl;
	hw-caps-ll-interface;
	hw-caps-temp-alert;
};

/* From am33xx.dtsi */
emif: emif@4c000000 {
        compatible = "ti,emif-am3352";
        reg =   <0x4C000000 0x1000>;
        sram = <&pm_sram_code
                &pm_sram_data>;
};