coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef CPU_SAMSUNG_EXYNOS5250_GPIO_H
4 #define CPU_SAMSUNG_EXYNOS5250_GPIO_H
5 
6 #include <soc/cpu.h>
7 
8 /* TODO: Align interface to src/include/gpio.h! */
9 
10 struct gpio_bank {
11  unsigned int con;
12  unsigned int dat;
13  unsigned int pull;
14  unsigned int drv;
15  unsigned int pdn_con;
16  unsigned int pdn_pull;
17  unsigned char res1[8];
18 };
19 
20 /* GPIO pins per bank */
21 #define GPIO_PER_BANK 8
22 
23 /* Pin configurations */
24 #define GPIO_INPUT 0x0
25 #define GPIO_OUTPUT 0x1
26 #define GPIO_IRQ 0xf
27 #define GPIO_FUNC(x) (x)
28 
29 /* Pull mode */
30 #define GPIO_PULL_NONE 0x0
31 #define GPIO_PULL_DOWN 0x1
32 #define GPIO_PULL_UP 0x3
33 
34 /* Drive Strength level */
35 #define GPIO_DRV_1X 0x0
36 #define GPIO_DRV_3X 0x1
37 #define GPIO_DRV_2X 0x2
38 #define GPIO_DRV_4X 0x3
39 #define GPIO_DRV_FAST 0x0
40 #define GPIO_DRV_SLOW 0x1
41 
46 
51 
56 
59 
67 
72 
75 
78 
82 
85 
90 
92 
94 };
95 
96 enum {
97  /* GPIO banks are split into this many parts */
99 };
100 
101 /* A list of valid GPIO numbers for the asm-generic/gpio.h interface */
103  /* GPIO_PART1_STARTS */
128  GPIO_B00, /* 0x18 */
160  GPIO_C00, /* 0x38 */
192  GPIO_D00, /* 0x58 */
208  GPIO_Y00, /* 0x68 */
264 
265  /* GPIO_PART2_STARTS */
299 
300  /* GPIO_PART3_STARTS */
318  GPIO_F00, /* 0xd0 */
374 
375  /* GPIO_PART4_STARTS */
409 
410  /* GPIO_PART5_STARTS */
420 
421  /* GPIO_PART6_STARTS */
431 };
432 
433 /**
434  * Set GPIO pin configuration.
435  *
436  * @param gpio GPIO pin
437  * @param cfg Either GPIO_INPUT, GPIO_OUTPUT, or GPIO_IRQ
438  */
439 void gpio_cfg_pin(int gpio, int cfg);
440 
441 /**
442  * Set GPIO pull mode.
443  *
444  * @param gpio GPIO pin
445  * @param mode Either GPIO_PULL_DOWN or GPIO_PULL_UP
446  */
447 void gpio_set_pull(int gpio, int mode);
448 
449 /**
450  * Set GPIO drive strength level.
451  *
452  * @param gpio GPIO pin
453  * @param mode Either GPIO_DRV_1X, GPIO_DRV_2X, GPIO_DRV_3X, or GPIO_DRV_4X
454  */
455 void gpio_set_drv(int gpio, int mode);
456 
457 /**
458  * Set GPIO drive rate.
459  *
460  * @param gpio GPIO pin
461  * @param mode Either GPIO_DRV_FAST or GPIO_DRV_SLOW
462  */
463 void gpio_set_rate(int gpio, int mode);
464 
465 /*
466  * reads only a single GPIO
467  *
468  * @param gpio GPIO to read
469  * @return -1 if the value cannot be determined. Otherwise returns
470  * the corresponding MVL3 enum value.
471  */
472 int gpio_read_mvl3(unsigned int gpio);
473 
474 void gpio_info(void);
475 
476 /*
477  * Generic GPIO API for U-Boot
478  *
479  * GPIOs are numbered from 0 to GPIO_COUNT-1 which value is defined
480  * by the SOC/architecture.
481  *
482  * Each GPIO can be an input or output. If an input then its value can
483  * be read as 0 or 1. If an output then its value can be set to 0 or 1.
484  * If you try to write an input then the value is undefined. If you try
485  * to read an output, barring something very unusual, you will get
486  * back the value of the output that you previously set.
487  *
488  * In some cases the operation may fail, for example if the GPIO number
489  * is out of range, or the GPIO is not available because its pin is
490  * being used by another function. In that case, functions may return
491  * an error value of -1.
492  */
493 
494 /**
495  * Make a GPIO an input.
496  *
497  * @param gpio GPIO number
498  * @return 0 if ok, -1 on error
499  */
500 int gpio_direction_input(unsigned int gpio);
501 
502 /**
503  * Make a GPIO an output, and set its value.
504  *
505  * @param gpio GPIO number
506  * @param value GPIO value (0 for low or 1 for high)
507  * @return 0 if ok, -1 on error
508  */
509 int gpio_direction_output(unsigned int gpio, int value);
510 
511 /**
512  * Get a GPIO's value. This will work whether the GPIO is an input
513  * or an output.
514  *
515  * @param gpio GPIO number
516  * @return 0 if low, 1 if high, -1 on error
517  */
518 int gpio_get_value(unsigned int gpio);
519 
520 /**
521  * Set an output GPIO's value. The GPIO must already be an output or
522  * this function may have no effect.
523  *
524  * @param gpio GPIO number
525  * @param value GPIO value (0 for low or 1 for high)
526  * @return 0 if ok, -1 on error
527  */
528 int gpio_set_value(unsigned int gpio, int value);
529 
530 /*
531  * Many-value logic (3 states). This can be used for inputs whereby presence
532  * of external pull-up or pull-down resistors can be added to overcome internal
533  * pull-ups/pull-downs and force a single value.
534  *
535  * Thus, external pull resistors can force a 0 or 1 and if the value changes
536  * along with internal pull-up/down enable then the input is floating.
537  *
538  * Vpd | Vpu | MVL
539  * -----------------
540  * 0 | 0 | 0
541  * -----------------
542  * 0 | 1 | Z <-- floating input will follow internal pull up/down
543  * -----------------
544  * 1 | 1 | 1
545  */
546 enum mvl3 {
549  LOGIC_Z, /* high impedance / tri-stated / floating */
550 };
551 
552 #endif /* CPU_SAMSUNG_EXYNOS5250_GPIO_H */
pte_t value
Definition: mmu.c:91
#define EXYNOS5_GPIO_PART3_BASE
Definition: cpu.h:44
#define EXYNOS5_GPIO_PART1_BASE
Definition: cpu.h:24
#define EXYNOS5_GPIO_PART6_BASE
Definition: cpu.h:10
#define EXYNOS5_GPIO_PART5_BASE
Definition: cpu.h:22
#define EXYNOS5_GPIO_PART2_BASE
Definition: cpu.h:25
#define EXYNOS5_GPIO_PART4_BASE
Definition: cpu.h:21
int gpio_read_mvl3(unsigned int gpio)
Definition: gpio.c:197
void gpio_cfg_pin(int gpio, int cfg)
Set GPIO pin configuration.
Definition: gpio.c:63
exynos5_gpio_pin
Definition: gpio.h:102
@ GPIO_Y25
Definition: gpio.h:229
@ GPIO_X05
Definition: gpio.h:272
@ GPIO_X25
Definition: gpio.h:288
@ GPIO_B06
Definition: gpio.h:134
@ GPIO_B02
Definition: gpio.h:130
@ GPIO_V12
Definition: gpio.h:387
@ GPIO_V45
Definition: gpio.h:417
@ GPIO_G07
Definition: gpio.h:341
@ GPIO_A03
Definition: gpio.h:107
@ GPIO_C14
Definition: gpio.h:172
@ GPIO_H14
Definition: gpio.h:370
@ GPIO_Y13
Definition: gpio.h:219
@ GPIO_Y52
Definition: gpio.h:250
@ GPIO_B36
Definition: gpio.h:158
@ GPIO_F07
Definition: gpio.h:325
@ GPIO_H07
Definition: gpio.h:365
@ GPIO_X37
Definition: gpio.h:298
@ GPIO_V43
Definition: gpio.h:415
@ GPIO_C13
Definition: gpio.h:171
@ GPIO_Y55
Definition: gpio.h:253
@ GPIO_Y63
Definition: gpio.h:259
@ GPIO_Y04
Definition: gpio.h:212
@ GPIO_G05
Definition: gpio.h:339
@ GPIO_X11
Definition: gpio.h:276
@ GPIO_E00
Definition: gpio.h:302
@ GPIO_X15
Definition: gpio.h:280
@ GPIO_A11
Definition: gpio.h:113
@ GPIO_V00
Definition: gpio.h:377
@ GPIO_X27
Definition: gpio.h:290
@ GPIO_F14
Definition: gpio.h:330
@ GPIO_A02
Definition: gpio.h:106
@ GPIO_V37
Definition: gpio.h:408
@ GPIO_C27
Definition: gpio.h:183
@ GPIO_V30
Definition: gpio.h:401
@ GPIO_V26
Definition: gpio.h:399
@ GPIO_Z3
Definition: gpio.h:426
@ GPIO_Y62
Definition: gpio.h:258
@ GPIO_F00
Definition: gpio.h:318
@ GPIO_X12
Definition: gpio.h:277
@ GPIO_E14
Definition: gpio.h:314
@ GPIO_Y60
Definition: gpio.h:256
@ GPIO_X35
Definition: gpio.h:296
@ GPIO_C26
Definition: gpio.h:182
@ GPIO_MAX_PORT
Definition: gpio.h:430
@ GPIO_D11
Definition: gpio.h:201
@ GPIO_E02
Definition: gpio.h:304
@ GPIO_D02
Definition: gpio.h:194
@ GPIO_Y40
Definition: gpio.h:240
@ GPIO_Y34
Definition: gpio.h:236
@ GPIO_E12
Definition: gpio.h:312
@ GPIO_G14
Definition: gpio.h:346
@ GPIO_F02
Definition: gpio.h:320
@ GPIO_H11
Definition: gpio.h:367
@ GPIO_D17
Definition: gpio.h:207
@ GPIO_V06
Definition: gpio.h:383
@ GPIO_D10
Definition: gpio.h:200
@ GPIO_G21
Definition: gpio.h:351
@ GPIO_H03
Definition: gpio.h:361
@ GPIO_G24
Definition: gpio.h:354
@ GPIO_Y12
Definition: gpio.h:218
@ GPIO_V23
Definition: gpio.h:396
@ GPIO_Y67
Definition: gpio.h:263
@ GPIO_V27
Definition: gpio.h:400
@ GPIO_V17
Definition: gpio.h:392
@ GPIO_X21
Definition: gpio.h:284
@ GPIO_G22
Definition: gpio.h:352
@ GPIO_B07
Definition: gpio.h:135
@ GPIO_A25
Definition: gpio.h:125
@ GPIO_B26
Definition: gpio.h:150
@ GPIO_X17
Definition: gpio.h:282
@ GPIO_Y47
Definition: gpio.h:247
@ GPIO_V03
Definition: gpio.h:380
@ GPIO_D14
Definition: gpio.h:204
@ GPIO_V02
Definition: gpio.h:379
@ GPIO_E10
Definition: gpio.h:310
@ GPIO_MAX_PORT_PART_4
Definition: gpio.h:411
@ GPIO_V32
Definition: gpio.h:403
@ GPIO_V21
Definition: gpio.h:394
@ GPIO_MAX_PORT_PART_2
Definition: gpio.h:301
@ GPIO_A21
Definition: gpio.h:121
@ GPIO_F15
Definition: gpio.h:331
@ GPIO_Y20
Definition: gpio.h:224
@ GPIO_Y61
Definition: gpio.h:257
@ GPIO_C00
Definition: gpio.h:160
@ GPIO_D01
Definition: gpio.h:193
@ GPIO_A01
Definition: gpio.h:105
@ GPIO_Y42
Definition: gpio.h:242
@ GPIO_D00
Definition: gpio.h:192
@ GPIO_E04
Definition: gpio.h:306
@ GPIO_C30
Definition: gpio.h:184
@ GPIO_B27
Definition: gpio.h:151
@ GPIO_D05
Definition: gpio.h:197
@ GPIO_G12
Definition: gpio.h:344
@ GPIO_E13
Definition: gpio.h:313
@ GPIO_D04
Definition: gpio.h:196
@ GPIO_F01
Definition: gpio.h:319
@ GPIO_G02
Definition: gpio.h:336
@ GPIO_Y05
Definition: gpio.h:213
@ GPIO_G17
Definition: gpio.h:349
@ GPIO_Y33
Definition: gpio.h:235
@ GPIO_F12
Definition: gpio.h:328
@ GPIO_G03
Definition: gpio.h:337
@ GPIO_C04
Definition: gpio.h:164
@ GPIO_F10
Definition: gpio.h:326
@ GPIO_D03
Definition: gpio.h:195
@ GPIO_E06
Definition: gpio.h:308
@ GPIO_V01
Definition: gpio.h:378
@ GPIO_X13
Definition: gpio.h:278
@ GPIO_X04
Definition: gpio.h:271
@ GPIO_C35
Definition: gpio.h:189
@ GPIO_V16
Definition: gpio.h:391
@ GPIO_B12
Definition: gpio.h:138
@ GPIO_A15
Definition: gpio.h:117
@ GPIO_G11
Definition: gpio.h:343
@ GPIO_C07
Definition: gpio.h:167
@ GPIO_B01
Definition: gpio.h:129
@ GPIO_Y31
Definition: gpio.h:233
@ GPIO_Y41
Definition: gpio.h:241
@ GPIO_H15
Definition: gpio.h:371
@ GPIO_G15
Definition: gpio.h:347
@ GPIO_C32
Definition: gpio.h:186
@ GPIO_X26
Definition: gpio.h:289
@ GPIO_Y01
Definition: gpio.h:209
@ GPIO_H05
Definition: gpio.h:363
@ GPIO_C10
Definition: gpio.h:168
@ GPIO_Y54
Definition: gpio.h:252
@ GPIO_Y21
Definition: gpio.h:225
@ GPIO_H00
Definition: gpio.h:358
@ GPIO_Y30
Definition: gpio.h:232
@ GPIO_B20
Definition: gpio.h:144
@ GPIO_G13
Definition: gpio.h:345
@ GPIO_F13
Definition: gpio.h:329
@ GPIO_G01
Definition: gpio.h:335
@ GPIO_B32
Definition: gpio.h:154
@ GPIO_C01
Definition: gpio.h:161
@ GPIO_C06
Definition: gpio.h:166
@ GPIO_D06
Definition: gpio.h:198
@ GPIO_X32
Definition: gpio.h:293
@ GPIO_G16
Definition: gpio.h:348
@ GPIO_B16
Definition: gpio.h:142
@ GPIO_Y36
Definition: gpio.h:238
@ GPIO_A16
Definition: gpio.h:118
@ GPIO_X14
Definition: gpio.h:279
@ GPIO_Y27
Definition: gpio.h:231
@ GPIO_X20
Definition: gpio.h:283
@ GPIO_G04
Definition: gpio.h:338
@ GPIO_C16
Definition: gpio.h:174
@ GPIO_A07
Definition: gpio.h:111
@ GPIO_B13
Definition: gpio.h:139
@ GPIO_Y16
Definition: gpio.h:222
@ GPIO_Y43
Definition: gpio.h:243
@ GPIO_V42
Definition: gpio.h:414
@ GPIO_Y14
Definition: gpio.h:220
@ GPIO_Y10
Definition: gpio.h:216
@ GPIO_C11
Definition: gpio.h:169
@ GPIO_H17
Definition: gpio.h:373
@ GPIO_V34
Definition: gpio.h:405
@ GPIO_X30
Definition: gpio.h:291
@ GPIO_C36
Definition: gpio.h:190
@ GPIO_X24
Definition: gpio.h:287
@ GPIO_B22
Definition: gpio.h:146
@ GPIO_A22
Definition: gpio.h:122
@ GPIO_D16
Definition: gpio.h:206
@ GPIO_Y06
Definition: gpio.h:214
@ GPIO_E05
Definition: gpio.h:307
@ GPIO_A10
Definition: gpio.h:112
@ GPIO_X22
Definition: gpio.h:285
@ GPIO_Y24
Definition: gpio.h:228
@ GPIO_MAX_PORT_PART_3
Definition: gpio.h:376
@ GPIO_H01
Definition: gpio.h:359
@ GPIO_A12
Definition: gpio.h:114
@ GPIO_Z6
Definition: gpio.h:429
@ GPIO_X34
Definition: gpio.h:295
@ GPIO_X00
Definition: gpio.h:267
@ GPIO_Y11
Definition: gpio.h:217
@ GPIO_Y17
Definition: gpio.h:223
@ GPIO_Z4
Definition: gpio.h:427
@ GPIO_C31
Definition: gpio.h:185
@ GPIO_A17
Definition: gpio.h:119
@ GPIO_B24
Definition: gpio.h:148
@ GPIO_D13
Definition: gpio.h:203
@ GPIO_E15
Definition: gpio.h:315
@ GPIO_Y56
Definition: gpio.h:254
@ GPIO_Y50
Definition: gpio.h:248
@ GPIO_B04
Definition: gpio.h:132
@ GPIO_Y00
Definition: gpio.h:208
@ GPIO_V10
Definition: gpio.h:385
@ GPIO_C20
Definition: gpio.h:176
@ GPIO_B03
Definition: gpio.h:131
@ GPIO_F16
Definition: gpio.h:332
@ GPIO_V35
Definition: gpio.h:406
@ GPIO_C33
Definition: gpio.h:187
@ GPIO_Z5
Definition: gpio.h:428
@ GPIO_Y07
Definition: gpio.h:215
@ GPIO_E17
Definition: gpio.h:317
@ GPIO_Y44
Definition: gpio.h:244
@ GPIO_D15
Definition: gpio.h:205
@ GPIO_G23
Definition: gpio.h:353
@ GPIO_Y03
Definition: gpio.h:211
@ GPIO_B25
Definition: gpio.h:149
@ GPIO_V15
Definition: gpio.h:390
@ GPIO_F17
Definition: gpio.h:333
@ GPIO_Y35
Definition: gpio.h:237
@ GPIO_V24
Definition: gpio.h:397
@ GPIO_B34
Definition: gpio.h:156
@ GPIO_V11
Definition: gpio.h:386
@ GPIO_C12
Definition: gpio.h:170
@ GPIO_B15
Definition: gpio.h:141
@ GPIO_G20
Definition: gpio.h:350
@ GPIO_F03
Definition: gpio.h:321
@ GPIO_C05
Definition: gpio.h:165
@ GPIO_A24
Definition: gpio.h:124
@ GPIO_V31
Definition: gpio.h:402
@ GPIO_V14
Definition: gpio.h:389
@ GPIO_B10
Definition: gpio.h:136
@ GPIO_X36
Definition: gpio.h:297
@ GPIO_C24
Definition: gpio.h:180
@ GPIO_D07
Definition: gpio.h:199
@ GPIO_Y37
Definition: gpio.h:239
@ GPIO_V47
Definition: gpio.h:419
@ GPIO_H04
Definition: gpio.h:362
@ GPIO_B37
Definition: gpio.h:159
@ GPIO_H02
Definition: gpio.h:360
@ GPIO_B05
Definition: gpio.h:133
@ GPIO_C21
Definition: gpio.h:177
@ GPIO_MAX_PORT_PART_5
Definition: gpio.h:422
@ GPIO_B23
Definition: gpio.h:147
@ GPIO_A04
Definition: gpio.h:108
@ GPIO_V40
Definition: gpio.h:412
@ GPIO_C22
Definition: gpio.h:178
@ GPIO_Y22
Definition: gpio.h:226
@ GPIO_A05
Definition: gpio.h:109
@ GPIO_D12
Definition: gpio.h:202
@ GPIO_E03
Definition: gpio.h:305
@ GPIO_X06
Definition: gpio.h:273
@ GPIO_V05
Definition: gpio.h:382
@ GPIO_Y45
Definition: gpio.h:245
@ GPIO_X02
Definition: gpio.h:269
@ GPIO_A27
Definition: gpio.h:127
@ GPIO_F04
Definition: gpio.h:322
@ GPIO_A23
Definition: gpio.h:123
@ GPIO_A06
Definition: gpio.h:110
@ GPIO_Z1
Definition: gpio.h:424
@ GPIO_H16
Definition: gpio.h:372
@ GPIO_Y15
Definition: gpio.h:221
@ GPIO_V22
Definition: gpio.h:395
@ GPIO_G27
Definition: gpio.h:357
@ GPIO_Y66
Definition: gpio.h:262
@ GPIO_B35
Definition: gpio.h:157
@ GPIO_B14
Definition: gpio.h:140
@ GPIO_Y32
Definition: gpio.h:234
@ GPIO_C03
Definition: gpio.h:163
@ GPIO_V25
Definition: gpio.h:398
@ GPIO_G25
Definition: gpio.h:355
@ GPIO_V46
Definition: gpio.h:418
@ GPIO_X07
Definition: gpio.h:274
@ GPIO_H10
Definition: gpio.h:366
@ GPIO_X23
Definition: gpio.h:286
@ GPIO_A13
Definition: gpio.h:115
@ GPIO_Y02
Definition: gpio.h:210
@ GPIO_B21
Definition: gpio.h:145
@ GPIO_V33
Definition: gpio.h:404
@ GPIO_Y65
Definition: gpio.h:261
@ GPIO_Y64
Definition: gpio.h:260
@ GPIO_V04
Definition: gpio.h:381
@ GPIO_Y51
Definition: gpio.h:249
@ GPIO_C02
Definition: gpio.h:162
@ GPIO_V36
Definition: gpio.h:407
@ GPIO_B11
Definition: gpio.h:137
@ GPIO_B33
Definition: gpio.h:155
@ GPIO_Y53
Definition: gpio.h:251
@ GPIO_G06
Definition: gpio.h:340
@ GPIO_A14
Definition: gpio.h:116
@ GPIO_E07
Definition: gpio.h:309
@ GPIO_V44
Definition: gpio.h:416
@ GPIO_F05
Definition: gpio.h:323
@ GPIO_X31
Definition: gpio.h:292
@ GPIO_C23
Definition: gpio.h:179
@ GPIO_Z0
Definition: gpio.h:423
@ GPIO_C17
Definition: gpio.h:175
@ GPIO_MAX_PORT_PART_1
Definition: gpio.h:266
@ GPIO_V07
Definition: gpio.h:384
@ GPIO_X33
Definition: gpio.h:294
@ GPIO_C34
Definition: gpio.h:188
@ GPIO_V20
Definition: gpio.h:393
@ GPIO_C37
Definition: gpio.h:191
@ GPIO_X01
Definition: gpio.h:268
@ GPIO_C25
Definition: gpio.h:181
@ GPIO_A26
Definition: gpio.h:126
@ GPIO_B31
Definition: gpio.h:153
@ GPIO_B30
Definition: gpio.h:152
@ GPIO_Y23
Definition: gpio.h:227
@ GPIO_A20
Definition: gpio.h:120
@ GPIO_G26
Definition: gpio.h:356
@ GPIO_E11
Definition: gpio.h:311
@ GPIO_C15
Definition: gpio.h:173
@ GPIO_Z2
Definition: gpio.h:425
@ GPIO_F11
Definition: gpio.h:327
@ GPIO_Y57
Definition: gpio.h:255
@ GPIO_V13
Definition: gpio.h:388
@ GPIO_Y26
Definition: gpio.h:230
@ GPIO_X03
Definition: gpio.h:270
@ GPIO_E01
Definition: gpio.h:303
@ GPIO_H06
Definition: gpio.h:364
@ GPIO_X10
Definition: gpio.h:275
@ GPIO_H13
Definition: gpio.h:369
@ GPIO_X16
Definition: gpio.h:281
@ GPIO_F06
Definition: gpio.h:324
@ GPIO_B00
Definition: gpio.h:128
@ GPIO_G00
Definition: gpio.h:334
@ GPIO_H12
Definition: gpio.h:368
@ GPIO_V41
Definition: gpio.h:413
@ GPIO_G10
Definition: gpio.h:342
@ GPIO_E16
Definition: gpio.h:316
@ GPIO_B17
Definition: gpio.h:143
@ GPIO_A00
Definition: gpio.h:104
@ GPIO_Y46
Definition: gpio.h:246
void gpio_set_rate(int gpio, int mode)
Set GPIO drive rate.
Definition: gpio.c:124
int gpio_direction_output(unsigned int gpio, int value)
Make a GPIO an output, and set its value.
Definition: gpio.c:151
mvl3
Definition: gpio.h:546
@ LOGIC_Z
Definition: gpio.h:549
@ LOGIC_0
Definition: gpio.h:547
@ LOGIC_1
Definition: gpio.h:548
void gpio_info(void)
Definition: gpio.c:236
int gpio_direction_input(unsigned int gpio)
Make a GPIO an input.
Definition: gpio.c:144
void gpio_set_pull(int gpio, int mode)
Set GPIO pull mode.
Definition: gpio.c:82
int gpio_set_value(unsigned int gpio, int value)
Set an output GPIO's value.
Definition: gpio.c:176
int gpio_get_value(unsigned int gpio)
Get a GPIO's value.
Definition: gpio.c:167
void gpio_set_drv(int gpio, int mode)
Set GPIO drive strength level.
Definition: gpio.c:102
exynos5_gpio_port
Definition: gpio.h:42
@ EXYNOS5_GPY3
Definition: gpio.h:63
@ EXYNOS5_GPC0
Definition: gpio.h:52
@ EXYNOS5_GPB0
Definition: gpio.h:47
@ EXYNOS5_GPY0
Definition: gpio.h:60
@ EXYNOS5_GPC1
Definition: gpio.h:53
@ EXYNOS5_GPD1
Definition: gpio.h:58
@ EXYNOS5_GPB3
Definition: gpio.h:50
@ EXYNOS5_GPY6
Definition: gpio.h:66
@ EXYNOS5_GPC2
Definition: gpio.h:54
@ EXYNOS5_GPA1
Definition: gpio.h:44
@ EXYNOS5_GPX3
Definition: gpio.h:71
@ EXYNOS5_GPA0
Definition: gpio.h:43
@ EXYNOS5_GPY1
Definition: gpio.h:61
@ EXYNOS5_GPV4
Definition: gpio.h:91
@ EXYNOS5_GPF0
Definition: gpio.h:76
@ EXYNOS5_GPX2
Definition: gpio.h:70
@ EXYNOS5_GPF1
Definition: gpio.h:77
@ EXYNOS5_GPY5
Definition: gpio.h:65
@ EXYNOS5_GPE1
Definition: gpio.h:74
@ EXYNOS5_GPD0
Definition: gpio.h:57
@ EXYNOS5_GPE0
Definition: gpio.h:73
@ EXYNOS5_GPG0
Definition: gpio.h:79
@ EXYNOS5_GPV1
Definition: gpio.h:87
@ EXYNOS5_GPX1
Definition: gpio.h:69
@ EXYNOS5_GPH1
Definition: gpio.h:84
@ EXYNOS5_GPC3
Definition: gpio.h:55
@ EXYNOS5_GPB2
Definition: gpio.h:49
@ EXYNOS5_GPH0
Definition: gpio.h:83
@ EXYNOS5_GPY2
Definition: gpio.h:62
@ EXYNOS5_GPB1
Definition: gpio.h:48
@ EXYNOS5_GPA2
Definition: gpio.h:45
@ EXYNOS5_GPY4
Definition: gpio.h:64
@ EXYNOS5_GPV2
Definition: gpio.h:88
@ EXYNOS5_GPG2
Definition: gpio.h:81
@ EXYNOS5_GPG1
Definition: gpio.h:80
@ EXYNOS5_GPV0
Definition: gpio.h:86
@ EXYNOS5_GPX0
Definition: gpio.h:68
@ EXYNOS5_GPV3
Definition: gpio.h:89
@ EXYNOS5_GPZ
Definition: gpio.h:93
@ EXYNOS_GPIO_NUM_PARTS
Definition: gpio.h:98
unsigned char res1[8]
Definition: gpio.h:17
unsigned int dat
Definition: gpio.h:12
unsigned int pdn_pull
Definition: gpio.h:16
unsigned int con
Definition: gpio.h:11
unsigned int pull
Definition: gpio.h:13
unsigned int pdn_con
Definition: gpio.h:15
unsigned int drv
Definition: gpio.h:14
Definition: pinmux.c:36