All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] ClearFog Base static variant support
@ 2020-01-19  7:52 Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 01/10] arm: mvebu: fix SerDes table alignment Joel Johnson
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot


This patch series adds support for ClearFog Base static configuration,
as well as updating and fixing the ClearFog support for MMC and SPI
booting.

V2 changes:
  - updated against, and dependent on, https://patchwork.ozlabs.org/cover/1200324


Joel Johnson (10):
  arm: mvebu: fix SerDes table alignment
  arm: mvebu: solidrun: remove hardcoded DTS MAC address
  arm: mvebu: clearfog: initial ClearFog Base variant
  arm: mvebu: clearfog: Use Pro DT by default
  arm: mvebu: clearfog: Add SATA mode flags
  arm: mvebu: clearfog: Add option for 2.5 Gbps SFP
  arm: mvebu: clearfog: add SPI offsets
  arm: mvebu: enable working default boot support
  arm: mvebu: clearfog: move ENV params to Kconfig
  arm: mvebu: clearfog: reduce MMC boot assumptions

 .../arm/dts/armada-38x-solidrun-microsom.dtsi |  1 -
 arch/arm/mach-mvebu/Kconfig                   | 13 ++++
 .../serdes/a38x/high_speed_env_spec.c         |  6 +-
 board/solidrun/clearfog/Kconfig               | 62 +++++++++++++++++++
 board/solidrun/clearfog/clearfog.c            | 26 +++++++-
 configs/clearfog_defconfig                    |  5 --
 include/configs/clearfog.h                    |  1 -
 7 files changed, 103 insertions(+), 11 deletions(-)
 create mode 100644 board/solidrun/clearfog/Kconfig

-- 
2.20.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 01/10] arm: mvebu: fix SerDes table alignment
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 02/10] arm: mvebu: solidrun: remove hardcoded DTS MAC address Joel Johnson
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Tested on Solidrun ClearFog Base. Table alignment was:
 | Lane #  | Speed |  Type       |
 --------------------------------
 |   0    |  3   |  SATA0       |
 |   1    |  0   |  SGMII1      |
 |   2    |  3   |  SATA1       |
 |   3    |  5   |  USB3 HOST1  |
 |   4    |  5   |  USB3 HOST0  |
 |   5    |  4   |  SGMII2      |
 --------------------------------

After the change, it's correctly aligned as:
 | Lane # | Speed |  Type       |
 --------------------------------
 |   0    |   3   | SATA0       |
 |   1    |   0   | SGMII1      |
 |   2    |   5   | PCIe1       |
 |   3    |   5   | USB3 HOST1  |
 |   4    |   5   | PCIe2       |
 |   5    |   0   | SGMII2      |
 --------------------------------

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes
  - none

---
 arch/arm/mach-mvebu/serdes/a38x/high_speed_env_spec.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-mvebu/serdes/a38x/high_speed_env_spec.c b/arch/arm/mach-mvebu/serdes/a38x/high_speed_env_spec.c
index 33e70569bc..66409a50c0 100644
--- a/arch/arm/mach-mvebu/serdes/a38x/high_speed_env_spec.c
+++ b/arch/arm/mach-mvebu/serdes/a38x/high_speed_env_spec.c
@@ -1366,16 +1366,16 @@ static void print_topology_details(const struct serdes_map *serdes_map,
 
 	DEBUG_INIT_S("board SerDes lanes topology details:\n");
 
-	DEBUG_INIT_S(" | Lane #  | Speed |  Type       |\n");
+	DEBUG_INIT_S(" | Lane # | Speed |  Type       |\n");
 	DEBUG_INIT_S(" --------------------------------\n");
 	for (lane_num = 0; lane_num < count; lane_num++) {
 		if (serdes_map[lane_num].serdes_type == DEFAULT_SERDES)
 			continue;
 		DEBUG_INIT_S(" |   ");
 		DEBUG_INIT_D(hws_get_physical_serdes_num(lane_num), 1);
-		DEBUG_INIT_S("    |  ");
+		DEBUG_INIT_S("    |   ");
 		DEBUG_INIT_D(serdes_map[lane_num].serdes_speed, 2);
-		DEBUG_INIT_S("   |  ");
+		DEBUG_INIT_S("   | ");
 		DEBUG_INIT_S((char *)
 			     serdes_type_to_string[serdes_map[lane_num].
 						   serdes_type]);
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 02/10] arm: mvebu: solidrun: remove hardcoded DTS MAC address
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 01/10] arm: mvebu: fix SerDes table alignment Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 03/10] arm: mvebu: clearfog: initial ClearFog Base variant Joel Johnson
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Using a consistent hardcoded MAC address from the DTS file causes
issues when using multiple devices on the same network segment.
Instead rely on environment configuration or random generation.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes:
  - none

