15 [0]{.scl =
GPIO(0, C, 0), .sda =
GPIO(0, B, 7)},
16 [1]{.scl =
GPIO(8, A, 5), .sda =
GPIO(8, A, 4)},
17 [2]{.scl =
GPIO(6, B, 2), .sda =
GPIO(6, B, 1)},
18 [3]{.scl =
GPIO(2, C, 0), .sda =
GPIO(2, C, 1)},
19 [4]{.scl =
GPIO(7, C, 2), .sda =
GPIO(7, C, 1)},
20 [5]{.scl =
GPIO(7, C, 4), .sda =
GPIO(7, C, 3)},
83 die(
"Unknown I2C bus number!");
118 die(
"Unknown I2C bus number!");
static void write32(void *addr, uint32_t val)
void __noreturn die(const char *fmt,...)
struct software_i2c_ops * software_i2c[SOFTWARE_I2C_MAX_BUS]
#define setbits32(addr, set)
#define clrbits32(addr, clear)
int gpio_get(gpio_t gpio)
void gpio_output(gpio_t gpio, int value)
void gpio_input_pullup(gpio_t gpio)
static struct rk3288_pmu_regs *const rk3288_pmu
static struct rk3288_grf_regs *const rk3288_grf
#define IOMUX_GPIO(iomux_clrsetbits)
static void set_scl(unsigned int bus, int high)
static struct software_i2c_ops rk_ops
static void set_sda(unsigned int bus, int high)
static int get_scl(unsigned int bus)
static int get_sda(unsigned int bus)
void software_i2c_attach(unsigned int bus)
void software_i2c_detach(unsigned int bus)
static struct @1489 pins[]
int(* get_scl)(unsigned int bus)