Blame view

Documentation/driver-api/memory-devices/ti-emif.rst 1.82 KB
652a49bc6   Mauro Carvalho Chehab   docs: add a memor...
1
  .. SPDX-License-Identifier: GPL-2.0
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
2
3
4
5
  
  ===============================
  TI EMIF SDRAM Controller Driver
  ===============================
7ec944538   Aneesh V   memory: emif: add...
6
7
  
  Author
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
8
  ======
7ec944538   Aneesh V   memory: emif: add...
9
10
11
  Aneesh V <aneesh@ti.com>
  
  Location
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
12
  ========
7ec944538   Aneesh V   memory: emif: add...
13
14
15
  driver/memory/emif.c
  
  Supported SoCs:
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
16
  ===============
7ec944538   Aneesh V   memory: emif: add...
17
18
19
20
  TI OMAP44xx
  TI OMAP54xx
  
  Menuconfig option:
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
21
  ==================
7ec944538   Aneesh V   memory: emif: add...
22
23
24
25
26
27
28
29
30
31
32
33
34
  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
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
35
36
  Platform Data (see include/linux/platform_data/emif_plat.h)
  ===========================================================
7ec944538   Aneesh V   memory: emif: add...
37
38
  DDR device details and other board dependent and SoC dependent
  information can be passed through platform data (struct emif_platform_data)
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
39

7ec944538   Aneesh V   memory: emif: add...
40
41
42
43
44
45
  - 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
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
46
47
  Interface to the external world
  ===============================
7ec944538   Aneesh V   memory: emif: add...
48
49
  EMIF driver registers notifiers for voltage and frequency changes
  affecting EMIF and takes appropriate actions when these are invoked.
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
50

7ec944538   Aneesh V   memory: emif: add...
51
52
53
54
55
  - freq_pre_notify_handling()
  - freq_post_notify_handling()
  - volt_notify_handling()
  
  Debugfs
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
56
  =======
7ec944538   Aneesh V   memory: emif: add...
57
  The driver creates two debugfs entries per device.
2bbbf827d   Mauro Carvalho Chehab   docs: memory-devi...
58

7ec944538   Aneesh V   memory: emif: add...
59
60
61
62
  - 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.