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