coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <amdblocks/gpio.h>
4 #include <soc/gpio.h>
5 #include <types.h>
6 
7 /* see the IOMUX function table for the mapping from GPIO number to GEVENT number */
8 static const struct soc_amd_event gpio_event_table[] = {
9  { GPIO_0, GEVENT_21 }, /* GPIO0 may only be used as PWR_BTN_L in ACPI */
10  { GPIO_1, GEVENT_19 },
11  { GPIO_2, GEVENT_8 },
12  { GPIO_3, GEVENT_2 },
13  { GPIO_4, GEVENT_4 },
14  { GPIO_5, GEVENT_7 },
15  { GPIO_6, GEVENT_10 },
16  { GPIO_7, GEVENT_11 },
17  { GPIO_8, GEVENT_23 },
18  { GPIO_9, GEVENT_22 },
19  { GPIO_16, GEVENT_12 },
20  { GPIO_17, GEVENT_13 },
21  { GPIO_18, GEVENT_14 },
22  { GPIO_21, GEVENT_5 },
23  { GPIO_22, GEVENT_3 },
24  { GPIO_23, GEVENT_16 },
25  { GPIO_24, GEVENT_15 },
26  { GPIO_40, GEVENT_20 },
27  { GPIO_84, GEVENT_18 },
28  { GPIO_86, GEVENT_9 },
29  { GPIO_89, GEVENT_0 },
30  { GPIO_90, GEVENT_1 },
31  { GPIO_91, GEVENT_6 },
32  { GPIO_129, GEVENT_17 },
33 };
34 
35 void soc_get_gpio_event_table(const struct soc_amd_event **table, size_t *items)
36 {
37  *table = gpio_event_table;
38  *items = ARRAY_SIZE(gpio_event_table);
39 }
#define GPIO_18
Definition: gpio_ftns.h:17
#define GPIO_17
Definition: gpio_ftns.h:16
#define GPIO_16
Definition: gpio_ftns.h:15
#define GPIO_22
Definition: gpio_ftns.h:14
#define ARRAY_SIZE(a)
Definition: helpers.h:12
void soc_get_gpio_event_table(const struct soc_amd_event **table, size_t *items)
Definition: gpio.c:35
static const struct soc_amd_event gpio_event_table[]
Definition: gpio.c:8
#define GPIO_91
Definition: gpio.h:67
#define GPIO_0
Definition: gpio.h:21
#define GPIO_7
Definition: gpio.h:28
#define GPIO_90
Definition: gpio.h:66
#define GPIO_89
Definition: gpio.h:65
#define GPIO_1
Definition: gpio.h:22
#define GPIO_5
Definition: gpio.h:26
#define GPIO_84
Definition: gpio.h:60
#define GPIO_8
Definition: gpio.h:29
#define GPIO_24
Definition: gpio.h:42
#define GPIO_4
Definition: gpio.h:25
#define GPIO_129
Definition: gpio.h:83
#define GPIO_9
Definition: gpio.h:30
#define GPIO_86
Definition: gpio.h:62
#define GPIO_3
Definition: gpio.h:24
#define GPIO_2
Definition: gpio.h:23
#define GPIO_21
Definition: gpio.h:39
#define GPIO_40
Definition: gpio.h:49
#define GPIO_23
Definition: gpio.h:41
#define GPIO_6
Definition: gpio.h:27
#define GEVENT_7
Definition: gpio_defs.h:273
#define GEVENT_15
Definition: gpio_defs.h:281
#define GEVENT_14
Definition: gpio_defs.h:280
#define GEVENT_2
Definition: gpio_defs.h:268
#define GEVENT_4
Definition: gpio_defs.h:270
#define GEVENT_0
Definition: gpio_defs.h:266
#define GEVENT_19
Definition: gpio_defs.h:285
#define GEVENT_16
Definition: gpio_defs.h:282
#define GEVENT_8
Definition: gpio_defs.h:274
#define GEVENT_1
Definition: gpio_defs.h:267
#define GEVENT_11
Definition: gpio_defs.h:277
#define GEVENT_20
Definition: gpio_defs.h:286
#define GEVENT_3
Definition: gpio_defs.h:269
#define GEVENT_12
Definition: gpio_defs.h:278
#define GEVENT_22
Definition: gpio_defs.h:288
#define GEVENT_9
Definition: gpio_defs.h:275
#define GEVENT_5
Definition: gpio_defs.h:271
#define GEVENT_17
Definition: gpio_defs.h:283
#define GEVENT_6
Definition: gpio_defs.h:272
#define GEVENT_10
Definition: gpio_defs.h:276
#define GEVENT_13
Definition: gpio_defs.h:279
#define GEVENT_18
Definition: gpio_defs.h:284
#define GEVENT_21
Definition: gpio_defs.h:287
#define GEVENT_23
Definition: gpio_defs.h:289