Re: [PATCH v8 1/3] dt-bindings: i2c: Add Novatek NT72676 I2C controller

From: nina_kuo

Date: Mon Sep 07 2026 - 01:09:34 EST


From: Ben Huang <Ben_Huang@xxxxxxxxxxxxxx>

Hi,

On Friday, September 4, 2026 12:05 AM, Rob Herring <robh@xxxxxxxxxx> wrote:
>> >> + The generic I2C controllers are accessible only by the host CPU and driven
>> >> + by a 96 MHz AHB clock.
>> >> + On the other hand, the STBC I2C controllers can be controlled by either the
>> >> + host CPU or STBC (Standby Controller, an 8051-based microcontroller) and
>> >> + driven by a 12 MHz STBC clock. Authentication with STBC is required before
>> >> + the host CPU can access the STBC I2C controller registers.
>> >
>> > Is the programming model of the I2C controller different? If not, the
>> > compatible should be the same.
>>
>> The register layout and transfer programming model are the same, but these
>> are separate physical IP blocks with different hardware integration. They
>> have different interrupt sources and input clocks, and the STBC instance
>> requires an authentication and ownership-switch sequence before its
>> registers can be accessed by the host CPU. These differences are fixed
>> properties of the two IP blocks, so separate compatible strings are used.
>
> Different interrupts and clocks is every IP block. That's why we have
> 'interrupts' and 'clocks' properties.
>
> For ownership switch, that can be based on having the
> novatek,stbc-syscon property or not.

Understood.

I will use the same compatible string "novatek,nt72676-i2c" for both
instances and identify the STBC instance by the presence of
novatek,stbc-syscon.

There is currently no NT72676-specific clock-controller driver in the
kernel. Since the input clocks are fixed-rate hardware inputs, I will
describe them using generic fixed-clock providers in the Device Tree. The
I2C driver will obtain the input clock through the common clock framework
and use clk_get_rate() when calculating the I2C clock divider, rather than
selecting a compatible-specific fixed rate.

Sincerely,
Ben Huang