2 * Copyright (c) 2016 Google, Inc
4 * From Coreboot src/soc/intel/broadwell/include/soc/gpio.h
6 * SPDX-License-Identifier: GPL-2.0
9 #ifndef __ASM_ARCH_GPIO
10 #define __ASM_ARCH_GPIO
12 #define GPIO_PER_BANK 32
15 struct broadwell_bank_platdata {
17 const char *bank_name;
21 /* PCH-LP GPIOBASE Registers */
22 struct pch_lp_gpio_regs {
37 u32 gpi_route[GPIO_BANKS];
46 u32 rst_sel[GPIO_BANKS];
52 u32 gpi_is[GPIO_BANKS];
55 u32 gpi_ie[GPIO_BANKS];
63 } config[GPIO_BANKS * GPIO_PER_BANK];
65 check_member(pch_lp_gpio_regs, gpi_ie[0], 0x90);
66 check_member(pch_lp_gpio_regs, config[0], 0x100);
70 CONFA_MODE_GPIO = 1 << CONFA_MODE_SHIFT,
73 CONFA_DIR_INPUT = 1 << CONFA_DIR_SHIFT,
75 CONFA_INVERT_SHIFT = 3,
76 CONFA_INVERT = 1 << CONFA_INVERT_SHIFT,
78 CONFA_TRIGGER_SHIFT = 4,
79 CONFA_TRIGGER_LEVEL = 1 << CONFA_TRIGGER_SHIFT,
81 CONFA_LEVEL_SHIFT = 30,
82 CONFA_LEVEL_HIGH = 1UL << CONFA_LEVEL_SHIFT,
84 CONFA_OUTPUT_SHIFT = 31,
85 CONFA_OUTPUT_HIGH = 1UL << CONFA_OUTPUT_SHIFT,
87 CONFB_SENSE_SHIFT = 2,
88 CONFB_SENSE_DISABLE = 1 << CONFB_SENSE_SHIFT,