[PATCH 8/9] arm64: dts: ls1046a-qds: add mmio based mdio-mux support

Shawn Guo shawnguo at kernel.org
Sun Sep 4 18:17:02 PDT 2022


On Wed, Aug 24, 2022 at 06:11:59PM -0500, Li Yang wrote:
> There is mmio based mdio mux function in the FPGA device on ls1046a-qds
> board.  Add the mmio based mdio-mux nodes to ls1046a-qds boards and
> add simple-mfd as a compatbile for the FPGA node to reflect the
> multi-function nature of it.
> 
> Signed-off-by: Camelia Groza <camelia.groza at nxp.com>
> Signed-off-by: Pankaj Bansal <pankaj.bansal at nxp.com>
> Signed-off-by: Li Yang <leoyang.li at nxp.com>
> ---
>  .../boot/dts/freescale/fsl-ls1046a-qds.dts    | 156 +++++++++++++++++-
>  1 file changed, 154 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
> index eec62c63dafe..eb74ed6419b6 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
> @@ -3,7 +3,7 @@
>   * Device Tree Include file for Freescale Layerscape-1046A family SoC.
>   *
>   * Copyright 2016 Freescale Semiconductor, Inc.
> - * Copyright 2018 NXP
> + * Copyright 2018-2021 NXP
>   *
>   * Shaohui Xie <Shaohui.Xie at nxp.com>
>   */
> @@ -25,6 +25,20 @@ aliases {
>  		serial1 = &duart1;
>  		serial2 = &duart2;
>  		serial3 = &duart3;
> +

Unnecessary newline.

> +		emi1-slot1 = &ls1046mdio_s1;
> +		emi1-slot2 = &ls1046mdio_s2;
> +		emi1-slot4 = &ls1046mdio_s4;

Keep the list alphabetically sorted?

> +
> +		sgmii-s1-p1 = &sgmii_phy_s1_p1;
> +		sgmii-s1-p2 = &sgmii_phy_s1_p2;
> +		sgmii-s1-p3 = &sgmii_phy_s1_p3;
> +		sgmii-s1-p4 = &sgmii_phy_s1_p4;
> +		sgmii-s4-p1 = &sgmii_phy_s4_p1;
> +		qsgmii-s2-p1 = &qsgmii_phy_s2_p1;
> +		qsgmii-s2-p2 = &qsgmii_phy_s2_p2;
> +		qsgmii-s2-p3 = &qsgmii_phy_s2_p3;
> +		qsgmii-s2-p4 = &qsgmii_phy_s2_p4;
>  	};
>  
>  	chosen {
> @@ -153,8 +167,9 @@ nand at 1,0 {
>  	};
>  
>  	fpga: board-control at 2,0 {
> -		compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis";
> +		compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis", "simple-mfd";
>  		reg = <0x2 0x0 0x0000100>;
> +		ranges = <0 2 0 0x100>;
>  	};
>  };
>  
> @@ -177,3 +192,140 @@ qflash0: flash at 0 {
>  };
>  
>  #include "fsl-ls1046-post.dtsi"
> +
> +&fman0 {
> +	ethernet at e0000 {
> +		phy-handle = <&qsgmii_phy_s2_p1>;
> +		phy-connection-type = "sgmii";
> +	};
> +
> +	ethernet at e2000 {
> +		phy-handle = <&sgmii_phy_s4_p1>;
> +		phy-connection-type = "sgmii";
> +	};
> +
> +	ethernet at e4000 {
> +		phy-handle = <&rgmii_phy1>;
> +		phy-connection-type = "rgmii";
> +	};
> +
> +	ethernet at e6000 {
> +		phy-handle = <&rgmii_phy2>;
> +		phy-connection-type = "rgmii";
> +	};
> +
> +	ethernet at e8000 {
> +		phy-handle = <&sgmii_phy_s1_p3>;
> +		phy-connection-type = "sgmii";
> +	};
> +
> +	ethernet at ea000 {
> +		phy-handle = <&sgmii_phy_s1_p4>;
> +		phy-connection-type = "sgmii";
> +	};
> +
> +	ethernet at f0000 { /* DTSEC9/10GEC1 */
> +		phy-handle = <&sgmii_phy_s1_p1>;
> +		phy-connection-type = "xgmii";
> +	};
> +
> +	ethernet at f2000 { /* DTSEC10/10GEC2 */
> +		phy-handle = <&sgmii_phy_s1_p2>;
> +		phy-connection-type = "xgmii";
> +	};
> +};
> +
> +&fpga {
> +	#address-cells = <1>;
> +	#size-cells = <1>;

Have a newline between properties and child node.

Shawn

> +	mdio-mux-emi1 at 54 {
> +		compatible = "mdio-mux-mmioreg", "mdio-mux";
> +		mdio-parent-bus = <&mdio0>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <0x54 1>;    /* BRDCFG4 */
> +		mux-mask = <0xe0>; /* EMI1 */
> +
> +		/* On-board RGMII1 PHY */
> +		ls1046mdio0: mdio at 0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rgmii_phy1: ethernet-phy at 1 { /* MAC3 */
> +				reg = <0x1>;
> +			};
> +		};
> +
> +		/* On-board RGMII2 PHY */
> +		ls1046mdio1: mdio at 20 {
> +			reg = <0x20>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rgmii_phy2: ethernet-phy at 2 { /* MAC4 */
> +				reg = <0x2>;
> +			};
> +		};
> +
> +		/* Slot 1 */
> +		ls1046mdio_s1: mdio at 40 {
> +			reg = <0x40>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +
> +			sgmii_phy_s1_p1: ethernet-phy at 1c {
> +				reg = <0x1c>;
> +			};
> +
> +			sgmii_phy_s1_p2: ethernet-phy at 1d {
> +				reg = <0x1d>;
> +			};
> +
> +			sgmii_phy_s1_p3: ethernet-phy at 1e {
> +				reg = <0x1e>;
> +			};
> +
> +			sgmii_phy_s1_p4: ethernet-phy at 1f {
> +				reg = <0x1f>;
> +			};
> +		};
> +
> +		/* Slot 2 */
> +		ls1046mdio_s2: mdio at 60 {
> +			reg = <0x60>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +
> +			qsgmii_phy_s2_p1: ethernet-phy at 8 {
> +				reg = <0x8>;
> +			};
> +
> +			qsgmii_phy_s2_p2: ethernet-phy at 9 {
> +				reg = <0x9>;
> +			};
> +
> +			qsgmii_phy_s2_p3: ethernet-phy at a {
> +				reg = <0xa>;
> +			};
> +
> +			qsgmii_phy_s2_p4: ethernet-phy at b {
> +				reg = <0xb>;
> +			};
> +		};
> +
> +		/* Slot 4 */
> +		ls1046mdio_s4: mdio at 80 {
> +			reg = <0x80>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +
> +			sgmii_phy_s4_p1: ethernet-phy at 1c {
> +				reg = <0x1c>;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.37.1
> 



More information about the linux-arm-kernel mailing list