---
 arch/arm/dts/armada-38x-solidrun-microsom.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/dts/armada-38x-solidrun-microsom.dtsi b/arch/arm/dts/armada-38x-solidrun-microsom.dtsi
index a322a28c21..9bbeafc53b 100644
--- a/arch/arm/dts/armada-38x-solidrun-microsom.dtsi
+++ b/arch/arm/dts/armada-38x-solidrun-microsom.dtsi
@@ -39,7 +39,6 @@
 
 &eth0 {
 	/* ethernet at 70000 */
-	mac-address = [00 50 43 02 02 01];
 	pinctrl-0 = <&ge0_rgmii_pins>;
 	pinctrl-names = "default";
 	phy = <&phy_dedicated>;
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 03/10] arm: mvebu: clearfog: initial ClearFog Base variant
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 01/10] arm: mvebu: fix SerDes table alignment Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 02/10] arm: mvebu: solidrun: remove hardcoded DTS MAC address Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 04/10] arm: mvebu: clearfog: Use Pro DT by default Joel Johnson
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Add a unique entry for ClearFog Base variant, reflected
in the board name and adjusted SerDes topology.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes:
  - reworked based on Baruch's run-time TLV EEPROM detection series

---
 arch/arm/mach-mvebu/Kconfig        |  2 ++
 board/solidrun/clearfog/Kconfig    | 18 ++++++++++++++++++
 board/solidrun/clearfog/clearfog.c | 12 ++++++++++++
 3 files changed, 32 insertions(+)
 create mode 100644 board/solidrun/clearfog/Kconfig

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index bc5eaa5a76..161dee937f 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -280,4 +280,6 @@ config SECURED_MODE_CSK_INDEX
 	default 0
 	depends on SECURED_MODE_IMAGE
 
+source "board/solidrun/clearfog/Kconfig"
+
 endif
diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
new file mode 100644
index 0000000000..cee8f3bac1
--- /dev/null
+++ b/board/solidrun/clearfog/Kconfig
@@ -0,0 +1,18 @@
+menu "ClearFog configuration"
+	depends on TARGET_CLEARFOG
+
+config TARGET_CLEARFOG_BASE
+	bool "Use ClearFog Base static configuration"
+	help
+	  Use the ClearFog Base as the static configuration instead of the
+	  default which uses the ClearFog Pro.
+
+	  Runtime board detection is always attempted and used if available. The
+	  static configuration is used as a fallback in cases where runtime
+	  detection is not available.
+
+	  Only newer revisions of the ClearFog product line support runtime
+	  detection via additional EEPROM hardware. This option enables selecting
+	  the Base variant for older hardware revisions.
+
+endmenu
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index f407f744bf..b66f9f61cf 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -44,7 +44,11 @@ static struct serdes_map board_serdes_map[] = {
 	{SGMII1, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 	{PEX1, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
 	{USB3_HOST1, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
+	{USB3_HOST0, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#else
 	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
+#endif
 	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 };
 
@@ -262,7 +266,11 @@ int board_init(void)
 
 int checkboard(void)
 {
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
+	char *board = "ClearFog Base";
+#else
 	char *board = "ClearFog";
+#endif
 
 	read_tlv_data();
 	if (strlen(tlv_product_name[0]) > 0)
@@ -292,6 +300,10 @@ int board_late_init(void)
 		 env_set("fdtfile", "armada-385-clearfog-gtr-s4.dtb");
 	else if (sr_product_is("Clearfog GTR L8"))
 		 env_set("fdtfile", "armada-385-clearfog-gtr-l8.dtb");
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
+	else
+		 env_set("fdtfile", "armada-388-clearfog-base.dtb");
+#endif
 
 	return 0;
 }
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 04/10] arm: mvebu: clearfog: Use Pro DT by default
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (2 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 03/10] arm: mvebu: clearfog: initial ClearFog Base variant Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 05/10] arm: mvebu: clearfog: Add SATA mode flags Joel Johnson
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Switch to explicitly using the Pro variant DT, which has been
available since Linux 4.11. Also unify the location of DT selection
in board_late_init instead of split between detection and static
configuration paths.

---

v2 changes
  - newly added in V2 series based on run-time rebasing

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
---
 board/solidrun/clearfog/clearfog.c | 6 ++++--
 include/configs/clearfog.h         | 1 -
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index b66f9f61cf..a3c5780730 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -269,7 +269,7 @@ int checkboard(void)
 #if defined (CONFIG_TARGET_CLEARFOG_BASE)
 	char *board = "ClearFog Base";
 #else
-	char *board = "ClearFog";
+	char *board = "ClearFog Pro";
 #endif
 
 	read_tlv_data();
@@ -300,9 +300,11 @@ int board_late_init(void)
 		 env_set("fdtfile", "armada-385-clearfog-gtr-s4.dtb");
 	else if (sr_product_is("Clearfog GTR L8"))
 		 env_set("fdtfile", "armada-385-clearfog-gtr-l8.dtb");
-#if defined (CONFIG_TARGET_CLEARFOG_BASE)
 	else
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
 		 env_set("fdtfile", "armada-388-clearfog-base.dtb");
+#else
+		 env_set("fdtfile", "armada-388-clearfog-pro.dtb");
 #endif
 
 	return 0;
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index 633187d86f..6ca0474461 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -134,7 +134,6 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	RELOCATION_LIMITS_ENV_SETTINGS \
 	LOAD_ADDRESS_ENV_SETTINGS \
-	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
 	"console=ttyS0,115200\0" \
 	BOOTENV
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 05/10] arm: mvebu: clearfog: Add SATA mode flags
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (3 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 04/10] arm: mvebu: clearfog: Use Pro DT by default Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 06/10] arm: mvebu: clearfog: Add option for 2.5 Gbps SFP Joel Johnson
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

The mPCIe slots on ClearFog Pro and ClearFog Base may be alternately
configured for SATA usage.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes:
  - fixed help indentation

---
 board/solidrun/clearfog/Kconfig    | 17 +++++++++++++++++
 board/solidrun/clearfog/clearfog.c |  6 ++++++
 2 files changed, 23 insertions(+)

diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
index cee8f3bac1..a82f9867fe 100644
--- a/board/solidrun/clearfog/Kconfig
+++ b/board/solidrun/clearfog/Kconfig
@@ -15,4 +15,21 @@ config TARGET_CLEARFOG_BASE
 	  detection via additional EEPROM hardware. This option enables selecting
 	  the Base variant for older hardware revisions.
 
