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