Message ID | 1397630676-14520-1-git-send-email-yamada.m@jp.panasonic.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Hi Masahiro Yamada, On 04/16/2014 02:44 PM, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. > > Signed-off-by: Masahiro Yamada<yamada.m@jp.panasonic.com> > Cc: Tom Rini<trini@ti.com> > Cc: Michal Simek<michal.simek@xilinx.com> > Cc: Andreas Bießmann<andreas.devel@googlemail.com> > Cc: Stephen Warren<swarren@nvidia.com> > Cc: Tom Warren<twarren@nvidia.com> > CC: Stefano Babic<sbabic@denx.de> > CC: Minkyu Kang<mk7.kang@samsung.com> > Cc: Dinh Nguyen<dinguyen@altera.com> > --- > arch/arm/cpu/arm720t/tegra-common/spl.c | 2 +- > arch/arm/include/asm/arch-at91/spl.h | 24 ------------------------ Tested ok on sama5d3xek board for at91 part. Tested-by: Bo Shen <voice.shen@atmel.com> Best Regards, Bo Shen
On 04/16/2014 12:44 AM, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. Seems reasonable to me, Acked-by: Stephen Warren <swarren@nvidia.com>
Hi Masahiro, On 16/04/2014 08:44, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. Absolutely right ! > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Michal Simek <michal.simek@xilinx.com> > Cc: Andreas Bießmann <andreas.devel@googlemail.com> > Cc: Stephen Warren <swarren@nvidia.com> > Cc: Tom Warren <twarren@nvidia.com> > CC: Stefano Babic <sbabic@denx.de> > CC: Minkyu Kang <mk7.kang@samsung.com> > Cc: Dinh Nguyen <dinguyen@altera.com> > --- > arch/arm/cpu/arm720t/tegra-common/spl.c | 2 +- > arch/arm/include/asm/arch-at91/spl.h | 24 ------------------------ > arch/arm/include/asm/arch-davinci/spl.h | 16 ---------------- > arch/arm/include/asm/arch-mx35/spl.h | 22 ---------------------- > arch/arm/include/asm/arch-mx5/spl.h | 13 ------------- > arch/arm/include/asm/arch-tegra114/spl.h | 22 ---------------------- > arch/arm/include/asm/arch-tegra124/spl.h | 13 ------------- > arch/arm/include/asm/arch-tegra20/spl.h | 12 ------------ > arch/arm/include/asm/arch-tegra30/spl.h | 12 ------------ > arch/arm/include/asm/spl.h | 18 ++++++++++++++++++ > board/denx/m53evk/m53evk.c | 2 +- > 11 files changed, 20 insertions(+), 136 deletions(-) > delete mode 100644 arch/arm/include/asm/arch-at91/spl.h > delete mode 100644 arch/arm/include/asm/arch-davinci/spl.h > delete mode 100644 arch/arm/include/asm/arch-mx35/spl.h > delete mode 100644 arch/arm/include/asm/arch-mx5/spl.h > delete mode 100644 arch/arm/include/asm/arch-tegra114/spl.h > delete mode 100644 arch/arm/include/asm/arch-tegra124/spl.h > delete mode 100644 arch/arm/include/asm/arch-tegra20/spl.h > delete mode 100644 arch/arm/include/asm/arch-tegra30/spl.h > > diff --git a/arch/arm/cpu/arm720t/tegra-common/spl.c b/arch/arm/cpu/arm720t/tegra-common/spl.c > index 5171a8f..8147806 100644 > --- a/arch/arm/cpu/arm720t/tegra-common/spl.c > +++ b/arch/arm/cpu/arm720t/tegra-common/spl.c > @@ -14,7 +14,7 @@ > #include <asm/arch/pinmux.h> > #include <asm/arch/tegra.h> > #include <asm/arch-tegra/board.h> > -#include <asm/arch/spl.h> > +#include <asm/spl.h> > #include "cpu.h" > > void spl_board_init(void) > diff --git a/arch/arm/include/asm/arch-at91/spl.h b/arch/arm/include/asm/arch-at91/spl.h > deleted file mode 100644 > index d8a87da..0000000 > --- a/arch/arm/include/asm/arch-at91/spl.h > +++ /dev/null > @@ -1,24 +0,0 @@ > -/* > - * Copyright (C) 2013 Atmel Corporation > - * Bo Shen <voice.shen@atmel.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > - > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -enum { > - BOOT_DEVICE_NONE, > -#ifdef CONFIG_SYS_USE_MMC > - BOOT_DEVICE_MMC1, > - BOOT_DEVICE_MMC2, > - BOOT_DEVICE_MMC2_2, > -#elif CONFIG_SYS_USE_NANDFLASH > - BOOT_DEVICE_NAND, > -#elif CONFIG_SYS_USE_SERIALFLASH > - BOOT_DEVICE_SPI, > -#endif > -}; > - > -#endif > diff --git a/arch/arm/include/asm/arch-davinci/spl.h b/arch/arm/include/asm/arch-davinci/spl.h > deleted file mode 100644 > index 5afe0d4..0000000 > --- a/arch/arm/include/asm/arch-davinci/spl.h > +++ /dev/null > @@ -1,16 +0,0 @@ > -/* > - * (C) Copyright 2012 > - * Texas Instruments, <www.ti.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_NAND 1 > -#define BOOT_DEVICE_SPI 2 > -#define BOOT_DEVICE_MMC1 3 > -#define BOOT_DEVICE_MMC2 4 /* dummy */ > -#define BOOT_DEVICE_MMC2_2 5 /* dummy */ > - > -#endif > diff --git a/arch/arm/include/asm/arch-mx35/spl.h b/arch/arm/include/asm/arch-mx35/spl.h > deleted file mode 100644 > index d0efec2..0000000 > --- a/arch/arm/include/asm/arch-mx35/spl.h > +++ /dev/null > @@ -1,22 +0,0 @@ > -/* > - * (C) Copyright 2012 > - * Texas Instruments, <www.ti.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_NONE 0 > -#define BOOT_DEVICE_XIP 1 > -#define BOOT_DEVICE_XIPWAIT 2 > -#define BOOT_DEVICE_NAND 3 > -#define BOOT_DEVICE_ONENAND 4 > -#define BOOT_DEVICE_MMC1 5 > -#define BOOT_DEVICE_MMC2 6 > -#define BOOT_DEVICE_MMC2_2 7 > -#define BOOT_DEVICE_NOR 8 > -#define BOOT_DEVICE_I2C 9 > -#define BOOT_DEVICE_SPI 10 > - > -#endif > diff --git a/arch/arm/include/asm/arch-mx5/spl.h b/arch/arm/include/asm/arch-mx5/spl.h > deleted file mode 100644 > index 20c6cae..0000000 > --- a/arch/arm/include/asm/arch-mx5/spl.h > +++ /dev/null > @@ -1,13 +0,0 @@ > -/* > - * Copyright (C) 2013 Marek Vasut <marex@denx.de> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > - > -#ifndef __ASM_ARCH_SPL_H__ > -#define __ASM_ARCH_SPL_H__ > - > -#define BOOT_DEVICE_NONE 0 > -#define BOOT_DEVICE_NAND 1 > - > -#endif /* __ASM_ARCH_SPL_H__ */ > diff --git a/arch/arm/include/asm/arch-tegra114/spl.h b/arch/arm/include/asm/arch-tegra114/spl.h > deleted file mode 100644 > index ebb16fe..0000000 > --- a/arch/arm/include/asm/arch-tegra114/spl.h > +++ /dev/null > @@ -1,22 +0,0 @@ > -/* > - * Copyright (c) 2010-2013, NVIDIA CORPORATION. All rights reserved. > - * > - * This program is free software; you can redistribute it and/or modify it > - * under the terms and conditions of the GNU General Public License, > - * version 2, as published by the Free Software Foundation. > - * > - * This program is distributed in the hope it will be useful, but WITHOUT > - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > - * more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program. If not, see <http://www.gnu.org/licenses/>. > - */ > - > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_RAM 1 > - > -#endif > diff --git a/arch/arm/include/asm/arch-tegra124/spl.h b/arch/arm/include/asm/arch-tegra124/spl.h > deleted file mode 100644 > index e266395..0000000 > --- a/arch/arm/include/asm/arch-tegra124/spl.h > +++ /dev/null > @@ -1,13 +0,0 @@ > -/* > - * (C) Copyright 2010-2013 > - * NVIDIA Corporation <www.nvidia.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > - > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_RAM 1 > - > -#endif /* _ASM_ARCH_SPL_H_ */ > diff --git a/arch/arm/include/asm/arch-tegra20/spl.h b/arch/arm/include/asm/arch-tegra20/spl.h > deleted file mode 100644 > index 8953b00..0000000 > --- a/arch/arm/include/asm/arch-tegra20/spl.h > +++ /dev/null > @@ -1,12 +0,0 @@ > -/* > - * (C) Copyright 2012 > - * NVIDIA Corporation <www.nvidia.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_RAM 1 > - > -#endif > diff --git a/arch/arm/include/asm/arch-tegra30/spl.h b/arch/arm/include/asm/arch-tegra30/spl.h > deleted file mode 100644 > index 8953b00..0000000 > --- a/arch/arm/include/asm/arch-tegra30/spl.h > +++ /dev/null > @@ -1,12 +0,0 @@ > -/* > - * (C) Copyright 2012 > - * NVIDIA Corporation <www.nvidia.com> > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > -#ifndef _ASM_ARCH_SPL_H_ > -#define _ASM_ARCH_SPL_H_ > - > -#define BOOT_DEVICE_RAM 1 > - > -#endif > diff --git a/arch/arm/include/asm/spl.h b/arch/arm/include/asm/spl.h > index 90e5a9d..2e94a09 100644 > --- a/arch/arm/include/asm/spl.h > +++ b/arch/arm/include/asm/spl.h > @@ -7,9 +7,27 @@ > #ifndef _ASM_SPL_H_ > #define _ASM_SPL_H_ > > +#if defined(CONFIG_OMAP) || defined(CONFIG_SOCFPGA) || defined(CONFIG_ZYNQ) \ > + || defined(CONFIG_EXYNOS4) || defined(CONFIG_EXYNOS5) > /* Platform-specific defines */ > #include <asm/arch/spl.h> > > +#else > +enum { > + BOOT_DEVICE_RAM, > + BOOT_DEVICE_MMC1, > + BOOT_DEVICE_MMC2, > + BOOT_DEVICE_MMC2_2, > + BOOT_DEVICE_NAND, > + BOOT_DEVICE_ONENAND, > + BOOT_DEVICE_NOR, > + BOOT_DEVICE_UART, > + BOOT_DEVICE_SPI, > + BOOT_DEVICE_I2C, > + BOOT_DEVICE_NONE > +}; > +#endif > + > /* Linker symbols. */ > extern char __bss_start[], __bss_end[]; > > diff --git a/board/denx/m53evk/m53evk.c b/board/denx/m53evk/m53evk.c > index 74f9501..5dd6cdd 100644 > --- a/board/denx/m53evk/m53evk.c > +++ b/board/denx/m53evk/m53evk.c > @@ -14,7 +14,7 @@ > #include <asm/arch/clock.h> > #include <asm/arch/iomux-mx53.h> > #include <asm/imx-common/mx5_video.h> > -#include <asm/arch/spl.h> > +#include <asm/spl.h> > #include <asm/errno.h> > #include <netdev.h> > #include <i2c.h> > Acked-by: Stefano Babic <sbabic@denx.de> By the way, an issue we have with the current implementation is that we need to add a further enum for each instance of the same boot device type. You can see with BOOT_DEVICE_MMC1, BOOT_DEVICE_MMC2, BOOT_DEVICE_MMC2_2. I will presume we will have the same with SPI and I2C, more uncommon with NAND. What about (I am OT here, it should be done in a separate patch) if we will change spl_boot_device(), that now returns this enum, combining in the return value the instance of the device ? (Example: (BOOT_DEVICE_MMC << 16 | 2) for MMC2) Best regards, Stefano
On 04/16/2014 08:44 AM, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Michal Simek <michal.simek@xilinx.com> Finally. :-) Acked-by: Michal Simek <monstr@monstr.eu> Thanks, Michal
On 04/16/2014 08:44 AM, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Michal Simek <michal.simek@xilinx.com> > Cc: Andreas Bießmann <andreas.devel@googlemail.com> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
On Tue, Apr 15, 2014 at 11:44 PM, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. > <snip> > --- a/arch/arm/include/asm/spl.h > +++ b/arch/arm/include/asm/spl.h > @@ -7,9 +7,27 @@ > #ifndef _ASM_SPL_H_ > #define _ASM_SPL_H_ > > +#if defined(CONFIG_OMAP) || defined(CONFIG_SOCFPGA) || defined(CONFIG_ZYNQ) \ > + || defined(CONFIG_EXYNOS4) || defined(CONFIG_EXYNOS5) > /* Platform-specific defines */ > #include <asm/arch/spl.h> > > +#else > +enum { > + BOOT_DEVICE_RAM, > + BOOT_DEVICE_MMC1, > + BOOT_DEVICE_MMC2, > + BOOT_DEVICE_MMC2_2, > + BOOT_DEVICE_NAND, > + BOOT_DEVICE_ONENAND, > + BOOT_DEVICE_NOR, > + BOOT_DEVICE_UART, > + BOOT_DEVICE_SPI, > + BOOT_DEVICE_I2C, > + BOOT_DEVICE_NONE > +}; > +#endif > + Masahiro, This is great! If you can add BOOT_DEVICE_SATA I can use this for imx, then you can add my: Acked-by: Tim Harvey <tharvey@gateworks.com> Thanks, Tim
On Wed, Apr 16, 2014 at 03:44:36PM +0900, Masahiro Yamada wrote: > arch/arm/include/asm/spl.h requires all SoCs to have > arch/arm/include/asm/arch-*/spl.h. > > But many of them just define BOOT_DEVICE_* macros. > > Those macros are used in the "switch (boot_device) { ... }" > statement in common/spl/spl.c. > > So they should not be archtecture specific, but described as > a simpile enumeration. > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > into arch/arm/include/asm/spl.h. > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > will be merged, while I am not sure about OMAP and Exynos. The problem is that on TI platforms these values have meaning defined by ROM (which changes occasionally). When ROM starts us up, we get a little bit of info that says "I found and loaded you on ...". So while we could move towards moving BOOT_DEVICE_FOO into <spl.h> we'd need in arch/arm/cpu/armv7/omap-common/boot-common.c some logic to translate from ROM numbers to U-Boot numbers.
Hi Tom, On Fri, 25 Apr 2014 14:52:06 -0400 Tom Rini <trini@ti.com> wrote: > On Wed, Apr 16, 2014 at 03:44:36PM +0900, Masahiro Yamada wrote: > > > arch/arm/include/asm/spl.h requires all SoCs to have > > arch/arm/include/asm/arch-*/spl.h. > > > > But many of them just define BOOT_DEVICE_* macros. > > > > Those macros are used in the "switch (boot_device) { ... }" > > statement in common/spl/spl.c. > > > > So they should not be archtecture specific, but described as > > a simpile enumeration. > > > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > > into arch/arm/include/asm/spl.h. > > > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > > will be merged, while I am not sure about OMAP and Exynos. > > The problem is that on TI platforms these values have meaning defined by > ROM (which changes occasionally). When ROM starts us up, we get a > little bit of info that says "I found and loaded you on ...". So while > we could move towards moving BOOT_DEVICE_FOO into <spl.h> we'd need in > arch/arm/cpu/armv7/omap-common/boot-common.c some logic to translate > from ROM numbers to U-Boot numbers. Could you apply my patch first and fix the OMAP translation logic lator? I want to stop duplication of similar spl.h headers. Best Regards Masahiro Yamada
On Mon, Apr 28, 2014 at 1:16 AM, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote: > > Hi Tom, > > On Fri, 25 Apr 2014 14:52:06 -0400 > Tom Rini <trini@ti.com> wrote: > > > On Wed, Apr 16, 2014 at 03:44:36PM +0900, Masahiro Yamada wrote: > > > > > arch/arm/include/asm/spl.h requires all SoCs to have > > > arch/arm/include/asm/arch-*/spl.h. > > > > > > But many of them just define BOOT_DEVICE_* macros. > > > > > > Those macros are used in the "switch (boot_device) { ... }" > > > statement in common/spl/spl.c. > > > > > > So they should not be archtecture specific, but described as > > > a simpile enumeration. > > > > > > This commit merge most of arch/arm/include/asm/arch-*/spl.h > > > into arch/arm/include/asm/spl.h. > > > > > > With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h > > > will be merged, while I am not sure about OMAP and Exynos. > > > > The problem is that on TI platforms these values have meaning defined by > > ROM (which changes occasionally). When ROM starts us up, we get a > > little bit of info that says "I found and loaded you on ...". So while > > we could move towards moving BOOT_DEVICE_FOO into <spl.h> we'd need in > > arch/arm/cpu/armv7/omap-common/boot-common.c some logic to translate > > from ROM numbers to U-Boot numbers. > > Could you apply my patch first and fix the OMAP translation logic lator? > > I want to stop duplication of similar spl.h headers. > > Best Regards > Masahiro Yamada Tom / Masahiro, Any update on this? This is a very useful cleanup and there is at least one pending patch series that depend on it. Regards, Tim
Hi Tim, Tom, > > Tom / Masahiro, > > Any update on this? This is a very useful cleanup and there is at > least one pending patch series that depend on it. No update from me. Version 2 is the latest one. http://patchwork.ozlabs.org/patch/341817/ I am also waiting for the review. Best Regards Masahiro Yamada
diff --git a/arch/arm/cpu/arm720t/tegra-common/spl.c b/arch/arm/cpu/arm720t/tegra-common/spl.c index 5171a8f..8147806 100644 --- a/arch/arm/cpu/arm720t/tegra-common/spl.c +++ b/arch/arm/cpu/arm720t/tegra-common/spl.c @@ -14,7 +14,7 @@ #include <asm/arch/pinmux.h> #include <asm/arch/tegra.h> #include <asm/arch-tegra/board.h> -#include <asm/arch/spl.h> +#include <asm/spl.h> #include "cpu.h" void spl_board_init(void) diff --git a/arch/arm/include/asm/arch-at91/spl.h b/arch/arm/include/asm/arch-at91/spl.h deleted file mode 100644 index d8a87da..0000000 --- a/arch/arm/include/asm/arch-at91/spl.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2013 Atmel Corporation - * Bo Shen <voice.shen@atmel.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -enum { - BOOT_DEVICE_NONE, -#ifdef CONFIG_SYS_USE_MMC - BOOT_DEVICE_MMC1, - BOOT_DEVICE_MMC2, - BOOT_DEVICE_MMC2_2, -#elif CONFIG_SYS_USE_NANDFLASH - BOOT_DEVICE_NAND, -#elif CONFIG_SYS_USE_SERIALFLASH - BOOT_DEVICE_SPI, -#endif -}; - -#endif diff --git a/arch/arm/include/asm/arch-davinci/spl.h b/arch/arm/include/asm/arch-davinci/spl.h deleted file mode 100644 index 5afe0d4..0000000 --- a/arch/arm/include/asm/arch-davinci/spl.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * (C) Copyright 2012 - * Texas Instruments, <www.ti.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_NAND 1 -#define BOOT_DEVICE_SPI 2 -#define BOOT_DEVICE_MMC1 3 -#define BOOT_DEVICE_MMC2 4 /* dummy */ -#define BOOT_DEVICE_MMC2_2 5 /* dummy */ - -#endif diff --git a/arch/arm/include/asm/arch-mx35/spl.h b/arch/arm/include/asm/arch-mx35/spl.h deleted file mode 100644 index d0efec2..0000000 --- a/arch/arm/include/asm/arch-mx35/spl.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * (C) Copyright 2012 - * Texas Instruments, <www.ti.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_NONE 0 -#define BOOT_DEVICE_XIP 1 -#define BOOT_DEVICE_XIPWAIT 2 -#define BOOT_DEVICE_NAND 3 -#define BOOT_DEVICE_ONENAND 4 -#define BOOT_DEVICE_MMC1 5 -#define BOOT_DEVICE_MMC2 6 -#define BOOT_DEVICE_MMC2_2 7 -#define BOOT_DEVICE_NOR 8 -#define BOOT_DEVICE_I2C 9 -#define BOOT_DEVICE_SPI 10 - -#endif diff --git a/arch/arm/include/asm/arch-mx5/spl.h b/arch/arm/include/asm/arch-mx5/spl.h deleted file mode 100644 index 20c6cae..0000000 --- a/arch/arm/include/asm/arch-mx5/spl.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2013 Marek Vasut <marex@denx.de> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __ASM_ARCH_SPL_H__ -#define __ASM_ARCH_SPL_H__ - -#define BOOT_DEVICE_NONE 0 -#define BOOT_DEVICE_NAND 1 - -#endif /* __ASM_ARCH_SPL_H__ */ diff --git a/arch/arm/include/asm/arch-tegra114/spl.h b/arch/arm/include/asm/arch-tegra114/spl.h deleted file mode 100644 index ebb16fe..0000000 --- a/arch/arm/include/asm/arch-tegra114/spl.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2010-2013, NVIDIA CORPORATION. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_RAM 1 - -#endif diff --git a/arch/arm/include/asm/arch-tegra124/spl.h b/arch/arm/include/asm/arch-tegra124/spl.h deleted file mode 100644 index e266395..0000000 --- a/arch/arm/include/asm/arch-tegra124/spl.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * (C) Copyright 2010-2013 - * NVIDIA Corporation <www.nvidia.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_RAM 1 - -#endif /* _ASM_ARCH_SPL_H_ */ diff --git a/arch/arm/include/asm/arch-tegra20/spl.h b/arch/arm/include/asm/arch-tegra20/spl.h deleted file mode 100644 index 8953b00..0000000 --- a/arch/arm/include/asm/arch-tegra20/spl.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * (C) Copyright 2012 - * NVIDIA Corporation <www.nvidia.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_RAM 1 - -#endif diff --git a/arch/arm/include/asm/arch-tegra30/spl.h b/arch/arm/include/asm/arch-tegra30/spl.h deleted file mode 100644 index 8953b00..0000000 --- a/arch/arm/include/asm/arch-tegra30/spl.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * (C) Copyright 2012 - * NVIDIA Corporation <www.nvidia.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef _ASM_ARCH_SPL_H_ -#define _ASM_ARCH_SPL_H_ - -#define BOOT_DEVICE_RAM 1 - -#endif diff --git a/arch/arm/include/asm/spl.h b/arch/arm/include/asm/spl.h index 90e5a9d..2e94a09 100644 --- a/arch/arm/include/asm/spl.h +++ b/arch/arm/include/asm/spl.h @@ -7,9 +7,27 @@ #ifndef _ASM_SPL_H_ #define _ASM_SPL_H_ +#if defined(CONFIG_OMAP) || defined(CONFIG_SOCFPGA) || defined(CONFIG_ZYNQ) \ + || defined(CONFIG_EXYNOS4) || defined(CONFIG_EXYNOS5) /* Platform-specific defines */ #include <asm/arch/spl.h> +#else +enum { + BOOT_DEVICE_RAM, + BOOT_DEVICE_MMC1, + BOOT_DEVICE_MMC2, + BOOT_DEVICE_MMC2_2, + BOOT_DEVICE_NAND, + BOOT_DEVICE_ONENAND, + BOOT_DEVICE_NOR, + BOOT_DEVICE_UART, + BOOT_DEVICE_SPI, + BOOT_DEVICE_I2C, + BOOT_DEVICE_NONE +}; +#endif + /* Linker symbols. */ extern char __bss_start[], __bss_end[]; diff --git a/board/denx/m53evk/m53evk.c b/board/denx/m53evk/m53evk.c index 74f9501..5dd6cdd 100644 --- a/board/denx/m53evk/m53evk.c +++ b/board/denx/m53evk/m53evk.c @@ -14,7 +14,7 @@ #include <asm/arch/clock.h> #include <asm/arch/iomux-mx53.h> #include <asm/imx-common/mx5_video.h> -#include <asm/arch/spl.h> +#include <asm/spl.h> #include <asm/errno.h> #include <netdev.h> #include <i2c.h>
arch/arm/include/asm/spl.h requires all SoCs to have arch/arm/include/asm/arch-*/spl.h. But many of them just define BOOT_DEVICE_* macros. Those macros are used in the "switch (boot_device) { ... }" statement in common/spl/spl.c. So they should not be archtecture specific, but described as a simpile enumeration. This commit merge most of arch/arm/include/asm/arch-*/spl.h into arch/arm/include/asm/spl.h. With a little more effort, arch-zynq/spl.h and arch-socfpga/spl.h will be merged, while I am not sure about OMAP and Exynos. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Stephen Warren <swarren@nvidia.com> Cc: Tom Warren <twarren@nvidia.com> CC: Stefano Babic <sbabic@denx.de> CC: Minkyu Kang <mk7.kang@samsung.com> Cc: Dinh Nguyen <dinguyen@altera.com> --- arch/arm/cpu/arm720t/tegra-common/spl.c | 2 +- arch/arm/include/asm/arch-at91/spl.h | 24 ------------------------ arch/arm/include/asm/arch-davinci/spl.h | 16 ---------------- arch/arm/include/asm/arch-mx35/spl.h | 22 ---------------------- arch/arm/include/asm/arch-mx5/spl.h | 13 ------------- arch/arm/include/asm/arch-tegra114/spl.h | 22 ---------------------- arch/arm/include/asm/arch-tegra124/spl.h | 13 ------------- arch/arm/include/asm/arch-tegra20/spl.h | 12 ------------ arch/arm/include/asm/arch-tegra30/spl.h | 12 ------------ arch/arm/include/asm/spl.h | 18 ++++++++++++++++++ board/denx/m53evk/m53evk.c | 2 +- 11 files changed, 20 insertions(+), 136 deletions(-) delete mode 100644 arch/arm/include/asm/arch-at91/spl.h delete mode 100644 arch/arm/include/asm/arch-davinci/spl.h delete mode 100644 arch/arm/include/asm/arch-mx35/spl.h delete mode 100644 arch/arm/include/asm/arch-mx5/spl.h delete mode 100644 arch/arm/include/asm/arch-tegra114/spl.h delete mode 100644 arch/arm/include/asm/arch-tegra124/spl.h delete mode 100644 arch/arm/include/asm/arch-tegra20/spl.h delete mode 100644 arch/arm/include/asm/arch-tegra30/spl.h