+config CLEARFOG_CON3_SATA
+	bool "Use CON3 slot in SATA mode"
+	help
+	  Use the CON3 port with SATA protocol instead of the default PCIe.
+	  The ClearFog port allows usage of either mSATA or miniPCIe
+	  modules, but the desired protocol must be configured at build
+	  time since it affects the SerDes topology layout.
+
+config CLEARFOG_CON2_SATA
+	bool "Use CON2 slot in SATA mode"
+	depends on !TARGET_CLEARFOG_BASE
+	help
+	  Use the CON2 port with SATA protocol instead of the default PCIe.
+	  The ClearFog port allows usage of either mSATA or miniPCIe
+	  modules, but the desired protocol must be configured at build
+	  time since it affects the SerDes topology layout.
+
 endmenu
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index a3c5780730..291a9279b6 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -42,10 +42,16 @@ static void read_tlv_data(void);
 static struct serdes_map board_serdes_map[] = {
 	{SATA0, SERDES_SPEED_3_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 	{SGMII1, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#if defined (CONFIG_CLEARFOG_CON3_SATA)
+	{SATA1, SERDES_SPEED_3_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#else
 	{PEX1, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
+#endif
 	{USB3_HOST1, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 #if defined (CONFIG_TARGET_CLEARFOG_BASE)
 	{USB3_HOST0, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#elif defined(CONFIG_CLEARFOG_CON2_SATA)
+	{SATA2, SERDES_SPEED_3_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 #else
 	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
 #endif
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 06/10] arm: mvebu: clearfog: Add option for 2.5 Gbps SFP
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (4 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 05/10] arm: mvebu: clearfog: Add SATA mode flags Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 07/10] arm: mvebu: clearfog: add SPI offsets Joel Johnson
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes:
  - fixed help indentation

---
 board/solidrun/clearfog/Kconfig    | 7 +++++++
 board/solidrun/clearfog/clearfog.c | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
index a82f9867fe..6231407589 100644
--- a/board/solidrun/clearfog/Kconfig
+++ b/board/solidrun/clearfog/Kconfig
@@ -32,4 +32,11 @@ config CLEARFOG_CON2_SATA
 	  modules, but the desired protocol must be configured at build
 	  time since it affects the SerDes topology layout.
 
+config CLEARFOG_SFP_25GB
+	bool "Enable 2.5 Gbps mode for SFP"
+	help
+	  Set the SFP module connection to support 2.5 Gbps transfer speed for the
+	  SGMII connection (requires a supporting SFP). By default, transfer speed
+	  of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP module.
+
 endmenu
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 291a9279b6..c9ef620f78 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -55,7 +55,11 @@ static struct serdes_map board_serdes_map[] = {
 #else
 	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
 #endif
+#if defined (CONFIG_CLEARFOG_SFP_25GB)
+	{SGMII2, SERDES_SPEED_3_125_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#else
 	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#endif
 };
 
 int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 07/10] arm: mvebu: clearfog: add SPI offsets
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (5 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 06/10] arm: mvebu: clearfog: Add option for 2.5 Gbps SFP Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 08/10] arm: mvebu: enable working default boot support Joel Johnson
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Add reasonable default SPI offsets and ENV size when configured to
boot from SPI flash.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>

---

v2 changes:
  - none

There was some reasonable concern raised about duplicating config
entries within a board specific config file rather than making
board specific configurations within defconfig. This seems to offer
a more board localized mechanism to provide platform defaults for
core values. As mentioned in the review, this usage seems to match
the Kconfig documented intended usage. As noted at
https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html:
    "Default values are not limited to the menu entry where
     they are defined. This means the default can be defined
     somewhere else or be overridden by an earlier definition."

Given that there is some dependency variability with these values I
prefer keeping them as Kconfig values, but defer to maintainers.
Notably, for the ENV values in this and a later commit, I'm using a
pattern already in used several other board configs.

---
 board/solidrun/clearfog/Kconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
index 6231407589..f563c3c4fc 100644
--- a/board/solidrun/clearfog/Kconfig
+++ b/board/solidrun/clearfog/Kconfig
@@ -39,4 +39,16 @@ config CLEARFOG_SFP_25GB
 	  SGMII connection (requires a supporting SFP). By default, transfer speed
 	  of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP module.
 
+config ENV_SECT_SIZE
+	hex "Environment Sector-Size"
+	# Use SPI flash erase block size of 4 KiB
+	default 0x1000 if MVEBU_SPL_BOOT_DEVICE_SPI
+	# Use optimistic 64 KiB erase block, will vary between actual media
+	default 0x10000 if MVEBU_SPL_BOOT_DEVICE_MMC
+
+config SYS_SPI_U_BOOT_OFFS
+	hex "address of u-boot payload in SPI flash"
+	default 0x20000
+	depends on MVEBU_SPL_BOOT_DEVICE_SPI
+
 endmenu
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 08/10] arm: mvebu: enable working default boot support
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (6 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 07/10] arm: mvebu: clearfog: add SPI offsets Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 09/10] arm: mvebu: clearfog: move ENV params to Kconfig Joel Johnson
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

With the move to driver model usage, ensure that the required driver
support for SPI and MMC booting is available in SPL.

Tested on SolidRun ClearFog devices.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
---

v2 changes:
  - change "select" for ENV_IS_IN_X to "imply" to allow disabling the
    default env location and configuring a different one if desired
  - remove SPL_DM_GPIO from defconfig, only include if needed for
    MMC booting
---
 arch/arm/mach-mvebu/Kconfig | 10 ++++++++++
 configs/clearfog_defconfig  |  1 -
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 161dee937f..32191e7157 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -235,9 +235,19 @@ choice
 
 config MVEBU_SPL_BOOT_DEVICE_SPI
 	bool "SPI NOR flash"
+	imply ENV_IS_IN_SPI_FLASH
+	select SPL_DM_SPI
+	select SPL_MTD_SUPPORT
+	select SPL_SPI_FLASH_SUPPORT
+	select SPL_SPI_LOAD
+	select SPL_SPI_SUPPORT
 
 config MVEBU_SPL_BOOT_DEVICE_MMC
 	bool "SDIO/MMC card"
+	imply ENV_IS_IN_MMC
+	# GPIO required for SD card presence detection line
+	select SPL_DM_GPIO
+	select SPL_DM_MMC
 	select SPL_LIBDISK_SUPPORT
 
 config MVEBU_SPL_BOOT_DEVICE_SATA
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
index e932f9c195..24f0b557be 100644
--- a/configs/clearfog_defconfig
+++ b/configs/clearfog_defconfig
@@ -28,7 +28,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x1
-CONFIG_SPL_DM_GPIO=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_CMD_SYS_EEPROM=y
 CONFIG_SPL_CMD_SYS_EEPROM=y
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 09/10] arm: mvebu: clearfog: move ENV params to Kconfig
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (7 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 08/10] arm: mvebu: enable working default boot support Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  7:52 ` [PATCH v2 10/10] arm: mvebu: clearfog: reduce MMC boot assumptions Joel Johnson
  2020-01-19  8:38 ` [PATCH v2 00/10] ClearFog Base static variant support Baruch Siach
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Migrate the values for ENV_SIZE and ENV_OFFSET into board specific
Kconfig defaults so they're more accessible for configuration.

---

v2 changes:
  - none

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
---
 board/solidrun/clearfog/Kconfig | 8 ++++++++
 configs/clearfog_defconfig      | 2 --
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
index f563c3c4fc..6b08ad4615 100644
--- a/board/solidrun/clearfog/Kconfig
+++ b/board/solidrun/clearfog/Kconfig
@@ -39,6 +39,14 @@ config CLEARFOG_SFP_25GB
 	  SGMII connection (requires a supporting SFP). By default, transfer speed
 	  of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP module.
 
+config ENV_SIZE
+	hex "Environment Size"
+	default 0x10000
+
+config ENV_OFFSET
+	hex "Environment offset"
+	default 0xF0000
+
 config ENV_SECT_SIZE
 	hex "Environment Sector-Size"
 	# Use SPI flash erase block size of 4 KiB
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
index 24f0b557be..c5a036804e 100644
--- a/configs/clearfog_defconfig
+++ b/configs/clearfog_defconfig
@@ -11,8 +11,6 @@ CONFIG_TARGET_CLEARFOG=y
 CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
-CONFIG_ENV_SIZE=0x10000
-CONFIG_ENV_OFFSET=0xF0000
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=2
 CONFIG_SPL=y
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 10/10] arm: mvebu: clearfog: reduce MMC boot assumptions
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (8 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 09/10] arm: mvebu: clearfog: move ENV params to Kconfig Joel Johnson
@ 2020-01-19  7:52 ` Joel Johnson
  2020-01-19  8:38 ` [PATCH v2 00/10] ClearFog Base static variant support Baruch Siach
  10 siblings, 0 replies; 16+ messages in thread
From: Joel Johnson @ 2020-01-19  7:52 UTC (permalink / raw)
  To: u-boot

Reduce those MMC booting assumptions from clearfog_defconfig which
are already selected by dependent options via Kconfig.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
---

v2 changes:
  - rebased on master to use Baruch's dynamic MMC/SD offset logic
  - update description, will revisit removal of
    CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC in separate future path if a
    more viable option is identified

---
 arch/arm/mach-mvebu/Kconfig | 1 +
 configs/clearfog_defconfig  | 2 --
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 32191e7157..4b381a2936 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -249,6 +249,7 @@ config MVEBU_SPL_BOOT_DEVICE_MMC
 	select SPL_DM_GPIO
 	select SPL_DM_MMC
 	select SPL_LIBDISK_SUPPORT
+	select SPL_MMC_SUPPORT
 
 config MVEBU_SPL_BOOT_DEVICE_SATA
 	bool "SATA"
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
index c5a036804e..06423e1678 100644
--- a/configs/clearfog_defconfig
+++ b/configs/clearfog_defconfig
@@ -9,7 +9,6 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_CLEARFOG=y
 CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
-CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=2
@@ -42,7 +41,6 @@ CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIME=y
 # CONFIG_SPL_PARTITION_UUIDS is not set
 CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
-CONFIG_ENV_IS_IN_MMC=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_AHCI_MVEBU=y
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 00/10] ClearFog Base static variant support
  2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
                   ` (9 preceding siblings ...)
  2020-01-19  7:52 ` [PATCH v2 10/10] arm: mvebu: clearfog: reduce MMC boot assumptions Joel Johnson
