tizen 2.4 release
[profile/mobile/platform/kernel/u-boot-tm1.git] / board / spreadtrum / sp7730ec / pinmap.c
1 /*
2  * This file is produced by tools!!
3  *
4  * Copyright (C) 2012 Spreadtrum Communications Inc.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 #include <asm/io.h>
17 #include <asm/arch/pinmap.h>
18
19 #define PIN_NULL    0
20
21
22 struct other_pin_ctr_reg {
23     uint32_t reg;               /*pin register offset*/
24
25
26     uint32_t wpus:1;            /*[12] pull up resistor select*/
27                                 #define PIN_WPUS    1
28
29     uint32_t func_sel:2;        /*[5:4]function select.*/
30                                 /*value of .func_sel*/
31                                 #define FUNC0       0   /*function0*/
32                                 #define FUNC1       1   /*function1*/
33                                 #define FUNC2       2   /*function2*/
34                                 #define FUNC3       3   /*function3*/
35
36     uint32_t func_wpu_wpd:2;    /*[7:6] weakly pull up/down for function mode*/
37                                 /*value of .func_wpu_wpd*/
38                                 #define FUNC_WPU        (1<<1)       /*weakly pull up for function mode*/
39                                 #define FUNC_WPD        (1<<0)       /*weakly pull down for function mode*/
40
41     uint32_t slp_wpu_wpd:2;     /*[3:2]weak pull up/down for chip deep sleep mode*/
42                                 /*value of .slp_wpu_wpd*/
43                                 #define SLP_WPU     (1<<1) /*weakly pull up for chip deep sleep mode*/
44                                 #define SLP_WPD     (1<<0) /*weakly pull down for chip deep sleep mode*/
45
46     uint32_t drv:3;             /*[10:8] driver strength select.*/
47                                 /*value of .drv*/
48                                 #define DS_L0       0
49                                 #define DS_L1       1
50                                 #define DS_L2       2
51                                 #define DS_L3       3
52                                 #define DS_L4       4
53                                 #define DS_L5       5
54                                 #define DS_L6       6
55                                 #define DS_L7       7
56
57     uint32_t ie_oe:2;           /*[1:0]input/output enable for chip deep sleep mode*/
58                                 /*value of .ie_oe*/
59                                 #define SLP_IE      (1<<1) /* input enable for chip deep sleep mode*/
60                                 #define SLP_OE      (1<<0) /*output enable for chip deep sleep mode*/
61
62     uint32_t se:1;              /*[11] schmitt trigger input enalbe*/
63                                 #define PIN_SCHMITT 1
64
65     uint32_t slp_en:4;          /*[16:13] sleep mode bit map: SLP_AP|SLP_CP0|SLP_CP1|SLP_CP2 */
66                                 #define SLP_AP      BIT_0   /* sleep with AP*/
67                                 #define SLP_CP0     BIT_1   /* sleep with CP0*/
68                                 #define SLP_CP1     BIT_2   /* sleep with CP1*/
69                                 #define SLP_CP2     BIT_3   /* sleep with CP2*/
70 };
71
72
73 struct other_pin_ctr_reg other[] = {
74
75 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
76 {REG_PIN_TRACECLK,          PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
77 {REG_PIN_TRACECTRL,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
78 {REG_PIN_TRACEDAT0,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
79 {REG_PIN_TRACEDAT1,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
80 {REG_PIN_TRACEDAT2,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
81 {REG_PIN_TRACEDAT3,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
82 {REG_PIN_TRACEDAT4,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
83 {REG_PIN_TRACEDAT5,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_AP},
84 {REG_PIN_TRACEDAT6,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
85
86 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
87 {REG_PIN_TRACEDAT7,         PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
88 {REG_PIN_U0TXD,             PIN_NULL,   FUNC1,   PIN_NULL,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_AP},
89 {REG_PIN_U0RXD,             PIN_NULL,   FUNC1,   FUNC_WPU,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_AP},
90 {REG_PIN_U0CTS,             PIN_NULL,   FUNC1,   FUNC_WPU,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_AP},
91 {REG_PIN_U0RTS,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
92 {REG_PIN_U1TXD,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
93 {REG_PIN_U1RXD,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
94 {REG_PIN_U2TXD,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
95 {REG_PIN_U2RXD,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
96 {REG_PIN_U3TXD,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
97
98 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
99 {REG_PIN_U3RXD,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
100 {REG_PIN_U3CTS,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
101 {REG_PIN_U3RTS,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
102 {REG_PIN_EXTINT2,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
103 {REG_PIN_EXTINT3,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
104 {REG_PIN_RFSDA2,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
105 {REG_PIN_RFSCK2,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
106 {REG_PIN_RFSEN2,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
107 {REG_PIN_CP2_RFCTL0,        PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
108 {REG_PIN_CP2_RFCTL1,        PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
109
110 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
111 {REG_PIN_CP2_RFCTL2,        PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
112 {REG_PIN_FM_RXIQD0,         PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
113 {REG_PIN_FM_RXIQD1,         PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
114 {REG_PIN_WIFI_AGCGAIN0,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
115 {REG_PIN_WIFI_AGCGAIN1,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
116 {REG_PIN_WIFI_AGCGAIN2,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
117 {REG_PIN_WIFI_AGCGAIN3,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
118 {REG_PIN_WIFI_AGCGAIN4,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
119 {REG_PIN_WIFI_AGCGAIN5,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
120 {REG_PIN_WIFI_AGCGAIN6,     PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
121
122 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
123 {REG_PIN_WBENA,             PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
124 {REG_PIN_WBENB,             PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
125 {REG_PIN_GPSREAL,           PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
126 {REG_PIN_GPSIMAG,           PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
127 {REG_PIN_GPSCLK,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
128 {REG_PIN_RFSDA0,            PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP0},
129 {REG_PIN_RFSCK0,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP0},
130 {REG_PIN_RFSEN0,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP0},
131 {REG_PIN_RFSDA1,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
132 {REG_PIN_RFSCK1,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
133
134 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
135 {REG_PIN_RFSEN1,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
136 {REG_PIN_CP1_RFCTL0,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
137 {REG_PIN_CP1_RFCTL1,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
138 {REG_PIN_CP1_RFCTL2,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
139 {REG_PIN_CP1_RFCTL3,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
140 {REG_PIN_CP1_RFCTL4,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
141 {REG_PIN_CP1_RFCTL5,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
142 {REG_PIN_CP1_RFCTL6,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
143 {REG_PIN_CP1_RFCTL7,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
144 {REG_PIN_CP1_RFCTL8,        PIN_NULL,   FUNC1,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
145
146 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
147 {REG_PIN_CP1_RFCTL9,        PIN_NULL,   FUNC1,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
148 {REG_PIN_CP1_RFCTL10,       PIN_NULL,   FUNC1,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
149 {REG_PIN_CP1_RFCTL11,       PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
150 {REG_PIN_CP1_RFCTL12,       PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
151 {REG_PIN_CP1_RFCTL13,       PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
152 {REG_PIN_CP1_RFCTL14,       PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
153 {REG_PIN_CP1_RFCTL15,       PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP1},
154 {REG_PIN_CP0_RFCTL0,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
155 {REG_PIN_CP0_RFCTL1,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
156 {REG_PIN_CP0_RFCTL2,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
157
158 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
159 {REG_PIN_CP0_RFCTL3,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP0},
160 {REG_PIN_CP0_RFCTL4,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
161 {REG_PIN_CP0_RFCTL5,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
162 {REG_PIN_CP0_RFCTL6,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,     DS_L1,    PIN_NULL,          PIN_NULL,      SLP_CP0},
163 {REG_PIN_CP0_RFCTL7,        PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP0},
164 {REG_PIN_XTLEN,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,      DS_L1,    SLP_OE,        PIN_NULL,      SLP_AP},
165 {REG_PIN_GPIO6,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
166 {REG_PIN_GPIO7,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
167 {REG_PIN_GPIO8,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
168 {REG_PIN_GPIO9,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
169
170 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
171 {REG_PIN_U4TXD,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
172 {REG_PIN_U4RXD,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
173 {REG_PIN_U4CTS,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
174 {REG_PIN_U4RTS,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
175 {REG_PIN_SCL3,              PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
176 {REG_PIN_SDA3,              PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
177 {REG_PIN_SPI0_CSN,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,      DS_L1,    SLP_OE,        PIN_NULL,      SLP_AP},
178 {REG_PIN_SPI0_DO,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,      DS_L1,    SLP_OE,        PIN_NULL,      SLP_AP},
179 {REG_PIN_SPI0_DI,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
180 {REG_PIN_SPI0_CLK,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,      DS_L1,    SLP_OE,        PIN_NULL,      SLP_AP},
181
182 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
183 {REG_PIN_EXTINT0,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
184 {REG_PIN_EXTINT1,           PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
185 {REG_PIN_SCL1,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,          PIN_NULL,      SLP_AP},
186 {REG_PIN_SDA1,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
187 {REG_PIN_GPIO0,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
188 {REG_PIN_GPIO1,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
189 {REG_PIN_GPIO2,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
190 {REG_PIN_GPIO3,             PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
191 {REG_PIN_SIMCLK0,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP0},
192 {REG_PIN_SIMDA0,            PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP0},
193
194 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
195 {REG_PIN_SIMRST0,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP0},
196 {REG_PIN_SIMCLK1,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP0},
197 {REG_PIN_SIMDA1,            PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP0},
198 {REG_PIN_SIMRST1,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP0},
199 {REG_PIN_SIMCLK2,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
200 {REG_PIN_SIMDA2,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
201 {REG_PIN_SIMRST2,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
202 {REG_PIN_MEMS_MIC_CLK0,     PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
203 {REG_PIN_MEMS_MIC_DATA0,    PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
204 {REG_PIN_MEMS_MIC_CLK1,     PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
205
206 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
207 {REG_PIN_MEMS_MIC_DATA1,    PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
208 {REG_PIN_SD1_CLK,           PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
209 {REG_PIN_SD1_CMD,           PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
210 {REG_PIN_SD1_D0,            PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
211 {REG_PIN_SD1_D1,            PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2|SLP_AP},
212 {REG_PIN_SD1_D2,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
213 {REG_PIN_SD1_D3,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
214 {REG_PIN_SD0_D3,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
215 {REG_PIN_SD0_D2,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
216 {REG_PIN_SD0_CMD,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
217
218 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
219 {REG_PIN_SD0_D0,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
220 {REG_PIN_SD0_D1,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
221 {REG_PIN_SD0_CLK1,          PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
222 {REG_PIN_SD0_CLK0,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L2,    SLP_OE,          PIN_NULL,      SLP_AP},
223 {REG_PIN_PTEST,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
224 {REG_PIN_ANA_INT,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,     DS_L1,    SLP_IE,        PIN_NULL,      SLP_AP},
225 {REG_PIN_EXT_RST_B,         PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,     DS_L1,    SLP_IE,        PIN_NULL,      SLP_AP},
226 {REG_PIN_CHIP_SLEEP,        PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,        PIN_NULL,      SLP_AP},
227 {REG_PIN_XTL_BUF_EN0,       PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
228 {REG_PIN_XTL_BUF_EN1,       PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
229
230 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
231 {REG_PIN_XTL_BUF_EN2,       PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
232 {REG_PIN_CLK_32K,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
233 {REG_PIN_AUD_SCLK,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
234 {REG_PIN_AUD_DANGL,         PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
235 {REG_PIN_AUD_DANGR,         PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
236 {REG_PIN_AUD_ADD0,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
237 {REG_PIN_AUD_ADSYNC,        PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
238 {REG_PIN_AUD_DAD1,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
239 {REG_PIN_AUD_DAD0,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
240 {REG_PIN_AUD_DASYNC,        PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
241
242 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
243 {REG_PIN_ADI_D,             PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
244 {REG_PIN_ADI_SYNC,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
245 {REG_PIN_ADI_SCLK,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_CP2|SLP_CP1|SLP_CP0|SLP_AP},
246 {REG_PIN_LCD_CSN1,          PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
247 {REG_PIN_LCD_CSN0,          PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
248 {REG_PIN_LCD_RSTN,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
249 {REG_PIN_LCD_CD,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
250 {REG_PIN_LCD_FMARK,         PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
251 {REG_PIN_LCD_WRN,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
252 {REG_PIN_LCD_RDN,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
253
254 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
255 {REG_PIN_LCD_D0,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
256 {REG_PIN_LCD_D1,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
257 {REG_PIN_LCD_D2,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
258 {REG_PIN_LCD_D3,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
259 {REG_PIN_LCD_D4,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
260 {REG_PIN_LCD_D5,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
261 {REG_PIN_LCD_D6,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
262 {REG_PIN_LCD_D7,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
263 {REG_PIN_LCD_D8,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
264 {REG_PIN_LCD_D9,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
265
266 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
267 {REG_PIN_LCD_D10,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
268 {REG_PIN_LCD_D11,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
269 {REG_PIN_LCD_D12,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
270 {REG_PIN_LCD_D13,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
271 {REG_PIN_LCD_D14,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
272 {REG_PIN_LCD_D15,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
273 {REG_PIN_LCD_D16,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
274 {REG_PIN_LCD_D17,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
275 {REG_PIN_LCD_D18,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
276 {REG_PIN_LCD_D19,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
277
278 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
279 {REG_PIN_LCD_D20,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
280 {REG_PIN_LCD_D21,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
281 {REG_PIN_LCD_D22,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
282 {REG_PIN_LCD_D23,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
283 {REG_PIN_SPI2_CSN,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
284 {REG_PIN_SPI2_DO,           PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
285 {REG_PIN_SPI2_DI,           PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
286 {REG_PIN_SPI2_CLK,          PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
287 {REG_PIN_EMMC_CLK,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L2,    SLP_OE,          PIN_NULL,      SLP_AP},
288 {REG_PIN_EMMC_CMD,          PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
289
290 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
291 {REG_PIN_EMMC_D0,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
292 {REG_PIN_EMMC_D1,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
293 {REG_PIN_EMMC_D2,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
294 {REG_PIN_EMMC_D3,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
295 {REG_PIN_EMMC_D4,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
296 {REG_PIN_EMMC_D5,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
297 {REG_PIN_EMMC_D6,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
298 {REG_PIN_EMMC_D7,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
299 {REG_PIN_EMMC_RST,          PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
300 {REG_PIN_NFWPN,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
301
302 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
303 {REG_PIN_NFRB,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
304 {REG_PIN_NFCLE,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
305 {REG_PIN_NFALE,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
306 {REG_PIN_NFCEN0,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
307 {REG_PIN_NFCEN1,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
308 {REG_PIN_NFREN,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
309 {REG_PIN_NFWEN,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
310 {REG_PIN_NFD0,              PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
311 {REG_PIN_NFD1,              PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
312 {REG_PIN_NFD2,              PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
313
314 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
315 {REG_PIN_NFD3,              PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
316 {REG_PIN_NFD4,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
317 {REG_PIN_NFD5,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
318 {REG_PIN_NFD6,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
319 {REG_PIN_NFD7,              PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
320 {REG_PIN_NFD8,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
321 {REG_PIN_NFD9,              PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
322 {REG_PIN_NFD10,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
323 {REG_PIN_NFD11,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
324 {REG_PIN_NFD12,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
325
326 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
327 {REG_PIN_NFD13,             PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
328 {REG_PIN_NFD14,             PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
329 {REG_PIN_NFD15,             PIN_NULL,   FUNC3,   PIN_NULL,    SLP_WPD,      DS_L2,    PIN_NULL,        PIN_NULL,      SLP_AP},
330 {REG_PIN_CCIRCK0,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
331 {REG_PIN_CCIRCK1,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
332 {REG_PIN_CCIRMCLK,          PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
333 {REG_PIN_CCIRHS,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
334 {REG_PIN_CCIRVS,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
335 {REG_PIN_CCIRD0,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
336 {REG_PIN_CCIRD1,            PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
337
338 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
339 {REG_PIN_CCIRD2,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
340 {REG_PIN_CCIRD3,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
341 {REG_PIN_CCIRD4,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
342 {REG_PIN_CCIRD5,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
343 {REG_PIN_CCIRD6,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
344 {REG_PIN_CCIRD7,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
345 {REG_PIN_CCIRD8,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
346 {REG_PIN_CCIRD9,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
347 {REG_PIN_CCIRRST,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
348 {REG_PIN_CCIRPD1,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
349
350 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
351 {REG_PIN_CCIRPD0,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
352 {REG_PIN_SCL0,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
353 {REG_PIN_SDA0,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
354 {REG_PIN_KEYOUT0,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
355 {REG_PIN_KEYOUT1,           PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
356 {REG_PIN_KEYOUT2,           PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
357 {REG_PIN_KEYOUT3,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
358 {REG_PIN_KEYOUT4,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
359 {REG_PIN_KEYOUT5,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
360 {REG_PIN_KEYOUT6,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
361
362 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
363 {REG_PIN_KEYOUT7,           PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
364 {REG_PIN_KEYIN0,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
365 {REG_PIN_KEYIN1,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
366 {REG_PIN_KEYIN2,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
367 {REG_PIN_KEYIN3,            PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
368 {REG_PIN_KEYIN4,            PIN_NULL,   FUNC3,   PIN_NULL,    PIN_NULL,     DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
369 {REG_PIN_KEYIN5,            PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
370 {REG_PIN_KEYIN6,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
371 {REG_PIN_KEYIN7,            PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPU,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
372 {REG_PIN_GPIO4,             PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
373
374 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
375 {REG_PIN_GPIO5,             PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    SLP_OE,          PIN_NULL,      SLP_AP},
376 {REG_PIN_SCL2,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
377 {REG_PIN_SDA2,              PIN_WPUS,   FUNC0,   FUNC_WPU,    SLP_WPU,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
378 {REG_PIN_CLK_AUX0,          PIN_NULL,   FUNC0,   PIN_NULL,    PIN_NULL,     DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
379 {REG_PIN_IIS0DI,            PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2},
380 {REG_PIN_IIS0DO,            PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_CP2},
381 {REG_PIN_IIS0CLK,           PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
382 {REG_PIN_IIS0LRCK,          PIN_NULL,   FUNC2,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
383 {REG_PIN_IIS0MCK,           PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
384 {REG_PIN_IIS1DI,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
385
386 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
387 {REG_PIN_IIS1DO,            PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
388 {REG_PIN_IIS1CLK,           PIN_NULL,   FUNC3,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_CP2},
389 {REG_PIN_IIS1LRCK,          PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
390 {REG_PIN_IIS1MCK,           PIN_NULL,   FUNC3,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
391 {REG_PIN_IIS2DI,            PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
392 {REG_PIN_IIS2DO,            PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
393 {REG_PIN_IIS2CLK,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
394 {REG_PIN_IIS2LRCK,          PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
395 {REG_PIN_IIS2MCK,           PIN_NULL,   FUNC0,   FUNC_WPD,    SLP_WPD,      DS_L1,    SLP_IE,          PIN_NULL,      SLP_AP},
396 {REG_PIN_MTDO,              PIN_NULL,   FUNC0,   PIN_NULL,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
397
398 /*    reg                  |pin pull up|function|func pull up|sleep pull up|drv level|sleep i/o enable|schmitt enable|sleep enable */
399 {REG_PIN_MTDI,              PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
400 {REG_PIN_MTCK,              PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
401 {REG_PIN_MTMS,              PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
402 {REG_PIN_MTRST_N,           PIN_NULL,   FUNC0,   FUNC_WPU,    SLP_WPD,      DS_L1,    PIN_NULL,        PIN_NULL,      SLP_AP},
403 };
404
405
406
407 extern void pinctrl_init(void);
408
409 int  pin_init(void)
410 {
411     int i;
412     uint32_t v;
413
414     /*ctrl pin init*/
415     pinctrl_init();
416
417     /*other pin init*/
418     for (i = 0; i < sizeof(other)/sizeof(other[0]); i++) {
419         v  = ((other[i].slp_en & 0xF)    << 13); /*[16:13]*/
420         v |= ((other[i].wpus & 1)        << 12); /*[12]*/
421         v |= ((other[i].se & 1)          << 11); /*[11]e*/
422         v |= ((other[i].drv & 7)         << 8);  /*[10:8]*/
423         v |= ((other[i].func_wpu_wpd & 3)<< 6);  /*[7:6]*/
424         v |= ((other[i].func_sel & 3)    << 4);  /*[5:4]*/
425         v |= ((other[i].slp_wpu_wpd & 3) << 2);  /*[3:2]*/
426         v |= ((other[i].ie_oe & 3)       << 0);  /*[1:0]*/
427
428         __raw_writel(v, CTL_PIN_BASE + other[i].reg);
429     }
430
431     return 0;
432 }
433