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