@ 2020-01-19  8:38 ` Baruch Siach
  2020-01-19 16:05   ` Joel Johnson
  10 siblings, 1 reply; 16+ messages in thread
From: Baruch Siach @ 2020-01-19  8:38 UTC (permalink / raw)
  To: u-boot

Hi Joel,

On Sun, Jan 19 2020, Joel Johnson wrote:
> This patch series adds support for ClearFog Base static configuration,
> as well as updating and fixing the ClearFog support for MMC and SPI
> booting.
>
> V2 changes:
>   - updated against, and dependent on, https://patchwork.ozlabs.org/cover/1200324

Thanks for the update.

Next time please Cc at least me and Stefan on the entire series.

baruch

> Joel Johnson (10):
>   arm: mvebu: fix SerDes table alignment
>   arm: mvebu: solidrun: remove hardcoded DTS MAC address
>   arm: mvebu: clearfog: initial ClearFog Base variant
>   arm: mvebu: clearfog: Use Pro DT by default
>   arm: mvebu: clearfog: Add SATA mode flags
>   arm: mvebu: clearfog: Add option for 2.5 Gbps SFP
>   arm: mvebu: clearfog: add SPI offsets
>   arm: mvebu: enable working default boot support
>   arm: mvebu: clearfog: move ENV params to Kconfig
>   arm: mvebu: clearfog: reduce MMC boot assumptions
>
>  .../arm/dts/armada-38x-solidrun-microsom.dtsi |  1 -
>  arch/arm/mach-mvebu/Kconfig                   | 13 ++++
>  .../serdes/a38x/high_speed_env_spec.c         |  6 +-
>  board/solidrun/clearfog/Kconfig               | 62 +++++++++++++++++++
>  board/solidrun/clearfog/clearfog.c            | 26 +++++++-
>  configs/clearfog_defconfig                    |  5 --
>  include/configs/clearfog.h                    |  1 -
>  7 files changed, 103 insertions(+), 11 deletions(-)
>  create mode 100644 board/solidrun/clearfog/Kconfig


