• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35 
36 
37 #ifndef MMC_TNETW1150_API_H
38 #define MMC_TNETW1150_API_H
39 
40 #undef CONFIG_CEE
41 #define CONFIG_CEE
42 
43 #include "mmc_omap_api.h"
44 
45 /*
46    First partition is used to access first 90K of memory
47    during FW download or 90K of data memory during WLAN driver
48    regular work (0x00000-0x167FF; 0x00C800-0x22FFF - two
49    regions with overlap).
50 */
51 #define SDIO_DOWNLOAD_PARTITION_START	(0x000000)
52                                          /*  90K*/
53 #define SDIO_DOWNLOAD_PARTITION_SIZE	(0x016800)
54 /*End of download partition is          (0x0167FF)    (90K)*/
55                                     /*  60K*/
56 #define SDIO_MEM_PARTITION_START	(0x00F000)
57                                     /*  90K*/
58 #define SDIO_MEM_PARTITION_SIZE		(0x016800)
59 /*End of first partition is             (0x025799)   (150K)*/
60 
61 /*
62    Second partition is 34K of registers.
63 */
64                                     /*3072K*/
65 #define SDIO_REG_PARTITION_START	(0x300000)
66                                     /*  34K*/
67 #define SDIO_REG_PARTITION_SIZE		(0x008800)
68 /*End of second partition is            (0x3087FF)  (3106K) */
69                                          /*  90K*/
70 #define SDIO_DRIVER_REG_PARTITION_START (0x016800)
71 
72 #define AMAP_MAX_REGIONS                        4
73                                 /*128K-64B*/
74 #define AMAP_ONE_REGION  		(0x01FFC0)
75 
76 /* Status Card Register (SCR) address mapping */
77 typedef struct {
78 	unsigned int reg_size;	/* Region size */
79 	unsigned int scr_offset; /* Region offset in SCR address space */
80 } address_mapping_region;
81 typedef struct {
82 	unsigned int num_of_parts; /* number of partitions in use */
83         /* h/w-dependant base addresses */
84         address_mapping_region map_reg[AMAP_MAX_REGIONS]; /* CSR addresses */
85 } SDIO_TNETWConfigParams;
86 
87 /*
88   Initialization of TNETW memory configuration.
89 */
90 SDIO_Status SDIO_TNETWInit(SDIO_TNETWConfigParams *);
91 
92 /*
93   This function configures the slave SDIO device for the required
94   operation mode.
95 */
96 SDIO_Status SDIO_TNETWConfig(SDIO_Handle, Peripheral_ConfigParams **);
97 
98 /*
99   This function performs convertion of peripheral adddress into 17 bits
100   SDIO address. If found that the memory partition configuration must be
101   changed, the memory is re-mapped in accordance to requested address.
102 */
103 SDIO_Address SDIO_ConvertTNETWToSDIOMaster(Peripheral_Address, SDIO_BufferLength);
104 
105 /*
106   This function sets the ELP REG in the TNET
107 */
108 SDIO_Status SDIO_TNETW_Set_ELP_Reg(SDIO_Handle sdioHandle, Peripheral_Address start_addr, unsigned int data);
109 
110 /*
111 This function gets the ELP REG in the TNET
112 */
113 SDIO_Status SDIO_TNETW_Get_ELP_Reg(SDIO_Handle sdioHandle, Peripheral_Address start_addr, unsigned int *data);
114 
115 #endif /* MMC_TNETW1150_API_H */
116