1 From d2333a40b00ba5fb5b9731f96ca663036f781411 Mon Sep 17 00:00:00 2001
2 From: Alex Marginean <alexandru.marginean@nxp.com>
3 Date: Tue, 7 Jan 2020 14:48:20 +0200
4 Subject: [PATCH] arm64: dts: fsl-ls1028a-qds: Add overlays for various serdes
7 Adds overlays for various serdes protocols on LS1028A QDS board using
8 different PHY cards. These should be applied at boot, based on serdes
9 configuration. If no overlay is applied, only the RGMII interface on
10 the QDS is available in Linux.
12 Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
14 arch/arm64/boot/dts/freescale/Makefile | 6 ++
15 .../boot/dts/freescale/fsl-ls1028a-qds-13bb.dts | 100 +++++++++++++++++++++
16 .../boot/dts/freescale/fsl-ls1028a-qds-1xxx.dtsi | 20 -----
17 .../boot/dts/freescale/fsl-ls1028a-qds-65bb.dts | 94 +++++++++++++++++++
18 .../boot/dts/freescale/fsl-ls1028a-qds-6xxx.dtsi | 20 -----
19 .../boot/dts/freescale/fsl-ls1028a-qds-7777.dts | 73 +++++++++++++++
20 .../boot/dts/freescale/fsl-ls1028a-qds-7777.dtsi | 56 ------------
21 .../boot/dts/freescale/fsl-ls1028a-qds-85bb.dts | 93 +++++++++++++++++++
22 .../boot/dts/freescale/fsl-ls1028a-qds-899b.dts | 66 ++++++++++++++
23 .../boot/dts/freescale/fsl-ls1028a-qds-8xxx.dtsi | 19 ----
24 .../boot/dts/freescale/fsl-ls1028a-qds-9999.dts | 71 +++++++++++++++
25 .../boot/dts/freescale/fsl-ls1028a-qds-9999.dtsi | 57 ------------
26 .../boot/dts/freescale/fsl-ls1028a-qds-x3xx.dtsi | 61 -------------
27 .../boot/dts/freescale/fsl-ls1028a-qds-x5xx.dtsi | 57 ------------
28 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts | 3 -
29 15 files changed, 503 insertions(+), 293 deletions(-)
30 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dts
31 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-1xxx.dtsi
32 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts
33 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-6xxx.dtsi
34 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dts
35 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dtsi
36 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-85bb.dts
37 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-899b.dts
38 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-8xxx.dtsi
39 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dts
40 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dtsi
41 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-x3xx.dtsi
42 delete mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-x5xx.dtsi
44 --- a/arch/arm64/boot/dts/freescale/Makefile
45 +++ b/arch/arm64/boot/dts/freescale/Makefile
46 @@ -6,6 +6,12 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1
47 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
48 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
49 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
50 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
51 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
52 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
53 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
54 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
55 +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
56 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
57 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
58 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds-sdk.dtb
60 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dts
62 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
64 + * Device Tree fragment for LS1028A QDS board, serdes 13bb
66 + * Copyright 2019 NXP
68 + * Requires a LS1028A QDS board with lane B rework.
69 + * Requires a SCH-30841 card with lane A of connector rewired to PHY lane C.
70 + * Set-up is a SCH-30842 card in slot 1 and SCH-30841 in slot 2.
78 + target = <&mdio_slot1>;
80 + #address-cells = <1>;
83 + slot1_sgmii: ethernet-phy@2 {
86 + compatible = "ethernet-phy-ieee802.3-c45";
92 + target = <&enetc_port0>;
94 + phy-handle = <&slot1_sgmii>;
95 + phy-mode = "usxgmii";
100 + target = <&mdio_slot2>;
102 + #address-cells = <1>;
105 + /* 4 ports on AQR412 */
106 + slot2_qxgmii0: ethernet-phy@0 {
108 + compatible = "ethernet-phy-ieee802.3-c45";
111 + slot2_qxgmii1: ethernet-phy@1 {
113 + compatible = "ethernet-phy-ieee802.3-c45";
116 + slot2_qxgmii2: ethernet-phy@2 {
118 + compatible = "ethernet-phy-ieee802.3-c45";
121 + slot2_qxgmii3: ethernet-phy@3 {
123 + compatible = "ethernet-phy-ieee802.3-c45";
129 + target = <&mscc_felix_ports>;
133 + phy-handle = <&slot2_qxgmii0>;
134 + phy-mode = "usxgmii";
135 + managed = "in-band-status";
140 + phy-handle = <&slot2_qxgmii1>;
141 + phy-mode = "usxgmii";
142 + managed = "in-band-status";
147 + phy-handle = <&slot2_qxgmii2>;
148 + phy-mode = "usxgmii";
149 + managed = "in-band-status";
154 + phy-handle = <&slot2_qxgmii3>;
155 + phy-mode = "usxgmii";
156 + managed = "in-band-status";
162 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-1xxx.dtsi
165 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
167 - * Device Tree Include file for LS1028A QDS board, serdes 1xxx
169 - * Copyright 2019 NXP
174 - slot1_sgmii: ethernet-phy@2 {
177 - compatible = "ethernet-phy-ieee802.3-c45";
182 - phy-handle = <&slot1_sgmii>;
183 - phy-connection-type = "usxgmii";
186 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts
188 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
190 + * Device Tree fragment for LS1028A QDS board, serdes 69xx
192 + * Copyright 2019 NXP
194 + * Requires a LS1028A QDS board with lane B rework.
195 + * Requires a SCH-30842 card in slot 1 and a SCH-28021 card in slot 2.
203 + target = <&mdio_slot1>;
205 + #address-cells = <1>;
208 + slot1_sgmii: ethernet-phy@2 {
211 + compatible = "ethernet-phy-ieee802.3-c45";
217 + target = <&enetc_port0>;
219 + phy-handle = <&slot1_sgmii>;
220 + phy-mode = "2500base-x";
225 + target = <&mdio_slot2>;
227 + #address-cells = <1>;
230 + /* 4 ports on VSC8514 */
231 + slot2_qsgmii0: ethernet-phy@8 {
235 + slot2_qsgmii1: ethernet-phy@9 {
239 + slot2_qsgmii2: ethernet-phy@a {
243 + slot2_qsgmii3: ethernet-phy@b {
250 + target = <&mscc_felix_ports>;
254 + phy-handle = <&slot2_qsgmii0>;
255 + phy-mode = "qsgmii";
256 + managed = "in-band-status";
261 + phy-handle = <&slot2_qsgmii1>;
262 + phy-mode = "qsgmii";
263 + managed = "in-band-status";
268 + phy-handle = <&slot2_qsgmii2>;
269 + phy-mode = "qsgmii";
270 + managed = "in-band-status";
275 + phy-handle = <&slot2_qsgmii3>;
276 + phy-mode = "qsgmii";
277 + managed = "in-band-status";
282 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-6xxx.dtsi
285 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
287 - * Device Tree Include file for LS1028A QDS board, serdes 6xxx
289 - * Copyright 2019 NXP
294 - slot1_sgmii: ethernet-phy@2 {
297 - compatible = "ethernet-phy-ieee802.3-c45";
302 - phy-handle = <&slot1_sgmii>;
303 - phy-connection-type = "2500base-x";
306 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dts
308 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
310 + * Device Tree fragment for LS1028A QDS board, serdes 7777
312 + * Copyright 2019 NXP
314 + * Requires a LS1028A QDS board without lane B rework.
315 + * Requires a SCH-30841 card without lane A/C rewire and with a FW with muxing
316 + * disabled, plugged in slot 1.
324 + target = <&mdio_slot1>;
326 + #address-cells = <1>;
329 + /* 4 ports on AQR412 */
330 + slot1_sxgmii0: ethernet-phy@0 {
332 + compatible = "ethernet-phy-ieee802.3-c45";
335 + slot1_sxgmii1: ethernet-phy@1 {
337 + compatible = "ethernet-phy-ieee802.3-c45";
340 + slot1_sxgmii2: ethernet-phy@2 {
342 + compatible = "ethernet-phy-ieee802.3-c45";
345 + slot1_sxgmii3: ethernet-phy@3 {
347 + compatible = "ethernet-phy-ieee802.3-c45";
353 + target = <&mscc_felix_ports>;
357 + phy-handle = <&slot1_sxgmii0>;
358 + phy-mode = "2500base-x";
363 + phy-handle = <&slot1_sxgmii1>;
364 + phy-mode = "2500base-x";
369 + phy-handle = <&slot1_sxgmii2>;
370 + phy-mode = "2500base-x";
375 + phy-handle = <&slot1_sxgmii3>;
376 + phy-mode = "2500base-x";
381 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dtsi
384 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
386 - * Device Tree Include file for LS1028A QDS board, serdes 9999
388 - * Copyright 2019 NXP
393 - slot1_sxgmii0: ethernet-phy@0 {
395 - compatible = "ethernet-phy-ieee802.3-c45";
398 - slot1_sxgmii1: ethernet-phy@1 {
400 - compatible = "ethernet-phy-ieee802.3-c45";
403 - slot1_sxgmii2: ethernet-phy@2 {
405 - compatible = "ethernet-phy-ieee802.3-c45";
408 - slot1_sxgmii3: ethernet-phy@3 {
410 - compatible = "ethernet-phy-ieee802.3-c45";
414 -/* l2switch ports */
418 - phy-handle = <&slot1_sxgmii0>;
419 - phy-mode = "2500base-x";
424 - phy-handle = <&slot1_sxgmii1>;
425 - phy-mode = "2500base-x";
430 - phy-handle = <&slot1_sxgmii2>;
431 - phy-mode = "2500base-x";
436 - phy-handle = <&slot1_sxgmii3>;
437 - phy-mode = "2500base-x";
441 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-85bb.dts
443 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
445 + * Device Tree fragment for LS1028A QDS board, serdes 85bb
447 + * Copyright 2019 NXP
449 + * Requires a LS1028A QDS board with lane B rework.
450 + * Requires a SCH-24801 card in slot 1 and a SCH-28021 card in slot 2.
458 + target = <&mdio_slot1>;
460 + #address-cells = <1>;
463 + slot1_sgmii: ethernet-phy@1c {
464 + /* 1st port on VSC8234 */
471 + target = <&enetc_port0>;
473 + phy-handle = <&slot1_sgmii>;
474 + phy-mode = "sgmii";
479 + target = <&mdio_slot2>;
481 + #address-cells = <1>;
484 + /* 4 ports on VSC8514 */
485 + slot2_qsgmii0: ethernet-phy@8 {
489 + slot2_qsgmii1: ethernet-phy@9 {
493 + slot2_qsgmii2: ethernet-phy@a {
497 + slot2_qsgmii3: ethernet-phy@b {
504 + target = <&mscc_felix_ports>;
508 + phy-handle = <&slot2_qsgmii0>;
509 + phy-mode = "qsgmii";
510 + managed = "in-band-status";
515 + phy-handle = <&slot2_qsgmii1>;
516 + phy-mode = "qsgmii";
517 + managed = "in-band-status";
522 + phy-handle = <&slot2_qsgmii2>;
523 + phy-mode = "qsgmii";
524 + managed = "in-band-status";
529 + phy-handle = <&slot2_qsgmii3>;
530 + phy-mode = "qsgmii";
531 + managed = "in-band-status";
537 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-899b.dts
539 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
541 + * Device Tree fragment for LS1028A QDS board, serdes 85xx
543 + * Copyright 2019 NXP
545 + * Requires a LS1028A QDS board without lane B rework.
546 + * Requires a SCH-24801 card in slot 1.
554 + target = <&mdio_slot1>;
556 + #address-cells = <1>;
560 + slot1_sgmii0: ethernet-phy@1c {
564 + slot1_sgmii1: ethernet-phy@1d {
568 + slot1_sgmii2: ethernet-phy@1e {
572 + slot1_sgmii3: ethernet-phy@1f {
579 + target = <&enetc_port0>;
581 + phy-handle = <&slot1_sgmii0>;
582 + phy-mode = "sgmii";
587 + target = <&mscc_felix_ports>;
591 + phy-handle = <&slot1_sgmii1>;
592 + phy-mode = "sgmii";
593 + managed = "in-band-status";
598 + phy-handle = <&slot1_sgmii2>;
599 + phy-mode = "sgmii";
600 + managed = "in-band-status";
605 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-8xxx.dtsi
608 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
610 - * Device Tree Include file for LS1028A QDS board, serdes 8xxx
612 - * Copyright 2019 NXP
617 - slot1_sgmii: ethernet-phy@1c {
618 - /* 1st port on VSC8234 */
624 - phy-handle = <&slot1_sgmii>;
625 - phy-connection-type = "sgmii";
628 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dts
630 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
632 + * Device Tree fragment for LS1028A QDS board, serdes 85xx
634 + * Copyright 2019 NXP
636 + * Requires a LS1028A QDS board without lane B rework.
637 + * Requires a SCH-24801 card in slot 1.
645 + target = <&mdio_slot1>;
647 + #address-cells = <1>;
651 + slot1_sgmii0: ethernet-phy@1c {
655 + slot1_sgmii1: ethernet-phy@1d {
659 + slot1_sgmii2: ethernet-phy@1e {
663 + slot1_sgmii3: ethernet-phy@1f {
669 + target = <&mscc_felix_ports>;
673 + phy-handle = <&slot1_sgmii0>;
674 + phy-mode = "sgmii";
675 + managed = "in-band-status";
680 + phy-handle = <&slot1_sgmii1>;
681 + phy-mode = "sgmii";
682 + managed = "in-band-status";
687 + phy-handle = <&slot1_sgmii2>;
688 + phy-mode = "sgmii";
689 + managed = "in-band-status";
694 + phy-handle = <&slot1_sgmii3>;
695 + phy-mode = "sgmii";
696 + managed = "in-band-status";
701 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dtsi
704 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
706 - * Device Tree Include file for LS1028A QDS board, serdes 9999
708 - * Copyright 2019 NXP
714 - slot1_sgmii0: ethernet-phy@1c {
718 - slot1_sgmii1: ethernet-phy@1d {
722 - slot1_sgmii2: ethernet-phy@1e {
726 - slot1_sgmii3: ethernet-phy@1f {
731 -/* l2switch ports */
735 - phy-handle = <&slot1_sgmii0>;
736 - phy-mode = "sgmii";
737 - managed = "in-band-status";
742 - phy-handle = <&slot1_sgmii1>;
743 - phy-mode = "sgmii";
744 - managed = "in-band-status";
749 - phy-handle = <&slot1_sgmii2>;
750 - phy-mode = "sgmii";
751 - managed = "in-band-status";
756 - phy-handle = <&slot1_sgmii3>;
757 - phy-mode = "sgmii";
758 - managed = "in-band-status";
761 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-x3xx.dtsi
764 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
766 - * Device Tree Include file for LS1028A QDS board, serdes x3xx
768 - * Copyright 2019 NXP
773 - /* 4 ports on AQR412 */
774 - slot2_qxgmii0: ethernet-phy@0 {
776 - compatible = "ethernet-phy-ieee802.3-c45";
779 - slot2_qxgmii1: ethernet-phy@1 {
781 - compatible = "ethernet-phy-ieee802.3-c45";
784 - slot2_qxgmii2: ethernet-phy@2 {
786 - compatible = "ethernet-phy-ieee802.3-c45";
789 - slot2_qxgmii3: ethernet-phy@3 {
791 - compatible = "ethernet-phy-ieee802.3-c45";
795 -/* l2switch ports */
799 - phy-handle = <&slot2_qxgmii0>;
800 - phy-mode = "usxgmii";
801 - managed = "in-band-status";
806 - phy-handle = <&slot2_qxgmii1>;
807 - phy-mode = "usxgmii";
808 - managed = "in-band-status";
813 - phy-handle = <&slot2_qxgmii2>;
814 - phy-mode = "usxgmii";
815 - managed = "in-band-status";
820 - phy-handle = <&slot2_qxgmii3>;
821 - phy-mode = "usxgmii";
822 - managed = "in-band-status";
825 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-x5xx.dtsi
828 -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
830 - * Device Tree Include file for LS1028A QDS board, serdes x5xx
832 - * Copyright 2019 NXP
837 - /* 4 ports on VSC8514 */
838 - slot2_qsgmii0: ethernet-phy@8 {
842 - slot2_qsgmii1: ethernet-phy@9 {
846 - slot2_qsgmii2: ethernet-phy@a {
850 - slot2_qsgmii3: ethernet-phy@b {
855 -/* l2switch ports */
859 - phy-handle = <&slot2_qsgmii0>;
860 - phy-mode = "qsgmii";
861 - managed = "in-band-status";
866 - phy-handle = <&slot2_qsgmii1>;
867 - phy-mode = "qsgmii";
868 - managed = "in-band-status";
873 - phy-handle = <&slot2_qsgmii2>;
874 - phy-mode = "qsgmii";
875 - managed = "in-band-status";
880 - phy-handle = <&slot2_qsgmii3>;
881 - phy-mode = "qsgmii";
882 - managed = "in-band-status";
885 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
886 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
888 lane-mapping = <0x4e>;
892 -#include "fsl-ls1028a-qds-8xxx.dtsi"
893 -#include "fsl-ls1028a-qds-x5xx.dtsi"