xref: /freebsd/sys/contrib/device-tree/Bindings/phy/microchip,lan966x-serdes.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1*e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*e67e8565SEmmanuel Vadot%YAML 1.2
3*e67e8565SEmmanuel Vadot---
4*e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/microchip,lan966x-serdes.yaml#
5*e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e67e8565SEmmanuel Vadot
7*e67e8565SEmmanuel Vadottitle: Microchip Lan966x Serdes controller
8*e67e8565SEmmanuel Vadot
9*e67e8565SEmmanuel Vadotmaintainers:
10*e67e8565SEmmanuel Vadot  - Horatiu Vultur <horatiu.vultur@microchip.com>
11*e67e8565SEmmanuel Vadot
12*e67e8565SEmmanuel Vadotdescription: |
13*e67e8565SEmmanuel Vadot  Lan966x has 7 interfaces, consisting of 2 copper transceivers(CU),
14*e67e8565SEmmanuel Vadot  3 SERDES6G and 2 RGMII interfaces. Two of the SERDES6G support QSGMII.
15*e67e8565SEmmanuel Vadot  Also it has 8 logical Ethernet ports which can be connected to these
16*e67e8565SEmmanuel Vadot  interfaces. The Serdes controller will allow to configure these interfaces
17*e67e8565SEmmanuel Vadot  and allows to "mux" the interfaces to different ports.
18*e67e8565SEmmanuel Vadot
19*e67e8565SEmmanuel Vadot  For simple selection of the interface that is used with a port, the
20*e67e8565SEmmanuel Vadot  following macros are defined CU(X), SERDES6G(X), RGMII(X). Where X is a
21*e67e8565SEmmanuel Vadot  number that represents the index of that interface type. For example
22*e67e8565SEmmanuel Vadot  CU(1) means use interface copper transceivers 1. SERDES6G(2) means use
23*e67e8565SEmmanuel Vadot  interface SerDes 2.
24*e67e8565SEmmanuel Vadot
25*e67e8565SEmmanuel Vadotproperties:
26*e67e8565SEmmanuel Vadot  $nodename:
27*e67e8565SEmmanuel Vadot    pattern: "^serdes@[0-9a-f]+$"
28*e67e8565SEmmanuel Vadot
29*e67e8565SEmmanuel Vadot  compatible:
30*e67e8565SEmmanuel Vadot    const: microchip,lan966x-serdes
31*e67e8565SEmmanuel Vadot
32*e67e8565SEmmanuel Vadot  reg:
33*e67e8565SEmmanuel Vadot    items:
34*e67e8565SEmmanuel Vadot      - description: HSIO registers
35*e67e8565SEmmanuel Vadot      - description: HW_STAT register
36*e67e8565SEmmanuel Vadot
37*e67e8565SEmmanuel Vadot  '#phy-cells':
38*e67e8565SEmmanuel Vadot    const: 2
39*e67e8565SEmmanuel Vadot    description: |
40*e67e8565SEmmanuel Vadot      - Input port to use for a given macro.
41*e67e8565SEmmanuel Vadot      - The macro to be used. The macros are defined in
42*e67e8565SEmmanuel Vadot        dt-bindings/phy/phy-lan966x-serdes.
43*e67e8565SEmmanuel Vadot
44*e67e8565SEmmanuel Vadotrequired:
45*e67e8565SEmmanuel Vadot  - compatible
46*e67e8565SEmmanuel Vadot  - reg
47*e67e8565SEmmanuel Vadot  - '#phy-cells'
48*e67e8565SEmmanuel Vadot
49*e67e8565SEmmanuel VadotadditionalProperties: false
50*e67e8565SEmmanuel Vadot
51*e67e8565SEmmanuel Vadotexamples:
52*e67e8565SEmmanuel Vadot  - |
53*e67e8565SEmmanuel Vadot    serdes: serdes@e2004010 {
54*e67e8565SEmmanuel Vadot      compatible = "microchip,lan966x-serdes";
55*e67e8565SEmmanuel Vadot      reg = <0xe202c000 0x9c>, <0xe2004010 0x4>;
56*e67e8565SEmmanuel Vadot      #phy-cells = <2>;
57*e67e8565SEmmanuel Vadot    };
58*e67e8565SEmmanuel Vadot
59*e67e8565SEmmanuel Vadot...
60