All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] arm: mvebu: clearfog: add SCSI to distro bootcmd
@ 2020-03-23 17:26 Joel Johnson
  2020-03-23 17:26 ` [PATCH v2 2/2] arm: mvebu: clearfog: support multiple SATA boot Joel Johnson
  0 siblings, 1 reply; 3+ messages in thread
From: Joel Johnson @ 2020-03-23 17:26 UTC (permalink / raw)
  To: u-boot

Include attempting to boot from SCSI (SATA) devices within generated
board distro bootcmd environment. The reasoning for boot ordering is
that MMC and USB are external and removable, while when a case is in
use, replacing M.2 or mSATA drives requires disassembly. Therefore,
to boot SCSI, [bootable] external media must be removed. If SCSI were
placed before MMC or USB, then removing a bootable SCSI drive to
enable MMC or USB booting would be more difficult.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
Reviewed-by: Stefan Roese <sr@denx.de>

---

v2 changes
  - none

---
 include/configs/clearfog.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index 633187d86f..a452f4b009 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -110,9 +110,16 @@
 #define BOOT_TARGET_DEVICES_USB(func)
 #endif
 
+#ifdef CONFIG_SCSI
+#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
+#else
+#define BOOT_TARGET_DEVICES_SCSI(func)
+#endif
+
 #define BOOT_TARGET_DEVICES(func) \
 	BOOT_TARGET_DEVICES_MMC(func) \
 	BOOT_TARGET_DEVICES_USB(func) \
+	BOOT_TARGET_DEVICES_SCSI(func) \
 	func(PXE, pxe, na) \
 	func(DHCP, dhcp, na)
 
-- 
2.25.0

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

* [PATCH v2 2/2] arm: mvebu: clearfog: support multiple SATA boot
  2020-03-23 17:26 [PATCH v2 1/2] arm: mvebu: clearfog: add SCSI to distro bootcmd Joel Johnson
@ 2020-03-23 17:26 ` Joel Johnson
  2020-03-24  7:22   ` Stefan Roese
  0 siblings, 1 reply; 3+ messages in thread
From: Joel Johnson @ 2020-03-23 17:26 UTC (permalink / raw)
  To: u-boot

Enable distro bootcmd support for additional SATA ports if enabled.

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


This patch builds on and requires the separate patch in the
"ClearFog Base static variant support" series adding configurable
SATA support ("arm: mvebu: clearfog: Add SATA mode flags").

v2 changes:
  - name macros SCSI_BUSN to better distinguish between bus and connection
  - move not SCSI case first, otherwise it tends to get lost

---
 include/configs/clearfog.h | 38 ++++++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index a452f4b009..0c314c4c53 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -110,16 +110,46 @@
 #define BOOT_TARGET_DEVICES_USB(func)
 #endif
 
-#ifdef CONFIG_SCSI
-#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
+#ifndef CONFIG_SCSI
+#define BOOT_TARGET_DEVICES_SCSI_BUS0(func)
+#define BOOT_TARGET_DEVICES_SCSI_BUS1(func)
+#define BOOT_TARGET_DEVICES_SCSI_BUS2(func)
+#else
+/*
+ * With SCSI enabled, M.2 SATA is always located on bus 0
+ */
+#define BOOT_TARGET_DEVICES_SCSI_BUS0(func) func(SCSI, scsi, 0)
+
+/*
+ * Either one or both mPCIe slots may be configured as mSATA interfaces. The
+ * SCSI bus ids are assigned based on sequence of hardware present, not always
+ * tied to hardware slot ids. As such, use second SCSI bus if either slot is
+ * set for SATA, and only use third SCSI bus if both slots are SATA enabled.
+ */
+#if defined (CONFIG_CLEARFOG_CON2_SATA) || defined (CONFIG_CLEARFOG_CON3_SATA)
+#define BOOT_TARGET_DEVICES_SCSI_BUS1(func) func(SCSI, scsi, 1)
 #else
-#define BOOT_TARGET_DEVICES_SCSI(func)
+#define BOOT_TARGET_DEVICES_SCSI_BUS1(func)
 #endif
 
+#if defined (CONFIG_CLEARFOG_CON2_SATA) && defined (CONFIG_CLEARFOG_CON3_SATA)
+#define BOOT_TARGET_DEVICES_SCSI_BUS2(func) func(SCSI, scsi, 2)
+#else
+#define BOOT_TARGET_DEVICES_SCSI_BUS2(func)
+#endif
+
+#endif /* CONFIG_SCSI */
+
+/*
+ * The SCSI buses are attempted in increasing bus order, there is no current
+ * mechanism to alter the default bus priority order for booting.
+ */
 #define BOOT_TARGET_DEVICES(func) \
 	BOOT_TARGET_DEVICES_MMC(func) \
 	BOOT_TARGET_DEVICES_USB(func) \
-	BOOT_TARGET_DEVICES_SCSI(func) \
+	BOOT_TARGET_DEVICES_SCSI_BUS0(func) \
+	BOOT_TARGET_DEVICES_SCSI_BUS1(func) \
+	BOOT_TARGET_DEVICES_SCSI_BUS2(func) \
 	func(PXE, pxe, na) \
 	func(DHCP, dhcp, na)
 
-- 
2.25.0

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

* [PATCH v2 2/2] arm: mvebu: clearfog: support multiple SATA boot
  2020-03-23 17:26 ` [PATCH v2 2/2] arm: mvebu: clearfog: support multiple SATA boot Joel Johnson
