coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
lpc_init.c File Reference
#include <arch/io.h>
#include <soc/gpio.h>
#include <soc/pm.h>
#include <device/mmio.h>
#include <soc/iomap.h>
Include dependency graph for lpc_init.c:

Go to the source code of this file.

Macros

#define SUSPEND_CYCLE   1
 
#define RESUME_CYCLE   0
 
#define LPC_FAMILY_NUMBER(gpio_pad)   (gpio_pad / MAX_FAMILY_PAD_GPIO_NO)
 
#define LPC_INTERNAL_PAD_NUM(gpio_pad)   (gpio_pad % MAX_FAMILY_PAD_GPIO_NO)
 
#define LPC_GPIO_OFFSET(gpio_pad)
 
#define LPC_AD2_MMIO_OFFSET   LPC_GPIO_OFFSET(45)
 
#define LPC_CLKRUN_MMIO_OFFSET   LPC_GPIO_OFFSET(46)
 
#define LPC_AD0_MMIO_OFFSET   LPC_GPIO_OFFSET(47)
 
#define LPC_FRAME_MMIO_OFFSET   LPC_GPIO_OFFSET(48)
 
#define LPC_AD3_MMIO_OFFSET   LPC_GPIO_OFFSET(50)
 
#define LPC_AD1_MMIO_OFFSET   LPC_GPIO_OFFSET(52)
 
#define PAD_CFG0_NATIVE(mode, term, inv_rx_tx)
 
#define PAD_CFG0_NATIVE_PU20K(mode)   PAD_CFG0_NATIVE(mode, 9, 0) /* PU 20K */
 
#define PAD_CFG0_NATIVE_PD20K(mode)   PAD_CFG0_NATIVE(mode, 1, 0) /* PD 20K */
 
#define PAD_CFG0_NATIVE_M1   PAD_CFG0_NATIVE(1, 0, 0) /* no pull */
 

Functions

static void lpc_gpio_config (u32 cycle)
 
void lpc_set_low_power (void)
 
void lpc_init (void)
 

Macro Definition Documentation

◆ LPC_AD0_MMIO_OFFSET

#define LPC_AD0_MMIO_OFFSET   LPC_GPIO_OFFSET(47)

Definition at line 19 of file lpc_init.c.

◆ LPC_AD1_MMIO_OFFSET

#define LPC_AD1_MMIO_OFFSET   LPC_GPIO_OFFSET(52)

Definition at line 22 of file lpc_init.c.

◆ LPC_AD2_MMIO_OFFSET

#define LPC_AD2_MMIO_OFFSET   LPC_GPIO_OFFSET(45)

Definition at line 17 of file lpc_init.c.

◆ LPC_AD3_MMIO_OFFSET

#define LPC_AD3_MMIO_OFFSET   LPC_GPIO_OFFSET(50)

Definition at line 21 of file lpc_init.c.

◆ LPC_CLKRUN_MMIO_OFFSET

#define LPC_CLKRUN_MMIO_OFFSET   LPC_GPIO_OFFSET(46)

Definition at line 18 of file lpc_init.c.

◆ LPC_FAMILY_NUMBER

#define LPC_FAMILY_NUMBER (   gpio_pad)    (gpio_pad / MAX_FAMILY_PAD_GPIO_NO)

Definition at line 11 of file lpc_init.c.

◆ LPC_FRAME_MMIO_OFFSET

#define LPC_FRAME_MMIO_OFFSET   LPC_GPIO_OFFSET(48)

Definition at line 20 of file lpc_init.c.

◆ LPC_GPIO_OFFSET

#define LPC_GPIO_OFFSET (   gpio_pad)
Value:
#define LPC_INTERNAL_PAD_NUM(gpio_pad)
Definition: lpc_init.c:12
#define LPC_FAMILY_NUMBER(gpio_pad)
Definition: lpc_init.c:11
#define FAMILY_PAD_REGS_OFF
Definition: gpio.h:134
#define GPIO_REGS_SIZE
Definition: gpio.h:126
#define FAMILY_PAD_REGS_SIZE
Definition: gpio.h:135

Definition at line 13 of file lpc_init.c.

◆ LPC_INTERNAL_PAD_NUM

#define LPC_INTERNAL_PAD_NUM (   gpio_pad)    (gpio_pad % MAX_FAMILY_PAD_GPIO_NO)

Definition at line 12 of file lpc_init.c.

◆ PAD_CFG0_NATIVE

#define PAD_CFG0_NATIVE (   mode,
  term,
  inv_rx_tx 
)
Value:
| PAD_MODE_SELECTION(mode) | PAD_PULL(term))
#define PAD_PULL(__pull)
Definition: gpio_defs.h:199
#define PAD_GPIO_DISABLE
Definition: gpio.h:171
#define PAD_MODE_SELECTION(MODE_SEL)
Definition: gpio.h:165
#define PAD_GPIOFG_HI_Z
Definition: gpio.h:181

Definition at line 25 of file lpc_init.c.

◆ PAD_CFG0_NATIVE_M1

#define PAD_CFG0_NATIVE_M1   PAD_CFG0_NATIVE(1, 0, 0) /* no pull */

Definition at line 31 of file lpc_init.c.

◆ PAD_CFG0_NATIVE_PD20K

#define PAD_CFG0_NATIVE_PD20K (   mode)    PAD_CFG0_NATIVE(mode, 1, 0) /* PD 20K */

Definition at line 30 of file lpc_init.c.

◆ PAD_CFG0_NATIVE_PU20K

#define PAD_CFG0_NATIVE_PU20K (   mode)    PAD_CFG0_NATIVE(mode, 9, 0) /* PU 20K */

Definition at line 29 of file lpc_init.c.

◆ RESUME_CYCLE

#define RESUME_CYCLE   0

Definition at line 10 of file lpc_init.c.

◆ SUSPEND_CYCLE

#define SUSPEND_CYCLE   1

Definition at line 9 of file lpc_init.c.

Function Documentation

◆ lpc_gpio_config()

static void lpc_gpio_config ( u32  cycle)
static

◆ lpc_init()

void lpc_init ( void  )

Definition at line 90 of file lpc_init.c.

References ACPI_BASE_ADDRESS, ACPI_S3, ACPI_S5, inl(), inw(), lpc_gpio_config(), PM1_CNT, PM1_STS, RESUME_CYCLE, and WAK_STS.

Here is the call graph for this function:

◆ lpc_set_low_power()

void lpc_set_low_power ( void  )

Definition at line 82 of file lpc_init.c.

References lpc_gpio_config(), and SUSPEND_CYCLE.

Referenced by mainboard_smi_sleep().

Here is the call graph for this function:
Here is the caller graph for this function: