coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.c File Reference
#include <intelblocks/gpio.h>
#include <intelblocks/pcr.h>
#include <soc/pcr_ids.h>
#include <soc/pm.h>
Include dependency graph for gpio.c:

Go to the source code of this file.

Functions

const struct pad_communitysoc_gpio_get_community (size_t *num_communities)
 
const struct pmc_to_gpio_routesoc_pmc_gpio_routes (size_t *num)
 
uint32_t soc_gpio_pad_config_fixup (const struct pad_config *cfg, int dw_reg, uint32_t reg_val)
 

Variables

static const struct reset_mapping rst_map []
 
static const struct reset_mapping rst_map_com2 []
 
static const struct pad_group skl_community_com0_groups []
 
static const struct pad_group skl_community_com1_groups []
 
static const struct pad_group skl_community_com3_groups []
 
static const struct pad_group skl_community_com2_groups []
 
static const struct pad_community skl_gpio_communities []
 

Function Documentation

◆ soc_gpio_get_community()

const struct pad_community* soc_gpio_get_community ( size_t num_communities)

Definition at line 146 of file gpio.c.

References ARRAY_SIZE, and skl_gpio_communities.

◆ soc_gpio_pad_config_fixup()

uint32_t soc_gpio_pad_config_fixup ( const struct pad_config cfg,
int  dw_reg,
uint32_t  reg_val 
)

Definition at line 172 of file gpio.c.

References CONFIG, GPP_F11, GPP_F4, and pad_config::pad.

◆ soc_pmc_gpio_routes()

const struct pmc_to_gpio_route* soc_pmc_gpio_routes ( size_t num)

Definition at line 152 of file gpio.c.

References ARRAY_SIZE, GPD, GPP_A, GPP_B, GPP_C, GPP_D, GPP_E, GPP_F, GPP_G, GPP_H, and GPP_I.

Variable Documentation

◆ rst_map

const struct reset_mapping rst_map[]
static
Initial value:
= {
{ .logical = PAD_CFG0_LOGICAL_RESET_RSMRST, .chipset = 0U << 30},
{ .logical = PAD_CFG0_LOGICAL_RESET_DEEP, .chipset = 1U << 30},
{ .logical = PAD_CFG0_LOGICAL_RESET_PLTRST, .chipset = 2U << 30},
}
#define PAD_CFG0_LOGICAL_RESET_RSMRST
Definition: gpio_defs.h:47
#define PAD_CFG0_LOGICAL_RESET_PLTRST
Definition: gpio_defs.h:46
#define PAD_CFG0_LOGICAL_RESET_DEEP
Definition: gpio_defs.h:45

Definition at line 1 of file gpio.c.

◆ rst_map_com2

const struct reset_mapping rst_map_com2[]
static
Initial value:
= {
{ .logical = PAD_CFG0_LOGICAL_RESET_PWROK, .chipset = 0U << 30},
{ .logical = PAD_CFG0_LOGICAL_RESET_DEEP, .chipset = 1U << 30},
{ .logical = PAD_CFG0_LOGICAL_RESET_PLTRST, .chipset = 2U << 30},
{ .logical = PAD_CFG0_LOGICAL_RESET_RSMRST, .chipset = 3U << 30},
}
#define PAD_CFG0_LOGICAL_RESET_PWROK
Definition: gpio_defs.h:44

Definition at line 1 of file gpio.c.

◆ skl_community_com0_groups

const struct pad_group skl_community_com0_groups[]
static
Initial value:
= {
}
#define GPP_A23
#define GPP_A0
#define GPP_B0
Definition: gpio_soc_defs.h:53
#define GPP_B23
Definition: gpio_soc_defs.h:76
#define INTEL_GPP(first_of_community, start_of_group, end_of_group)
Definition: gpio.h:49

Definition at line 1 of file gpio.c.

◆ skl_community_com1_groups

const struct pad_group skl_community_com1_groups[]
static
Initial value:
= {
}
#define GPP_E0
#define GPP_C23
#define GPP_E23
#define GPP_D0
#define GPP_C0
#define GPP_D23

Definition at line 1 of file gpio.c.

◆ skl_community_com2_groups

const struct pad_group skl_community_com2_groups[]
static
Initial value:
= {
}
#define GPD11
#define GPD0

Definition at line 1 of file gpio.c.

◆ skl_community_com3_groups

const struct pad_group skl_community_com3_groups[]
static
Initial value:
= {
}
#define GPP_F23
#define GPP_F0
#define GPP_G7
Definition: gpio_soc_defs.h:95
#define GPP_G0
Definition: gpio_soc_defs.h:88

Definition at line 1 of file gpio.c.

◆ skl_gpio_communities

const struct pad_community skl_gpio_communities[]
static

Definition at line 1 of file gpio.c.

Referenced by soc_gpio_get_community().