coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <device/mmio.h>
#include <console/console.h>
#include <delay.h>
#include <device/i2c_simple.h>
#include <string.h>
#include <soc/addressmap.h>
#include <stdint.h>
#include "i2c.h"
Go to the source code of this file.
Functions | |
static void | do_bus_clear (int bus) |
static int | tegra_i2c_send_recv (int bus, int read, uint32_t *headers, int header_words, uint8_t *data, int data_len) |
static int | tegra_i2c_request (int bus, unsigned int chip, int cont, int restart, int read, void *data, int data_len) |
static int | i2c_transfer_segment (unsigned int bus, unsigned int chip, int restart, int read, void *buf, int len) |
int | platform_i2c_transfer (unsigned int bus, struct i2c_msg *segments, int count) |
void | i2c_init (unsigned int bus) |
|
static |
Definition at line 13 of file i2c.c.
References BIOS_DEBUG, I2C_BUS_CLEAR_CONFIG_BC_ENABLE, I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_IMMEDIATE, I2C_CONFIG_LOAD_MSTR_CONFIG_LOAD_ENABLE, info, printk, read32(), tegra_i2c_info, udelay(), and write32().
Referenced by tegra_i2c_send_recv().
Definition at line 198 of file i2c.c.
References tegra_i2c_bus_info::base, BIOS_ERR, I2C_CNFG_PACKET_MODE_EN, num_i2c_buses, printk, regs, tegra_i2c_info, and write32().
Referenced by bootblock_mainboard_init(), configure_codec(), configure_tpm(), configure_tpm_i2c_bus(), display_startup(), main(), mainboard_init(), parade_dp_bridge_setup(), platform_i2c_transfer(), prepare_backlight_i2c(), setup_power(), and tegra_i2c_send_recv().
|
static |
Definition at line 160 of file i2c.c.
References buf, chip, IOHEADER_PAYLOADSIZE_MASK, IOHEADER_PAYLOADSIZE_SHIFT, MIN, and tegra_i2c_request().
Referenced by platform_i2c_transfer().
Definition at line 178 of file i2c.c.
References BIOS_ERR, i2c_msg::buf, count, i2c_msg::flags, I2C_M_RD, i2c_transfer_segment(), i2c_msg::len, num_i2c_buses, printk, and i2c_msg::slave.
|
static |
Definition at line 128 of file i2c.c.
References ARRAY_SIZE, BIOS_ERR, chip, headers, IOHEADER_CONTROLLER_ID_SHIFT, IOHEADER_I2C_REQ_ADDR_MODE_7BIT, IOHEADER_I2C_REQ_CONTINUE_XFER, IOHEADER_I2C_REQ_READ, IOHEADER_I2C_REQ_REPEAT_START, IOHEADER_I2C_REQ_SLAVE_ADDR_SHIFT, IOHEADER_PAYLOADSIZE_SHIFT, IOHEADER_PKTID_SHIFT, IOHEADER_PKTTYPE_REQUEST, IOHEADER_PROTHDRSZ_SHIFT, IOHEADER_PROTOCOL_I2C, printk, and tegra_i2c_send_recv().
Referenced by i2c_transfer_segment().
|
static |
Definition at line 46 of file i2c.c.
References BIOS_ERR, do_bus_clear(), headers, I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_MASK, I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_SHIFT, I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_MASK, I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_SHIFT, i2c_init(), I2C_PKT_STATUS_ARB_LOST, I2C_PKT_STATUS_NOACK_ADDR, I2C_PKT_STATUS_NOACK_DATA, info, memcpy(), MIN, printk, read32(), tegra_i2c_regs::status, tegra_i2c_info, word, and write32().
Referenced by tegra_i2c_request().