1364ac3478
EBG (Emmitsburg) PCH is used in Intel SPR-SP chipset. Its datasheet is Intel doc# 606161. Add Intel Emmitsburg PCH GPIO pin definitions. Also common code change is made to support Intel Emmitsburg PCH: a. Instead of 2 PAD registers per GPIO, it has 4 PAD registers. b. The register address space may not be contiguous from one GPIO group to the next GPIO group. Change-Id: Ia0d9179544020b6abb0be1ecd275a9a46356db8a Signed-off-by: Jonathan Zhang <jonzhang@meta.com> Signed-off-by: Christian Walter <christian.walter@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/71943 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: David Hendricks <david.hendricks@gmail.com>
23 lines
519 B
C
23 lines
519 B
C
#ifndef GPIO_NAMES_GPIO_GROUPS_H
|
|
#define GPIO_NAMES_GPIO_GROUPS_H
|
|
|
|
struct gpio_group {
|
|
const char *display;
|
|
size_t pad_count;
|
|
size_t func_count;
|
|
/*
|
|
* This field is necessary for EBG, since the pad configuration registers
|
|
* within a community are no longer contiguous.
|
|
*/
|
|
uint32_t pad_offset;
|
|
const char *const *pad_names; /* indexed by 'pad * func_count + func' */
|
|
};
|
|
|
|
struct gpio_community {
|
|
const char *name;
|
|
uint8_t pcr_port_id;
|
|
size_t group_count;
|
|
const struct gpio_group *const *groups;
|
|
};
|
|
|
|
#endif
|