xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/aspeed,i2c.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/aspeed,i2c.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: ASPEED I2C on the AST24XX, AST25XX, and AST26XX SoCs
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Rayn Chen <rayn_chen@aspeedtech.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel VadotallOf:
135956d97fSEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
145956d97fSEmmanuel Vadot
155956d97fSEmmanuel Vadotproperties:
165956d97fSEmmanuel Vadot  compatible:
175956d97fSEmmanuel Vadot    enum:
185956d97fSEmmanuel Vadot      - aspeed,ast2400-i2c-bus
195956d97fSEmmanuel Vadot      - aspeed,ast2500-i2c-bus
205956d97fSEmmanuel Vadot      - aspeed,ast2600-i2c-bus
215956d97fSEmmanuel Vadot
225956d97fSEmmanuel Vadot  reg:
235956d97fSEmmanuel Vadot    minItems: 1
245956d97fSEmmanuel Vadot    items:
255956d97fSEmmanuel Vadot      - description: address offset and range of bus
265956d97fSEmmanuel Vadot      - description: address offset and range of bus buffer
275956d97fSEmmanuel Vadot
285956d97fSEmmanuel Vadot  interrupts:
295956d97fSEmmanuel Vadot    maxItems: 1
305956d97fSEmmanuel Vadot
315956d97fSEmmanuel Vadot  clocks:
325956d97fSEmmanuel Vadot    maxItems: 1
335956d97fSEmmanuel Vadot    description:
345956d97fSEmmanuel Vadot      root clock of bus, should reference the APB
355956d97fSEmmanuel Vadot      clock in the second cell
365956d97fSEmmanuel Vadot
375956d97fSEmmanuel Vadot  resets:
385956d97fSEmmanuel Vadot    maxItems: 1
395956d97fSEmmanuel Vadot
405956d97fSEmmanuel Vadot  bus-frequency:
415956d97fSEmmanuel Vadot    minimum: 500
425956d97fSEmmanuel Vadot    maximum: 4000000
435956d97fSEmmanuel Vadot    default: 100000
445956d97fSEmmanuel Vadot    description: frequency of the bus clock in Hz defaults to 100 kHz when not
455956d97fSEmmanuel Vadot      specified
465956d97fSEmmanuel Vadot
475956d97fSEmmanuel Vadot  multi-master:
485956d97fSEmmanuel Vadot    type: boolean
495956d97fSEmmanuel Vadot    description:
505956d97fSEmmanuel Vadot      states that there is another master active on this bus
515956d97fSEmmanuel Vadot
525956d97fSEmmanuel Vadotrequired:
535956d97fSEmmanuel Vadot  - reg
545956d97fSEmmanuel Vadot  - compatible
555956d97fSEmmanuel Vadot  - clocks
565956d97fSEmmanuel Vadot  - resets
575956d97fSEmmanuel Vadot
585956d97fSEmmanuel VadotunevaluatedProperties: false
595956d97fSEmmanuel Vadot
605956d97fSEmmanuel Vadotexamples:
615956d97fSEmmanuel Vadot  - |
625956d97fSEmmanuel Vadot    #include <dt-bindings/clock/aspeed-clock.h>
63*fac71e4eSEmmanuel Vadot    i2c@40 {
645956d97fSEmmanuel Vadot      #address-cells = <1>;
655956d97fSEmmanuel Vadot      #size-cells = <0>;
665956d97fSEmmanuel Vadot      compatible = "aspeed,ast2500-i2c-bus";
675956d97fSEmmanuel Vadot      reg = <0x40 0x40>;
685956d97fSEmmanuel Vadot      clocks = <&syscon ASPEED_CLK_APB>;
695956d97fSEmmanuel Vadot      resets = <&syscon ASPEED_RESET_I2C>;
705956d97fSEmmanuel Vadot      bus-frequency = <100000>;
715956d97fSEmmanuel Vadot      interrupts = <0>;
725956d97fSEmmanuel Vadot      interrupt-parent = <&i2c_ic>;
735956d97fSEmmanuel Vadot    };
74