@ 2020-03-24  7:22   ` Stefan Roese
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Roese @ 2020-03-24  7:22 UTC (permalink / raw)
  To: u-boot

On 23.03.20 18:26, Joel Johnson wrote:
> Enable distro bootcmd support for additional SATA ports if enabled.
> 
> Signed-off-by: Joel Johnson <mrjoel@lixil.net>

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

> ---
> 
> 
> This patch builds on and requires the separate patch in the
> "ClearFog Base static variant support" series adding configurable
> SATA support ("arm: mvebu: clearfog: Add SATA mode flags").
> 
> v2 changes:
>    - name macros SCSI_BUSN to better distinguish between bus and connection
>    - move not SCSI case first, otherwise it tends to get lost
> 
> ---
>   include/configs/clearfog.h | 38 ++++++++++++++++++++++++++++++++++----
>   1 file changed, 34 insertions(+), 4 deletions(-)
> 
> diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
> index a452f4b009..0c314c4c53 100644
> --- a/include/configs/clearfog.h
> +++ b/include/configs/clearfog.h
> @@ -110,16 +110,46 @@
>   #define BOOT_TARGET_DEVICES_USB(func)
>   #endif
>   
> -#ifdef CONFIG_SCSI
> -#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
> +#ifndef CONFIG_SCSI
> +#define BOOT_TARGET_DEVICES_SCSI_BUS0(func)
> +#define BOOT_TARGET_DEVICES_SCSI_BUS1(func)
> +#define BOOT_TARGET_DEVICES_SCSI_BUS2(func)
> +#else
> +/*
> + * With SCSI enabled, M.2 SATA is always located on bus 0
> + */
> +#define BOOT_TARGET_DEVICES_SCSI_BUS0(func) func(SCSI, scsi, 0)
> +
> +/*
> + * Either one or both mPCIe slots may be configured as mSATA interfaces. The
> + * SCSI bus ids are assigned based on sequence of hardware present, not always
> + * tied to hardware slot ids. As such, use second SCSI bus if either slot is
> + * set for SATA, and only use third SCSI bus if both slots are SATA enabled.
> + */
> +#if defined (CONFIG_CLEARFOG_CON2_SATA) || defined (CONFIG_CLEARFOG_CON3_SATA)
> +#define BOOT_TARGET_DEVICES_SCSI_BUS1(func) func(SCSI, scsi, 1)
>   #else
> -#define BOOT_TARGET_DEVICES_SCSI(func)
> +#define BOOT_TARGET_DEVICES_SCSI_BUS1(func)
>   #endif
>   
> +#if defined (CONFIG_CLEARFOG_CON2_SATA) && defined (CONFIG_CLEARFOG_CON3_SATA)
> +#define BOOT_TARGET_DEVICES_SCSI_BUS2(func) func(SCSI, scsi, 2)
> +#else
> +#define BOOT_TARGET_DEVICES_SCSI_BUS2(func)
> +#endif
> +
> +#endif /* CONFIG_SCSI */
> +
> +/*
> + * The SCSI buses are attempted in increasing bus order, there is no current
> + * mechanism to alter the default bus priority order for booting.
> + */
>   #define BOOT_TARGET_DEVICES(func) \
>   	BOOT_TARGET_DEVICES_MMC(func) \
>   	BOOT_TARGET_DEVICES_USB(func) \
> -	BOOT_TARGET_DEVICES_SCSI(func) \
> +	BOOT_TARGET_DEVICES_SCSI_BUS0(func) \
> +	BOOT_TARGET_DEVICES_SCSI_BUS1(func) \
> +	BOOT_TARGET_DEVICES_SCSI_BUS2(func) \
>   	func(PXE, pxe, na) \
>   	func(DHCP, dhcp, na)
>   
> 


Viele Gr??e,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de

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

end of thread, other threads:[~2020-03-24  7:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-23 17:26 [PATCH v2 1/2] arm: mvebu: clearfog: add SCSI to distro bootcmd Joel Johnson
2020-03-23 17:26 ` [PATCH v2 2/2] arm: mvebu: clearfog: support multiple SATA boot Joel Johnson
2020-03-24  7:22   ` 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.