payloads/edk2: Disable the CPU Timer Lib unless supported
[coreboot.git] / src / mainboard / intel / dg43gt / gpio.c
blob90056a8424df7b615ac16f71f93c678b7814c8d2
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <southbridge/intel/common/gpio.h>
5 static const struct pch_gpio_set1 pch_gpio_set1_mode = {
6 .gpio7 = GPIO_MODE_GPIO,
7 .gpio8 = GPIO_MODE_GPIO,
8 .gpio11 = GPIO_MODE_GPIO,
9 .gpio12 = GPIO_MODE_GPIO,
10 .gpio13 = GPIO_MODE_GPIO,
11 .gpio18 = GPIO_MODE_GPIO,
12 .gpio19 = GPIO_MODE_GPIO,
13 .gpio20 = GPIO_MODE_GPIO,
14 .gpio22 = GPIO_MODE_GPIO,
15 .gpio27 = GPIO_MODE_GPIO,
16 .gpio28 = GPIO_MODE_GPIO,
19 static const struct pch_gpio_set1 pch_gpio_set1_direction = {
20 .gpio7 = GPIO_DIR_INPUT,
21 .gpio8 = GPIO_DIR_OUTPUT,
22 .gpio11 = GPIO_DIR_OUTPUT,
23 .gpio12 = GPIO_DIR_OUTPUT,
24 .gpio13 = GPIO_DIR_INPUT,
25 .gpio18 = GPIO_DIR_INPUT,
26 .gpio19 = GPIO_DIR_INPUT,
27 .gpio20 = GPIO_DIR_OUTPUT,
28 .gpio22 = GPIO_DIR_INPUT,
29 .gpio27 = GPIO_DIR_OUTPUT,
30 .gpio28 = GPIO_DIR_OUTPUT,
33 static const struct pch_gpio_set1 pch_gpio_set1_level = {
34 .gpio8 = GPIO_LEVEL_LOW,
35 .gpio11 = GPIO_LEVEL_LOW,
36 .gpio12 = GPIO_LEVEL_HIGH,
37 .gpio20 = GPIO_LEVEL_HIGH,
38 .gpio27 = GPIO_LEVEL_HIGH,
39 .gpio28 = GPIO_LEVEL_LOW,
42 static const struct pch_gpio_set1 pch_gpio_set1_invert = {
43 .gpio13 = GPIO_INVERT,
46 static const struct pch_gpio_set1 pch_gpio_set1_blink = { };
48 static const struct pch_gpio_set2 pch_gpio_set2_mode = {
49 .gpio32 = GPIO_MODE_GPIO,
50 .gpio33 = GPIO_MODE_GPIO,
51 .gpio34 = GPIO_MODE_GPIO,
52 .gpio36 = GPIO_MODE_GPIO,
53 .gpio37 = GPIO_MODE_GPIO,
54 .gpio38 = GPIO_MODE_GPIO,
55 .gpio39 = GPIO_MODE_GPIO,
56 .gpio48 = GPIO_MODE_GPIO,
57 .gpio49 = GPIO_MODE_GPIO,
58 .gpio56 = GPIO_MODE_GPIO,
59 .gpio57 = GPIO_MODE_GPIO,
60 .gpio60 = GPIO_MODE_GPIO,
63 static const struct pch_gpio_set2 pch_gpio_set2_direction = {
64 .gpio32 = GPIO_DIR_OUTPUT,
65 .gpio33 = GPIO_DIR_INPUT,
66 .gpio34 = GPIO_DIR_INPUT,
67 .gpio36 = GPIO_DIR_OUTPUT,
68 .gpio37 = GPIO_DIR_OUTPUT,
69 .gpio38 = GPIO_DIR_OUTPUT,
70 .gpio39 = GPIO_DIR_INPUT,
71 .gpio48 = GPIO_DIR_INPUT,
72 .gpio49 = GPIO_DIR_OUTPUT,
73 .gpio56 = GPIO_DIR_OUTPUT,
74 .gpio57 = GPIO_DIR_INPUT,
75 .gpio60 = GPIO_DIR_OUTPUT,
78 static const struct pch_gpio_set2 pch_gpio_set2_level = {
79 .gpio32 = GPIO_LEVEL_HIGH,
80 .gpio36 = GPIO_LEVEL_LOW,
81 .gpio37 = GPIO_LEVEL_HIGH,
82 .gpio38 = GPIO_LEVEL_HIGH,
83 .gpio49 = GPIO_LEVEL_LOW,
84 .gpio56 = GPIO_LEVEL_HIGH,
85 .gpio60 = GPIO_LEVEL_HIGH,
88 static const struct pch_gpio_set3 pch_gpio_set3_mode = { };
90 static const struct pch_gpio_set3 pch_gpio_set3_direction = { };
92 static const struct pch_gpio_set3 pch_gpio_set3_level = { };
94 const struct pch_gpio_map mainboard_gpio_map = {
95 .set1 = {
96 .mode = &pch_gpio_set1_mode,
97 .direction = &pch_gpio_set1_direction,
98 .level = &pch_gpio_set1_level,
99 .blink = &pch_gpio_set1_blink,
100 .invert = &pch_gpio_set1_invert,
102 .set2 = {
103 .mode = &pch_gpio_set2_mode,
104 .direction = &pch_gpio_set2_direction,
105 .level = &pch_gpio_set2_level,
107 .set3 = {
108 .mode = &pch_gpio_set3_mode,
109 .direction = &pch_gpio_set3_direction,
110 .level = &pch_gpio_set3_level,