Re: [PATCH v3 2/3] dt-bindings: i2c: Add Novatek NT726xx SoC I2C controller

[email protected] Wed, 22 Jul 2026 10:22:52 +0800
Newsgroups org.kernel.vger.linux-i2c,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
From: Ben Huang <[email protected]>

On Tue, July 21, 2026 at 3:10 PM, Krzysztof Kozlowski <[email protected]> wrote:
> On Wed, Jul 15, 2026 at 03:35:21PM +0800, [email protected] wrote:
>>  
>> diff --git a/Documentation/devicetree/bindings/i2c/novatek,nt726xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/novatek,nt726xx-i2c.yaml
>> new file mode 100644
>> index 000000000000..866589c5ae51
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/i2c/novatek,nt726xx-i2c.yaml
> 
> Filename must match compatible.

Compatible shall be "novatek,nt726xx-i2c" for common i2c use of Novatek
NT726xx SoC platforms. Modify on next submission.

>
>> +
>> +maintainers:
>> +  - Ben Huang <[email protected]>
>> +  - Jason JJ Wu <[email protected]>
>
> Why are you changing the order of entries in the schema file? Do not
> come with own style. Please read and follow writing-bindings and
> example-schema.

The order of title and maintainers will be corrected on next
submission.

>
>> +
>> +title: Novatek NT726xx Series SoC I2C master controller
>
> So 726xx or 72600? Confusing.

726xx is proper for common i2c use of Novatek NT726xx SoC platforms.

>
>> +  novatek,hwmods:
>> +    $ref: /schemas/types.yaml#/definitions/string
>> +    description: Name of each i2c pin, must be named with "i2cX". (X is
>> +                 an integer starting from 0, must be unique)
>
> I do not understand the purpose of this property. How in one string can
> you name each pin? And why would even need to name each pin - why would
> that be a board setup? Pins have FIXED names.
>
> Drop property.

This property is to determine the number of i2c adapter (nr).
I will evaluate any alternatives to this property.

>
>> +
>> +  novatek,stbc-controllable:
>> +    type: boolean
>> +    description: Set if this i2c master, named as `stbc-i2c`, is
>> +      controllable by stbc (Standby controller, actually is an 8051
>> +      micro-processor) on Novatek NT726xx SoCs.
>> +      For these `stbc-i2c`s, the driven clock is only 12 MHz and the
>> +      authentication to stbc must be executed before controlling the
>> +      registers.
>
> Compatible implies that, drop.

Additional compatible "novatek,nt726xx-i2c-stbc" will be applied for
i2c master controllable by the standby controller (stbc-i2c).

>
>> +
>> +    default: 0
>
> Don't vibe code stuff.

This will be removed as moving stbc-i2c to compatible.

>
>> +examples:
>> +  - |
>> +    i2c0: i2c@10000000 {
>
> Drop label

Label will be removed on next submission.

>
>> +      compatible = "novatek,nt72600-i2c";
>> +      reg = <0x0 0x10000000 0x0 0x100>;
>> +      interrupts = <0 67 4>;
>
> Use proper defines.

Below will be applied to examples on next submission:

#include <dt-bindings/interrupt-controller/arm-gic.h>

Interrupt type: 0 => GIC_SPI
Interrupt number: 67 (normal i2c), 77 (stbc-i2c)
Flags: 4 => IRQ_TYPE_LEVEL_HIGH

>
>> +      clock-frequency = <400000>;
>> +      novatek,hwmods = "i2c0";
>> +      #address-cells = <2>;
>> +      #size-cells = <2>;
>> +    };
>> +
>> +    stbc-i2c1: i2c@20000000 {
>
> Drop example, almost the same, so pretty pointless.

This example will be modified for stbc-i2c instance on next submission.

Sincerely,
Ben Huang