mb/ocp/tiogapass: Fix GPIOs
[coreboot2.git] / src / mainboard / asrock / h81m-hds / gpio.c
bloba281acf3b12862da252d5e3a62d0c6a53e2ec7d7
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 #include <southbridge/intel/common/gpio.h>
5 static const struct pch_gpio_set1 pch_gpio_set1_mode = {
6 .gpio0 = GPIO_MODE_GPIO,
7 .gpio1 = GPIO_MODE_GPIO,
8 .gpio6 = GPIO_MODE_GPIO,
9 .gpio7 = GPIO_MODE_GPIO,
10 .gpio12 = GPIO_MODE_GPIO,
11 .gpio13 = GPIO_MODE_GPIO,
12 .gpio14 = GPIO_MODE_GPIO,
13 .gpio15 = GPIO_MODE_GPIO,
14 .gpio16 = GPIO_MODE_GPIO,
15 .gpio17 = GPIO_MODE_GPIO,
16 .gpio24 = GPIO_MODE_GPIO,
17 .gpio27 = GPIO_MODE_GPIO,
18 .gpio28 = GPIO_MODE_GPIO,
19 .gpio31 = GPIO_MODE_GPIO,
22 static const struct pch_gpio_set1 pch_gpio_set1_direction = {
23 .gpio0 = GPIO_DIR_INPUT,
24 .gpio1 = GPIO_DIR_INPUT,
25 .gpio6 = GPIO_DIR_INPUT,
26 .gpio7 = GPIO_DIR_INPUT,
27 .gpio12 = GPIO_DIR_OUTPUT,
28 .gpio13 = GPIO_DIR_INPUT,
29 .gpio14 = GPIO_DIR_OUTPUT,
30 .gpio15 = GPIO_DIR_OUTPUT,
31 .gpio16 = GPIO_DIR_INPUT,
32 .gpio17 = GPIO_DIR_INPUT,
33 .gpio24 = GPIO_DIR_OUTPUT,
34 .gpio27 = GPIO_DIR_INPUT,
35 .gpio28 = GPIO_DIR_OUTPUT,
36 .gpio31 = GPIO_DIR_INPUT,
39 static const struct pch_gpio_set1 pch_gpio_set1_level = {
40 .gpio12 = GPIO_LEVEL_HIGH,
41 .gpio14 = GPIO_LEVEL_LOW,
42 .gpio15 = GPIO_LEVEL_LOW,
43 .gpio24 = GPIO_LEVEL_LOW,
44 .gpio28 = GPIO_LEVEL_LOW,
47 static const struct pch_gpio_set1 pch_gpio_set1_reset = {
48 .gpio8 = GPIO_RESET_RSMRST,
51 static const struct pch_gpio_set1 pch_gpio_set1_invert = {
52 .gpio13 = GPIO_INVERT,
55 static const struct pch_gpio_set1 pch_gpio_set1_blink = {
58 static const struct pch_gpio_set2 pch_gpio_set2_mode = {
59 .gpio32 = GPIO_MODE_GPIO,
60 .gpio33 = GPIO_MODE_GPIO,
61 .gpio34 = GPIO_MODE_GPIO,
62 .gpio35 = GPIO_MODE_GPIO,
63 .gpio42 = GPIO_MODE_GPIO,
64 .gpio43 = GPIO_MODE_GPIO,
65 .gpio46 = GPIO_MODE_GPIO,
66 .gpio49 = GPIO_MODE_GPIO,
67 .gpio50 = GPIO_MODE_GPIO,
68 .gpio51 = GPIO_MODE_GPIO,
69 .gpio52 = GPIO_MODE_GPIO,
70 .gpio53 = GPIO_MODE_GPIO,
71 .gpio54 = GPIO_MODE_GPIO,
72 .gpio55 = GPIO_MODE_GPIO,
73 .gpio57 = GPIO_MODE_GPIO,
76 static const struct pch_gpio_set2 pch_gpio_set2_direction = {
77 .gpio32 = GPIO_DIR_OUTPUT,
78 .gpio33 = GPIO_DIR_OUTPUT,
79 .gpio34 = GPIO_DIR_INPUT,
80 .gpio35 = GPIO_DIR_OUTPUT,
81 .gpio42 = GPIO_DIR_OUTPUT,
82 .gpio43 = GPIO_DIR_OUTPUT,
83 .gpio46 = GPIO_DIR_INPUT,
84 .gpio49 = GPIO_DIR_INPUT,
85 .gpio50 = GPIO_DIR_INPUT,
86 .gpio51 = GPIO_DIR_OUTPUT,
87 .gpio52 = GPIO_DIR_INPUT,
88 .gpio53 = GPIO_DIR_OUTPUT,
89 .gpio54 = GPIO_DIR_INPUT,
90 .gpio55 = GPIO_DIR_OUTPUT,
91 .gpio57 = GPIO_DIR_INPUT,
94 static const struct pch_gpio_set2 pch_gpio_set2_level = {
95 .gpio32 = GPIO_LEVEL_HIGH,
96 .gpio33 = GPIO_LEVEL_HIGH,
97 .gpio35 = GPIO_LEVEL_LOW,
98 .gpio42 = GPIO_LEVEL_LOW,
99 .gpio43 = GPIO_LEVEL_LOW,
100 .gpio51 = GPIO_LEVEL_HIGH,
101 .gpio53 = GPIO_LEVEL_HIGH,
102 .gpio55 = GPIO_LEVEL_HIGH,
105 static const struct pch_gpio_set2 pch_gpio_set2_reset = {
108 static const struct pch_gpio_set3 pch_gpio_set3_mode = {
109 .gpio68 = GPIO_MODE_GPIO,
110 .gpio69 = GPIO_MODE_GPIO,
111 .gpio72 = GPIO_MODE_GPIO,
112 .gpio73 = GPIO_MODE_GPIO,
115 static const struct pch_gpio_set3 pch_gpio_set3_direction = {
116 .gpio68 = GPIO_DIR_INPUT,
117 .gpio69 = GPIO_DIR_INPUT,
118 .gpio72 = GPIO_DIR_INPUT,
119 .gpio73 = GPIO_DIR_INPUT,
122 static const struct pch_gpio_set3 pch_gpio_set3_level = {
125 static const struct pch_gpio_set3 pch_gpio_set3_reset = {
128 const struct pch_gpio_map mainboard_gpio_map = {
129 .set1 = {
130 .mode = &pch_gpio_set1_mode,
131 .direction = &pch_gpio_set1_direction,
132 .level = &pch_gpio_set1_level,
133 .blink = &pch_gpio_set1_blink,
134 .invert = &pch_gpio_set1_invert,
135 .reset = &pch_gpio_set1_reset,
137 .set2 = {
138 .mode = &pch_gpio_set2_mode,
139 .direction = &pch_gpio_set2_direction,
140 .level = &pch_gpio_set2_level,
141 .reset = &pch_gpio_set2_reset,
143 .set3 = {
144 .mode = &pch_gpio_set3_mode,
145 .direction = &pch_gpio_set3_direction,
146 .level = &pch_gpio_set3_level,
147 .reset = &pch_gpio_set3_reset,