coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
pmic.c File Reference
#include <boardid.h>
#include <console/console.h>
#include <delay.h>
#include <device/i2c_simple.h>
#include <stdint.h>
#include <reset.h>
#include "pmic.h"
Include dependency graph for pmic.c:

Go to the source code of this file.

Data Structures

struct  as3722_init_reg
 

Enumerations

enum  { AS3722_I2C_ADDR = 0x40 }
 

Functions

static void pmic_write_reg (unsigned int bus, uint8_t reg, uint8_t val, int do_delay)
 
static void pmic_slam_defaults (unsigned int bus)
 
void pmic_init (unsigned int bus)
 

Variables

static struct as3722_init_reg init_list []
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AS3722_I2C_ADDR 

Definition at line 12 of file pmic.c.

Function Documentation

◆ pmic_init()

void pmic_init ( unsigned int  bus)

Definition at line 65 of file pmic.c.

References board_id(), pmic_slam_defaults(), and pmic_write_reg().

Here is the call graph for this function:

◆ pmic_slam_defaults()

static void pmic_slam_defaults ( unsigned int  bus)
static

Definition at line 56 of file pmic.c.

References ARRAY_SIZE, init_list, pmic_write_reg(), and as3722_init_reg::reg.

Referenced by pmic_init().

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

◆ pmic_write_reg()

static void pmic_write_reg ( unsigned int  bus,
uint8_t  reg,
uint8_t  val,
int  do_delay 
)
static

Definition at line 43 of file pmic.c.

References AS3722_I2C_ADDR, BIOS_ERR, board_reset(), i2c_writeb(), printk, as3722_init_reg::reg, udelay(), and val.

Referenced by pmic_init(), and pmic_slam_defaults().

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

Variable Documentation

◆ init_list

struct as3722_init_reg init_list[]
static
Initial value:
= {
{AS3722_SDO0, 0x3C, 1},
{AS3722_SDO1, 0x32, 0},
{AS3722_LDO3, 0x59, 0},
{AS3722_SDO2, 0x3C, 0},
{AS3722_SDO3, 0x00, 0},
{AS3722_SDO4, 0x00, 0},
{AS3722_SDO5, 0x50, 0},
{AS3722_SDO6, 0x28, 1},
{AS3722_LDO0, 0x8A, 0},
{AS3722_LDO1, 0x00, 0},
{AS3722_LDO2, 0x10, 0},
{AS3722_LDO4, 0x00, 0},
{AS3722_LDO5, 0x00, 0},
{AS3722_LDO6, 0x00, 0},
{AS3722_LDO7, 0x00, 0},
{AS3722_LDO9, 0x00, 0},
{AS3722_LDO10, 0x00, 0},
{AS3722_LDO11, 0x00, 1},
}
@ AS3722_SDO3
Definition: pmic.h:10
@ AS3722_LDO9
Definition: pmic.h:24
@ AS3722_LDO6
Definition: pmic.h:21
@ AS3722_LDO1
Definition: pmic.h:16
@ AS3722_LDO5
Definition: pmic.h:20
@ AS3722_SDO2
Definition: pmic.h:9
@ AS3722_LDO7
Definition: pmic.h:22
@ AS3722_SDO4
Definition: pmic.h:11
@ AS3722_LDO3
Definition: pmic.h:18
@ AS3722_SDO0
Definition: pmic.h:7
@ AS3722_SDO6
Definition: pmic.h:13
@ AS3722_LDO11
Definition: pmic.h:26
@ AS3722_LDO10
Definition: pmic.h:25
@ AS3722_LDO4
Definition: pmic.h:19
@ AS3722_LDO2
Definition: pmic.h:17
@ AS3722_SDO5
Definition: pmic.h:12
@ AS3722_SDO1
Definition: pmic.h:8
@ AS3722_LDO0
Definition: pmic.h:15

Definition at line 1 of file pmic.c.

Referenced by pmic_slam_defaults().