[PATCH v3 0/3] i2c: Add Novatek NT726xx SoC I2C controller
From: Nina_Kuo
Date: Wed Jul 15 2026 - 03:35:06 EST
From: Ben Huang <Ben_Huang@xxxxxxxxxxxxxx>
These patch series adds support for the I2C bus controllers on
Novatek NT726xx SoCs.
The controller driver implements the fundamental I2C read/write
operations and supports Standard-mode and Fast-mode.
Some I2C bus controllers on Novatek NT726xx SoCs are controllable by
stbc (Standby controller) and named as `stbc-i2c`s. These `stbc-i2c`s
are driven by stbc clock (12 MHz) and require the authentication to
stbc before any control.
The patch is tested with concurrent read/write operations on
2 different I2C busses for 1000000 times on Novatek NT72676 SoC.
Neither error nor data corruption is detected under this test.
---
v3:
- Only remove attached HTML messages, no code is modified.
v2:
https://lore.kernel.org/lkml/20260714094145.84387-1-Nina_Kuo@xxxxxxxxxxxxxx/T/#t
From Krzysztof's review of novatek,nt726xx-i2c.yaml:
- Explicitly specify the unique compatibles "novatek,nt72600-i2c" for
Novatek NT726xx SoCs
- Modify `maxItems` as 1 for both `reg` and `interrupts` properties
- Modify description and allowed values for `clock-frequency`
property
- Remove `minItems` for `novatek,hwmods` custom property
- Rename, fix wrong type definition and add more description for
`novatek,stbc-controllable` custom property
- Remove `bus-enable` custom property
- Add an example for dtsi declaration
From Sashiko AI's review of i2c-nt726xx.c:
- Remove flows related to `bus-enable` custom property
- Add default value 100000 (100 kHz) of `clock-frequency` property
to prevent from devide-by-zero panic
- Add flows for handling ioremap() in nvt_i2c_use_case_feature()
- Remove I2C_FUNC_SMBUS_QUICK functionality due to unsupported handling
of 0-byte messages
- Add flows of disabling IRQs in nvt_i2c_suspend() and nvt_i2c_remove()
- Add of_node_get() to release the reference to device tree node in
nvt_i2c_remove()
v1:
https://lore.kernel.org/lkml/20260604060411.355675-1-SP_ISW1_AT@xxxxxxxxxxxxxx/T/#t
Signed-off-by: Ben Huang <Ben_Huang@xxxxxxxxxxxxxx>
Signed-off-by: Nina Kuo <Nina_Kuo@xxxxxxxxxxxxxx>
Ben Huang (3):
MAINTAINERS: Add entry for Novatek NT726xx SoC I2C controller driver
dt-bindings: i2c: Add Novatek NT726xx SoC I2C controller
i2c: Add i2c-nt726xx.c I2C driver for Novatek NT726xx SoCs
.../bindings/i2c/novatek,nt726xx-i2c.yaml | 74 ++
MAINTAINERS | 7 +
drivers/i2c/busses/Kconfig | 10 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-nt726xx.c | 698 ++++++++++++++++++
5 files changed, 790 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/novatek,nt726xx-i2c.yaml
create mode 100644 drivers/i2c/busses/i2c-nt726xx.c
--
2.40.1