[next 3/5] ARM: dts: ast2600: Add MDIO devices

Ramon Fried rfried.dev at gmail.com
Sat Dec 11 00:10:12 CET 2021


On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung at aspeedtech.com> wrote:
>
> There are 4 MDIO bus controllers in AST2600 SOC.  Each of them can
> connect to one or more PHY chips and is flexible to work with the 4 MAC
> devices in AST2600.  On AST2600 EVB, MDIO 0,1,2,3 connect to the PHY
> chips used by MAC 0,1,2,3 respectively.
>
> Signed-off-by: Dylan Hung <dylan_hung at aspeedtech.com>
> ---
>  arch/arm/dts/ast2600-evb.dts | 68 ++++++++++++++++++++++++++++++++++++
>  arch/arm/dts/ast2600.dtsi    | 46 +++++++++++++++++++++---
>  2 files changed, 109 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/dts/ast2600-evb.dts b/arch/arm/dts/ast2600-evb.dts
> index 2abd31341c11..4e256d1e2b4e 100644
> --- a/arch/arm/dts/ast2600-evb.dts
> +++ b/arch/arm/dts/ast2600-evb.dts
> @@ -163,6 +163,74 @@
>         pinctrl-0 = <&pinctrl_i2c9_default>;
>  };
>
> +&mdio0 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy0: ethernet-phy at 0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio1 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy1: ethernet-phy at 0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio2 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy2: ethernet-phy at 0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio3 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy3: ethernet-phy at 0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mac0 {
> +       status = "okay";
> +       phy-mode = "rgmii-rxid";
> +       phy-handle = <&ethphy0>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii1_default>;
> +};
> +
> +&mac1 {
> +       status = "okay";
> +       phy-mode = "rgmii-rxid";
> +       phy-handle = <&ethphy1>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii2_default>;
> +};
> +
> +&mac2 {
> +       status = "okay";
> +       phy-mode = "rgmii";
> +       phy-handle = <&ethphy2>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii3_default>;
> +};
> +
> +&mac3 {
> +       status = "okay";
> +       phy-mode = "rgmii";
> +       phy-handle = <&ethphy3>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii4_default>;
> +};
> +
>  &scu {
>         mac0-clk-delay = <0x1d 0x1c
>                           0x10 0x17
> diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi
> index f121f547e6d4..bdcca69e060d 100644
> --- a/arch/arm/dts/ast2600.dtsi
> +++ b/arch/arm/dts/ast2600.dtsi
> @@ -193,11 +193,47 @@
>                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
>                 };
>
> -               mdio: ethernet at 1e650000 {
> -                       compatible = "aspeed,aspeed-mdio";
> -                       reg = <0x1e650000 0x40>;
> -                       resets = <&rst ASPEED_RESET_MII>;
> -                       status = "disabled";
> +               mdio: bus at 1e650000 {
> +                       compatible = "simple-bus";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x1e650000 0x100>;
> +
> +                       mdio0: mdio at 0 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio1_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio1: mdio at 8 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x8 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio2_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio2: mdio at 10 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x10 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio3_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio3: mdio at 18 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x18 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio4_default>;
> +                               status = "disabled";
> +                       };
>                 };
>
>                 mac0: ftgmac at 1e660000 {
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev at gmail.com>


More information about the U-Boot mailing list