summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
blob: e889dac052e76dd71098c1f7d5221b9ada4f17c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale on-board FPGA connected on I2C bus

maintainers:
  - Frank Li <Frank.Li@nxp.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - fsl,bsc9132qds-fpga
          - const: fsl,fpga-qixis-i2c
      - items:
          - enum:
              - fsl,ls1028aqds-fpga
              - fsl,lx2160aqds-fpga
          - const: fsl,fpga-qixis-i2c
          - const: simple-mfd
      - const: fsl,lx2160ardb-fpga

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  mux-controller:
    $ref: /schemas/mux/reg-mux.yaml

patternProperties:
  "^gpio@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        contains:
          enum:
            - fsl,lx2160ardb-fpga-gpio-sfp

required:
  - compatible
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - fsl,lx2160ardb-fpga
    then:
      required:
        - "#address-cells"
        - "#size-cells"
    else:
      properties:
        "#address-cells": false
        "#size-cells": false

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        board-control@66 {
            compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
            reg = <0x66>;
        };
    };

  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        board-control@66 {
            compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
                         "simple-mfd";
            reg = <0x66>;

            mux-controller {
                compatible = "reg-mux";
                #mux-control-cells = <1>;
                mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
            };
        };
    };

  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        board-control@66 {
            compatible = "fsl,lx2160ardb-fpga";
            reg = <0x66>;
            #address-cells = <1>;
            #size-cells = <0>;

            gpio@19 {
                compatible = "fsl,lx2160ardb-fpga-gpio-sfp";
                reg = <0x19>;
                gpio-controller;
                #gpio-cells = <2>;
                gpio-line-names =
                    "SFP2_TX_EN", "",
                    "", "",
                    "SFP2_RX_LOS", "SFP2_TX_FAULT",
                    "", "SFP2_MOD_ABS";
            };
        };
    };