| TI EMIF SDRAM Controller Driver: |
| |
| Author |
| ======== |
| Aneesh V <aneesh@ti.com> |
| |
| Location |
| ============ |
| driver/memory/emif.c |
| |
| Supported SoCs: |
| =================== |
| TI OMAP44xx |
| TI OMAP54xx |
| |
| Menuconfig option: |
| ========================== |
| Device Drivers |
| Memory devices |
| Texas Instruments EMIF driver |
| |
| Description |
| =========== |
| This driver is for the EMIF module available in Texas Instruments |
| SoCs. EMIF is an SDRAM controller that, based on its revision, |
| supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. |
| This driver takes care of only LPDDR2 memories presently. The |
| functions of the driver includes re-configuring AC timing |
| parameters and other settings during frequency, voltage and |
| temperature changes |
| |
| Platform Data (see include/linux/platform_data/emif_plat.h): |
| ===================================================================== |
| DDR device details and other board dependent and SoC dependent |
| information can be passed through platform data (struct emif_platform_data) |
| - DDR device details: 'struct ddr_device_info' |
| - Device AC timings: 'struct lpddr2_timings' and 'struct lpddr2_min_tck' |
| - Custom configurations: customizable policy options through |
| 'struct emif_custom_configs' |
| - IP revision |
| - PHY type |
| |
| Interface to the external world: |
| ================================ |
| EMIF driver registers notifiers for voltage and frequency changes |
| affecting EMIF and takes appropriate actions when these are invoked. |
| - freq_pre_notify_handling() |
| - freq_post_notify_handling() |
| - volt_notify_handling() |
| |
| Debugfs |
| ======== |
| The driver creates two debugfs entries per device. |
| - regcache_dump : dump of register values calculated and saved for all |
| frequencies used so far. |
| - mr4 : last polled value of MR4 register in the LPDDR2 device. MR4 |
| indicates the current temperature level of the device. |