18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/ingenic,i2c.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Ingenic SoCs I2C controller devicetree bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Paul Cercueil <paul@crapouillou.net>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciallOf:
138c2ecf20Sopenharmony_ci  - $ref: /schemas/i2c/i2c-controller.yaml#
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciproperties:
168c2ecf20Sopenharmony_ci  $nodename:
178c2ecf20Sopenharmony_ci    pattern: "^i2c@[0-9a-f]+$"
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  compatible:
208c2ecf20Sopenharmony_ci    oneOf:
218c2ecf20Sopenharmony_ci      - enum:
228c2ecf20Sopenharmony_ci          - ingenic,jz4770-i2c
238c2ecf20Sopenharmony_ci          - ingenic,x1000-i2c
248c2ecf20Sopenharmony_ci      - items:
258c2ecf20Sopenharmony_ci          - const: ingenic,jz4780-i2c
268c2ecf20Sopenharmony_ci          - const: ingenic,jz4770-i2c
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  reg:
298c2ecf20Sopenharmony_ci    maxItems: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  interrupts:
328c2ecf20Sopenharmony_ci    maxItems: 1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  clocks:
358c2ecf20Sopenharmony_ci    maxItems: 1
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clock-frequency:
388c2ecf20Sopenharmony_ci    enum: [ 100000, 400000 ]
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  dmas:
418c2ecf20Sopenharmony_ci    items:
428c2ecf20Sopenharmony_ci      - description: DMA controller phandle and request line for RX
438c2ecf20Sopenharmony_ci      - description: DMA controller phandle and request line for TX
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  dma-names:
468c2ecf20Sopenharmony_ci    items:
478c2ecf20Sopenharmony_ci      - const: rx
488c2ecf20Sopenharmony_ci      - const: tx
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cirequired:
518c2ecf20Sopenharmony_ci  - compatible
528c2ecf20Sopenharmony_ci  - reg
538c2ecf20Sopenharmony_ci  - interrupts
548c2ecf20Sopenharmony_ci  - clocks
558c2ecf20Sopenharmony_ci  - clock-frequency
568c2ecf20Sopenharmony_ci  - dmas
578c2ecf20Sopenharmony_ci  - dma-names
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciunevaluatedProperties: false
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciexamples:
628c2ecf20Sopenharmony_ci  - |
638c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/jz4780-cgu.h>
648c2ecf20Sopenharmony_ci    #include <dt-bindings/dma/jz4780-dma.h>
658c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
668c2ecf20Sopenharmony_ci    i2c@10054000 {
678c2ecf20Sopenharmony_ci      compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
688c2ecf20Sopenharmony_ci      #address-cells = <1>;
698c2ecf20Sopenharmony_ci      #size-cells = <0>;
708c2ecf20Sopenharmony_ci      reg = <0x10054000 0x1000>;
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci      interrupt-parent = <&intc>;
738c2ecf20Sopenharmony_ci      interrupts = <56>;
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci      clocks = <&cgu JZ4780_CLK_SMB4>;
768c2ecf20Sopenharmony_ci      pinctrl-names = "default";
778c2ecf20Sopenharmony_ci      pinctrl-0 = <&pins_i2c4_data>;
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci      dmas = <&dma JZ4780_DMA_SMB4_RX 0xffffffff>,
808c2ecf20Sopenharmony_ci             <&dma JZ4780_DMA_SMB4_TX 0xffffffff>;
818c2ecf20Sopenharmony_ci      dma-names = "rx", "tx";
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci      clock-frequency = <400000>;
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci      rtc@51 {
868c2ecf20Sopenharmony_ci        compatible = "nxp,pcf8563";
878c2ecf20Sopenharmony_ci        reg = <0x51>;
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci        interrupt-parent = <&gpf>;
908c2ecf20Sopenharmony_ci        interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
918c2ecf20Sopenharmony_ci      };
928c2ecf20Sopenharmony_ci    };
93