xref: /freebsd/sys/contrib/device-tree/Bindings/net/pcs/mediatek,sgmiisys.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fac71e4eSEmmanuel Vadot%YAML 1.2
3fac71e4eSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/net/pcs/mediatek,sgmiisys.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6fac71e4eSEmmanuel Vadot
7fac71e4eSEmmanuel Vadottitle: MediaTek SGMIISYS Controller
8fac71e4eSEmmanuel Vadot
9fac71e4eSEmmanuel Vadotmaintainers:
10fac71e4eSEmmanuel Vadot  - Matthias Brugger <matthias.bgg@gmail.com>
11fac71e4eSEmmanuel Vadot
12fac71e4eSEmmanuel Vadotdescription:
13fac71e4eSEmmanuel Vadot  The MediaTek SGMIISYS controller provides a SGMII PCS and some clocks
14fac71e4eSEmmanuel Vadot  to the ethernet subsystem to which it is attached.
15fac71e4eSEmmanuel Vadot
16fac71e4eSEmmanuel Vadotproperties:
17fac71e4eSEmmanuel Vadot  compatible:
18*8d13bc63SEmmanuel Vadot    oneOf:
19*8d13bc63SEmmanuel Vadot      - items:
20fac71e4eSEmmanuel Vadot          - enum:
21fac71e4eSEmmanuel Vadot              - mediatek,mt7622-sgmiisys
22fac71e4eSEmmanuel Vadot              - mediatek,mt7629-sgmiisys
23fac71e4eSEmmanuel Vadot              - mediatek,mt7981-sgmiisys_0
24fac71e4eSEmmanuel Vadot              - mediatek,mt7981-sgmiisys_1
25fac71e4eSEmmanuel Vadot              - mediatek,mt7986-sgmiisys_0
26fac71e4eSEmmanuel Vadot              - mediatek,mt7986-sgmiisys_1
27fac71e4eSEmmanuel Vadot          - const: syscon
28*8d13bc63SEmmanuel Vadot      - items:
29*8d13bc63SEmmanuel Vadot          - enum:
30*8d13bc63SEmmanuel Vadot              - mediatek,mt7988-sgmiisys0
31*8d13bc63SEmmanuel Vadot              - mediatek,mt7988-sgmiisys1
32*8d13bc63SEmmanuel Vadot          - const: simple-mfd
33*8d13bc63SEmmanuel Vadot          - const: syscon
34fac71e4eSEmmanuel Vadot
35fac71e4eSEmmanuel Vadot  reg:
36fac71e4eSEmmanuel Vadot    maxItems: 1
37fac71e4eSEmmanuel Vadot
38fac71e4eSEmmanuel Vadot  '#clock-cells':
39fac71e4eSEmmanuel Vadot    const: 1
40fac71e4eSEmmanuel Vadot
41fac71e4eSEmmanuel Vadot  mediatek,pnswap:
42fac71e4eSEmmanuel Vadot    description: Invert polarity of the SGMII data lanes
43fac71e4eSEmmanuel Vadot    type: boolean
44fac71e4eSEmmanuel Vadot
45*8d13bc63SEmmanuel Vadot  pcs:
46*8d13bc63SEmmanuel Vadot    type: object
47*8d13bc63SEmmanuel Vadot    description: MediaTek LynxI HSGMII PCS
48*8d13bc63SEmmanuel Vadot    properties:
49*8d13bc63SEmmanuel Vadot      compatible:
50*8d13bc63SEmmanuel Vadot        const: mediatek,mt7988-sgmii
51*8d13bc63SEmmanuel Vadot
52*8d13bc63SEmmanuel Vadot      clocks:
53*8d13bc63SEmmanuel Vadot        maxItems: 3
54*8d13bc63SEmmanuel Vadot
55*8d13bc63SEmmanuel Vadot      clock-names:
56*8d13bc63SEmmanuel Vadot        items:
57*8d13bc63SEmmanuel Vadot          - const: sgmii_sel
58*8d13bc63SEmmanuel Vadot          - const: sgmii_tx
59*8d13bc63SEmmanuel Vadot          - const: sgmii_rx
60*8d13bc63SEmmanuel Vadot
61*8d13bc63SEmmanuel Vadot    required:
62*8d13bc63SEmmanuel Vadot      - compatible
63*8d13bc63SEmmanuel Vadot      - clocks
64*8d13bc63SEmmanuel Vadot      - clock-names
65*8d13bc63SEmmanuel Vadot
66*8d13bc63SEmmanuel Vadot    additionalProperties: false
67*8d13bc63SEmmanuel Vadot
68fac71e4eSEmmanuel Vadotrequired:
69fac71e4eSEmmanuel Vadot  - compatible
70fac71e4eSEmmanuel Vadot  - reg
71fac71e4eSEmmanuel Vadot  - '#clock-cells'
72fac71e4eSEmmanuel Vadot
73*8d13bc63SEmmanuel VadotallOf:
74*8d13bc63SEmmanuel Vadot  - if:
75*8d13bc63SEmmanuel Vadot      properties:
76*8d13bc63SEmmanuel Vadot        compatible:
77*8d13bc63SEmmanuel Vadot          contains:
78*8d13bc63SEmmanuel Vadot            enum:
79*8d13bc63SEmmanuel Vadot              - mediatek,mt7988-sgmiisys0
80*8d13bc63SEmmanuel Vadot              - mediatek,mt7988-sgmiisys1
81*8d13bc63SEmmanuel Vadot
82*8d13bc63SEmmanuel Vadot    then:
83*8d13bc63SEmmanuel Vadot      required:
84*8d13bc63SEmmanuel Vadot        - pcs
85*8d13bc63SEmmanuel Vadot
86*8d13bc63SEmmanuel Vadot    else:
87*8d13bc63SEmmanuel Vadot      properties:
88*8d13bc63SEmmanuel Vadot        pcs: false
89*8d13bc63SEmmanuel Vadot
90fac71e4eSEmmanuel VadotadditionalProperties: false
91fac71e4eSEmmanuel Vadot
92fac71e4eSEmmanuel Vadotexamples:
93fac71e4eSEmmanuel Vadot  - |
94fac71e4eSEmmanuel Vadot    soc {
95fac71e4eSEmmanuel Vadot      #address-cells = <2>;
96fac71e4eSEmmanuel Vadot      #size-cells = <2>;
97fac71e4eSEmmanuel Vadot      sgmiisys: syscon@1b128000 {
98fac71e4eSEmmanuel Vadot        compatible = "mediatek,mt7622-sgmiisys", "syscon";
99fac71e4eSEmmanuel Vadot        reg = <0 0x1b128000 0 0x1000>;
100fac71e4eSEmmanuel Vadot        #clock-cells = <1>;
101fac71e4eSEmmanuel Vadot      };
102fac71e4eSEmmanuel Vadot    };
103