Hello Justin, On 27.10.25 14:09, Justin Swartz wrote:
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 <[email protected]> --- Notes: [PATCH v4]- Fix style and whitespace issues to appease checkpatch.pl- Include time.h (instead of common.h) for get_timer() - Replace mt7621_i2c_check_ack()'s MMIO register access, via a volatile pointer, with readl() macro expansion.[PATCH v3] - Add an empty line between variable declaration and code tofunctions that did not have this separation.- Condense multi-line closing brace / else / opening bracesequences into single lines consisting of "} else {" instead.- Relocate mt7621_i2c_check_ack()'s I2C_M_IGNORE_NAK flag checkto just after the last variable declaration.[PATCH v2] - Add "REG_" prefix to I2C (Serial Master 0) register definitions.- Remove unused "PINT" (Peripheral Interrupt) register definitions. - Adjust function definition style.- Refactor mt7621_i2c_check_ack() to accept the number of bytesexpected to have been acknowledged, instead of accepting a literal value (which represents the acknowledgement status of (up to) 8 bytes, encoded as 8 independent bit values) expected in the SM0_ACK field (bits 23:16) of the SM0CTL1 register. drivers/i2c/Kconfig | 7 + drivers/i2c/Makefile | 1 + drivers/i2c/mt7621_i2c.c | 374 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 382 insertions(+) create mode 100644 drivers/i2c/mt7621_i2c.c
Thanks for fixing the checkpatch warnings. Reviewed-by: Heiko Schocher <[email protected]> bye, Heiko -- Nabla Software Engineering HRB 40522 Augsburg Phone: +49 821 45592596 E-Mail: [email protected] Geschäftsführer : Stefano Babic