-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 00/10] ClearFog Base static variant support
  2020-01-19  8:38 ` [PATCH v2 00/10] ClearFog Base static variant support Baruch Siach
@ 2020-01-19 16:05   ` Joel Johnson
  2020-01-19 16:11     ` Baruch Siach
  0 siblings, 1 reply; 16+ messages in thread
From: Joel Johnson @ 2020-01-19 16:05 UTC (permalink / raw)
  To: u-boot

On 2020-01-19 01:38, Baruch Siach wrote:
> Hi Joel,
> 
> On Sun, Jan 19 2020, Joel Johnson wrote:
>> This patch series adds support for ClearFog Base static configuration,
>> as well as updating and fixing the ClearFog support for MMC and SPI
>> booting.
>> 
>> V2 changes:
>>   - updated against, and dependent on, 
>> https://patchwork.ozlabs.org/cover/1200324
> 
> Thanks for the update.
> 
> Next time please Cc at least me and Stefan on the entire series.
> 
> baruch

I certainly intended to, and based on the email headers it appears that 
I did...

Actually, I see what you're saying, not all of the patches in the series 
were delivered to you. I neglected to add (or notice during sending) the 
Series-cc line for patman. My apologizes - I've added it for my local 
branch on this series and I'll keep an eye out for that in the future.

Relatedly, I've been directing the series to Prafulla Wadaskar as noted 
in the custodians listing for marvell, but am getting email delivery 
failures. Any updated guidance or contact updates would be appreciated.

Joel

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 00/10] ClearFog Base static variant support
  2020-01-19 16:05   ` Joel Johnson
