This commit introduces a port of the Linux kernel's driver for the
Mediatek's MT7621 I2C controller.
The port was undertaken as the existing driver intended for Mediatek
I2C controllers (mtk_i2c.c) is not compatible with the MT7621.
To use the driver:
1. Ensure that the mode of the i2c pin group is
configured for "i2c" rather than "gpio".
2. Delete the existing (bitbanged) i2c node from
arch/mips/dts/mt7621.dtsi, or specify:
/delete-node/ &i2c;
3. Declare:
i2c: i2c@1e000900 {
compatible = "mediatek,mt7621-i2c";
reg = <0x1e000900 0x100>;
clocks = <&clk50m>;
clock-names = "sys_clock";
resets = <&rstctrl RST_I2C>;
reset-names = "i2c_reset";
pinctrl-names = "default";
pinctrl-0 = <&i2c_pins>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
};
Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
63 lines
2.6 KiB
Makefile
63 lines
2.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2000-2007
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
obj-$(CONFIG_$(PHASE_)DM_I2C) += i2c-uclass.o
|
|
ifdef CONFIG_$(PHASE_)ACPIGEN
|
|
obj-$(CONFIG_$(PHASE_)DM_I2C) += acpi_i2c.o
|
|
endif
|
|
obj-$(CONFIG_$(PHASE_)DM_I2C_GPIO) += i2c-gpio.o
|
|
obj-$(CONFIG_$(PHASE_)I2C_CROS_EC_TUNNEL) += cros_ec_tunnel.o
|
|
obj-$(CONFIG_$(PHASE_)I2C_CROS_EC_LDO) += cros_ec_ldo.o
|
|
|
|
obj-$(CONFIG_$(PHASE_)SYS_I2C_LEGACY) += i2c_core.o
|
|
obj-$(CONFIG_SYS_I2C_ADI) += adi_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_ASPEED) += ast_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_AST2600) += ast2600_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_AT91) += at91_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_CADENCE) += i2c-cdns.o
|
|
obj-$(CONFIG_SYS_I2C_CA) += i2c-cortina.o
|
|
obj-$(CONFIG_SYS_I2C_DAVINCI) += davinci_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_DW) += designware_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_DW_PCI) += designware_i2c_pci.o
|
|
obj-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_GENI) += geni_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_IHS) += ihs_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_INTEL) += intel_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_IMX_LPI2C) += imx_lpi2c.o
|
|
obj-$(CONFIG_SYS_I2C_IPROC) += iproc_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_LPC32XX) += lpc32xx_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_MESON) += meson_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_MICROCHIP) += i2c-microchip.o
|
|
obj-$(CONFIG_SYS_I2C_MV) += mv_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_MVTWSI) += mvtwsi.o
|
|
obj-$(CONFIG_SYS_I2C_MXC) += mxc_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_MTK) += mtk_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_MT7621) += mt7621_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_NEXELL) += nx_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_NPCM) += npcm_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_OCORES) += ocores_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_OCTEON) += octeon_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_QUP) += qup_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_RCAR_I2C) += rcar_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_RCAR_IIC) += rcar_iic.o
|
|
obj-$(CONFIG_SYS_I2C_ROCKCHIP) += rk_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_RZ_RIIC) += rz_riic.o
|
|
obj-$(CONFIG_SYS_I2C_S3C24X0) += s3c24x0_i2c.o exynos_hs_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_SANDBOX) += sandbox_i2c.o i2c-emul-uclass.o
|
|
obj-$(CONFIG_SYS_I2C_SH) += sh_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_SOFT) += soft_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_STM32F7) += stm32f7_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_SUN6I_P2WI) += sun6i_p2wi.o
|
|
obj-$(CONFIG_SYS_I2C_SUN8I_RSB) += sun8i_rsb.o
|
|
obj-$(CONFIG_SYS_I2C_SYNQUACER) += synquacer_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_TEGRA) += tegra_i2c.o
|
|
obj-$(CONFIG_SYS_I2C_UNIPHIER) += i2c-uniphier.o
|
|
obj-$(CONFIG_SYS_I2C_UNIPHIER_F) += i2c-uniphier-f.o
|
|
obj-$(CONFIG_SYS_I2C_VERSATILE) += i2c-versatile.o
|
|
obj-$(CONFIG_SYS_I2C_XILINX_XIIC) += xilinx_xiic.o
|
|
obj-$(CONFIG_TEGRA186_BPMP_I2C) += tegra186_bpmp_i2c.o
|
|
|
|
obj-$(CONFIG_$(PHASE_)I2C_MUX) += muxes/
|