Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 ===============================
0004 TI EMIF SDRAM Controller Driver
0005 ===============================
0006 
0007 Author
0008 ======
0009 Aneesh V <aneesh@ti.com>
0010 
0011 Location
0012 ========
0013 driver/memory/emif.c
0014 
0015 Supported SoCs:
0016 ===============
0017 TI OMAP44xx
0018 TI OMAP54xx
0019 
0020 Menuconfig option:
0021 ==================
0022 Device Drivers
0023         Memory devices
0024                 Texas Instruments EMIF driver
0025 
0026 Description
0027 ===========
0028 This driver is for the EMIF module available in Texas Instruments
0029 SoCs. EMIF is an SDRAM controller that, based on its revision,
0030 supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols.
0031 This driver takes care of only LPDDR2 memories presently. The
0032 functions of the driver includes re-configuring AC timing
0033 parameters and other settings during frequency, voltage and
0034 temperature changes
0035 
0036 Platform Data (see include/linux/platform_data/emif_plat.h)
0037 ===========================================================
0038 DDR device details and other board dependent and SoC dependent
0039 information can be passed through platform data (struct emif_platform_data)
0040 
0041 - DDR device details: 'struct ddr_device_info'
0042 - Device AC timings: 'struct lpddr2_timings' and 'struct lpddr2_min_tck'
0043 - Custom configurations: customizable policy options through
0044   'struct emif_custom_configs'
0045 - IP revision
0046 - PHY type
0047 
0048 Interface to the external world
0049 ===============================
0050 EMIF driver registers notifiers for voltage and frequency changes
0051 affecting EMIF and takes appropriate actions when these are invoked.
0052 
0053 - freq_pre_notify_handling()
0054 - freq_post_notify_handling()
0055 - volt_notify_handling()
0056 
0057 Debugfs
0058 =======
0059 The driver creates two debugfs entries per device.
0060 
0061 - regcache_dump : dump of register values calculated and saved for all
0062   frequencies used so far.
0063 - mr4 : last polled value of MR4 register in the LPDDR2 device. MR4
0064   indicates the current temperature level of the device.