All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/3] davinci: spl: select boot device based on boot pin cfg
@ 2017-01-09 10:06 Fabien Parent
  2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Fabien Parent @ 2017-01-09 10:06 UTC (permalink / raw)
  To: u-boot

Right now the SPL is trying to load u-boot based on defines, i.e. one has to
define CONFIG_SPL_NAND_SIMPLE to boot from NAND, or CONFIG_SPL_SPI_LOAD to boot
from SPI FLASH, etc...
This prevent us from having a single SPL image that is able to boot from all
media, and one need to build an image for each medium. This patchset is
replacing the #ifdef that select the boot medium by reading the value of the
boot pins (via the BOOTCFG register).

Now a single SPL image will be able to read from the boot pin to know
which device should be used to load u-boot.

This patchset is also enable SPL's MMC boot for the OMAPL138-LCDK in order
to have one image that is able to boot from MMC and NAND.

Fabien Parent (3):
  davinci: spl: use bootcfg to select boot device
  omapl138_lcdk: enable SPL MMC support
  omapl138_lcdk: remove empty ifdef block

 arch/arm/mach-davinci/include/mach/hardware.h | 16 ++++++++++++--
 arch/arm/mach-davinci/spl.c                   | 31 +++++++++++++++++++--------
 configs/omapl138_lcdk_defconfig               |  1 +
 include/configs/omapl138_lcdk.h               |  3 ---
 4 files changed, 37 insertions(+), 14 deletions(-)

-- 
2.11.0

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

