[PATCH v4 6/7] arm: dts: ls1028a: Add Ethernet switch node and dependencies
Michael Walle
michael at walle.cc
Mon Jan 25 13:33:09 CET 2021
Am 2021-01-25 13:23, schrieb Vladimir Oltean:
> From: Alex Marginean <alexandru.marginean at nxp.com>
>
> The definition follows the DSA binding in kernel and describes the
> switch,
> its ports and PHYs. The switch node has the same structure as in Linux
> and this patch enables it (and relevant ports) for the LS1028A RDB
> board.
>
> ENETC PF6 is the 2nd Eth controller linked to the switch on LS1028A, it
> is
> not used in U-Boot and was disabled. Ethernet port aliases were also
> added to better manage the multitude of ports available now.
>
> Signed-off-by: Alex Marginean <alexandru.marginean at nxp.com>
> Signed-off-by: Claudiu Manoil <claudiu.manoil at nxp.com>
> Signed-off-by: Vladimir Oltean <vladimir.oltean at nxp.com>
You don't seem to like my review tag :p
Reviewed-by: Michael Walle <michael at walle.cc>
> ---
> v4: none.
>
> v3: Added a comment denoting the PHY model present on the RDB.
>
> v2: Switch node structure defined in dtsi now consistent with the Linux
> switch node definition. Moved aliases from dtsi to the RDB DTS to
> minimize impact on other boards (and for improved flexibility).
>
> arch/arm/dts/fsl-ls1028a-rdb.dts | 64 ++++++++++++++++++++++++++++++++
> arch/arm/dts/fsl-ls1028a.dtsi | 56 +++++++++++++++++++++++++++-
> 2 files changed, 119 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/dts/fsl-ls1028a-rdb.dts
> b/arch/arm/dts/fsl-ls1028a-rdb.dts
> index 85b4815b2ed7..3432fca35269 100644
> --- a/arch/arm/dts/fsl-ls1028a-rdb.dts
> +++ b/arch/arm/dts/fsl-ls1028a-rdb.dts
> @@ -15,6 +15,12 @@
> compatible = "fsl,ls1028a-rdb", "fsl,ls1028a";
> aliases {
> spi0 = &fspi;
> + eth0 = &enetc0;
> + eth1 = &enetc2;
> + eth2 = &mscc_felix_port0;
> + eth3 = &mscc_felix_port1;
> + eth4 = &mscc_felix_port2;
> + eth5 = &mscc_felix_port3;
> };
> };
>
> @@ -131,9 +137,67 @@
> phy-handle = <&rdb_phy0>;
> };
>
> +&enetc2 {
> + status = "okay";
> +};
> +
> +&mscc_felix {
> + status = "okay";
> +};
> +
> +&mscc_felix_port0 {
> + label = "swp0";
> + phy-handle = <&sw_phy0>;
> + phy-mode = "qsgmii";
> + status = "okay";
> +};
> +
> +&mscc_felix_port1 {
> + label = "swp1";
> + phy-handle = <&sw_phy1>;
> + phy-mode = "qsgmii";
> + status = "okay";
> +};
> +
> +&mscc_felix_port2 {
> + label = "swp2";
> + phy-handle = <&sw_phy2>;
> + phy-mode = "qsgmii";
> + status = "okay";
> +};
> +
> +&mscc_felix_port3 {
> + label = "swp3";
> + phy-handle = <&sw_phy3>;
> + phy-mode = "qsgmii";
> + status = "okay";
> +};
> +
> +&mscc_felix_port4 {
> + ethernet = <&enetc2>;
> + status = "okay";
> +};
> +
> &mdio0 {
> status = "okay";
> rdb_phy0: phy at 2 {
> reg = <2>;
> };
> +
> + /* VSC8514 QSGMII PHY */
> + sw_phy0: phy at 10 {
> + reg = <0x10>;
> + };
> +
> + sw_phy1: phy at 11 {
> + reg = <0x11>;
> + };
> +
> + sw_phy2: phy at 12 {
> + reg = <0x12>;
> + };
> +
> + sw_phy3: phy at 13 {
> + reg = <0x13>;
> + };
> };
> diff --git a/arch/arm/dts/fsl-ls1028a.dtsi
> b/arch/arm/dts/fsl-ls1028a.dtsi
> index d0850237c797..9740006689ca 100644
> --- a/arch/arm/dts/fsl-ls1028a.dtsi
> +++ b/arch/arm/dts/fsl-ls1028a.dtsi
> @@ -151,9 +151,63 @@
> reg = <0x000300 0 0 0 0>;
> status = "disabled";
> };
> +
> + mscc_felix: pci at 0,5 {
> + reg = <0x000500 0 0 0 0>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + mscc_felix_port0: port at 0 {
> + reg = <0>;
> + status = "disabled";
> + };
> +
> + mscc_felix_port1: port at 1 {
> + reg = <1>;
> + status = "disabled";
> + };
> +
> + mscc_felix_port2: port at 2 {
> + reg = <2>;
> + status = "disabled";
> + };
> +
> + mscc_felix_port3: port at 3 {
> + reg = <3>;
> + status = "disabled";
> + };
> +
> + mscc_felix_port4: port at 4 {
> + reg = <4>;
> + phy-mode = "internal";
> + status = "disabled";
> +
> + fixed-link {
> + speed = <2500>;
> + full-duplex;
> + };
> + };
> +
> + mscc_felix_port5: port at 5 {
> + reg = <5>;
> + phy-mode = "internal";
> + status = "disabled";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };
> +
> + };
> + };
> + };
> +
> enetc6: pci at 0,6 {
> reg = <0x000600 0 0 0 0>;
> - status = "okay";
> + status = "disabled";
> phy-mode = "internal";
> };
> };
--
-michael
More information about the U-Boot
mailing list