| .. SPDX-License-Identifier: GPL-2.0 | |
| =============================== | |
| 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. |