1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 26c8b0906SAneesh V /* 36c8b0906SAneesh V * Defines for the EMIF driver 46c8b0906SAneesh V * 56c8b0906SAneesh V * Copyright (C) 2012 Texas Instruments, Inc. 66c8b0906SAneesh V * 76c8b0906SAneesh V * Benoit Cousson (b-cousson@ti.com) 86c8b0906SAneesh V */ 96c8b0906SAneesh V #ifndef __EMIF_H 106c8b0906SAneesh V #define __EMIF_H 116c8b0906SAneesh V 127ec94453SAneesh V /* 137ec94453SAneesh V * Maximum number of different frequencies supported by EMIF driver 147ec94453SAneesh V * Determines the number of entries in the pointer array for register 157ec94453SAneesh V * cache 167ec94453SAneesh V */ 177ec94453SAneesh V #define EMIF_MAX_NUM_FREQUENCIES 6 187ec94453SAneesh V 19a93de288SAneesh V /* State of the core voltage */ 20a93de288SAneesh V #define DDR_VOLTAGE_STABLE 0 21a93de288SAneesh V #define DDR_VOLTAGE_RAMPING 1 22a93de288SAneesh V 23a93de288SAneesh V /* Defines for timing De-rating */ 24a93de288SAneesh V #define EMIF_NORMAL_TIMINGS 0 25a93de288SAneesh V #define EMIF_DERATED_TIMINGS 1 26a93de288SAneesh V 27a93de288SAneesh V /* Length of the forced read idle period in terms of cycles */ 28a93de288SAneesh V #define EMIF_READ_IDLE_LEN_VAL 5 29a93de288SAneesh V 30a93de288SAneesh V /* 31a93de288SAneesh V * forced read idle interval to be used when voltage 32a93de288SAneesh V * is changed as part of DVFS/DPS - 1ms 33a93de288SAneesh V */ 34a93de288SAneesh V #define READ_IDLE_INTERVAL_DVFS (1*1000000) 35a93de288SAneesh V 36a93de288SAneesh V /* 37a93de288SAneesh V * Forced read idle interval to be used when voltage is stable 38a93de288SAneesh V * 50us - or maximum value will do 39a93de288SAneesh V */ 40a93de288SAneesh V #define READ_IDLE_INTERVAL_NORMAL (50*1000000) 41a93de288SAneesh V 42a93de288SAneesh V /* DLL calibration interval when voltage is NOT stable - 1us */ 43a93de288SAneesh V #define DLL_CALIB_INTERVAL_DVFS (1*1000000) 44a93de288SAneesh V 45a93de288SAneesh V #define DLL_CALIB_ACK_WAIT_VAL 5 46a93de288SAneesh V 47a93de288SAneesh V /* Interval between ZQCS commands - hw team recommended value */ 48a93de288SAneesh V #define EMIF_ZQCS_INTERVAL_US (50*1000) 49a93de288SAneesh V /* Enable ZQ Calibration on exiting Self-refresh */ 50a93de288SAneesh V #define ZQ_SFEXITEN_ENABLE 1 51a93de288SAneesh V /* 52a93de288SAneesh V * ZQ Calibration simultaneously on both chip-selects: 53a93de288SAneesh V * Needs one calibration resistor per CS 54a93de288SAneesh V */ 55a93de288SAneesh V #define ZQ_DUALCALEN_DISABLE 0 56a93de288SAneesh V #define ZQ_DUALCALEN_ENABLE 1 57a93de288SAneesh V 58a93de288SAneesh V #define T_ZQCS_DEFAULT_NS 90 59a93de288SAneesh V #define T_ZQCL_DEFAULT_NS 360 60a93de288SAneesh V #define T_ZQINIT_DEFAULT_NS 1000 61a93de288SAneesh V 62a93de288SAneesh V /* DPD_EN */ 63a93de288SAneesh V #define DPD_DISABLE 0 64a93de288SAneesh V #define DPD_ENABLE 1 65a93de288SAneesh V 66a93de288SAneesh V /* 67a93de288SAneesh V * Default values for the low-power entry to be used if not provided by user. 68a93de288SAneesh V * OMAP4/5 has a hw bug(i735) due to which this value can not be less than 512 69a93de288SAneesh V * Timeout values are in DDR clock 'cycles' and frequency threshold in Hz 70a93de288SAneesh V */ 71a93de288SAneesh V #define EMIF_LP_MODE_TIMEOUT_PERFORMANCE 2048 72a93de288SAneesh V #define EMIF_LP_MODE_TIMEOUT_POWER 512 73a93de288SAneesh V #define EMIF_LP_MODE_FREQ_THRESHOLD 400000000 74a93de288SAneesh V 75a93de288SAneesh V /* DDR_PHY_CTRL_1 values for EMIF4D - ATTILA PHY combination */ 76a93de288SAneesh V #define EMIF_DDR_PHY_CTRL_1_BASE_VAL_ATTILAPHY 0x049FF000 77a93de288SAneesh V #define EMIF_DLL_SLAVE_DLY_CTRL_400_MHZ_ATTILAPHY 0x41 78a93de288SAneesh V #define EMIF_DLL_SLAVE_DLY_CTRL_200_MHZ_ATTILAPHY 0x80 79a93de288SAneesh V #define EMIF_DLL_SLAVE_DLY_CTRL_100_MHZ_AND_LESS_ATTILAPHY 0xFF 80a93de288SAneesh V 81a93de288SAneesh V /* DDR_PHY_CTRL_1 values for EMIF4D5 INTELLIPHY combination */ 82a93de288SAneesh V #define EMIF_DDR_PHY_CTRL_1_BASE_VAL_INTELLIPHY 0x0E084200 83a93de288SAneesh V #define EMIF_PHY_TOTAL_READ_LATENCY_INTELLIPHY_PS 10000 84a93de288SAneesh V 85a93de288SAneesh V /* TEMP_ALERT_CONFIG - corresponding to temp gradient 5 C/s */ 86a93de288SAneesh V #define TEMP_ALERT_POLL_INTERVAL_DEFAULT_MS 360 87a93de288SAneesh V 88a93de288SAneesh V #define EMIF_T_CSTA 3 89a93de288SAneesh V #define EMIF_T_PDLL_UL 128 90a93de288SAneesh V 91a93de288SAneesh V /* External PHY control registers magic values */ 92a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_1_VAL 0x04020080 93a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_5_VAL 0x04010040 94a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_6_VAL 0x01004010 95a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_7_VAL 0x00001004 96a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_8_VAL 0x04010040 97a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_9_VAL 0x01004010 98a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_10_VAL 0x00001004 99a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_11_VAL 0x00000000 100a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_12_VAL 0x00000000 101a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_13_VAL 0x00000000 102a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_14_VAL 0x80080080 103a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_15_VAL 0x00800800 104a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_16_VAL 0x08102040 105a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_17_VAL 0x00000001 106a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_18_VAL 0x540A8150 107a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_19_VAL 0xA81502A0 108a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_20_VAL 0x002A0540 109a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_21_VAL 0x00000000 110a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_22_VAL 0x00000000 111a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_23_VAL 0x00000000 112a93de288SAneesh V #define EMIF_EXT_PHY_CTRL_24_VAL 0x00000077 113a93de288SAneesh V 114a93de288SAneesh V #define EMIF_INTELLI_PHY_DQS_GATE_OPENING_DELAY_PS 1200 115a93de288SAneesh V 1166c8b0906SAneesh V /* Registers offset */ 1176c8b0906SAneesh V #define EMIF_MODULE_ID_AND_REVISION 0x0000 1186c8b0906SAneesh V #define EMIF_STATUS 0x0004 1196c8b0906SAneesh V #define EMIF_SDRAM_CONFIG 0x0008 1206c8b0906SAneesh V #define EMIF_SDRAM_CONFIG_2 0x000c 1216c8b0906SAneesh V #define EMIF_SDRAM_REFRESH_CONTROL 0x0010 1226c8b0906SAneesh V #define EMIF_SDRAM_REFRESH_CTRL_SHDW 0x0014 1236c8b0906SAneesh V #define EMIF_SDRAM_TIMING_1 0x0018 1246c8b0906SAneesh V #define EMIF_SDRAM_TIMING_1_SHDW 0x001c 1256c8b0906SAneesh V #define EMIF_SDRAM_TIMING_2 0x0020 1266c8b0906SAneesh V #define EMIF_SDRAM_TIMING_2_SHDW 0x0024 1276c8b0906SAneesh V #define EMIF_SDRAM_TIMING_3 0x0028 1286c8b0906SAneesh V #define EMIF_SDRAM_TIMING_3_SHDW 0x002c 1296c8b0906SAneesh V #define EMIF_LPDDR2_NVM_TIMING 0x0030 1306c8b0906SAneesh V #define EMIF_LPDDR2_NVM_TIMING_SHDW 0x0034 1316c8b0906SAneesh V #define EMIF_POWER_MANAGEMENT_CONTROL 0x0038 1326c8b0906SAneesh V #define EMIF_POWER_MANAGEMENT_CTRL_SHDW 0x003c 1336c8b0906SAneesh V #define EMIF_LPDDR2_MODE_REG_DATA 0x0040 1346c8b0906SAneesh V #define EMIF_LPDDR2_MODE_REG_CONFIG 0x0050 1356c8b0906SAneesh V #define EMIF_OCP_CONFIG 0x0054 1366c8b0906SAneesh V #define EMIF_OCP_CONFIG_VALUE_1 0x0058 1376c8b0906SAneesh V #define EMIF_OCP_CONFIG_VALUE_2 0x005c 1386c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_GLOBAL_CONTROL 0x0060 1396c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_CTRL_MISR_RESULT 0x0064 1406c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_ADDRESS_MISR_RESULT 0x0068 1416c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_DATA_MISR_RESULT_1 0x006c 1426c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_DATA_MISR_RESULT_2 0x0070 1436c8b0906SAneesh V #define EMIF_IODFT_TEST_LOGIC_DATA_MISR_RESULT_3 0x0074 1446c8b0906SAneesh V #define EMIF_PERFORMANCE_COUNTER_1 0x0080 1456c8b0906SAneesh V #define EMIF_PERFORMANCE_COUNTER_2 0x0084 1466c8b0906SAneesh V #define EMIF_PERFORMANCE_COUNTER_CONFIG 0x0088 1476c8b0906SAneesh V #define EMIF_PERFORMANCE_COUNTER_MASTER_REGION_SELECT 0x008c 1486c8b0906SAneesh V #define EMIF_PERFORMANCE_COUNTER_TIME 0x0090 1496c8b0906SAneesh V #define EMIF_MISC_REG 0x0094 1506c8b0906SAneesh V #define EMIF_DLL_CALIB_CTRL 0x0098 1516c8b0906SAneesh V #define EMIF_DLL_CALIB_CTRL_SHDW 0x009c 1526c8b0906SAneesh V #define EMIF_END_OF_INTERRUPT 0x00a0 1536c8b0906SAneesh V #define EMIF_SYSTEM_OCP_INTERRUPT_RAW_STATUS 0x00a4 1546c8b0906SAneesh V #define EMIF_LL_OCP_INTERRUPT_RAW_STATUS 0x00a8 1556c8b0906SAneesh V #define EMIF_SYSTEM_OCP_INTERRUPT_STATUS 0x00ac 1566c8b0906SAneesh V #define EMIF_LL_OCP_INTERRUPT_STATUS 0x00b0 1576c8b0906SAneesh V #define EMIF_SYSTEM_OCP_INTERRUPT_ENABLE_SET 0x00b4 1586c8b0906SAneesh V #define EMIF_LL_OCP_INTERRUPT_ENABLE_SET 0x00b8 1596c8b0906SAneesh V #define EMIF_SYSTEM_OCP_INTERRUPT_ENABLE_CLEAR 0x00bc 1606c8b0906SAneesh V #define EMIF_LL_OCP_INTERRUPT_ENABLE_CLEAR 0x00c0 1616c8b0906SAneesh V #define EMIF_SDRAM_OUTPUT_IMPEDANCE_CALIBRATION_CONFIG 0x00c8 1626c8b0906SAneesh V #define EMIF_TEMPERATURE_ALERT_CONFIG 0x00cc 1636c8b0906SAneesh V #define EMIF_OCP_ERROR_LOG 0x00d0 1646c8b0906SAneesh V #define EMIF_READ_WRITE_LEVELING_RAMP_WINDOW 0x00d4 1656c8b0906SAneesh V #define EMIF_READ_WRITE_LEVELING_RAMP_CONTROL 0x00d8 1666c8b0906SAneesh V #define EMIF_READ_WRITE_LEVELING_CONTROL 0x00dc 1676c8b0906SAneesh V #define EMIF_DDR_PHY_CTRL_1 0x00e4 1686c8b0906SAneesh V #define EMIF_DDR_PHY_CTRL_1_SHDW 0x00e8 1696c8b0906SAneesh V #define EMIF_DDR_PHY_CTRL_2 0x00ec 1706c8b0906SAneesh V #define EMIF_PRIORITY_TO_CLASS_OF_SERVICE_MAPPING 0x0100 1716c8b0906SAneesh V #define EMIF_CONNECTION_ID_TO_CLASS_OF_SERVICE_1_MAPPING 0x0104 1726c8b0906SAneesh V #define EMIF_CONNECTION_ID_TO_CLASS_OF_SERVICE_2_MAPPING 0x0108 1736c8b0906SAneesh V #define EMIF_READ_WRITE_EXECUTION_THRESHOLD 0x0120 1746c8b0906SAneesh V #define EMIF_COS_CONFIG 0x0124 1756c8b0906SAneesh V #define EMIF_PHY_STATUS_1 0x0140 1766c8b0906SAneesh V #define EMIF_PHY_STATUS_2 0x0144 1776c8b0906SAneesh V #define EMIF_PHY_STATUS_3 0x0148 1786c8b0906SAneesh V #define EMIF_PHY_STATUS_4 0x014c 1796c8b0906SAneesh V #define EMIF_PHY_STATUS_5 0x0150 1806c8b0906SAneesh V #define EMIF_PHY_STATUS_6 0x0154 1816c8b0906SAneesh V #define EMIF_PHY_STATUS_7 0x0158 1826c8b0906SAneesh V #define EMIF_PHY_STATUS_8 0x015c 1836c8b0906SAneesh V #define EMIF_PHY_STATUS_9 0x0160 1846c8b0906SAneesh V #define EMIF_PHY_STATUS_10 0x0164 1856c8b0906SAneesh V #define EMIF_PHY_STATUS_11 0x0168 1866c8b0906SAneesh V #define EMIF_PHY_STATUS_12 0x016c 1876c8b0906SAneesh V #define EMIF_PHY_STATUS_13 0x0170 1886c8b0906SAneesh V #define EMIF_PHY_STATUS_14 0x0174 1896c8b0906SAneesh V #define EMIF_PHY_STATUS_15 0x0178 1906c8b0906SAneesh V #define EMIF_PHY_STATUS_16 0x017c 1916c8b0906SAneesh V #define EMIF_PHY_STATUS_17 0x0180 1926c8b0906SAneesh V #define EMIF_PHY_STATUS_18 0x0184 1936c8b0906SAneesh V #define EMIF_PHY_STATUS_19 0x0188 1946c8b0906SAneesh V #define EMIF_PHY_STATUS_20 0x018c 1956c8b0906SAneesh V #define EMIF_PHY_STATUS_21 0x0190 1966c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_1 0x0200 1976c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_1_SHDW 0x0204 1986c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_2 0x0208 1996c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_2_SHDW 0x020c 2006c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_3 0x0210 2016c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_3_SHDW 0x0214 2026c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_4 0x0218 2036c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_4_SHDW 0x021c 2046c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_5 0x0220 2056c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_5_SHDW 0x0224 2066c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_6 0x0228 2076c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_6_SHDW 0x022c 2086c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_7 0x0230 2096c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_7_SHDW 0x0234 2106c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_8 0x0238 2116c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_8_SHDW 0x023c 2126c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_9 0x0240 2136c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_9_SHDW 0x0244 2146c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_10 0x0248 2156c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_10_SHDW 0x024c 2166c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_11 0x0250 2176c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_11_SHDW 0x0254 2186c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_12 0x0258 2196c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_12_SHDW 0x025c 2206c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_13 0x0260 2216c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_13_SHDW 0x0264 2226c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_14 0x0268 2236c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_14_SHDW 0x026c 2246c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_15 0x0270 2256c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_15_SHDW 0x0274 2266c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_16 0x0278 2276c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_16_SHDW 0x027c 2286c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_17 0x0280 2296c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_17_SHDW 0x0284 2306c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_18 0x0288 2316c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_18_SHDW 0x028c 2326c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_19 0x0290 2336c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_19_SHDW 0x0294 2346c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_20 0x0298 2356c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_20_SHDW 0x029c 2366c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_21 0x02a0 2376c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_21_SHDW 0x02a4 2386c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_22 0x02a8 2396c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_22_SHDW 0x02ac 2406c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_23 0x02b0 2416c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_23_SHDW 0x02b4 2426c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_24 0x02b8 2436c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_24_SHDW 0x02bc 2446c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_25 0x02c0 2456c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_25_SHDW 0x02c4 2466c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_26 0x02c8 2476c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_26_SHDW 0x02cc 2486c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_27 0x02d0 2496c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_27_SHDW 0x02d4 2506c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_28 0x02d8 2516c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_28_SHDW 0x02dc 2526c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_29 0x02e0 2536c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_29_SHDW 0x02e4 2546c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_30 0x02e8 2556c8b0906SAneesh V #define EMIF_EXT_PHY_CTRL_30_SHDW 0x02ec 2566c8b0906SAneesh V 2576c8b0906SAneesh V /* Registers shifts and masks */ 2586c8b0906SAneesh V 2596c8b0906SAneesh V /* EMIF_MODULE_ID_AND_REVISION */ 2606c8b0906SAneesh V #define SCHEME_SHIFT 30 2616c8b0906SAneesh V #define SCHEME_MASK (0x3 << 30) 2626c8b0906SAneesh V #define MODULE_ID_SHIFT 16 2636c8b0906SAneesh V #define MODULE_ID_MASK (0xfff << 16) 2646c8b0906SAneesh V #define RTL_VERSION_SHIFT 11 2656c8b0906SAneesh V #define RTL_VERSION_MASK (0x1f << 11) 2666c8b0906SAneesh V #define MAJOR_REVISION_SHIFT 8 2676c8b0906SAneesh V #define MAJOR_REVISION_MASK (0x7 << 8) 2686c8b0906SAneesh V #define MINOR_REVISION_SHIFT 0 2696c8b0906SAneesh V #define MINOR_REVISION_MASK (0x3f << 0) 2706c8b0906SAneesh V 2716c8b0906SAneesh V /* STATUS */ 2726c8b0906SAneesh V #define BE_SHIFT 31 2736c8b0906SAneesh V #define BE_MASK (1 << 31) 2746c8b0906SAneesh V #define DUAL_CLK_MODE_SHIFT 30 2756c8b0906SAneesh V #define DUAL_CLK_MODE_MASK (1 << 30) 2766c8b0906SAneesh V #define FAST_INIT_SHIFT 29 2776c8b0906SAneesh V #define FAST_INIT_MASK (1 << 29) 2786c8b0906SAneesh V #define RDLVLGATETO_SHIFT 6 2796c8b0906SAneesh V #define RDLVLGATETO_MASK (1 << 6) 2806c8b0906SAneesh V #define RDLVLTO_SHIFT 5 2816c8b0906SAneesh V #define RDLVLTO_MASK (1 << 5) 2826c8b0906SAneesh V #define WRLVLTO_SHIFT 4 2836c8b0906SAneesh V #define WRLVLTO_MASK (1 << 4) 2846c8b0906SAneesh V #define PHY_DLL_READY_SHIFT 2 2856c8b0906SAneesh V #define PHY_DLL_READY_MASK (1 << 2) 2866c8b0906SAneesh V 2876c8b0906SAneesh V /* SDRAM_CONFIG */ 2886c8b0906SAneesh V #define SDRAM_TYPE_SHIFT 29 2896c8b0906SAneesh V #define SDRAM_TYPE_MASK (0x7 << 29) 2906c8b0906SAneesh V #define IBANK_POS_SHIFT 27 2916c8b0906SAneesh V #define IBANK_POS_MASK (0x3 << 27) 2926c8b0906SAneesh V #define DDR_TERM_SHIFT 24 2936c8b0906SAneesh V #define DDR_TERM_MASK (0x7 << 24) 2946c8b0906SAneesh V #define DDR2_DDQS_SHIFT 23 2956c8b0906SAneesh V #define DDR2_DDQS_MASK (1 << 23) 2966c8b0906SAneesh V #define DYN_ODT_SHIFT 21 2976c8b0906SAneesh V #define DYN_ODT_MASK (0x3 << 21) 2986c8b0906SAneesh V #define DDR_DISABLE_DLL_SHIFT 20 2996c8b0906SAneesh V #define DDR_DISABLE_DLL_MASK (1 << 20) 3006c8b0906SAneesh V #define SDRAM_DRIVE_SHIFT 18 3016c8b0906SAneesh V #define SDRAM_DRIVE_MASK (0x3 << 18) 3026c8b0906SAneesh V #define CWL_SHIFT 16 3036c8b0906SAneesh V #define CWL_MASK (0x3 << 16) 3046c8b0906SAneesh V #define NARROW_MODE_SHIFT 14 3056c8b0906SAneesh V #define NARROW_MODE_MASK (0x3 << 14) 3066c8b0906SAneesh V #define CL_SHIFT 10 3076c8b0906SAneesh V #define CL_MASK (0xf << 10) 3086c8b0906SAneesh V #define ROWSIZE_SHIFT 7 3096c8b0906SAneesh V #define ROWSIZE_MASK (0x7 << 7) 3106c8b0906SAneesh V #define IBANK_SHIFT 4 3116c8b0906SAneesh V #define IBANK_MASK (0x7 << 4) 3126c8b0906SAneesh V #define EBANK_SHIFT 3 3136c8b0906SAneesh V #define EBANK_MASK (1 << 3) 3146c8b0906SAneesh V #define PAGESIZE_SHIFT 0 3156c8b0906SAneesh V #define PAGESIZE_MASK (0x7 << 0) 3166c8b0906SAneesh V 3176c8b0906SAneesh V /* SDRAM_CONFIG_2 */ 3186c8b0906SAneesh V #define CS1NVMEN_SHIFT 30 3196c8b0906SAneesh V #define CS1NVMEN_MASK (1 << 30) 3206c8b0906SAneesh V #define EBANK_POS_SHIFT 27 3216c8b0906SAneesh V #define EBANK_POS_MASK (1 << 27) 3226c8b0906SAneesh V #define RDBNUM_SHIFT 4 3236c8b0906SAneesh V #define RDBNUM_MASK (0x3 << 4) 3246c8b0906SAneesh V #define RDBSIZE_SHIFT 0 3256c8b0906SAneesh V #define RDBSIZE_MASK (0x7 << 0) 3266c8b0906SAneesh V 3276c8b0906SAneesh V /* SDRAM_REFRESH_CONTROL */ 3286c8b0906SAneesh V #define INITREF_DIS_SHIFT 31 3296c8b0906SAneesh V #define INITREF_DIS_MASK (1 << 31) 3306c8b0906SAneesh V #define SRT_SHIFT 29 3316c8b0906SAneesh V #define SRT_MASK (1 << 29) 3326c8b0906SAneesh V #define ASR_SHIFT 28 3336c8b0906SAneesh V #define ASR_MASK (1 << 28) 3346c8b0906SAneesh V #define PASR_SHIFT 24 3356c8b0906SAneesh V #define PASR_MASK (0x7 << 24) 3366c8b0906SAneesh V #define REFRESH_RATE_SHIFT 0 3376c8b0906SAneesh V #define REFRESH_RATE_MASK (0xffff << 0) 3386c8b0906SAneesh V 3396c8b0906SAneesh V /* SDRAM_TIMING_1 */ 3406c8b0906SAneesh V #define T_RTW_SHIFT 29 3416c8b0906SAneesh V #define T_RTW_MASK (0x7 << 29) 3426c8b0906SAneesh V #define T_RP_SHIFT 25 3436c8b0906SAneesh V #define T_RP_MASK (0xf << 25) 3446c8b0906SAneesh V #define T_RCD_SHIFT 21 3456c8b0906SAneesh V #define T_RCD_MASK (0xf << 21) 3466c8b0906SAneesh V #define T_WR_SHIFT 17 3476c8b0906SAneesh V #define T_WR_MASK (0xf << 17) 3486c8b0906SAneesh V #define T_RAS_SHIFT 12 3496c8b0906SAneesh V #define T_RAS_MASK (0x1f << 12) 3506c8b0906SAneesh V #define T_RC_SHIFT 6 3516c8b0906SAneesh V #define T_RC_MASK (0x3f << 6) 3526c8b0906SAneesh V #define T_RRD_SHIFT 3 3536c8b0906SAneesh V #define T_RRD_MASK (0x7 << 3) 3546c8b0906SAneesh V #define T_WTR_SHIFT 0 3556c8b0906SAneesh V #define T_WTR_MASK (0x7 << 0) 3566c8b0906SAneesh V 3576c8b0906SAneesh V /* SDRAM_TIMING_2 */ 3586c8b0906SAneesh V #define T_XP_SHIFT 28 3596c8b0906SAneesh V #define T_XP_MASK (0x7 << 28) 3606c8b0906SAneesh V #define T_ODT_SHIFT 25 3616c8b0906SAneesh V #define T_ODT_MASK (0x7 << 25) 3626c8b0906SAneesh V #define T_XSNR_SHIFT 16 3636c8b0906SAneesh V #define T_XSNR_MASK (0x1ff << 16) 3646c8b0906SAneesh V #define T_XSRD_SHIFT 6 3656c8b0906SAneesh V #define T_XSRD_MASK (0x3ff << 6) 3666c8b0906SAneesh V #define T_RTP_SHIFT 3 3676c8b0906SAneesh V #define T_RTP_MASK (0x7 << 3) 3686c8b0906SAneesh V #define T_CKE_SHIFT 0 3696c8b0906SAneesh V #define T_CKE_MASK (0x7 << 0) 3706c8b0906SAneesh V 3716c8b0906SAneesh V /* SDRAM_TIMING_3 */ 3726c8b0906SAneesh V #define T_PDLL_UL_SHIFT 28 3736c8b0906SAneesh V #define T_PDLL_UL_MASK (0xf << 28) 3746c8b0906SAneesh V #define T_CSTA_SHIFT 24 3756c8b0906SAneesh V #define T_CSTA_MASK (0xf << 24) 3766c8b0906SAneesh V #define T_CKESR_SHIFT 21 3776c8b0906SAneesh V #define T_CKESR_MASK (0x7 << 21) 3786c8b0906SAneesh V #define ZQ_ZQCS_SHIFT 15 3796c8b0906SAneesh V #define ZQ_ZQCS_MASK (0x3f << 15) 3806c8b0906SAneesh V #define T_TDQSCKMAX_SHIFT 13 3816c8b0906SAneesh V #define T_TDQSCKMAX_MASK (0x3 << 13) 3826c8b0906SAneesh V #define T_RFC_SHIFT 4 3836c8b0906SAneesh V #define T_RFC_MASK (0x1ff << 4) 3846c8b0906SAneesh V #define T_RAS_MAX_SHIFT 0 3856c8b0906SAneesh V #define T_RAS_MAX_MASK (0xf << 0) 3866c8b0906SAneesh V 3876c8b0906SAneesh V /* POWER_MANAGEMENT_CONTROL */ 3886c8b0906SAneesh V #define PD_TIM_SHIFT 12 3896c8b0906SAneesh V #define PD_TIM_MASK (0xf << 12) 3906c8b0906SAneesh V #define DPD_EN_SHIFT 11 3916c8b0906SAneesh V #define DPD_EN_MASK (1 << 11) 3926c8b0906SAneesh V #define LP_MODE_SHIFT 8 3936c8b0906SAneesh V #define LP_MODE_MASK (0x7 << 8) 3946c8b0906SAneesh V #define SR_TIM_SHIFT 4 3956c8b0906SAneesh V #define SR_TIM_MASK (0xf << 4) 3966c8b0906SAneesh V #define CS_TIM_SHIFT 0 3976c8b0906SAneesh V #define CS_TIM_MASK (0xf << 0) 3986c8b0906SAneesh V 3996c8b0906SAneesh V /* LPDDR2_MODE_REG_DATA */ 4006c8b0906SAneesh V #define VALUE_0_SHIFT 0 4016c8b0906SAneesh V #define VALUE_0_MASK (0x7f << 0) 4026c8b0906SAneesh V 4036c8b0906SAneesh V /* LPDDR2_MODE_REG_CONFIG */ 4046c8b0906SAneesh V #define CS_SHIFT 31 4056c8b0906SAneesh V #define CS_MASK (1 << 31) 4066c8b0906SAneesh V #define REFRESH_EN_SHIFT 30 4076c8b0906SAneesh V #define REFRESH_EN_MASK (1 << 30) 4086c8b0906SAneesh V #define ADDRESS_SHIFT 0 4096c8b0906SAneesh V #define ADDRESS_MASK (0xff << 0) 4106c8b0906SAneesh V 4116c8b0906SAneesh V /* OCP_CONFIG */ 4126c8b0906SAneesh V #define SYS_THRESH_MAX_SHIFT 24 4136c8b0906SAneesh V #define SYS_THRESH_MAX_MASK (0xf << 24) 4146c8b0906SAneesh V #define MPU_THRESH_MAX_SHIFT 20 4156c8b0906SAneesh V #define MPU_THRESH_MAX_MASK (0xf << 20) 4166c8b0906SAneesh V #define LL_THRESH_MAX_SHIFT 16 4176c8b0906SAneesh V #define LL_THRESH_MAX_MASK (0xf << 16) 4186c8b0906SAneesh V 4196c8b0906SAneesh V /* PERFORMANCE_COUNTER_1 */ 4206c8b0906SAneesh V #define COUNTER1_SHIFT 0 4216c8b0906SAneesh V #define COUNTER1_MASK (0xffffffff << 0) 4226c8b0906SAneesh V 4236c8b0906SAneesh V /* PERFORMANCE_COUNTER_2 */ 4246c8b0906SAneesh V #define COUNTER2_SHIFT 0 4256c8b0906SAneesh V #define COUNTER2_MASK (0xffffffff << 0) 4266c8b0906SAneesh V 4276c8b0906SAneesh V /* PERFORMANCE_COUNTER_CONFIG */ 4286c8b0906SAneesh V #define CNTR2_MCONNID_EN_SHIFT 31 4296c8b0906SAneesh V #define CNTR2_MCONNID_EN_MASK (1 << 31) 4306c8b0906SAneesh V #define CNTR2_REGION_EN_SHIFT 30 4316c8b0906SAneesh V #define CNTR2_REGION_EN_MASK (1 << 30) 4326c8b0906SAneesh V #define CNTR2_CFG_SHIFT 16 4336c8b0906SAneesh V #define CNTR2_CFG_MASK (0xf << 16) 4346c8b0906SAneesh V #define CNTR1_MCONNID_EN_SHIFT 15 4356c8b0906SAneesh V #define CNTR1_MCONNID_EN_MASK (1 << 15) 4366c8b0906SAneesh V #define CNTR1_REGION_EN_SHIFT 14 4376c8b0906SAneesh V #define CNTR1_REGION_EN_MASK (1 << 14) 4386c8b0906SAneesh V #define CNTR1_CFG_SHIFT 0 4396c8b0906SAneesh V #define CNTR1_CFG_MASK (0xf << 0) 4406c8b0906SAneesh V 4416c8b0906SAneesh V /* PERFORMANCE_COUNTER_MASTER_REGION_SELECT */ 4426c8b0906SAneesh V #define MCONNID2_SHIFT 24 4436c8b0906SAneesh V #define MCONNID2_MASK (0xff << 24) 4446c8b0906SAneesh V #define REGION_SEL2_SHIFT 16 4456c8b0906SAneesh V #define REGION_SEL2_MASK (0x3 << 16) 4466c8b0906SAneesh V #define MCONNID1_SHIFT 8 4476c8b0906SAneesh V #define MCONNID1_MASK (0xff << 8) 4486c8b0906SAneesh V #define REGION_SEL1_SHIFT 0 4496c8b0906SAneesh V #define REGION_SEL1_MASK (0x3 << 0) 4506c8b0906SAneesh V 4516c8b0906SAneesh V /* PERFORMANCE_COUNTER_TIME */ 4526c8b0906SAneesh V #define TOTAL_TIME_SHIFT 0 4536c8b0906SAneesh V #define TOTAL_TIME_MASK (0xffffffff << 0) 4546c8b0906SAneesh V 4556c8b0906SAneesh V /* DLL_CALIB_CTRL */ 4566c8b0906SAneesh V #define ACK_WAIT_SHIFT 16 4576c8b0906SAneesh V #define ACK_WAIT_MASK (0xf << 16) 4586c8b0906SAneesh V #define DLL_CALIB_INTERVAL_SHIFT 0 4596c8b0906SAneesh V #define DLL_CALIB_INTERVAL_MASK (0x1ff << 0) 4606c8b0906SAneesh V 4616c8b0906SAneesh V /* END_OF_INTERRUPT */ 4626c8b0906SAneesh V #define EOI_SHIFT 0 4636c8b0906SAneesh V #define EOI_MASK (1 << 0) 4646c8b0906SAneesh V 4656c8b0906SAneesh V /* SYSTEM_OCP_INTERRUPT_RAW_STATUS */ 4666c8b0906SAneesh V #define DNV_SYS_SHIFT 2 4676c8b0906SAneesh V #define DNV_SYS_MASK (1 << 2) 4686c8b0906SAneesh V #define TA_SYS_SHIFT 1 4696c8b0906SAneesh V #define TA_SYS_MASK (1 << 1) 4706c8b0906SAneesh V #define ERR_SYS_SHIFT 0 4716c8b0906SAneesh V #define ERR_SYS_MASK (1 << 0) 4726c8b0906SAneesh V 4736c8b0906SAneesh V /* LOW_LATENCY_OCP_INTERRUPT_RAW_STATUS */ 4746c8b0906SAneesh V #define DNV_LL_SHIFT 2 4756c8b0906SAneesh V #define DNV_LL_MASK (1 << 2) 4766c8b0906SAneesh V #define TA_LL_SHIFT 1 4776c8b0906SAneesh V #define TA_LL_MASK (1 << 1) 4786c8b0906SAneesh V #define ERR_LL_SHIFT 0 4796c8b0906SAneesh V #define ERR_LL_MASK (1 << 0) 4806c8b0906SAneesh V 4816c8b0906SAneesh V /* SYSTEM_OCP_INTERRUPT_ENABLE_SET */ 4826c8b0906SAneesh V #define EN_DNV_SYS_SHIFT 2 4836c8b0906SAneesh V #define EN_DNV_SYS_MASK (1 << 2) 4846c8b0906SAneesh V #define EN_TA_SYS_SHIFT 1 4856c8b0906SAneesh V #define EN_TA_SYS_MASK (1 << 1) 4866c8b0906SAneesh V #define EN_ERR_SYS_SHIFT 0 4876c8b0906SAneesh V #define EN_ERR_SYS_MASK (1 << 0) 4886c8b0906SAneesh V 4896c8b0906SAneesh V /* LOW_LATENCY_OCP_INTERRUPT_ENABLE_SET */ 4906c8b0906SAneesh V #define EN_DNV_LL_SHIFT 2 4916c8b0906SAneesh V #define EN_DNV_LL_MASK (1 << 2) 4926c8b0906SAneesh V #define EN_TA_LL_SHIFT 1 4936c8b0906SAneesh V #define EN_TA_LL_MASK (1 << 1) 4946c8b0906SAneesh V #define EN_ERR_LL_SHIFT 0 4956c8b0906SAneesh V #define EN_ERR_LL_MASK (1 << 0) 4966c8b0906SAneesh V 4976c8b0906SAneesh V /* SDRAM_OUTPUT_IMPEDANCE_CALIBRATION_CONFIG */ 4986c8b0906SAneesh V #define ZQ_CS1EN_SHIFT 31 4996c8b0906SAneesh V #define ZQ_CS1EN_MASK (1 << 31) 5006c8b0906SAneesh V #define ZQ_CS0EN_SHIFT 30 5016c8b0906SAneesh V #define ZQ_CS0EN_MASK (1 << 30) 5026c8b0906SAneesh V #define ZQ_DUALCALEN_SHIFT 29 5036c8b0906SAneesh V #define ZQ_DUALCALEN_MASK (1 << 29) 5046c8b0906SAneesh V #define ZQ_SFEXITEN_SHIFT 28 5056c8b0906SAneesh V #define ZQ_SFEXITEN_MASK (1 << 28) 5066c8b0906SAneesh V #define ZQ_ZQINIT_MULT_SHIFT 18 5076c8b0906SAneesh V #define ZQ_ZQINIT_MULT_MASK (0x3 << 18) 5086c8b0906SAneesh V #define ZQ_ZQCL_MULT_SHIFT 16 5096c8b0906SAneesh V #define ZQ_ZQCL_MULT_MASK (0x3 << 16) 5106c8b0906SAneesh V #define ZQ_REFINTERVAL_SHIFT 0 5116c8b0906SAneesh V #define ZQ_REFINTERVAL_MASK (0xffff << 0) 5126c8b0906SAneesh V 5136c8b0906SAneesh V /* TEMPERATURE_ALERT_CONFIG */ 5146c8b0906SAneesh V #define TA_CS1EN_SHIFT 31 5156c8b0906SAneesh V #define TA_CS1EN_MASK (1 << 31) 5166c8b0906SAneesh V #define TA_CS0EN_SHIFT 30 5176c8b0906SAneesh V #define TA_CS0EN_MASK (1 << 30) 5186c8b0906SAneesh V #define TA_SFEXITEN_SHIFT 28 5196c8b0906SAneesh V #define TA_SFEXITEN_MASK (1 << 28) 5206c8b0906SAneesh V #define TA_DEVWDT_SHIFT 26 5216c8b0906SAneesh V #define TA_DEVWDT_MASK (0x3 << 26) 5226c8b0906SAneesh V #define TA_DEVCNT_SHIFT 24 5236c8b0906SAneesh V #define TA_DEVCNT_MASK (0x3 << 24) 5246c8b0906SAneesh V #define TA_REFINTERVAL_SHIFT 0 5256c8b0906SAneesh V #define TA_REFINTERVAL_MASK (0x3fffff << 0) 5266c8b0906SAneesh V 5276c8b0906SAneesh V /* OCP_ERROR_LOG */ 5286c8b0906SAneesh V #define MADDRSPACE_SHIFT 14 5296c8b0906SAneesh V #define MADDRSPACE_MASK (0x3 << 14) 5306c8b0906SAneesh V #define MBURSTSEQ_SHIFT 11 5316c8b0906SAneesh V #define MBURSTSEQ_MASK (0x7 << 11) 5326c8b0906SAneesh V #define MCMD_SHIFT 8 5336c8b0906SAneesh V #define MCMD_MASK (0x7 << 8) 5346c8b0906SAneesh V #define MCONNID_SHIFT 0 5356c8b0906SAneesh V #define MCONNID_MASK (0xff << 0) 5366c8b0906SAneesh V 5376c110561SDave Gerlach /* READ_WRITE_LEVELING_CONTROL */ 5386c110561SDave Gerlach #define RDWRLVLFULL_START 0x80000000 5396c110561SDave Gerlach 5406c8b0906SAneesh V /* DDR_PHY_CTRL_1 - EMIF4D */ 5416c8b0906SAneesh V #define DLL_SLAVE_DLY_CTRL_SHIFT_4D 4 5426c8b0906SAneesh V #define DLL_SLAVE_DLY_CTRL_MASK_4D (0xFF << 4) 5436c8b0906SAneesh V #define READ_LATENCY_SHIFT_4D 0 5446c8b0906SAneesh V #define READ_LATENCY_MASK_4D (0xf << 0) 5456c8b0906SAneesh V 5466c8b0906SAneesh V /* DDR_PHY_CTRL_1 - EMIF4D5 */ 5476c8b0906SAneesh V #define DLL_HALF_DELAY_SHIFT_4D5 21 5486c8b0906SAneesh V #define DLL_HALF_DELAY_MASK_4D5 (1 << 21) 5496c8b0906SAneesh V #define READ_LATENCY_SHIFT_4D5 0 5506c8b0906SAneesh V #define READ_LATENCY_MASK_4D5 (0x1f << 0) 5516c8b0906SAneesh V 5526c8b0906SAneesh V /* DDR_PHY_CTRL_1_SHDW */ 5536c8b0906SAneesh V #define DDR_PHY_CTRL_1_SHDW_SHIFT 5 5546c8b0906SAneesh V #define DDR_PHY_CTRL_1_SHDW_MASK (0x7ffffff << 5) 5556c8b0906SAneesh V #define READ_LATENCY_SHDW_SHIFT 0 5566c8b0906SAneesh V #define READ_LATENCY_SHDW_MASK (0x1f << 0) 5576c8b0906SAneesh V 5588428e5adSDave Gerlach #define EMIF_SRAM_AM33_REG_LAYOUT 0x00000000 5598428e5adSDave Gerlach #define EMIF_SRAM_AM43_REG_LAYOUT 0x00000001 5608428e5adSDave Gerlach 561a93de288SAneesh V #ifndef __ASSEMBLY__ 562a93de288SAneesh V /* 563a93de288SAneesh V * Structure containing shadow of important registers in EMIF 564a93de288SAneesh V * The calculation function fills in this structure to be later used for 565a93de288SAneesh V * initialisation and DVFS 566a93de288SAneesh V */ 567a93de288SAneesh V struct emif_regs { 568a93de288SAneesh V u32 freq; 569a93de288SAneesh V u32 ref_ctrl_shdw; 570a93de288SAneesh V u32 ref_ctrl_shdw_derated; 571a93de288SAneesh V u32 sdram_tim1_shdw; 572a93de288SAneesh V u32 sdram_tim1_shdw_derated; 573a93de288SAneesh V u32 sdram_tim2_shdw; 574a93de288SAneesh V u32 sdram_tim3_shdw; 575a93de288SAneesh V u32 sdram_tim3_shdw_derated; 576a93de288SAneesh V u32 pwr_mgmt_ctrl_shdw; 577a93de288SAneesh V union { 578a93de288SAneesh V u32 read_idle_ctrl_shdw_normal; 579a93de288SAneesh V u32 dll_calib_ctrl_shdw_normal; 580a93de288SAneesh V }; 581a93de288SAneesh V union { 582a93de288SAneesh V u32 read_idle_ctrl_shdw_volt_ramp; 583a93de288SAneesh V u32 dll_calib_ctrl_shdw_volt_ramp; 584a93de288SAneesh V }; 585a93de288SAneesh V 586a93de288SAneesh V u32 phy_ctrl_1_shdw; 587a93de288SAneesh V u32 ext_phy_ctrl_2_shdw; 588a93de288SAneesh V u32 ext_phy_ctrl_3_shdw; 589a93de288SAneesh V u32 ext_phy_ctrl_4_shdw; 590a93de288SAneesh V }; 5918428e5adSDave Gerlach 5928428e5adSDave Gerlach struct ti_emif_pm_functions; 5938428e5adSDave Gerlach 5948428e5adSDave Gerlach extern unsigned int ti_emif_sram; 5958428e5adSDave Gerlach extern unsigned int ti_emif_sram_sz; 5968428e5adSDave Gerlach extern struct ti_emif_pm_data ti_emif_pm_sram_data; 5978428e5adSDave Gerlach extern struct emif_regs_amx3 ti_emif_regs_amx3; 5988428e5adSDave Gerlach 5998428e5adSDave Gerlach void ti_emif_save_context(void); 6008428e5adSDave Gerlach void ti_emif_restore_context(void); 6016c110561SDave Gerlach void ti_emif_run_hw_leveling(void); 6028428e5adSDave Gerlach void ti_emif_enter_sr(void); 6038428e5adSDave Gerlach void ti_emif_exit_sr(void); 6048428e5adSDave Gerlach void ti_emif_abort_sr(void); 6058428e5adSDave Gerlach 606a93de288SAneesh V #endif /* __ASSEMBLY__ */ 607a93de288SAneesh V #endif /* __EMIF_H */ 608