coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
i2c.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#ifndef SOC_MEDIATEK_MT8173_I2C_H
4
#define SOC_MEDIATEK_MT8173_I2C_H
5
6
#include <
soc/i2c_common.h
>
7
#include <soc/pll.h>
8
9
/* I2C Register */
10
struct
mt_i2c_regs
{
11
uint32_t
data_port
;
12
uint32_t
slave_addr
;
13
uint32_t
intr_mask
;
14
uint32_t
intr_stat
;
15
uint32_t
control
;
16
uint32_t
transfer_len
;
17
uint32_t
transac_len
;
18
uint32_t
delay_len
;
19
uint32_t
timing
;
20
uint32_t
start
;
21
uint32_t
ext_conf
;
22
uint32_t
reserved1
;
23
uint32_t
fifo_stat
;
24
uint32_t
fifo_thresh
;
25
uint32_t
fifo_addr_clr
;
26
uint32_t
reserved2
;
27
uint32_t
io_config
;
28
uint32_t
debug
;
29
uint32_t
hs
;
30
uint32_t
reserved3
;
31
uint32_t
softreset
;
32
uint32_t
dcm
;
33
uint32_t
reserved4
[3];
34
uint32_t
debug_stat
;
35
uint32_t
debug_ctrl
;
36
uint32_t
transfer_aux_len
;
37
};
38
39
#define I2C_CLK_HZ (AXI_HZ / 16)
40
#define I2C_BUS_NUMBER 7
41
#define MAX_CLOCK_DIV 32
42
43
check_member
(
mt_i2c_regs
, debug_stat, 0x64);
44
45
void
mtk_i2c_bus_init
(
uint8_t
bus
);
46
47
#endif
/* SOC_MEDIATEK_MT8173_I2C_H */
i2c_common.h
check_member
check_member(mt_i2c_regs, debug_stat, 0x64)
mtk_i2c_bus_init
void mtk_i2c_bus_init(uint8_t bus)
Definition:
i2c.c:65
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
bus
Definition:
device.h:76
mt_i2c_regs
Definition:
i2c.h:10
mt_i2c_regs::hs
uint32_t hs
Definition:
i2c.h:29
mt_i2c_regs::data_port
uint32_t data_port
Definition:
i2c.h:11
mt_i2c_regs::softreset
uint32_t softreset
Definition:
i2c.h:31
mt_i2c_regs::slave_addr
uint32_t slave_addr
Definition:
i2c.h:12
mt_i2c_regs::control
uint32_t control
Definition:
i2c.h:15
mt_i2c_regs::transfer_len
uint32_t transfer_len
Definition:
i2c.h:16
mt_i2c_regs::transac_len
uint32_t transac_len
Definition:
i2c.h:17
mt_i2c_regs::delay_len
uint32_t delay_len
Definition:
i2c.h:18
mt_i2c_regs::debug
uint32_t debug
Definition:
i2c.h:28
mt_i2c_regs::start
uint32_t start
Definition:
i2c.h:20
mt_i2c_regs::reserved1
uint32_t reserved1
Definition:
i2c.h:22
mt_i2c_regs::fifo_addr_clr
uint32_t fifo_addr_clr
Definition:
i2c.h:25
mt_i2c_regs::reserved4
uint32_t reserved4[3]
Definition:
i2c.h:33
mt_i2c_regs::reserved3
uint32_t reserved3
Definition:
i2c.h:30
mt_i2c_regs::transfer_aux_len
uint32_t transfer_aux_len
Definition:
i2c.h:36
mt_i2c_regs::intr_mask
uint32_t intr_mask
Definition:
i2c.h:13
mt_i2c_regs::debug_stat
uint32_t debug_stat
Definition:
i2c.h:34
mt_i2c_regs::debug_ctrl
uint32_t debug_ctrl
Definition:
i2c.h:35
mt_i2c_regs::reserved2
uint32_t reserved2
Definition:
i2c.h:26
mt_i2c_regs::dcm
uint32_t dcm
Definition:
i2c.h:32
mt_i2c_regs::fifo_stat
uint32_t fifo_stat
Definition:
i2c.h:23
mt_i2c_regs::intr_stat
uint32_t intr_stat
Definition:
i2c.h:14
mt_i2c_regs::fifo_thresh
uint32_t fifo_thresh
Definition:
i2c.h:24
mt_i2c_regs::ext_conf
uint32_t ext_conf
Definition:
i2c.h:21
mt_i2c_regs::timing
uint32_t timing
Definition:
i2c.h:19
mt_i2c_regs::io_config
uint32_t io_config
Definition:
i2c.h:27
src
soc
mediatek
mt8173
include
soc
i2c.h
Generated by
1.9.1