blob: 2a5e9b616a3723e9be66ef08a44ded4d64fc66b2 [file] [log] [blame]
Angel Pons60ec3652020-04-03 01:22:13 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Stefan Reinauer6651da32012-04-27 23:16:30 +02002
Gabe Black599e2042012-03-30 14:33:02 -07003#ifndef EMERALDLAKE2_GPIO_H
4#define EMERALDLAKE2_GPIO_H
Stefan Reinauer6651da32012-04-27 23:16:30 +02005
Patrick Rudolphe8e66f42016-02-06 17:42:42 +01006#include <southbridge/intel/common/gpio.h>
Stefan Reinauer6651da32012-04-27 23:16:30 +02007
Peter Lemenkov6752b6152019-06-15 21:39:32 +02008static const struct pch_gpio_set1 pch_gpio_set1_mode = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +02009 .gpio0 = GPIO_MODE_GPIO,
10 .gpio1 = GPIO_MODE_GPIO,
11 .gpio3 = GPIO_MODE_GPIO,
12 .gpio5 = GPIO_MODE_GPIO,
13 .gpio6 = GPIO_MODE_GPIO,
14 .gpio7 = GPIO_MODE_GPIO,
15 .gpio8 = GPIO_MODE_GPIO,
16 .gpio9 = GPIO_MODE_GPIO,
17 .gpio12 = GPIO_MODE_GPIO,
18 .gpio15 = GPIO_MODE_GPIO,
19 .gpio21 = GPIO_MODE_GPIO,
Gabe Blackf40a2592012-03-29 18:04:56 -070020 .gpio22 = GPIO_MODE_GPIO,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020021 .gpio24 = GPIO_MODE_GPIO,
22 .gpio27 = GPIO_MODE_GPIO,
23 .gpio28 = GPIO_MODE_GPIO,
Stefan Reinauer6651da32012-04-27 23:16:30 +020024};
25
Peter Lemenkov6752b6152019-06-15 21:39:32 +020026static const struct pch_gpio_set1 pch_gpio_set1_direction = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020027 .gpio0 = GPIO_DIR_INPUT,
28 .gpio3 = GPIO_DIR_INPUT,
29 .gpio5 = GPIO_DIR_INPUT,
30 .gpio7 = GPIO_DIR_INPUT,
31 .gpio8 = GPIO_DIR_INPUT,
32 .gpio9 = GPIO_DIR_INPUT,
33 .gpio12 = GPIO_DIR_INPUT,
34 .gpio15 = GPIO_DIR_INPUT,
35 .gpio21 = GPIO_DIR_INPUT,
Gabe Blackf40a2592012-03-29 18:04:56 -070036 .gpio22 = GPIO_DIR_INPUT,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020037 .gpio27 = GPIO_DIR_INPUT,
Stefan Reinauer6651da32012-04-27 23:16:30 +020038};
39
Peter Lemenkov6752b6152019-06-15 21:39:32 +020040static const struct pch_gpio_set1 pch_gpio_set1_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020041};
42
Peter Lemenkov6752b6152019-06-15 21:39:32 +020043static const struct pch_gpio_set1 pch_gpio_set1_invert = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020044};
45
Peter Lemenkov6752b6152019-06-15 21:39:32 +020046static const struct pch_gpio_set2 pch_gpio_set2_mode = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020047 .gpio36 = GPIO_MODE_GPIO,
Gabe Blackf40a2592012-03-29 18:04:56 -070048 .gpio48 = GPIO_MODE_GPIO,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020049 .gpio57 = GPIO_MODE_GPIO,
50 .gpio60 = GPIO_MODE_GPIO,
Stefan Reinauer6651da32012-04-27 23:16:30 +020051};
52
Peter Lemenkov6752b6152019-06-15 21:39:32 +020053static const struct pch_gpio_set2 pch_gpio_set2_direction = {
Gabe Blackf40a2592012-03-29 18:04:56 -070054 .gpio48 = GPIO_DIR_INPUT,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020055 .gpio57 = GPIO_DIR_INPUT,
Stefan Reinauer6651da32012-04-27 23:16:30 +020056};
57
Peter Lemenkov6752b6152019-06-15 21:39:32 +020058static const struct pch_gpio_set2 pch_gpio_set2_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020059};
60
Peter Lemenkov6752b6152019-06-15 21:39:32 +020061static const struct pch_gpio_set3 pch_gpio_set3_mode = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020062};
63
Peter Lemenkov6752b6152019-06-15 21:39:32 +020064static const struct pch_gpio_set3 pch_gpio_set3_direction = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020065};
66
Peter Lemenkov6752b6152019-06-15 21:39:32 +020067static const struct pch_gpio_set3 pch_gpio_set3_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020068};
69
Vladimir Serbinenkoffbb3c02016-02-10 01:36:25 +010070const struct pch_gpio_map mainboard_gpio_map = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020071 .set1 = {
72 .mode = &pch_gpio_set1_mode,
73 .direction = &pch_gpio_set1_direction,
74 .level = &pch_gpio_set1_level,
75 .invert = &pch_gpio_set1_invert,
76 },
77 .set2 = {
78 .mode = &pch_gpio_set2_mode,
79 .direction = &pch_gpio_set2_direction,
80 .level = &pch_gpio_set2_level,
81 },
82 .set3 = {
83 .mode = &pch_gpio_set3_mode,
84 .direction = &pch_gpio_set3_direction,
85 .level = &pch_gpio_set3_level,
86 },
87};
88
89#endif