58 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | 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. |