1*810e4441SJamin Lin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*810e4441SJamin Lin%YAML 1.2
3*810e4441SJamin Lin---
4*810e4441SJamin Lin$id: http://devicetree.org/schemas/i2c/aspeed,i2c.yaml#
5*810e4441SJamin Lin$schema: http://devicetree.org/meta-schemas/core.yaml#
6*810e4441SJamin Lin
7*810e4441SJamin Lintitle: ASPEED I2C on the AST24XX, AST25XX, and AST26XX SoCs Device Tree Bindings
8*810e4441SJamin Lin
9*810e4441SJamin Linmaintainers:
10*810e4441SJamin Lin  - Rayn Chen <rayn_chen@aspeedtech.com>
11*810e4441SJamin Lin
12*810e4441SJamin LinallOf:
13*810e4441SJamin Lin  - $ref: /schemas/i2c/i2c-controller.yaml#
14*810e4441SJamin Lin
15*810e4441SJamin Linproperties:
16*810e4441SJamin Lin  compatible:
17*810e4441SJamin Lin    enum:
18*810e4441SJamin Lin      - aspeed,ast2400-i2c-bus
19*810e4441SJamin Lin      - aspeed,ast2500-i2c-bus
20*810e4441SJamin Lin      - aspeed,ast2600-i2c-bus
21*810e4441SJamin Lin
22*810e4441SJamin Lin  reg:
23*810e4441SJamin Lin    minItems: 1
24*810e4441SJamin Lin    maxItems: 2
25*810e4441SJamin Lin    items:
26*810e4441SJamin Lin      - description: address offset and range of bus
27*810e4441SJamin Lin      - description: address offset and range of bus buffer
28*810e4441SJamin Lin
29*810e4441SJamin Lin  interrupts:
30*810e4441SJamin Lin    maxItems: 1
31*810e4441SJamin Lin
32*810e4441SJamin Lin  clocks:
33*810e4441SJamin Lin    maxItems: 1
34*810e4441SJamin Lin    description:
35*810e4441SJamin Lin      root clock of bus, should reference the APB
36*810e4441SJamin Lin      clock in the second cell
37*810e4441SJamin Lin
38*810e4441SJamin Lin  resets:
39*810e4441SJamin Lin    maxItems: 1
40*810e4441SJamin Lin
41*810e4441SJamin Lin  bus-frequency:
42*810e4441SJamin Lin    minimum: 500
43*810e4441SJamin Lin    maximum: 4000000
44*810e4441SJamin Lin    default: 100000
45*810e4441SJamin Lin    description: frequency of the bus clock in Hz defaults to 100 kHz when not
46*810e4441SJamin Lin      specified
47*810e4441SJamin Lin
48*810e4441SJamin Lin  multi-master:
49*810e4441SJamin Lin    type: boolean
50*810e4441SJamin Lin    description:
51*810e4441SJamin Lin      states that there is another master active on this bus
52*810e4441SJamin Lin
53*810e4441SJamin Linrequired:
54*810e4441SJamin Lin  - reg
55*810e4441SJamin Lin  - compatible
56*810e4441SJamin Lin  - clocks
57*810e4441SJamin Lin  - resets
58*810e4441SJamin Lin
59*810e4441SJamin LinunevaluatedProperties: false
60*810e4441SJamin Lin
61*810e4441SJamin Linexamples:
62*810e4441SJamin Lin  - |
63*810e4441SJamin Lin    #include <dt-bindings/clock/aspeed-clock.h>
64*810e4441SJamin Lin    i2c0: i2c-bus@40 {
65*810e4441SJamin Lin      #address-cells = <1>;
66*810e4441SJamin Lin      #size-cells = <0>;
67*810e4441SJamin Lin      #interrupt-cells = <1>;
68*810e4441SJamin Lin      compatible = "aspeed,ast2500-i2c-bus";
69*810e4441SJamin Lin      reg = <0x40 0x40>;
70*810e4441SJamin Lin      clocks = <&syscon ASPEED_CLK_APB>;
71*810e4441SJamin Lin      resets = <&syscon ASPEED_RESET_I2C>;
72*810e4441SJamin Lin      bus-frequency = <100000>;
73*810e4441SJamin Lin      interrupts = <0>;
74*810e4441SJamin Lin      interrupt-parent = <&i2c_ic>;
75*810e4441SJamin Lin    };
76