@ 2020-01-19 16:11     ` Baruch Siach
  2020-01-19 16:16       ` Joel Johnson
  0 siblings, 1 reply; 16+ messages in thread
From: Baruch Siach @ 2020-01-19 16:11 UTC (permalink / raw)
  To: u-boot

Hi Joel,

On Sun, Jan 19 2020, Joel Johnson wrote:
> On 2020-01-19 01:38, Baruch Siach wrote:
>> On Sun, Jan 19 2020, Joel Johnson wrote:
>>> This patch series adds support for ClearFog Base static configuration,
>>> as well as updating and fixing the ClearFog support for MMC and SPI
>>> booting.
>>>
>>> V2 changes:
>>>   - updated against, and dependent on,
>>> https://patchwork.ozlabs.org/cover/1200324
>>
>> Thanks for the update.
>>
>> Next time please Cc at least me and Stefan on the entire series.
>>
>> baruch
>
> I certainly intended to, and based on the email headers it appears that I
> did...
>
> Actually, I see what you're saying, not all of the patches in the series were
> delivered to you. I neglected to add (or notice during sending) the Series-cc
> line for patman. My apologizes - I've added it for my local branch on this
> series and I'll keep an eye out for that in the future.
>
> Relatedly, I've been directing the series to Prafulla Wadaskar as noted in the
> custodians listing for marvell, but am getting email delivery failures. Any
> updated guidance or contact updates would be appreciated.

Prafulla has been removed from the Marvell entry in MAINTAINERS in
commit 1579faf52b9f4 (February 2019). I don't think you need to Cc him
on Marvell SoC related patches.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 00/10] ClearFog Base static variant support
  2020-01-19 16:11     ` Baruch Siach
@ 2020-01-19 16:16       ` Joel Johnson
  2020-01-20  6:55         ` Stefan Roese
  0 siblings, 1 reply; 16+ messages in thread
From: Joel Johnson @ 2020-01-19 16:16 UTC (permalink / raw)
  To: u-boot

On 2020-01-19 09:11, Baruch Siach wrote:
> Hi Joel,
> 
> On Sun, Jan 19 2020, Joel Johnson wrote:
>> On 2020-01-19 01:38, Baruch Siach wrote:
>>> On Sun, Jan 19 2020, Joel Johnson wrote:
>>>> This patch series adds support for ClearFog Base static 
>>>> configuration,
>>>> as well as updating and fixing the ClearFog support for MMC and SPI
>>>> booting.
>>>> 
>>>> V2 changes:
>>>>   - updated against, and dependent on,
>>>> https://patchwork.ozlabs.org/cover/1200324
>>> 
>>> Thanks for the update.
>>> 
>>> Next time please Cc at least me and Stefan on the entire series.
>>> 
>>> baruch
>> 
>> I certainly intended to, and based on the email headers it appears 
>> that I
>> did...
>> 
>> Actually, I see what you're saying, not all of the patches in the 
>> series were
>> delivered to you. I neglected to add (or notice during sending) the 
>> Series-cc
>> line for patman. My apologizes - I've added it for my local branch on 
>> this
>> series and I'll keep an eye out for that in the future.
>> 
>> Relatedly, I've been directing the series to Prafulla Wadaskar as 
>> noted in the
>> custodians listing for marvell, but am getting email delivery 
>> failures. Any
>> updated guidance or contact updates would be appreciated.
> 
> Prafulla has been removed from the Marvell entry in MAINTAINERS in
> commit 1579faf52b9f4 (February 2019). I don't think you need to Cc him
> on Marvell SoC related patches.
> 
> baruch

Indeed, thanks. I had pulled his information from the Custodians wiki 
page at http://www.denx.de/wiki/U-Boot/Custodians, so perhaps something 
that Stefan or editor can update accordingly.

Joel

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 00/10] ClearFog Base static variant support
  2020-01-19 16:16       ` Joel Johnson
