/* SPDX-License-Identifier: GPL-2.0-only OR MIT */ #include #include #include #include #include void mtk_i2c_bus_init(uint8_t bus, uint32_t speed) { mtk_i2c_speed_init(bus, speed); mtk_i2c_set_gpio_pinmux(bus); } void mtk_i2c_dump_more_info(struct mt_i2c_regs *regs) { printk(BIOS_DEBUG, "LTIMING %x\nCLK_DIV %x\n", read32(®s->ltiming), read32(®s->clock_div)); } void mtk_i2c_config_timing(struct mt_i2c_regs *regs, struct mtk_i2c *bus_ctrl) { write32(®s->clock_div, bus_ctrl->ac_timing.inter_clk_div); write32(®s->timing, bus_ctrl->ac_timing.htiming); write32(®s->ltiming, bus_ctrl->ac_timing.ltiming); write32(®s->hs, bus_ctrl->ac_timing.hs); write32(®s->ext_conf, bus_ctrl->ac_timing.ext); }