Commit | Line | Data |
---|---|---|
7ec94453 A |
1 | TI EMIF SDRAM Controller Driver: |
2 | ||
3 | Author | |
4 | ======== | |
5 | Aneesh V <aneesh@ti.com> | |
6 | ||
7 | Location | |
8 | ============ | |
9 | driver/memory/emif.c | |
10 | ||
11 | Supported SoCs: | |
12 | =================== | |
13 | TI OMAP44xx | |
14 | TI OMAP54xx | |
15 | ||
16 | Menuconfig option: | |
17 | ========================== | |
18 | Device Drivers | |
19 | Memory devices | |
20 | Texas Instruments EMIF driver | |
21 | ||
22 | Description | |
23 | =========== | |
24 | This driver is for the EMIF module available in Texas Instruments | |
25 | SoCs. EMIF is an SDRAM controller that, based on its revision, | |
26 | supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. | |
27 | This driver takes care of only LPDDR2 memories presently. The | |
28 | functions of the driver includes re-configuring AC timing | |
29 | parameters and other settings during frequency, voltage and | |
30 | temperature changes | |
31 | ||
32 | Platform Data (see include/linux/platform_data/emif_plat.h): | |
33 | ===================================================================== | |
34 | DDR device details and other board dependent and SoC dependent | |
35 | information can be passed through platform data (struct emif_platform_data) | |
36 | - DDR device details: 'struct ddr_device_info' | |
37 | - Device AC timings: 'struct lpddr2_timings' and 'struct lpddr2_min_tck' | |
38 | - Custom configurations: customizable policy options through | |
39 | 'struct emif_custom_configs' | |
40 | - IP revision | |
41 | - PHY type | |
42 | ||
43 | Interface to the external world: | |
44 | ================================ | |
45 | EMIF driver registers notifiers for voltage and frequency changes | |
46 | affecting EMIF and takes appropriate actions when these are invoked. | |
47 | - freq_pre_notify_handling() | |
48 | - freq_post_notify_handling() | |
49 | - volt_notify_handling() | |
50 | ||
51 | Debugfs | |
52 | ======== | |
53 | The driver creates two debugfs entries per device. | |
54 | - regcache_dump : dump of register values calculated and saved for all | |
55 | frequencies used so far. | |
56 | - mr4 : last polled value of MR4 register in the LPDDR2 device. MR4 | |
57 | indicates the current temperature level of the device. |