blob: 90010b91702ec8a19d09b43f94b1d3cba116f0e9 [file] [log] [blame]
Stefan Reinauer6651da32012-04-27 23:16:30 +02001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Stefan Reinauer6651da32012-04-27 23:16:30 +020014 */
15
Gabe Black599e2042012-03-30 14:33:02 -070016#ifndef EMERALDLAKE2_GPIO_H
17#define EMERALDLAKE2_GPIO_H
Stefan Reinauer6651da32012-04-27 23:16:30 +020018
Patrick Rudolphe8e66f42016-02-06 17:42:42 +010019#include <southbridge/intel/common/gpio.h>
Stefan Reinauer6651da32012-04-27 23:16:30 +020020
Peter Lemenkov6752b6152019-06-15 21:39:32 +020021static const struct pch_gpio_set1 pch_gpio_set1_mode = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020022 .gpio0 = GPIO_MODE_GPIO,
23 .gpio1 = GPIO_MODE_GPIO,
24 .gpio3 = GPIO_MODE_GPIO,
25 .gpio5 = GPIO_MODE_GPIO,
26 .gpio6 = GPIO_MODE_GPIO,
27 .gpio7 = GPIO_MODE_GPIO,
28 .gpio8 = GPIO_MODE_GPIO,
29 .gpio9 = GPIO_MODE_GPIO,
30 .gpio12 = GPIO_MODE_GPIO,
31 .gpio15 = GPIO_MODE_GPIO,
32 .gpio21 = GPIO_MODE_GPIO,
Gabe Blackf40a2592012-03-29 18:04:56 -070033 .gpio22 = GPIO_MODE_GPIO,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020034 .gpio24 = GPIO_MODE_GPIO,
35 .gpio27 = GPIO_MODE_GPIO,
36 .gpio28 = GPIO_MODE_GPIO,
Stefan Reinauer6651da32012-04-27 23:16:30 +020037};
38
Peter Lemenkov6752b6152019-06-15 21:39:32 +020039static const struct pch_gpio_set1 pch_gpio_set1_direction = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020040 .gpio0 = GPIO_DIR_INPUT,
41 .gpio3 = GPIO_DIR_INPUT,
42 .gpio5 = GPIO_DIR_INPUT,
43 .gpio7 = GPIO_DIR_INPUT,
44 .gpio8 = GPIO_DIR_INPUT,
45 .gpio9 = GPIO_DIR_INPUT,
46 .gpio12 = GPIO_DIR_INPUT,
47 .gpio15 = GPIO_DIR_INPUT,
48 .gpio21 = GPIO_DIR_INPUT,
Gabe Blackf40a2592012-03-29 18:04:56 -070049 .gpio22 = GPIO_DIR_INPUT,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020050 .gpio27 = GPIO_DIR_INPUT,
Stefan Reinauer6651da32012-04-27 23:16:30 +020051};
52
Peter Lemenkov6752b6152019-06-15 21:39:32 +020053static const struct pch_gpio_set1 pch_gpio_set1_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020054};
55
Peter Lemenkov6752b6152019-06-15 21:39:32 +020056static const struct pch_gpio_set1 pch_gpio_set1_invert = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020057};
58
Peter Lemenkov6752b6152019-06-15 21:39:32 +020059static const struct pch_gpio_set2 pch_gpio_set2_mode = {
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020060 .gpio36 = GPIO_MODE_GPIO,
Gabe Blackf40a2592012-03-29 18:04:56 -070061 .gpio48 = GPIO_MODE_GPIO,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020062 .gpio57 = GPIO_MODE_GPIO,
63 .gpio60 = GPIO_MODE_GPIO,
Stefan Reinauer6651da32012-04-27 23:16:30 +020064};
65
Peter Lemenkov6752b6152019-06-15 21:39:32 +020066static const struct pch_gpio_set2 pch_gpio_set2_direction = {
Gabe Blackf40a2592012-03-29 18:04:56 -070067 .gpio48 = GPIO_DIR_INPUT,
Elyes HAOUAS499ccbe2016-09-27 20:52:06 +020068 .gpio57 = GPIO_DIR_INPUT,
Stefan Reinauer6651da32012-04-27 23:16:30 +020069};
70
Peter Lemenkov6752b6152019-06-15 21:39:32 +020071static const struct pch_gpio_set2 pch_gpio_set2_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020072};
73
Peter Lemenkov6752b6152019-06-15 21:39:32 +020074static const struct pch_gpio_set3 pch_gpio_set3_mode = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020075};
76
Peter Lemenkov6752b6152019-06-15 21:39:32 +020077static const struct pch_gpio_set3 pch_gpio_set3_direction = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020078};
79
Peter Lemenkov6752b6152019-06-15 21:39:32 +020080static const struct pch_gpio_set3 pch_gpio_set3_level = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020081};
82
Vladimir Serbinenkoffbb3c02016-02-10 01:36:25 +010083const struct pch_gpio_map mainboard_gpio_map = {
Stefan Reinauer6651da32012-04-27 23:16:30 +020084 .set1 = {
85 .mode = &pch_gpio_set1_mode,
86 .direction = &pch_gpio_set1_direction,
87 .level = &pch_gpio_set1_level,
88 .invert = &pch_gpio_set1_invert,
89 },
90 .set2 = {
91 .mode = &pch_gpio_set2_mode,
92 .direction = &pch_gpio_set2_direction,
93 .level = &pch_gpio_set2_level,
94 },
95 .set3 = {
96 .mode = &pch_gpio_set3_mode,
97 .direction = &pch_gpio_set3_direction,
98 .level = &pch_gpio_set3_level,
99 },
100};
101
102#endif