[PATCH v5 1/3] dt-bindings: i2c: Add Novatek NT72676 I2C controller
[email protected] Tue, 4 Aug 2026 11:34:17 +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]> Add Devicetree binding documentation for Novatek NT72676 I2C controller. Signed-off-by: Ben Huang <[email protected]> Signed-off-by: Nina Kuo <[email protected]> --- .../bindings/i2c/novatek,nt72676-i2c.yaml | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/novatek,nt72676-i2c.yaml diff --git a/Documentation/devicetree/bindings/i2c/novatek,nt72676-i2c.yaml b/Documentation/devicetree/bindings/i2c/novatek,nt72676-i2c.yaml new file mode 100644 index 000000000000..c9dd1c0d7957 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/novatek,nt72676-i2c.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/novatek,nt72676-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Novatek NT72676 I2C Controller + +maintainers: + - Ben Huang <[email protected]> + - Jason JJ Wu <[email protected]> + +description: + Novatek NT72676 SoC provides two I2C controller variants, generic I2C and + STBC I2C. + 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. + +properties: + compatible: + enum: + - novatek,nt72676-i2c + - novatek,nt72676-stbc-i2c + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-frequency: + default: 100000 + enum: [ 100000, 400000 ] + + novatek,stbc-syscon: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to the STBC system controller registers used to authenticate + host access and switch ownership of the STBC I2C controller. + +required: + - compatible + - reg + - interrupts + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + - if: + properties: + compatible: + contains: + const: novatek,nt72676-stbc-i2c + then: + required: + - novatek,stbc-syscon + else: + properties: + novatek,stbc-syscon: false + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/interrupt-controller/irq.h> + + i2c@fd000000 { + compatible = "novatek,nt72676-i2c"; + reg = <0xfd000000 0x100>; + interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; + clock-frequency = <400000>; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c@fc040a00 { + compatible = "novatek,nt72676-stbc-i2c"; + reg = <0xfc040a00 0x40>; + interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; + novatek,stbc-syscon = <&sysreg_system_controller>; + #address-cells = <1>; + #size-cells = <0>; + }; -- 2.40.1