[PATCH 2/4] board: sl28: add network variant 1 support

Michael Walle michael at walle.cc
Fri Jan 8 00:08:57 CET 2021


This variant has one network port connected via RGMII and doesn't have
any TSN capabilities out-of-the-box. Instead it has all four SerDes
lanes available for customer use.

Signed-off-by: Michael Walle <michael at walle.cc>
---
 arch/arm/dts/Makefile                         |  1 +
 .../dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi  | 33 ++++++++++-
 .../fsl-ls1028a-kontron-sl28-var1-u-boot.dtsi |  8 +++
 .../arm/dts/fsl-ls1028a-kontron-sl28-var1.dts | 57 +++++++++++++++++++
 board/kontron/sl28/spl.c                      |  2 +
 5 files changed, 98 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/dts/fsl-ls1028a-kontron-sl28-var1-u-boot.dtsi
 create mode 100644 arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dts

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index fd47e408f8..fa57967bb6 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -432,6 +432,7 @@ dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
 	fsl-ls1012a-frdm.dtb \
 	fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_TARGET_SL28) += fsl-ls1028a-kontron-sl28.dtb \
+	fsl-ls1028a-kontron-sl28-var1.dtb \
 	fsl-ls1028a-kontron-sl28-var3.dtb \
 	fsl-ls1028a-kontron-sl28-var4.dtb \
 
diff --git a/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi b/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
index 84e974e84d..585753c14d 100644
--- a/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
@@ -50,6 +50,17 @@
 				};
 
 				fdt-2 {
+					description = "fsl-ls1028a-kontron-sl28-var1";
+					type = "flat_dt";
+					arch = "arm";
+					compression = "none";
+
+					blob {
+						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dtb";
+					};
+				};
+
+				fdt-3 {
 					description = "fsl-ls1028a-kontron-sl28-var3";
 					type = "flat_dt";
 					arch = "arm";
@@ -60,7 +71,7 @@
 					};
 				};
 
-				fdt-3 {
+				fdt-4 {
 					description = "fsl-ls1028a-kontron-sl28-var4";
 					type = "flat_dt";
 					arch = "arm";
@@ -82,16 +93,23 @@
 				};
 
 				conf-2 {
-					description = "fsl-ls1028a-kontron-sl28-var3";
+					description = "fsl-ls1028a-kontron-sl28-var1";
 					firmware = "uboot";
 					fdt = "fdt-2";
 				};
 
 				conf-3 {
-					description = "fsl-ls1028a-kontron-sl28-var4";
+					description = "fsl-ls1028a-kontron-sl28-var3";
 					firmware = "uboot";
 					fdt = "fdt-3";
 				};
+
+				conf-4 {
+					description = "fsl-ls1028a-kontron-sl28-var4";
+					firmware = "uboot";
+					loadables = "uboot";
+					fdt = "fdt-4";
+				};
 			};
 		};
 	};
@@ -131,6 +149,11 @@
 				firmware = "bl31";
 				loadables = "uboot";
 			};
+
+			conf-4 {
+				firmware = "bl31";
+				loadables = "uboot";
+			};
 		};
 	};
 };
@@ -167,6 +190,10 @@
 			conf-3 {
 				loadables = "uboot", "bl32";
 			};
+
+			conf-4 {
+				loadables = "uboot", "bl32";
+			};
 		};
 	};
 };
diff --git a/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1-u-boot.dtsi b/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1-u-boot.dtsi
new file mode 100644
index 0000000000..98e8939369
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1-u-boot.dtsi
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0+
+#include "fsl-ls1028a-kontron-sl28-u-boot.dtsi"
+
+/ {
+	aliases {
+		ethernet0 = &enetc1;
+	};
+};
diff --git a/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dts b/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dts
new file mode 100644
index 0000000000..fe708bdbfa
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dts
@@ -0,0 +1,57 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Device Tree file for the Kontron SMARC-sAL28 board.
+ *
+ * This is for the network variant 1 which has one ethernet port. It is
+ * different than the base variant, which also has one port, but here the
+ * port is connected via RGMII. This port is not TSN aware.
+ * None of the  four SerDes lanes are used by the module, instead they are
+ * all led out to the carrier for customer use.
+ *
+ * Copyright (C) 2020 Michael Walle <michael at walle.cc>
+ *
+ */
+
+/dts-v1/;
+#include "fsl-ls1028a-kontron-sl28.dts"
+#include <dt-bindings/net/qca-ar803x.h>
+
+/ {
+	model = "Kontron SMARC-sAL28 (4 Lanes)";
+	compatible = "kontron,sl28-var1", "kontron,sl28", "fsl,ls1028a";
+};
+
+&enetc0 {
+	status = "disabled";
+	/delete-property/ phy-handle;
+};
+
+&enetc1 {
+	phy-handle = <&phy0>;
+	phy-mode = "rgmii-id";
+	status = "okay";
+};
+
+/delete-node/ &phy0;
+&mdio0 {
+	phy0: ethernet-phy at 4 {
+		reg = <0x4>;
+		eee-broken-1000t;
+		eee-broken-100tx;
+
+		qca,clk-out-frequency = <125000000>;
+		qca,clk-out-strength = <AR803X_STRENGTH_FULL>;
+
+		vddio-supply = <&vddh>;
+
+		vddio: vddio-regulator {
+			regulator-name = "VDDIO";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+		};
+
+		vddh: vddh-regulator {
+			regulator-name = "VDDH";
+		};
+	};
+};
diff --git a/board/kontron/sl28/spl.c b/board/kontron/sl28/spl.c
index fa5829eee0..92f8342c45 100644
--- a/board/kontron/sl28/spl.c
+++ b/board/kontron/sl28/spl.c
@@ -17,6 +17,8 @@ int board_fit_config_name_match(const char *name)
 	int variant = sl28_variant();
 
 	switch (variant) {
+	case 1:
+		return strcmp(name, "fsl-ls1028a-kontron-sl28-var1");
 	case 3:
 		return strcmp(name, "fsl-ls1028a-kontron-sl28-var3");
 	case 4:
-- 
2.20.1



More information about the U-Boot mailing list