[PATCH v3 2/3] dt-bindings: phy: Add constants for lan966x serdes

Rob Herring robh at kernel.org
Mon Oct 18 12:28:24 PDT 2021


On Fri, Oct 15, 2021 at 02:39:19PM +0200, Horatiu Vultur wrote:
> Lan966x has: 2 integrated PHYs, 3 SerDes and 2 RGMII interfaces. Which
> requires to be muxed based on the HW representation.
> 
> So add constants for each interface to be able to distinguish them.
> 
> Signed-off-by: Horatiu Vultur <horatiu.vultur at microchip.com>
> ---
>  include/dt-bindings/phy/phy-lan966x-serdes.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>  create mode 100644 include/dt-bindings/phy/phy-lan966x-serdes.h
> 
> diff --git a/include/dt-bindings/phy/phy-lan966x-serdes.h b/include/dt-bindings/phy/phy-lan966x-serdes.h
> new file mode 100644
> index 000000000000..8a05f93ecf41
> --- /dev/null
> +++ b/include/dt-bindings/phy/phy-lan966x-serdes.h
> @@ -0,0 +1,14 @@
> +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> +
> +#ifndef __PHY_LAN966X_SERDES_H__
> +#define __PHY_LAN966X_SERDES_H__
> +
> +#define PHY(x)		(x)
> +#define PHY_MAX		PHY(2)
> +#define SERDES6G(x)	(PHY_MAX + 1 + (x))
> +#define SERDES6G_MAX	SERDES6G(3)
> +#define RGMII(x)	(SERDES6G_MAX + 1 + (x))
> +#define RGMII_MAX	RGMII(2)
> +#define SERDES_MAX	(RGMII_MAX + 1)

I still don't understand. #phy-cells description says we have:

<port idx> <serdes idx>

But here it's 3 numbers. How are these defines used to fill in the 2 
cells?

Rob



More information about the linux-phy mailing list