soc/intel/skylake: Add SKL SOC PCH H GPIO support
Add SKL/KBL PCH-H GPIO settings referring from SKL PCH-H specifications to support sklrvp11. Split the gpio_defs.h into headers gpio_pch_h_defs.h and gpio_soc_defs.h for PCH-H specific and SOC specific GPIO defs respectively. Change-Id: I5eaf8d809a1244a56038cbfc29502910eb90f9f2 Signed-off-by: Li Cheng Sooi <li.cheng.sooi@intel.com> Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> Reviewed-on: https://review.coreboot.org/18027 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
86ee4db0d8
commit
6a740539d1
|
@ -75,6 +75,26 @@ Device (GPIO)
|
||||||
*/
|
*/
|
||||||
Method (GADD, 1, NotSerialized)
|
Method (GADD, 1, NotSerialized)
|
||||||
{
|
{
|
||||||
|
#if IS_ENABLED(CONFIG_SKYLAKE_SOC_PCH_H)
|
||||||
|
/* GPIO Community 0 */
|
||||||
|
If (LAnd (LGreaterEqual (Arg0, GPP_A0), LLessEqual (Arg0, GPP_B23)))
|
||||||
|
{
|
||||||
|
Store (PID_GPIOCOM0, Local0)
|
||||||
|
Subtract (Arg0, GPP_A0, Local1)
|
||||||
|
}
|
||||||
|
/* GPIO Community 1 */
|
||||||
|
If (LAnd (LGreaterEqual (Arg0, GPP_C0), LLessEqual (Arg0, GPP_H23)))
|
||||||
|
{
|
||||||
|
Store (PID_GPIOCOM1, Local0)
|
||||||
|
Subtract (Arg0, GPP_C0, Local1)
|
||||||
|
}
|
||||||
|
/* GPIO Community 03 */
|
||||||
|
If (LAnd (LGreaterEqual (Arg0, GPP_I0), LLessEqual (Arg0, GPP_I10)))
|
||||||
|
{
|
||||||
|
Store (PID_GPIOCOM3, Local0)
|
||||||
|
Subtract (Arg0, GPP_I0, Local1)
|
||||||
|
}
|
||||||
|
#else
|
||||||
/* GPIO Community 0 */
|
/* GPIO Community 0 */
|
||||||
If (LAnd (LGreaterEqual (Arg0, GPP_A0), LLessEqual (Arg0, GPP_B23)))
|
If (LAnd (LGreaterEqual (Arg0, GPP_A0), LLessEqual (Arg0, GPP_B23)))
|
||||||
{
|
{
|
||||||
|
@ -93,6 +113,7 @@ Method (GADD, 1, NotSerialized)
|
||||||
Store (PID_GPIOCOM3, Local0)
|
Store (PID_GPIOCOM3, Local0)
|
||||||
Subtract (Arg0, GPP_F0, Local1)
|
Subtract (Arg0, GPP_F0, Local1)
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_SKYLAKE_SOC_PCH_H */
|
||||||
Store (PCRB (Local0), Local2)
|
Store (PCRB (Local0), Local2)
|
||||||
Add (Local2, PAD_CFG_DW_OFFSET, Local2)
|
Add (Local2, PAD_CFG_DW_OFFSET, Local2)
|
||||||
Return (Add (Local2, Multiply (Local1, 8)))
|
Return (Add (Local2, Multiply (Local1, 8)))
|
||||||
|
|
|
@ -45,12 +45,21 @@ static const struct gpio_community communities[] = {
|
||||||
{
|
{
|
||||||
.port_id = PID_GPIOCOM1,
|
.port_id = PID_GPIOCOM1,
|
||||||
.min = GPP_C0,
|
.min = GPP_C0,
|
||||||
|
#if IS_ENABLED(CONFIG_SKYLAKE_SOC_PCH_H)
|
||||||
|
.max = GPP_H23,
|
||||||
|
#else
|
||||||
.max = GPP_E23,
|
.max = GPP_E23,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.port_id = PID_GPIOCOM3,
|
.port_id = PID_GPIOCOM3,
|
||||||
|
#if IS_ENABLED(CONFIG_SKYLAKE_SOC_PCH_H)
|
||||||
|
.min = GPP_I0,
|
||||||
|
.max = GPP_I10,
|
||||||
|
#else
|
||||||
.min = GPP_F0,
|
.min = GPP_F0,
|
||||||
.max = GPP_G7,
|
.max = GPP_G7,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.port_id = PID_GPIOCOM2,
|
.port_id = PID_GPIOCOM2,
|
||||||
|
@ -67,6 +76,10 @@ static const char *gpio_group_names[GPIO_NUM_GROUPS] = {
|
||||||
"GPP_E",
|
"GPP_E",
|
||||||
"GPP_F",
|
"GPP_F",
|
||||||
"GPP_G",
|
"GPP_G",
|
||||||
|
#if IS_ENABLED(CONFIG_SKYLAKE_SOC_PCH_H)
|
||||||
|
"GPP_H",
|
||||||
|
"GPP_I",
|
||||||
|
#endif
|
||||||
"GPD",
|
"GPD",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -16,200 +16,11 @@
|
||||||
#ifndef _SOC_GPIO_DEFS_H_
|
#ifndef _SOC_GPIO_DEFS_H_
|
||||||
#define _SOC_GPIO_DEFS_H_
|
#define _SOC_GPIO_DEFS_H_
|
||||||
|
|
||||||
/*
|
#if IS_ENABLED(CONFIG_SKYLAKE_SOC_PCH_H)
|
||||||
* There are 8 GPIO groups. GPP_A -> GPP_G and GPD. GPD is the special case
|
# include <soc/gpio_pch_h_defs.h>
|
||||||
* where that group is not so generic. So most of the fixed numbers and macros
|
#else
|
||||||
* are based on the GPP groups. The GPIO groups are accessed through register
|
# include <soc/gpio_soc_defs.h>
|
||||||
* blocks called communities.
|
#endif
|
||||||
*/
|
|
||||||
#define GPP_A 0
|
|
||||||
#define GPP_B 1
|
|
||||||
#define GPP_C 2
|
|
||||||
#define GPP_D 3
|
|
||||||
#define GPP_E 4
|
|
||||||
#define GPP_F 5
|
|
||||||
#define GPP_G 6
|
|
||||||
#define GPD 7
|
|
||||||
#define GPIO_NUM_GROUPS 8
|
|
||||||
#define GPIO_MAX_NUM_PER_GROUP 24
|
|
||||||
|
|
||||||
#define GPIO_DWx_COUNT 2 /* DW0 and DW1 */
|
|
||||||
/*
|
|
||||||
* GPIOs are ordered monotonically increasing to match ACPI/OS driver.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Group A */
|
|
||||||
#define GPP_A0 0
|
|
||||||
#define GPP_A1 1
|
|
||||||
#define GPP_A2 2
|
|
||||||
#define GPP_A3 3
|
|
||||||
#define GPP_A4 4
|
|
||||||
#define GPP_A5 5
|
|
||||||
#define GPP_A6 6
|
|
||||||
#define GPP_A7 7
|
|
||||||
#define GPP_A8 8
|
|
||||||
#define GPP_A9 9
|
|
||||||
#define GPP_A10 10
|
|
||||||
#define GPP_A11 11
|
|
||||||
#define GPP_A12 12
|
|
||||||
#define GPP_A13 13
|
|
||||||
#define GPP_A14 14
|
|
||||||
#define GPP_A15 15
|
|
||||||
#define GPP_A16 16
|
|
||||||
#define GPP_A17 17
|
|
||||||
#define GPP_A18 18
|
|
||||||
#define GPP_A19 19
|
|
||||||
#define GPP_A20 20
|
|
||||||
#define GPP_A21 21
|
|
||||||
#define GPP_A22 22
|
|
||||||
#define GPP_A23 23
|
|
||||||
/* Group B */
|
|
||||||
#define GPP_B0 24
|
|
||||||
#define GPP_B1 25
|
|
||||||
#define GPP_B2 26
|
|
||||||
#define GPP_B3 27
|
|
||||||
#define GPP_B4 28
|
|
||||||
#define GPP_B5 29
|
|
||||||
#define GPP_B6 30
|
|
||||||
#define GPP_B7 31
|
|
||||||
#define GPP_B8 32
|
|
||||||
#define GPP_B9 33
|
|
||||||
#define GPP_B10 34
|
|
||||||
#define GPP_B11 35
|
|
||||||
#define GPP_B12 36
|
|
||||||
#define GPP_B13 37
|
|
||||||
#define GPP_B14 38
|
|
||||||
#define GPP_B15 39
|
|
||||||
#define GPP_B16 40
|
|
||||||
#define GPP_B17 41
|
|
||||||
#define GPP_B18 42
|
|
||||||
#define GPP_B19 43
|
|
||||||
#define GPP_B20 44
|
|
||||||
#define GPP_B21 45
|
|
||||||
#define GPP_B22 46
|
|
||||||
#define GPP_B23 47
|
|
||||||
/* Group C */
|
|
||||||
#define GPP_C0 48
|
|
||||||
#define GPP_C1 49
|
|
||||||
#define GPP_C2 50
|
|
||||||
#define GPP_C3 51
|
|
||||||
#define GPP_C4 52
|
|
||||||
#define GPP_C5 53
|
|
||||||
#define GPP_C6 54
|
|
||||||
#define GPP_C7 55
|
|
||||||
#define GPP_C8 56
|
|
||||||
#define GPP_C9 57
|
|
||||||
#define GPP_C10 58
|
|
||||||
#define GPP_C11 59
|
|
||||||
#define GPP_C12 60
|
|
||||||
#define GPP_C13 61
|
|
||||||
#define GPP_C14 62
|
|
||||||
#define GPP_C15 63
|
|
||||||
#define GPP_C16 64
|
|
||||||
#define GPP_C17 65
|
|
||||||
#define GPP_C18 66
|
|
||||||
#define GPP_C19 67
|
|
||||||
#define GPP_C20 68
|
|
||||||
#define GPP_C21 69
|
|
||||||
#define GPP_C22 70
|
|
||||||
#define GPP_C23 71
|
|
||||||
/* Group D */
|
|
||||||
#define GPP_D0 72
|
|
||||||
#define GPP_D1 73
|
|
||||||
#define GPP_D2 74
|
|
||||||
#define GPP_D3 75
|
|
||||||
#define GPP_D4 76
|
|
||||||
#define GPP_D5 77
|
|
||||||
#define GPP_D6 78
|
|
||||||
#define GPP_D7 79
|
|
||||||
#define GPP_D8 80
|
|
||||||
#define GPP_D9 81
|
|
||||||
#define GPP_D10 82
|
|
||||||
#define GPP_D11 83
|
|
||||||
#define GPP_D12 84
|
|
||||||
#define GPP_D13 85
|
|
||||||
#define GPP_D14 86
|
|
||||||
#define GPP_D15 87
|
|
||||||
#define GPP_D16 88
|
|
||||||
#define GPP_D17 89
|
|
||||||
#define GPP_D18 90
|
|
||||||
#define GPP_D19 91
|
|
||||||
#define GPP_D20 92
|
|
||||||
#define GPP_D21 93
|
|
||||||
#define GPP_D22 94
|
|
||||||
#define GPP_D23 95
|
|
||||||
/* Group E */
|
|
||||||
#define GPP_E0 96
|
|
||||||
#define GPP_E1 97
|
|
||||||
#define GPP_E2 98
|
|
||||||
#define GPP_E3 99
|
|
||||||
#define GPP_E4 100
|
|
||||||
#define GPP_E5 101
|
|
||||||
#define GPP_E6 102
|
|
||||||
#define GPP_E7 103
|
|
||||||
#define GPP_E8 104
|
|
||||||
#define GPP_E9 105
|
|
||||||
#define GPP_E10 106
|
|
||||||
#define GPP_E11 107
|
|
||||||
#define GPP_E12 108
|
|
||||||
#define GPP_E13 109
|
|
||||||
#define GPP_E14 110
|
|
||||||
#define GPP_E15 111
|
|
||||||
#define GPP_E16 112
|
|
||||||
#define GPP_E17 113
|
|
||||||
#define GPP_E18 114
|
|
||||||
#define GPP_E19 115
|
|
||||||
#define GPP_E20 116
|
|
||||||
#define GPP_E21 117
|
|
||||||
#define GPP_E22 118
|
|
||||||
#define GPP_E23 119
|
|
||||||
/* Group F */
|
|
||||||
#define GPP_F0 120
|
|
||||||
#define GPP_F1 121
|
|
||||||
#define GPP_F2 122
|
|
||||||
#define GPP_F3 123
|
|
||||||
#define GPP_F4 124
|
|
||||||
#define GPP_F5 125
|
|
||||||
#define GPP_F6 126
|
|
||||||
#define GPP_F7 127
|
|
||||||
#define GPP_F8 128
|
|
||||||
#define GPP_F9 129
|
|
||||||
#define GPP_F10 130
|
|
||||||
#define GPP_F11 131
|
|
||||||
#define GPP_F12 132
|
|
||||||
#define GPP_F13 133
|
|
||||||
#define GPP_F14 134
|
|
||||||
#define GPP_F15 135
|
|
||||||
#define GPP_F16 136
|
|
||||||
#define GPP_F17 137
|
|
||||||
#define GPP_F18 138
|
|
||||||
#define GPP_F19 139
|
|
||||||
#define GPP_F20 140
|
|
||||||
#define GPP_F21 141
|
|
||||||
#define GPP_F22 142
|
|
||||||
#define GPP_F23 143
|
|
||||||
/* Group G */
|
|
||||||
#define GPP_G0 144
|
|
||||||
#define GPP_G1 145
|
|
||||||
#define GPP_G2 146
|
|
||||||
#define GPP_G3 147
|
|
||||||
#define GPP_G4 148
|
|
||||||
#define GPP_G5 149
|
|
||||||
#define GPP_G6 150
|
|
||||||
#define GPP_G7 151
|
|
||||||
/* Group GPD */
|
|
||||||
#define GPD0 152
|
|
||||||
#define GPD1 153
|
|
||||||
#define GPD2 154
|
|
||||||
#define GPD3 155
|
|
||||||
#define GPD4 156
|
|
||||||
#define GPD5 157
|
|
||||||
#define GPD6 158
|
|
||||||
#define GPD7 159
|
|
||||||
#define GPD8 160
|
|
||||||
#define GPD9 161
|
|
||||||
#define GPD10 162
|
|
||||||
#define GPD11 163
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IOxAPIC IRQs for the GPIOs
|
* IOxAPIC IRQs for the GPIOs
|
||||||
|
|
|
@ -0,0 +1,257 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright 2015 Google Inc.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SOC_GPIO_PCH_H_DEFS_H_
|
||||||
|
#define _SOC_GPIO_PCH_H_DEFS_H_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There are 10 GPIO groups. GPP_A -> GPP_I and GPD. GPD is the special case
|
||||||
|
* where that group is not so generic. So most of the fixed numbers and macros
|
||||||
|
* are based on the GPP groups. The GPIO groups are accessed through register
|
||||||
|
* blocks called communities.
|
||||||
|
*/
|
||||||
|
#define GPP_A 0
|
||||||
|
#define GPP_B 1
|
||||||
|
#define GPP_C 2
|
||||||
|
#define GPP_D 3
|
||||||
|
#define GPP_E 4
|
||||||
|
#define GPP_F 5
|
||||||
|
#define GPP_G 6
|
||||||
|
#define GPP_H 7
|
||||||
|
#define GPP_I 8
|
||||||
|
#define GPD 9
|
||||||
|
#define GPIO_NUM_GROUPS 10
|
||||||
|
#define GPIO_MAX_NUM_PER_GROUP 24
|
||||||
|
|
||||||
|
#define GPIO_DWx_COUNT 2 /* DW0 and DW1 */
|
||||||
|
/*
|
||||||
|
* GPIOs are ordered monotonically increasing to match ACPI/OS driver.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Group A */
|
||||||
|
#define GPP_A0 0
|
||||||
|
#define GPP_A1 1
|
||||||
|
#define GPP_A2 2
|
||||||
|
#define GPP_A3 3
|
||||||
|
#define GPP_A4 4
|
||||||
|
#define GPP_A5 5
|
||||||
|
#define GPP_A6 6
|
||||||
|
#define GPP_A7 7
|
||||||
|
#define GPP_A8 8
|
||||||
|
#define GPP_A9 9
|
||||||
|
#define GPP_A10 10
|
||||||
|
#define GPP_A11 11
|
||||||
|
#define GPP_A12 12
|
||||||
|
#define GPP_A13 13
|
||||||
|
#define GPP_A14 14
|
||||||
|
#define GPP_A15 15
|
||||||
|
#define GPP_A16 16
|
||||||
|
#define GPP_A17 17
|
||||||
|
#define GPP_A18 18
|
||||||
|
#define GPP_A19 19
|
||||||
|
#define GPP_A20 20
|
||||||
|
#define GPP_A21 21
|
||||||
|
#define GPP_A22 22
|
||||||
|
#define GPP_A23 23
|
||||||
|
/* Group B */
|
||||||
|
#define GPP_B0 24
|
||||||
|
#define GPP_B1 25
|
||||||
|
#define GPP_B2 26
|
||||||
|
#define GPP_B3 27
|
||||||
|
#define GPP_B4 28
|
||||||
|
#define GPP_B5 29
|
||||||
|
#define GPP_B6 30
|
||||||
|
#define GPP_B7 31
|
||||||
|
#define GPP_B8 32
|
||||||
|
#define GPP_B9 33
|
||||||
|
#define GPP_B10 34
|
||||||
|
#define GPP_B11 35
|
||||||
|
#define GPP_B12 36
|
||||||
|
#define GPP_B13 37
|
||||||
|
#define GPP_B14 38
|
||||||
|
#define GPP_B15 39
|
||||||
|
#define GPP_B16 40
|
||||||
|
#define GPP_B17 41
|
||||||
|
#define GPP_B18 42
|
||||||
|
#define GPP_B19 43
|
||||||
|
#define GPP_B20 44
|
||||||
|
#define GPP_B21 45
|
||||||
|
#define GPP_B22 46
|
||||||
|
#define GPP_B23 47
|
||||||
|
/* Group C */
|
||||||
|
#define GPP_C0 48
|
||||||
|
#define GPP_C1 49
|
||||||
|
#define GPP_C2 50
|
||||||
|
#define GPP_C3 51
|
||||||
|
#define GPP_C4 52
|
||||||
|
#define GPP_C5 53
|
||||||
|
#define GPP_C6 54
|
||||||
|
#define GPP_C7 55
|
||||||
|
#define GPP_C8 56
|
||||||
|
#define GPP_C9 57
|
||||||
|
#define GPP_C10 58
|
||||||
|
#define GPP_C11 59
|
||||||
|
#define GPP_C12 60
|
||||||
|
#define GPP_C13 61
|
||||||
|
#define GPP_C14 62
|
||||||
|
#define GPP_C15 63
|
||||||
|
#define GPP_C16 64
|
||||||
|
#define GPP_C17 65
|
||||||
|
#define GPP_C18 66
|
||||||
|
#define GPP_C19 67
|
||||||
|
#define GPP_C20 68
|
||||||
|
#define GPP_C21 69
|
||||||
|
#define GPP_C22 70
|
||||||
|
#define GPP_C23 71
|
||||||
|
/* Group D */
|
||||||
|
#define GPP_D0 72
|
||||||
|
#define GPP_D1 73
|
||||||
|
#define GPP_D2 74
|
||||||
|
#define GPP_D3 75
|
||||||
|
#define GPP_D4 76
|
||||||
|
#define GPP_D5 77
|
||||||
|
#define GPP_D6 78
|
||||||
|
#define GPP_D7 79
|
||||||
|
#define GPP_D8 80
|
||||||
|
#define GPP_D9 81
|
||||||
|
#define GPP_D10 82
|
||||||
|
#define GPP_D11 83
|
||||||
|
#define GPP_D12 84
|
||||||
|
#define GPP_D13 85
|
||||||
|
#define GPP_D14 86
|
||||||
|
#define GPP_D15 87
|
||||||
|
#define GPP_D16 88
|
||||||
|
#define GPP_D17 89
|
||||||
|
#define GPP_D18 90
|
||||||
|
#define GPP_D19 91
|
||||||
|
#define GPP_D20 92
|
||||||
|
#define GPP_D21 93
|
||||||
|
#define GPP_D22 94
|
||||||
|
#define GPP_D23 95
|
||||||
|
/* Group E */
|
||||||
|
#define GPP_E0 96
|
||||||
|
#define GPP_E1 97
|
||||||
|
#define GPP_E2 98
|
||||||
|
#define GPP_E3 99
|
||||||
|
#define GPP_E4 100
|
||||||
|
#define GPP_E5 101
|
||||||
|
#define GPP_E6 102
|
||||||
|
#define GPP_E7 103
|
||||||
|
#define GPP_E8 104
|
||||||
|
#define GPP_E9 105
|
||||||
|
#define GPP_E10 106
|
||||||
|
#define GPP_E11 107
|
||||||
|
#define GPP_E12 108
|
||||||
|
/* Group F */
|
||||||
|
#define GPP_F0 109
|
||||||
|
#define GPP_F1 110
|
||||||
|
#define GPP_F2 111
|
||||||
|
#define GPP_F3 112
|
||||||
|
#define GPP_F4 113
|
||||||
|
#define GPP_F5 114
|
||||||
|
#define GPP_F6 115
|
||||||
|
#define GPP_F7 116
|
||||||
|
#define GPP_F8 117
|
||||||
|
#define GPP_F9 118
|
||||||
|
#define GPP_F10 119
|
||||||
|
#define GPP_F11 120
|
||||||
|
#define GPP_F12 121
|
||||||
|
#define GPP_F13 122
|
||||||
|
#define GPP_F14 123
|
||||||
|
#define GPP_F15 124
|
||||||
|
#define GPP_F16 125
|
||||||
|
#define GPP_F17 126
|
||||||
|
#define GPP_F18 127
|
||||||
|
#define GPP_F19 128
|
||||||
|
#define GPP_F20 129
|
||||||
|
#define GPP_F21 130
|
||||||
|
#define GPP_F22 131
|
||||||
|
#define GPP_F23 132
|
||||||
|
/* Group G */
|
||||||
|
#define GPP_G0 133
|
||||||
|
#define GPP_G1 134
|
||||||
|
#define GPP_G2 135
|
||||||
|
#define GPP_G3 136
|
||||||
|
#define GPP_G4 137
|
||||||
|
#define GPP_G5 138
|
||||||
|
#define GPP_G6 139
|
||||||
|
#define GPP_G7 140
|
||||||
|
#define GPP_G8 141
|
||||||
|
#define GPP_G9 142
|
||||||
|
#define GPP_G10 143
|
||||||
|
#define GPP_G11 144
|
||||||
|
#define GPP_G12 145
|
||||||
|
#define GPP_G13 146
|
||||||
|
#define GPP_G14 147
|
||||||
|
#define GPP_G15 148
|
||||||
|
#define GPP_G16 149
|
||||||
|
#define GPP_G17 150
|
||||||
|
#define GPP_G18 151
|
||||||
|
#define GPP_G19 152
|
||||||
|
#define GPP_G20 153
|
||||||
|
#define GPP_G21 154
|
||||||
|
#define GPP_G22 155
|
||||||
|
#define GPP_G23 156
|
||||||
|
/* Group H */
|
||||||
|
#define GPP_H0 157
|
||||||
|
#define GPP_H1 158
|
||||||
|
#define GPP_H2 159
|
||||||
|
#define GPP_H3 160
|
||||||
|
#define GPP_H4 161
|
||||||
|
#define GPP_H5 162
|
||||||
|
#define GPP_H6 163
|
||||||
|
#define GPP_H7 164
|
||||||
|
#define GPP_H8 165
|
||||||
|
#define GPP_H9 166
|
||||||
|
#define GPP_H10 167
|
||||||
|
#define GPP_H11 168
|
||||||
|
#define GPP_H12 169
|
||||||
|
#define GPP_H13 170
|
||||||
|
#define GPP_H14 171
|
||||||
|
#define GPP_H15 172
|
||||||
|
#define GPP_H16 173
|
||||||
|
#define GPP_H17 174
|
||||||
|
#define GPP_H18 175
|
||||||
|
#define GPP_H19 176
|
||||||
|
#define GPP_H20 177
|
||||||
|
#define GPP_H21 178
|
||||||
|
#define GPP_H22 179
|
||||||
|
#define GPP_H23 180
|
||||||
|
/* Group I */
|
||||||
|
#define GPP_I0 181
|
||||||
|
#define GPP_I1 182
|
||||||
|
#define GPP_I2 183
|
||||||
|
#define GPP_I3 184
|
||||||
|
#define GPP_I4 185
|
||||||
|
#define GPP_I5 186
|
||||||
|
#define GPP_I6 187
|
||||||
|
#define GPP_I7 188
|
||||||
|
#define GPP_I8 189
|
||||||
|
#define GPP_I9 190
|
||||||
|
#define GPP_I10 191
|
||||||
|
/* Group GPD */
|
||||||
|
#define GPD0 192
|
||||||
|
#define GPD1 193
|
||||||
|
#define GPD2 194
|
||||||
|
#define GPD3 195
|
||||||
|
#define GPD4 196
|
||||||
|
#define GPD5 197
|
||||||
|
#define GPD6 198
|
||||||
|
#define GPD7 199
|
||||||
|
#define GPD8 200
|
||||||
|
#define GPD9 201
|
||||||
|
#define GPD10 202
|
||||||
|
#define GPD11 203
|
||||||
|
#endif /* _SOC_GPIO_PCH_H_DEFS_H_ */
|
|
@ -0,0 +1,214 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright 2015 Google Inc.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SOC_GPIO_SOC_DEFS_H_
|
||||||
|
#define _SOC_GPIO_SOC_DEFS_H_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There are 8 GPIO groups. GPP_A -> GPP_G and GPD. GPD is the special case
|
||||||
|
* where that group is not so generic. So most of the fixed numbers and macros
|
||||||
|
* are based on the GPP groups. The GPIO groups are accessed through register
|
||||||
|
* blocks called communities.
|
||||||
|
*/
|
||||||
|
#define GPP_A 0
|
||||||
|
#define GPP_B 1
|
||||||
|
#define GPP_C 2
|
||||||
|
#define GPP_D 3
|
||||||
|
#define GPP_E 4
|
||||||
|
#define GPP_F 5
|
||||||
|
#define GPP_G 6
|
||||||
|
#define GPD 7
|
||||||
|
#define GPIO_NUM_GROUPS 8
|
||||||
|
#define GPIO_MAX_NUM_PER_GROUP 24
|
||||||
|
|
||||||
|
#define GPIO_DWx_COUNT 2 /* DW0 and DW1 */
|
||||||
|
/*
|
||||||
|
* GPIOs are ordered monotonically increasing to match ACPI/OS driver.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Group A */
|
||||||
|
#define GPP_A0 0
|
||||||
|
#define GPP_A1 1
|
||||||
|
#define GPP_A2 2
|
||||||
|
#define GPP_A3 3
|
||||||
|
#define GPP_A4 4
|
||||||
|
#define GPP_A5 5
|
||||||
|
#define GPP_A6 6
|
||||||
|
#define GPP_A7 7
|
||||||
|
#define GPP_A8 8
|
||||||
|
#define GPP_A9 9
|
||||||
|
#define GPP_A10 10
|
||||||
|
#define GPP_A11 11
|
||||||
|
#define GPP_A12 12
|
||||||
|
#define GPP_A13 13
|
||||||
|
#define GPP_A14 14
|
||||||
|
#define GPP_A15 15
|
||||||
|
#define GPP_A16 16
|
||||||
|
#define GPP_A17 17
|
||||||
|
#define GPP_A18 18
|
||||||
|
#define GPP_A19 19
|
||||||
|
#define GPP_A20 20
|
||||||
|
#define GPP_A21 21
|
||||||
|
#define GPP_A22 22
|
||||||
|
#define GPP_A23 23
|
||||||
|
/* Group B */
|
||||||
|
#define GPP_B0 24
|
||||||
|
#define GPP_B1 25
|
||||||
|
#define GPP_B2 26
|
||||||
|
#define GPP_B3 27
|
||||||
|
#define GPP_B4 28
|
||||||
|
#define GPP_B5 29
|
||||||
|
#define GPP_B6 30
|
||||||
|
#define GPP_B7 31
|
||||||
|
#define GPP_B8 32
|
||||||
|
#define GPP_B9 33
|
||||||
|
#define GPP_B10 34
|
||||||
|
#define GPP_B11 35
|
||||||
|
#define GPP_B12 36
|
||||||
|
#define GPP_B13 37
|
||||||
|
#define GPP_B14 38
|
||||||
|
#define GPP_B15 39
|
||||||
|
#define GPP_B16 40
|
||||||
|
#define GPP_B17 41
|
||||||
|
#define GPP_B18 42
|
||||||
|
#define GPP_B19 43
|
||||||
|
#define GPP_B20 44
|
||||||
|
#define GPP_B21 45
|
||||||
|
#define GPP_B22 46
|
||||||
|
#define GPP_B23 47
|
||||||
|
/* Group C */
|
||||||
|
#define GPP_C0 48
|
||||||
|
#define GPP_C1 49
|
||||||
|
#define GPP_C2 50
|
||||||
|
#define GPP_C3 51
|
||||||
|
#define GPP_C4 52
|
||||||
|
#define GPP_C5 53
|
||||||
|
#define GPP_C6 54
|
||||||
|
#define GPP_C7 55
|
||||||
|
#define GPP_C8 56
|
||||||
|
#define GPP_C9 57
|
||||||
|
#define GPP_C10 58
|
||||||
|
#define GPP_C11 59
|
||||||
|
#define GPP_C12 60
|
||||||
|
#define GPP_C13 61
|
||||||
|
#define GPP_C14 62
|
||||||
|
#define GPP_C15 63
|
||||||
|
#define GPP_C16 64
|
||||||
|
#define GPP_C17 65
|
||||||
|
#define GPP_C18 66
|
||||||
|
#define GPP_C19 67
|
||||||
|
#define GPP_C20 68
|
||||||
|
#define GPP_C21 69
|
||||||
|
#define GPP_C22 70
|
||||||
|
#define GPP_C23 71
|
||||||
|
/* Group D */
|
||||||
|
#define GPP_D0 72
|
||||||
|
#define GPP_D1 73
|
||||||
|
#define GPP_D2 74
|
||||||
|
#define GPP_D3 75
|
||||||
|
#define GPP_D4 76
|
||||||
|
#define GPP_D5 77
|
||||||
|
#define GPP_D6 78
|
||||||
|
#define GPP_D7 79
|
||||||
|
#define GPP_D8 80
|
||||||
|
#define GPP_D9 81
|
||||||
|
#define GPP_D10 82
|
||||||
|
#define GPP_D11 83
|
||||||
|
#define GPP_D12 84
|
||||||
|
#define GPP_D13 85
|
||||||
|
#define GPP_D14 86
|
||||||
|
#define GPP_D15 87
|
||||||
|
#define GPP_D16 88
|
||||||
|
#define GPP_D17 89
|
||||||
|
#define GPP_D18 90
|
||||||
|
#define GPP_D19 91
|
||||||
|
#define GPP_D20 92
|
||||||
|
#define GPP_D21 93
|
||||||
|
#define GPP_D22 94
|
||||||
|
#define GPP_D23 95
|
||||||
|
/* Group E */
|
||||||
|
#define GPP_E0 96
|
||||||
|
#define GPP_E1 97
|
||||||
|
#define GPP_E2 98
|
||||||
|
#define GPP_E3 99
|
||||||
|
#define GPP_E4 100
|
||||||
|
#define GPP_E5 101
|
||||||
|
#define GPP_E6 102
|
||||||
|
#define GPP_E7 103
|
||||||
|
#define GPP_E8 104
|
||||||
|
#define GPP_E9 105
|
||||||
|
#define GPP_E10 106
|
||||||
|
#define GPP_E11 107
|
||||||
|
#define GPP_E12 108
|
||||||
|
#define GPP_E13 109
|
||||||
|
#define GPP_E14 110
|
||||||
|
#define GPP_E15 111
|
||||||
|
#define GPP_E16 112
|
||||||
|
#define GPP_E17 113
|
||||||
|
#define GPP_E18 114
|
||||||
|
#define GPP_E19 115
|
||||||
|
#define GPP_E20 116
|
||||||
|
#define GPP_E21 117
|
||||||
|
#define GPP_E22 118
|
||||||
|
#define GPP_E23 119
|
||||||
|
/* Group F */
|
||||||
|
#define GPP_F0 120
|
||||||
|
#define GPP_F1 121
|
||||||
|
#define GPP_F2 122
|
||||||
|
#define GPP_F3 123
|
||||||
|
#define GPP_F4 124
|
||||||
|
#define GPP_F5 125
|
||||||
|
#define GPP_F6 126
|
||||||
|
#define GPP_F7 127
|
||||||
|
#define GPP_F8 128
|
||||||
|
#define GPP_F9 129
|
||||||
|
#define GPP_F10 130
|
||||||
|
#define GPP_F11 131
|
||||||
|
#define GPP_F12 132
|
||||||
|
#define GPP_F13 133
|
||||||
|
#define GPP_F14 134
|
||||||
|
#define GPP_F15 135
|
||||||
|
#define GPP_F16 136
|
||||||
|
#define GPP_F17 137
|
||||||
|
#define GPP_F18 138
|
||||||
|
#define GPP_F19 139
|
||||||
|
#define GPP_F20 140
|
||||||
|
#define GPP_F21 141
|
||||||
|
#define GPP_F22 142
|
||||||
|
#define GPP_F23 143
|
||||||
|
/* Group G */
|
||||||
|
#define GPP_G0 144
|
||||||
|
#define GPP_G1 145
|
||||||
|
#define GPP_G2 146
|
||||||
|
#define GPP_G3 147
|
||||||
|
#define GPP_G4 148
|
||||||
|
#define GPP_G5 149
|
||||||
|
#define GPP_G6 150
|
||||||
|
#define GPP_G7 151
|
||||||
|
/* Group GPD */
|
||||||
|
#define GPD0 152
|
||||||
|
#define GPD1 153
|
||||||
|
#define GPD2 154
|
||||||
|
#define GPD3 155
|
||||||
|
#define GPD4 156
|
||||||
|
#define GPD5 157
|
||||||
|
#define GPD6 158
|
||||||
|
#define GPD7 159
|
||||||
|
#define GPD8 160
|
||||||
|
#define GPD9 161
|
||||||
|
#define GPD10 162
|
||||||
|
#define GPD11 163
|
||||||
|
|
||||||
|
#endif /* _SOC_GPIO_SOC_DEFS_H_ */
|
Loading…
Reference in New Issue