Go to the source code of this file.
|
enum | {
IOHEADER_PROTHDRSZ_SHIFT = 28
, IOHEADER_PROTHDRSZ_MASK = 0x3 << IOHEADER_PROTHDRSZ_SHIFT
, IOHEADER_PKTID_SHIFT = 16
, IOHEADER_PKTID_MASK = 0xff << IOHEADER_PKTID_SHIFT
,
IOHEADER_CONTROLLER_ID_SHIFT = 12
, IOHEADER_CONTROLLER_ID_MASK = 0xf << IOHEADER_CONTROLLER_ID_SHIFT
, IOHEADER_PROTOCOL_SHIFT = 4
, IOHEADER_PROTOCOL_MASK = 0xf << IOHEADER_PROTOCOL_SHIFT
,
IOHEADER_PROTOCOL_I2C = 1 << IOHEADER_PROTOCOL_SHIFT
, IOHEADER_PKTTYPE_SHIFT = 0
, IOHEADER_PKTTYPE_MASK = 0x7 << IOHEADER_PKTTYPE_SHIFT
, IOHEADER_PKTTYPE_REQUEST = 0 << IOHEADER_PKTTYPE_SHIFT
,
IOHEADER_PKTTYPE_RESPONSE = 1 << IOHEADER_PKTTYPE_SHIFT
, IOHEADER_PKTTYPE_INTERRUPT = 2 << IOHEADER_PKTTYPE_SHIFT
, IOHEADER_PKTTYPE_STOP = 3 << IOHEADER_PKTTYPE_SHIFT
, IOHEADER_PAYLOADSIZE_SHIFT = 0
,
IOHEADER_PAYLOADSIZE_MASK = 0xfff << IOHEADER_PAYLOADSIZE_SHIFT
} |
|
enum | {
IOHEADER_I2C_REQ_RESP_FREQ_MASK = 0x1 << 25
, IOHEADER_I2C_REQ_RESP_FREQ_END = 0 << 25
, IOHEADER_I2C_REQ_RESP_FREQ_EACH = 1 << 25
, IOHEADER_I2C_REQ_RESP_ENABLE = 0x1 << 24
,
IOHEADER_I2C_REQ_HS_MODE = 0x1 << 22
, IOHEADER_I2C_REQ_CONTINUE_ON_NACK = 0x1 << 21
, IOHEADER_I2C_REQ_SEND_START_BYTE = 0x1 << 20
, IOHEADER_I2C_REQ_READ = 0x1 << 19
,
IOHEADER_I2C_REQ_ADDR_MODE_MASK = 0x1 << 18
, IOHEADER_I2C_REQ_ADDR_MODE_7BIT = 0 << 18
, IOHEADER_I2C_REQ_ADDR_MODE_10BIT = 1 << 18
, IOHEADER_I2C_REQ_IE = 0x1 << 17
,
IOHEADER_I2C_REQ_REPEAT_START = 0x1 << 16
, IOHEADER_I2C_REQ_STOP = 0x0 << 16
, IOHEADER_I2C_REQ_CONTINUE_XFER = 0x1 << 15
, IOHEADER_I2C_REQ_HS_MASTER_ADDR_SHIFT = 12
,
IOHEADER_I2C_REQ_HS_MASTER_ADDR_MASK
, IOHEADER_I2C_REQ_SLAVE_ADDR_SHIFT = 0
, IOHEADER_I2C_REQ_SLAVE_ADDR_MASK
} |
|
enum | {
I2C_CNFG_MSTR_CLR_BUS_ON_TIMEOUT = 0x1 << 15
, I2C_CNFG_DEBOUNCE_CNT_SHIFT = 12
, I2C_CNFG_DEBOUNCE_CNT_MASK = 0x7 << I2C_CNFG_DEBOUNCE_CNT_SHIFT
, I2C_CNFG_NEW_MASTER_FSM = 0x1 << 11
,
I2C_CNFG_PACKET_MODE_EN = 0x1 << 10
, I2C_CNFG_SEND = 0x1 << 9
, I2C_CNFG_NOACK = 0x1 << 8
, I2C_CNFG_CMD2 = 0x1 << 7
,
I2C_CNFG_CMD1 = 0x1 << 6
, I2C_CNFG_START = 0x1 << 5
, I2C_CNFG_SLV2_SHIFT = 4
, I2C_CNFG_SLV2_MASK = 0x1 << I2C_CNFG_SLV2_SHIFT
,
I2C_CNFG_LENGTH_SHIFT = 1
, I2C_CNFG_LENGTH_MASK = 0x7 << I2C_CNFG_LENGTH_SHIFT
, I2C_CNFG_A_MOD = 0x1 << 0
} |
|
enum | {
I2C_PKT_STATUS_COMPLETE = 0x1 << 24
, I2C_PKT_STATUS_PKT_ID_SHIFT = 16
, I2C_PKT_STATUS_PKT_ID_MASK = 0xff << I2C_PKT_STATUS_PKT_ID_SHIFT
, I2C_PKT_STATUS_BYTENUM_SHIFT = 4
,
I2C_PKT_STATUS_BYTENUM_MASK = 0xfff << I2C_PKT_STATUS_BYTENUM_SHIFT
, I2C_PKT_STATUS_NOACK_ADDR = 0x1 << 3
, I2C_PKT_STATUS_NOACK_DATA = 0x1 << 2
, I2C_PKT_STATUS_ARB_LOST = 0x1 << 1
,
I2C_PKT_STATUS_BUSY = 0x1 << 0
} |
|
enum | { I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_SHIFT = 4
, I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_MASK
, I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_SHIFT = 0
, I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_MASK
} |
|
enum | {
I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_SHIFT = 16
, I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_MASK
, I2C_BUS_CLEAR_CONFIG_BC_STOP_COND_STOP = 0x1 << 2
, I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_IMMEDIATE = 0x1 << 1
,
I2C_BUS_CLEAR_CONFIG_BC_ENABLE = 0x1 << 0
, I2C_BUS_CLEAR_STATUS_CLEARED = 0x1 << 0
, I2C_CONFIG_LOAD_MSTR_CONFIG_LOAD_ENABLE = 0x1 << 0
} |
|
◆ anonymous enum
Enumerator |
---|
IOHEADER_PROTHDRSZ_SHIFT | |
IOHEADER_PROTHDRSZ_MASK | |
IOHEADER_PKTID_SHIFT | |
IOHEADER_PKTID_MASK | |
IOHEADER_CONTROLLER_ID_SHIFT | |
IOHEADER_CONTROLLER_ID_MASK | |
IOHEADER_PROTOCOL_SHIFT | |
IOHEADER_PROTOCOL_MASK | |
IOHEADER_PROTOCOL_I2C | |
IOHEADER_PKTTYPE_SHIFT | |
IOHEADER_PKTTYPE_MASK | |
IOHEADER_PKTTYPE_REQUEST | |
IOHEADER_PKTTYPE_RESPONSE | |
IOHEADER_PKTTYPE_INTERRUPT | |
IOHEADER_PKTTYPE_STOP | |
IOHEADER_PAYLOADSIZE_SHIFT | |
IOHEADER_PAYLOADSIZE_MASK | |
Definition at line 12 of file i2c.h.
◆ anonymous enum
Enumerator |
---|
IOHEADER_I2C_REQ_RESP_FREQ_MASK | |
IOHEADER_I2C_REQ_RESP_FREQ_END | |
IOHEADER_I2C_REQ_RESP_FREQ_EACH | |
IOHEADER_I2C_REQ_RESP_ENABLE | |
IOHEADER_I2C_REQ_HS_MODE | |
IOHEADER_I2C_REQ_CONTINUE_ON_NACK | |
IOHEADER_I2C_REQ_SEND_START_BYTE | |
IOHEADER_I2C_REQ_READ | |
IOHEADER_I2C_REQ_ADDR_MODE_MASK | |
IOHEADER_I2C_REQ_ADDR_MODE_7BIT | |
IOHEADER_I2C_REQ_ADDR_MODE_10BIT | |
IOHEADER_I2C_REQ_IE | |
IOHEADER_I2C_REQ_REPEAT_START | |
IOHEADER_I2C_REQ_STOP | |
IOHEADER_I2C_REQ_CONTINUE_XFER | |
IOHEADER_I2C_REQ_HS_MASTER_ADDR_SHIFT | |
IOHEADER_I2C_REQ_HS_MASTER_ADDR_MASK | |
IOHEADER_I2C_REQ_SLAVE_ADDR_SHIFT | |
IOHEADER_I2C_REQ_SLAVE_ADDR_MASK | |
Definition at line 35 of file i2c.h.
◆ anonymous enum
Enumerator |
---|
I2C_CNFG_MSTR_CLR_BUS_ON_TIMEOUT | |
I2C_CNFG_DEBOUNCE_CNT_SHIFT | |
I2C_CNFG_DEBOUNCE_CNT_MASK | |
I2C_CNFG_NEW_MASTER_FSM | |
I2C_CNFG_PACKET_MODE_EN | |
I2C_CNFG_SEND | |
I2C_CNFG_NOACK | |
I2C_CNFG_CMD2 | |
I2C_CNFG_CMD1 | |
I2C_CNFG_START | |
I2C_CNFG_SLV2_SHIFT | |
I2C_CNFG_SLV2_MASK | |
I2C_CNFG_LENGTH_SHIFT | |
I2C_CNFG_LENGTH_MASK | |
I2C_CNFG_A_MOD | |
Definition at line 59 of file i2c.h.
◆ anonymous enum
Enumerator |
---|
I2C_PKT_STATUS_COMPLETE | |
I2C_PKT_STATUS_PKT_ID_SHIFT | |
I2C_PKT_STATUS_PKT_ID_MASK | |
I2C_PKT_STATUS_BYTENUM_SHIFT | |
I2C_PKT_STATUS_BYTENUM_MASK | |
I2C_PKT_STATUS_NOACK_ADDR | |
I2C_PKT_STATUS_NOACK_DATA | |
I2C_PKT_STATUS_ARB_LOST | |
I2C_PKT_STATUS_BUSY | |
Definition at line 77 of file i2c.h.
◆ anonymous enum
Enumerator |
---|
I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_SHIFT | |
I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT_MASK | |
I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_SHIFT | |
I2C_FIFO_STATUS_RX_FIFO_FULL_CNT_MASK | |
Definition at line 89 of file i2c.h.
◆ anonymous enum
Enumerator |
---|
I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_SHIFT | |
I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_MASK | |
I2C_BUS_CLEAR_CONFIG_BC_STOP_COND_STOP | |
I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_IMMEDIATE | |
I2C_BUS_CLEAR_CONFIG_BC_ENABLE | |
I2C_BUS_CLEAR_STATUS_CLEARED | |
I2C_CONFIG_LOAD_MSTR_CONFIG_LOAD_ENABLE | |
Definition at line 98 of file i2c.h.
◆ check_member()
◆ i2c_init()
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().
◆ tegra_software_i2c_disable()
Definition at line 68 of file software_i2c.c.
References GPIO_MODE_SPIO, GPIO_PINMUX_SHIFT, gpio_set_mode(), NULL, pinmux_func, PINMUX_INPUT_ENABLE, pinmux_set_config(), pins, scl, sda, and software_i2c.
◆ tegra_software_i2c_init()
◆ num_i2c_buses
◆ tegra_i2c_info