xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/mellanox,i2c-mlxbf.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5def4c47SEmmanuel Vadot%YAML 1.2
3*5def4c47SEmmanuel Vadot---
4*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml#
5*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5def4c47SEmmanuel Vadot
7*5def4c47SEmmanuel Vadottitle: Mellanox I2C SMBus on BlueField SoCs
8*5def4c47SEmmanuel Vadot
9*5def4c47SEmmanuel Vadotmaintainers:
10*5def4c47SEmmanuel Vadot  - Khalil Blaiech <kblaiech@nvidia.com>
11*5def4c47SEmmanuel Vadot
12*5def4c47SEmmanuel VadotallOf:
13*5def4c47SEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
14*5def4c47SEmmanuel Vadot
15*5def4c47SEmmanuel Vadotproperties:
16*5def4c47SEmmanuel Vadot  compatible:
17*5def4c47SEmmanuel Vadot    enum:
18*5def4c47SEmmanuel Vadot      - mellanox,i2c-mlxbf1
19*5def4c47SEmmanuel Vadot      - mellanox,i2c-mlxbf2
20*5def4c47SEmmanuel Vadot
21*5def4c47SEmmanuel Vadot  reg:
22*5def4c47SEmmanuel Vadot    minItems: 3
23*5def4c47SEmmanuel Vadot    items:
24*5def4c47SEmmanuel Vadot      - description: Smbus block registers
25*5def4c47SEmmanuel Vadot      - description: Cause master registers
26*5def4c47SEmmanuel Vadot      - description: Cause slave registers
27*5def4c47SEmmanuel Vadot      - description: Cause coalesce registers
28*5def4c47SEmmanuel Vadot
29*5def4c47SEmmanuel Vadot  interrupts:
30*5def4c47SEmmanuel Vadot    maxItems: 1
31*5def4c47SEmmanuel Vadot
32*5def4c47SEmmanuel Vadot  clock-frequency:
33*5def4c47SEmmanuel Vadot    enum: [ 100000, 400000, 1000000 ]
34*5def4c47SEmmanuel Vadot    description:
35*5def4c47SEmmanuel Vadot      bus frequency used to configure timing registers;
36*5def4c47SEmmanuel Vadot      The frequency is expressed in Hz. Default is 100000.
37*5def4c47SEmmanuel Vadot
38*5def4c47SEmmanuel Vadotrequired:
39*5def4c47SEmmanuel Vadot  - compatible
40*5def4c47SEmmanuel Vadot  - reg
41*5def4c47SEmmanuel Vadot  - interrupts
42*5def4c47SEmmanuel Vadot
43*5def4c47SEmmanuel VadotunevaluatedProperties: false
44*5def4c47SEmmanuel Vadot
45*5def4c47SEmmanuel Vadotif:
46*5def4c47SEmmanuel Vadot  properties:
47*5def4c47SEmmanuel Vadot    compatible:
48*5def4c47SEmmanuel Vadot      contains:
49*5def4c47SEmmanuel Vadot        enum:
50*5def4c47SEmmanuel Vadot          - mellanox,i2c-mlxbf1
51*5def4c47SEmmanuel Vadot
52*5def4c47SEmmanuel Vadotthen:
53*5def4c47SEmmanuel Vadot  properties:
54*5def4c47SEmmanuel Vadot    reg:
55*5def4c47SEmmanuel Vadot      maxItems: 3
56*5def4c47SEmmanuel Vadot
57*5def4c47SEmmanuel Vadotexamples:
58*5def4c47SEmmanuel Vadot  - |
59*5def4c47SEmmanuel Vadot    i2c@2804000 {
60*5def4c47SEmmanuel Vadot        compatible = "mellanox,i2c-mlxbf1";
61*5def4c47SEmmanuel Vadot        reg = <0x02804000 0x800>,
62*5def4c47SEmmanuel Vadot              <0x02801200 0x020>,
63*5def4c47SEmmanuel Vadot              <0x02801260 0x020>;
64*5def4c47SEmmanuel Vadot        interrupts = <57>;
65*5def4c47SEmmanuel Vadot        clock-frequency = <100000>;
66*5def4c47SEmmanuel Vadot    };
67*5def4c47SEmmanuel Vadot
68*5def4c47SEmmanuel Vadot  - |
69*5def4c47SEmmanuel Vadot    i2c@2808800 {
70*5def4c47SEmmanuel Vadot        compatible = "mellanox,i2c-mlxbf2";
71*5def4c47SEmmanuel Vadot        reg = <0x02808800 0x600>,
72*5def4c47SEmmanuel Vadot              <0x02808e00 0x020>,
73*5def4c47SEmmanuel Vadot              <0x02808e20 0x020>,
74*5def4c47SEmmanuel Vadot              <0x02808e40 0x010>;
75*5def4c47SEmmanuel Vadot        interrupts = <57>;
76*5def4c47SEmmanuel Vadot        clock-frequency = <400000>;
77*5def4c47SEmmanuel Vadot    };
78