65 lines
1.8 KiB
ReStructuredText
65 lines
1.8 KiB
ReStructuredText
|
.. 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.
|