![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <assert.h>
#include <console/console.h>
#include <device/mmio.h>
#include <device/i2c_simple.h>
#include <soc/i2c.h>
#include <soc/gpio.h>
Go to the source code of this file.
Data Structures | |
struct | pad_func |
Macros | |
#define | PAD_FUNC(name, func) {GPIO(name), PAD_##name##_FUNC_##func} |
Functions | |
_Static_assert (ARRAY_SIZE(mtk_i2c_bus_controller)==I2C_BUS_NUMBER, "Wrong size of mtk_i2c_bus_controller") | |
static void | mtk_i2c_set_gpio_pinmux (uint8_t bus) |
void | mtk_i2c_bus_init (uint8_t bus, uint32_t speed) |
void | mtk_i2c_dump_more_info (struct mt_i2c_regs *regs) |
void | mtk_i2c_config_timing (struct mt_i2c_regs *regs, struct mtk_i2c *bus_ctrl) |
Variables | |
struct mtk_i2c | mtk_i2c_bus_controller [] |
static const struct pad_func | i2c_funcs [I2C_BUS_NUMBER][2] |
_Static_assert | ( | ARRAY_SIZE(mtk_i2c_bus_controller) | = =I2C_BUS_NUMBER , |
"Wrong size of mtk_i2c_bus_controller" | |||
) |
Definition at line 122 of file i2c.c.
References mtk_i2c_set_gpio_pinmux(), and mtk_i2c_speed_init().
void mtk_i2c_config_timing | ( | struct mt_i2c_regs * | regs, |
struct mtk_i2c * | bus_ctrl | ||
) |
Definition at line 135 of file i2c.c.
References mtk_i2c::ac_timing, mtk_i2c_ac_timing::ext, mtk_i2c_ac_timing::hs, mtk_i2c_ac_timing::htiming, mtk_i2c_ac_timing::inter_clk_div, mtk_i2c_ac_timing::ltiming, and write32().
void mtk_i2c_dump_more_info | ( | struct mt_i2c_regs * | regs | ) |
Definition at line 128 of file i2c.c.
References BIOS_DEBUG, printk, and read32().
Definition at line 111 of file i2c.c.
References assert, pad_func::func, GPIO_PULL_ENABLE, GPIO_PULL_UP, gpio_set_mode(), gpio_set_pull(), I2C_BUS_NUMBER, and i2c_funcs.
Referenced by mtk_i2c_bus_init().
|
static |
Definition at line 58 of file i2c.c.
Referenced by mtk_i2c_set_gpio_pinmux().