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]>
Reviewed-by: Krzysztof Kozlowski <[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.