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