0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/i2c/ingenic,i2c.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Ingenic SoCs I2C controller devicetree bindings
0008
0009 maintainers:
0010 - Paul Cercueil <paul@crapouillou.net>
0011
0012 allOf:
0013 - $ref: /schemas/i2c/i2c-controller.yaml#
0014
0015 properties:
0016 $nodename:
0017 pattern: "^i2c@[0-9a-f]+$"
0018
0019 compatible:
0020 oneOf:
0021 - enum:
0022 - ingenic,jz4770-i2c
0023 - ingenic,x1000-i2c
0024 - items:
0025 - const: ingenic,jz4780-i2c
0026 - const: ingenic,jz4770-i2c
0027
0028 reg:
0029 maxItems: 1
0030
0031 interrupts:
0032 maxItems: 1
0033
0034 clocks:
0035 maxItems: 1
0036
0037 clock-frequency:
0038 enum: [ 100000, 400000 ]
0039
0040 dmas:
0041 items:
0042 - description: DMA controller phandle and request line for RX
0043 - description: DMA controller phandle and request line for TX
0044
0045 dma-names:
0046 items:
0047 - const: rx
0048 - const: tx
0049
0050 required:
0051 - compatible
0052 - reg
0053 - interrupts
0054 - clocks
0055 - clock-frequency
0056 - dmas
0057 - dma-names
0058
0059 unevaluatedProperties: false
0060
0061 examples:
0062 - |
0063 #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
0064 #include <dt-bindings/dma/jz4780-dma.h>
0065 #include <dt-bindings/interrupt-controller/irq.h>
0066 i2c@10054000 {
0067 compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
0068 #address-cells = <1>;
0069 #size-cells = <0>;
0070 reg = <0x10054000 0x1000>;
0071
0072 interrupts = <56 IRQ_TYPE_LEVEL_LOW>;
0073
0074 clocks = <&cgu JZ4780_CLK_SMB4>;
0075 pinctrl-names = "default";
0076 pinctrl-0 = <&pins_i2c4_data>;
0077
0078 dmas = <&dma JZ4780_DMA_SMB4_RX 0xffffffff>,
0079 <&dma JZ4780_DMA_SMB4_TX 0xffffffff>;
0080 dma-names = "rx", "tx";
0081
0082 clock-frequency = <400000>;
0083
0084 rtc@51 {
0085 compatible = "nxp,pcf8563";
0086 reg = <0x51>;
0087
0088 interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
0089 };
0090 };