@ 2020-01-20  6:55         ` Stefan Roese
  0 siblings, 0 replies; 16+ messages in thread
From: Stefan Roese @ 2020-01-20  6:55 UTC (permalink / raw)
  To: u-boot

Hi Joel,

On 19.01.20 17:16, Joel Johnson wrote:
> On 2020-01-19 09:11, Baruch Siach wrote:
>> Hi Joel,
>>
>> On Sun, Jan 19 2020, Joel Johnson wrote:
>>> On 2020-01-19 01:38, Baruch Siach wrote:
>>>> On Sun, Jan 19 2020, Joel Johnson wrote:
>>>>> This patch series adds support for ClearFog Base static
>>>>> configuration,
>>>>> as well as updating and fixing the ClearFog support for MMC and SPI
>>>>> booting.
>>>>>
>>>>> V2 changes:
>>>>>    - updated against, and dependent on,
>>>>> https://patchwork.ozlabs.org/cover/1200324
>>>>
>>>> Thanks for the update.
>>>>
>>>> Next time please Cc at least me and Stefan on the entire series.
>>>>
>>>> baruch
>>>
>>> I certainly intended to, and based on the email headers it appears
>>> that I
>>> did...
>>>
>>> Actually, I see what you're saying, not all of the patches in the
>>> series were
>>> delivered to you. I neglected to add (or notice during sending) the
>>> Series-cc
>>> line for patman. My apologizes - I've added it for my local branch on
>>> this
>>> series and I'll keep an eye out for that in the future.
>>>
>>> Relatedly, I've been directing the series to Prafulla Wadaskar as
>>> noted in the
>>> custodians listing for marvell, but am getting email delivery
>>> failures. Any
>>> updated guidance or contact updates would be appreciated.
>>
>> Prafulla has been removed from the Marvell entry in MAINTAINERS in
>> commit 1579faf52b9f4 (February 2019). I don't think you need to Cc him
>> on Marvell SoC related patches.
>>
>> baruch
> 
> Indeed, thanks. I had pulled his information from the Custodians wiki
> page at http://www.denx.de/wiki/U-Boot/Custodians, so perhaps something
> that Stefan or editor can update accordingly.

Yes, thanks for the notification. We'll update this page accordingly
soon.

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-01-20  6:55 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-19  7:52 [PATCH v2 00/10] ClearFog Base static variant support Joel Johnson
2020-01-19  7:52 ` [PATCH v2 01/10] arm: mvebu: fix SerDes table alignment Joel Johnson
2020-01-19  7:52 ` [PATCH v2 02/10] arm: mvebu: solidrun: remove hardcoded DTS MAC address Joel Johnson
2020-01-19  7:52 ` [PATCH v2 03/10] arm: mvebu: clearfog: initial ClearFog Base variant Joel Johnson
2020-01-19  7:52 ` [PATCH v2 04/10] arm: mvebu: clearfog: Use Pro DT by default Joel Johnson
2020-01-19  7:52 ` [PATCH v2 05/10] arm: mvebu: clearfog: Add SATA mode flags Joel Johnson
2020-01-19  7:52 ` [PATCH v2 06/10] arm: mvebu: clearfog: Add option for 2.5 Gbps SFP Joel Johnson
2020-01-19  7:52 ` [PATCH v2 07/10] arm: mvebu: clearfog: add SPI offsets Joel Johnson
2020-01-19  7:52 ` [PATCH v2 08/10] arm: mvebu: enable working default boot support Joel Johnson
2020-01-19  7:52 ` [PATCH v2 09/10] arm: mvebu: clearfog: move ENV params to Kconfig Joel Johnson
2020-01-19  7:52 ` [PATCH v2 10/10] arm: mvebu: clearfog: reduce MMC boot assumptions Joel Johnson
2020-01-19  8:38 ` [PATCH v2 00/10] ClearFog Base static variant support Baruch Siach
2020-01-19 16:05   ` Joel Johnson
2020-01-19 16:11     ` Baruch Siach
2020-01-19 16:16       ` Joel Johnson
2020-01-20  6:55         ` Stefan Roese

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.