From: Christian Marangi <[email protected]> Add PCS node for Airoha AN7583 SoC to enable support for Serdes Ethernet and PON port.
Signed-off-by: Christian Marangi <[email protected]> --- arch/arm/dts/an7583-evb.dts | 18 ++++++++++ arch/arm/dts/an7583.dtsi | 72 +++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/arch/arm/dts/an7583-evb.dts b/arch/arm/dts/an7583-evb.dts index d02cd194e8a..714c90eadfe 100644 --- a/arch/arm/dts/an7583-evb.dts +++ b/arch/arm/dts/an7583-evb.dts @@ -65,3 +65,21 @@ &snfi { status = "okay"; }; + +&gdm1 { + status = "okay"; +}; + +&gdm2 { + status = "okay"; + + managed = "in-band-status"; + phy-mode = "usxgmii"; +}; + +&gdm3 { + status = "okay"; + + managed = "in-band-status"; + phy-mode = "2500base-x"; +}; diff --git a/arch/arm/dts/an7583.dtsi b/arch/arm/dts/an7583.dtsi index ec6eab327db..c8f445b2c41 100644 --- a/arch/arm/dts/an7583.dtsi +++ b/arch/arm/dts/an7583.dtsi @@ -145,6 +145,49 @@ reg = <0x0 0x1fa20000 0x0 0x388>; }; + pon_pcs: pcs@1fa08000 { + compatible = "airoha,an7583-pcs-pon"; + reg = <0x0 0x1fa08000 0x0 0x1000>, + <0x0 0x1fa80000 0x0 0x60>, + <0x0 0x1fa80a00 0x0 0x164>, + <0x0 0x1fa84000 0x0 0x450>, + <0x0 0x1fa85900 0x0 0x338>, + <0x0 0x1fa86000 0x0 0x300>, + <0x0 0x1fa8f000 0x0 0x1000>, + <0x0 0x1fa8e000 0x0 0x1000>; + reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs", + "multi_sgmii", "usxgmii", + "hsgmii_rate_adp", "xfi_ana", "xfi_pma"; + + resets = <&scuclk AN7583_XPON_MAC_RST>, + <&scuclk AN7583_XPON_PHY_RST>, + <&scuclk AN7583_XPON_XFI_RST>; + reset-names = "mac", "phy", "xfi"; + + airoha,scu = <&scuclk>; + }; + + eth_pcs: pcs@1fa09000 { + compatible = "airoha,an7583-pcs-eth"; + reg = <0x0 0x1fa09000 0x0 0x1000>, + <0x0 0x1fa70000 0x0 0x60>, + <0x0 0x1fa70a00 0x0 0x164>, + <0x0 0x1fa74000 0x0 0x450>, + <0x0 0x1fa75900 0x0 0x338>, + <0x0 0x1fa76000 0x0 0x300>, + <0x0 0x1fa7f000 0x0 0x1000>, + <0x0 0x1fa7e000 0x0 0x1000>; + reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs", + "multi_sgmii", "usxgmii", + "hsgmii_rate_adp", "xfi_ana", "xfi_pma"; + + resets = <&scuclk AN7583_XSI_MAC_RST>, + <&scuclk AN7583_XSI_PHY_RST>; + reset-names = "mac", "phy"; + + airoha,scu = <&scuclk>; + }; + eth: ethernet@1fb50000 { compatible = "airoha,an7583-eth"; reg = <0 0x1fb50000 0 0x2600>, @@ -161,6 +204,35 @@ reset-names = "fe", "pdma", "qdma", "hsi0-mac", "hsi1-mac", "xfp-mac"; + + gdm1: ethernet@1 { + compatible = "airoha,eth-mac"; + reg = <1>; + phy-mode = "internal"; + status = "disabled"; + + fixed-link { + speed = <10000>; + full-duplex; + pause; + }; + }; + + gdm2: ethernet@2 { + compatible = "airoha,eth-mac"; + reg = <2>; + pcs = <&pon_pcs>; + + status = "disabled"; + }; + + gdm3: ethernet@3 { + compatible = "airoha,eth-mac"; + reg = <3>; + pcs = <ð_pcs>; + + status = "disabled"; + }; }; switch: switch@1fb58000 { -- 2.53.0
