dt-bindings: phy: Add lan966x-serdes binding

Document the lan966x ethernet serdes phy driver bindings.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Link: https://lore.kernel.org/r/20211116100818.1615762-2-horatiu.vultur@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Horatiu Vultur 2021-11-16 11:08:16 +01:00 committed by Vinod Koul
parent be24d24840
commit fd66e57e46

View File

@ -0,0 +1,59 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/microchip,lan966x-serdes.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip Lan966x Serdes controller
maintainers:
- Horatiu Vultur <horatiu.vultur@microchip.com>
description: |
Lan966x has 7 interfaces, consisting of 2 copper transceivers(CU),
3 SERDES6G and 2 RGMII interfaces. Two of the SERDES6G support QSGMII.
Also it has 8 logical Ethernet ports which can be connected to these
interfaces. The Serdes controller will allow to configure these interfaces
and allows to "mux" the interfaces to different ports.
For simple selection of the interface that is used with a port, the
following macros are defined CU(X), SERDES6G(X), RGMII(X). Where X is a
number that represents the index of that interface type. For example
CU(1) means use interface copper transceivers 1. SERDES6G(2) means use
interface SerDes 2.
properties:
$nodename:
pattern: "^serdes@[0-9a-f]+$"
compatible:
const: microchip,lan966x-serdes
reg:
items:
- description: HSIO registers
- description: HW_STAT register
'#phy-cells':
const: 2
description: |
- Input port to use for a given macro.
- The macro to be used. The macros are defined in
dt-bindings/phy/phy-lan966x-serdes.
required:
- compatible
- reg
- '#phy-cells'
additionalProperties: false
examples:
- |
serdes: serdes@e2004010 {
compatible = "microchip,lan966x-serdes";
reg = <0xe202c000 0x9c>, <0xe2004010 0x4>;
#phy-cells = <2>;
};
...