Skip to contentSkip to conversation

spl: consolidate arch/arm/include/asm/arch-*/spl.h

PATCH Superseded Masahiro Yamada 8 participants 11 messages Apr 16, 2014 – May 16, 2014

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.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.

Cc Tom Rini <[email protected]>
Cc Michal Simek <[email protected]>
Cc Andreas Bie?mann <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Tom Warren <[email protected]>
CC Stefano Babic <[email protected]>
CC Minkyu Kang <[email protected]>
Cc Dinh Nguyen <[email protected]>
---
 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
arch/arm/cpu/arm720t/tegra-common/spl.c +1 -1
index 5171a8f..8147806 100644
@@ -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)
arch/arm/include/asm/arch-at91/spl.h deleted +0 -24
deleted file mode 100644
index d8a87da..0000000
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2013 Atmel Corporation
- *		      Bo Shen <[email protected]>
- *
- * 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
arch/arm/include/asm/arch-davinci/spl.h deleted +0 -16
deleted file mode 100644
index 5afe0d4..0000000
@@ -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
arch/arm/include/asm/arch-mx35/spl.h deleted +0 -22
deleted file mode 100644
index d0efec2..0000000
@@ -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
arch/arm/include/asm/arch-mx5/spl.h deleted +0 -13
deleted file mode 100644
index 20c6cae..0000000
@@ -1,13 +0,0 @@
-/*
- * Copyright (C) 2013 Marek Vasut <[email protected]>
- *
- * 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__ */
arch/arm/include/asm/arch-tegra114/spl.h deleted +0 -22
deleted file mode 100644
index ebb16fe..0000000
@@ -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
arch/arm/include/asm/arch-tegra124/spl.h deleted +0 -13
deleted file mode 100644
index e266395..0000000
@@ -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_ */
arch/arm/include/asm/arch-tegra20/spl.h deleted +0 -12
deleted file mode 100644
index 8953b00..0000000
@@ -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
arch/arm/include/asm/arch-tegra30/spl.h deleted +0 -12
deleted file mode 100644
index 8953b00..0000000
@@ -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
arch/arm/include/asm/spl.h +18 -0
index 90e5a9d..2e94a09 100644
@@ -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[];
 
board/denx/m53evk/m53evk.c +1 -1
index 74f9501..5dd6cdd 100644
@@ -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>
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

Hi Masahiro Yamada,

Quoted 26 lines · Masahiro Yamada

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.

Cc Tom Rini<[email protected]>
Cc Michal Simek<[email protected]>
Cc Andreas Bie?mann<[email protected]>
Cc Stephen Warren<[email protected]>
Cc Tom Warren<[email protected]>
CC Stefano Babic<[email protected]>
CC Minkyu Kang<[email protected]>
Cc Dinh Nguyen<[email protected]>
Quoted 3 lines
---
  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.

Best Regards,
Bo Shen

#2 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada
Quoted 8 lines · Masahiro Yamada

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.

Quoted 8 lines

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,

#3 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada

Hi Masahiro,

Quoted 10 lines · Masahiro Yamada

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 !

Quoted 271 lines

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.

Cc Tom Rini <[email protected]>
Cc Michal Simek <[email protected]>
Cc Andreas Bie?mann <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Tom Warren <[email protected]>
CC Stefano Babic <[email protected]>
CC Minkyu Kang <[email protected]>
Cc Dinh Nguyen <[email protected]>
---
 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
arch/arm/cpu/arm720t/tegra-common/spl.c +1 -1
index 5171a8f..8147806 100644
@@ -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)
arch/arm/include/asm/arch-at91/spl.h deleted +0 -24
deleted file mode 100644
index d8a87da..0000000
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2013 Atmel Corporation
- *		      Bo Shen <[email protected]>
- *
- * 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
arch/arm/include/asm/arch-davinci/spl.h deleted +0 -16
deleted file mode 100644
index 5afe0d4..0000000
@@ -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
arch/arm/include/asm/arch-mx35/spl.h deleted +0 -22
deleted file mode 100644
index d0efec2..0000000
@@ -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
arch/arm/include/asm/arch-mx5/spl.h deleted +0 -13
deleted file mode 100644
index 20c6cae..0000000
@@ -1,13 +0,0 @@
-/*
- * Copyright (C) 2013 Marek Vasut <[email protected]>
- *
- * 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__ */
arch/arm/include/asm/arch-tegra114/spl.h deleted +0 -22
deleted file mode 100644
index ebb16fe..0000000
@@ -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
arch/arm/include/asm/arch-tegra124/spl.h deleted +0 -13
deleted file mode 100644
index e266395..0000000
@@ -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_ */
arch/arm/include/asm/arch-tegra20/spl.h deleted +0 -12
deleted file mode 100644
index 8953b00..0000000
@@ -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
arch/arm/include/asm/arch-tegra30/spl.h deleted +0 -12
deleted file mode 100644
index 8953b00..0000000
@@ -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
arch/arm/include/asm/spl.h +18 -0
index 90e5a9d..2e94a09 100644
@@ -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[];
 
board/denx/m53evk/m53evk.c +0 -0
index 74f9501..5dd6cdd 100644

board/denx/m53evk/m53evk.c line 20

Quoted 8 lines
board/denx/m53evk/m53evk.c +1 -1
@@ -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>

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

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
#4 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada
Quoted 14 lines · Masahiro Yamada

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.

Quoted 6 lines

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.

Finally. :-)

Thanks,
Michal

Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140422/4e141bd7/attachment.pgp>
#5 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada
Quoted 14 lines · Masahiro Yamada

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.

Quoted 7 lines

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.

Cc Tom Rini <[email protected]>
Cc Michal Simek <[email protected]>
Cc Andreas Bie?mann <[email protected]>
#6 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada
Quoted 17 lines · Masahiro Yamada

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>

Quoted 17 lines
arch/arm/include/asm/spl.h +8 -0
@@ -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,

arch/arm/include/asm/spl.h line 30

Quoted 10 lines
arch/arm/include/asm/spl.h +10 -0
+       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:

Thanks,

Tim

#7 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

In reply to Masahiro Yamada
Quoted 8 lines · Masahiro Yamada

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.

Quoted 8 lines

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.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140425/7dd70725/attachment.pgp>
#8 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

Hi Tom,

Quoted 19 lines · On Fri, 25 Apr 2014 14:52:06 -0400 Tom Rini <[email protected]> wrote:
Quoted 8 lines · Masahiro Yamada

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.

Quoted 8 lines

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.

Quoted 6 lines

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

#9 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

Quoted 32 lines · Masahiro Yamada

Hi Tom,

Quoted 19 lines · On Fri, 25 Apr 2014 14:52:06 -0400 Tom Rini <[email protected]> wrote:
Quoted 8 lines · Masahiro Yamada

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.

Quoted 8 lines

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.

Quoted 6 lines

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.

Quoted 6 lines

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

#10 lore raw

PATCH 1/1 spl: consolidate arch/arm/include/asm/arch-*/spl.h

Hi Tim, Tom,

Quoted 5 lines

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