* [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device
  2017-01-09 10:06 [U-Boot] [PATCH 0/3] davinci: spl: select boot device based on boot pin cfg Fabien Parent
@ 2017-01-09 10:06 ` Fabien Parent
  2017-01-11  3:19   ` Tom Rini
  2017-01-15 18:31   ` [U-Boot] [U-Boot, " Tom Rini
  2017-01-09 10:06 ` [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support Fabien Parent
  2017-01-09 10:06 ` [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block Fabien Parent
  2 siblings, 2 replies; 10+ messages in thread
From: Fabien Parent @ 2017-01-09 10:06 UTC (permalink / raw)
  To: u-boot

Right now the SPL is trying to load u-boot based on defines, i.e. one
has to define CONFIG_SPL_NAND_SIMPLE to boot from NAND,
or CONFIG_SPL_SPI_LOAD to boot from SPI FLASH, etc...
This prevent us from having a single SPL image that is able to boot from
all media, and one need to build an image for each medium. This
commit is replacing the #ifdef that select the boot medium by reading
the value of the boot pins (via the BOOTCFG register).

Now a single SPL image will be able to read from the boot pin to know
which device should be used to load u-boot.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
 arch/arm/mach-davinci/include/mach/hardware.h | 16 ++++++++++++--
 arch/arm/mach-davinci/spl.c                   | 31 +++++++++++++++++++--------
 2 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-davinci/include/mach/hardware.h b/arch/arm/mach-davinci/include/mach/hardware.h
index 2a0360a785..c31f38c8a2 100644
--- a/arch/arm/mach-davinci/include/mach/hardware.h
+++ b/arch/arm/mach-davinci/include/mach/hardware.h
@@ -475,12 +475,15 @@ int clk_get(enum davinci_clk_ids id);
 /* Boot config */
 struct davinci_syscfg_regs {
 	dv_reg	revid;
-	dv_reg	rsvd[13];
+	dv_reg	rsvd[7];
+	dv_reg	bootcfg;
+	dv_reg	chiprevidr;
+	dv_reg	rsvd2[4];
 	dv_reg	kick0;
 	dv_reg	kick1;
 	dv_reg	rsvd1[52];
 	dv_reg	mstpri[3];
-	dv_reg  rsvd2;
+	dv_reg  rsvd3;
 	dv_reg	pinmux[20];
 	dv_reg	suspsrc;
 	dv_reg	chipsig;
@@ -495,6 +498,15 @@ struct davinci_syscfg_regs {
 #define davinci_syscfg_regs \
 	((struct davinci_syscfg_regs *)DAVINCI_BOOTCFG_BASE)
 
+enum {
+	DAVINCI_NAND8_BOOT	= 0b001110,
+	DAVINCI_NAND16_BOOT	= 0b010000,
+	DAVINCI_SD_OR_MMC_BOOT	= 0b011100,
+	DAVINCI_MMC_ONLY_BOOT	= 0b111100,
+	DAVINCI_SPI0_FLASH_BOOT	= 0b001010,
+	DAVINCI_SPI1_FLASH_BOOT	= 0b001100,
+};
+
 #define pinmux(x)	(&davinci_syscfg_regs->pinmux[x])
 
 /* Emulation suspend bits */
diff --git a/arch/arm/mach-davinci/spl.c b/arch/arm/mach-davinci/spl.c
index 0aeaa7d8b7..564c2008e0 100644
--- a/arch/arm/mach-davinci/spl.c
+++ b/arch/arm/mach-davinci/spl.c
@@ -52,14 +52,27 @@ u32 spl_boot_mode(const u32 boot_device)
 
 u32 spl_boot_device(void)
 {
-#ifdef CONFIG_SPL_NAND_SIMPLE
-	return BOOT_DEVICE_NAND;
-#elif defined(CONFIG_SPL_SPI_LOAD)
-	return BOOT_DEVICE_SPI;
-#elif defined(CONFIG_SPL_MMC_LOAD)
-	return BOOT_DEVICE_MMC1;
-#else
-	puts("Unknown boot device\n");
-	hang();
+	switch (davinci_syscfg_regs->bootcfg) {
+#ifdef CONFIG_SPL_NAND_SUPPORT
+	case DAVINCI_NAND8_BOOT:
+	case DAVINCI_NAND16_BOOT:
+		return BOOT_DEVICE_NAND;
 #endif
+
+#ifdef CONFIG_SPL_MMC_SUPPORT
+	case DAVINCI_SD_OR_MMC_BOOT:
+	case DAVINCI_MMC_ONLY_BOOT:
+		return BOOT_DEVICE_MMC1;
+#endif
+
+#ifdef CONFIG_SPL_SPI_FLASH_SUPPORT
+	case DAVINCI_SPI0_FLASH_BOOT:
+	case DAVINCI_SPI1_FLASH_BOOT:
+		return BOOT_DEVICE_SPI;
+#endif
+
+	default:
+		puts("Unknown boot device\n");
+		hang();
+	}
 }
-- 
2.11.0

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

* [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support
  2017-01-09 10:06 [U-Boot] [PATCH 0/3] davinci: spl: select boot device based on boot pin cfg Fabien Parent
  2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
@ 2017-01-09 10:06 ` Fabien Parent
  2017-01-11  3:19   ` Tom Rini
  2017-01-15 18:31   ` [U-Boot] [U-Boot,2/3] " Tom Rini
  2017-01-09 10:06 ` [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block Fabien Parent
  2 siblings, 2 replies; 10+ messages in thread
From: Fabien Parent @ 2017-01-09 10:06 UTC (permalink / raw)
  To: u-boot

Enable SPL MMC support in order to allow to build a single u-boot image
that is able to boot from MMC and NAND devices.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
 configs/omapl138_lcdk_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
index d030ffafc3..77ede8a1c8 100644
--- a/configs/omapl138_lcdk_defconfig
+++ b/configs/omapl138_lcdk_defconfig
@@ -3,6 +3,7 @@ CONFIG_ARCH_DAVINCI=y
 CONFIG_TARGET_OMAPL138_LCDK=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_NAND_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_BOOTDELAY=3
-- 
2.11.0

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

* [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block
  2017-01-09 10:06 [U-Boot] [PATCH 0/3] davinci: spl: select boot device based on boot pin cfg Fabien Parent
  2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
  2017-01-09 10:06 ` [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support Fabien Parent
@ 2017-01-09 10:06 ` Fabien Parent
  2017-01-11  3:20   ` Tom Rini
  2017-01-15 18:32   ` [U-Boot] [U-Boot,3/3] " Tom Rini
  2 siblings, 2 replies; 10+ messages in thread
From: Fabien Parent @ 2017-01-09 10:06 UTC (permalink / raw)
  To: u-boot

Small clean-up.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
 include/configs/omapl138_lcdk.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index cdc93c38c8..15e900f6e2 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -315,9 +315,6 @@
 #define CONFIG_CMD_UBIFS
 #endif
 
-#ifdef CONFIG_USE_SPIFLASH
-#endif
-
 #if !defined(CONFIG_USE_NAND) && \
 	!defined(CONFIG_SYS_USE_NOR) && \
 	!defined(CONFIG_USE_SPIFLASH)
-- 
2.11.0

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

* [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device
  2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
@ 2017-01-11  3:19   ` Tom Rini
  2017-01-15 18:31   ` [U-Boot] [U-Boot, " Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-11  3:19 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:36AM +0100, Fabien Parent wrote:

> Right now the SPL is trying to load u-boot based on defines, i.e. one
> has to define CONFIG_SPL_NAND_SIMPLE to boot from NAND,
> or CONFIG_SPL_SPI_LOAD to boot from SPI FLASH, etc...
> This prevent us from having a single SPL image that is able to boot from
> all media, and one need to build an image for each medium. This
> commit is replacing the #ifdef that select the boot medium by reading
> the value of the boot pins (via the BOOTCFG register).
> 
> Now a single SPL image will be able to read from the boot pin to know
> which device should be used to load u-boot.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170110/9c81dd98/attachment.sig>

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

* [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support
  2017-01-09 10:06 ` [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support Fabien Parent
@ 2017-01-11  3:19   ` Tom Rini
  2017-01-15 18:31   ` [U-Boot] [U-Boot,2/3] " Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-11  3:19 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:37AM +0100, Fabien Parent wrote:

> Enable SPL MMC support in order to allow to build a single u-boot image
> that is able to boot from MMC and NAND devices.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170110/4fe65452/attachment.sig>

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

* [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block
  2017-01-09 10:06 ` [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block Fabien Parent
@ 2017-01-11  3:20   ` Tom Rini
  2017-01-15 18:32   ` [U-Boot] [U-Boot,3/3] " Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-11  3:20 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:38AM +0100, Fabien Parent wrote:

> Small clean-up.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170110/84ac4d64/attachment.sig>

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

* [U-Boot] [U-Boot, 1/3] davinci: spl: use bootcfg to select boot device
  2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
  2017-01-11  3:19   ` Tom Rini
@ 2017-01-15 18:31   ` Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-15 18:31 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:36AM +0100, Fabien Parent wrote:

> Right now the SPL is trying to load u-boot based on defines, i.e. one
> has to define CONFIG_SPL_NAND_SIMPLE to boot from NAND,
> or CONFIG_SPL_SPI_LOAD to boot from SPI FLASH, etc...
> This prevent us from having a single SPL image that is able to boot from
> all media, and one need to build an image for each medium. This
> commit is replacing the #ifdef that select the boot medium by reading
> the value of the boot pins (via the BOOTCFG register).
> 
> Now a single SPL image will be able to read from the boot pin to know
> which device should be used to load u-boot.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170115/eb0713ff/attachment.sig>

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

* [U-Boot] [U-Boot,2/3] omapl138_lcdk: enable SPL MMC support
  2017-01-09 10:06 ` [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support Fabien Parent
  2017-01-11  3:19   ` Tom Rini
@ 2017-01-15 18:31   ` Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-15 18:31 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:37AM +0100, Fabien Parent wrote:

> Enable SPL MMC support in order to allow to build a single u-boot image
> that is able to boot from MMC and NAND devices.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170115/b83dce96/attachment.sig>

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

* [U-Boot] [U-Boot,3/3] omapl138_lcdk: remove empty ifdef block
  2017-01-09 10:06 ` [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block Fabien Parent
  2017-01-11  3:20   ` Tom Rini
@ 2017-01-15 18:32   ` Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-01-15 18:32 UTC (permalink / raw)
  To: u-boot

On Mon, Jan 09, 2017 at 11:06:38AM +0100, Fabien Parent wrote:

> Small clean-up.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170115/f6422102/attachment.sig>

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

end of thread, other threads:[~2017-01-15 18:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-09 10:06 [U-Boot] [PATCH 0/3] davinci: spl: select boot device based on boot pin cfg Fabien Parent
2017-01-09 10:06 ` [U-Boot] [PATCH 1/3] davinci: spl: use bootcfg to select boot device Fabien Parent
2017-01-11  3:19   ` Tom Rini
2017-01-15 18:31   ` [U-Boot] [U-Boot, " Tom Rini
2017-01-09 10:06 ` [U-Boot] [PATCH 2/3] omapl138_lcdk: enable SPL MMC support Fabien Parent
2017-01-11  3:19   ` Tom Rini
2017-01-15 18:31   ` [U-Boot] [U-Boot,2/3] " Tom Rini
2017-01-09 10:06 ` [U-Boot] [PATCH 3/3] omapl138_lcdk: remove empty ifdef block Fabien Parent
2017-01-11  3:20   ` Tom Rini
2017-01-15 18:32   ` [U-Boot] [U-Boot,3/3] " Tom Rini

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.