diff options
Diffstat (limited to 'firmware/target/arm/s5l8702/gpio-s5l8702.c')
-rw-r--r-- | firmware/target/arm/s5l8702/gpio-s5l8702.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/firmware/target/arm/s5l8702/gpio-s5l8702.c b/firmware/target/arm/s5l8702/gpio-s5l8702.c index bd87005ad8..85033de78c 100644 --- a/firmware/target/arm/s5l8702/gpio-s5l8702.c +++ b/firmware/target/arm/s5l8702/gpio-s5l8702.c | |||
@@ -214,3 +214,22 @@ void ICODE_ATTR INT_EXT6(void) | |||
214 | gpio_handler(0); | 214 | gpio_handler(0); |
215 | } | 215 | } |
216 | #endif | 216 | #endif |
217 | |||
218 | #ifdef BOOTLOADER | ||
219 | static uint32_t gpio_data[16] = | ||
220 | { | ||
221 | 0x5322222F, 0xEEEEEE00, 0x2332EEEE, 0x3333E222, | ||
222 | 0x33333333, 0x33333333, 0x3F000E33, 0xEEEEEEEE, | ||
223 | 0xEEEEEEEE, 0xEEEEEEEE, 0xE0EEEEEE, 0xEE00EE0E, | ||
224 | 0xEEEE0EEE, 0xEEEEEEEE, 0xEE2222EE, 0xEEEE0EEE | ||
225 | }; | ||
226 | |||
227 | void gpio_preinit(void) | ||
228 | { | ||
229 | for (int i = 0; i < 16; i++) { | ||
230 | PCON(i) = gpio_data[i]; | ||
231 | PUNB(i) = 0; | ||
232 | PUNC(i) = 0; | ||
233 | } | ||
234 | } | ||
235 | #endif | ||