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

Krzysztof Kozlowski <[email protected]> Tue, 21 Jul 2026 09:10:18 +0200
Newsgroups org.kernel.vger.linux-i2c,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <20260721-notorious-flexible-uakari-ba8e0c@quoll>
On Wed, Jul 15, 2026 at 03:35:21PM +0800, [email protected] wrote:
> From: Ben Huang <[email protected]>
> 
> Add device tree documentation for Novatek NT726xx SoC I2C controller.
> 
> Signed-off-by: Ben Huang <[email protected]>
> Signed-off-by: Nina Kuo <[email protected]>
> ---
>  .../bindings/i2c/novatek,nt726xx-i2c.yaml     | 74 +++++++++++++++++++
>  1 file changed, 74 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/i2c/novatek,nt726xx-i2c.yaml
> 
> 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.

> @@ -0,0 +1,74 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/i2c/novatek,nt726xx-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +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.

> +
> +title: Novatek NT726xx Series SoC I2C master controller

So 726xx or 72600? Confusing.

> +
> +allOf:
> +  - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +properties:
> +  compatible:
> +    const: novatek,nt72600-i2c
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clock-frequency:
> +    default: 100000
> +    enum: [ 100000, 400000 ]
> +
> +  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.

> +
> +  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.

> +
> +    default: 0

Don't vibe code stuff.



> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - novatek,hwmods
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    i2c0: i2c@10000000 {

Drop label

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

Use proper defines.

> +      clock-frequency = <400000>;
> +      novatek,hwmods = "i2c0";
> +      #address-cells = <2>;
> +      #size-cells = <2>;
> +    };
> +
> +    stbc-i2c1: i2c@20000000 {

Drop example, almost the same, so pretty pointless.

Best regards,
Krzysztof