[PATCH 7/9] Revert "S5PV210 iROM magic boot code"
Alexey Galakhov
agalakhov at gmail.com
Sun May 13 08:40:04 EDT 2012
This reverts commit 4d6b83126d870ce3f0667d0a46077b8717521381.
Conflicts:
arch/arm/boards/tiny210/lowlevel.c
arch/arm/mach-samsung/Makefile
arch/arm/mach-samsung/include/mach/s3c-generic.h
---
arch/arm/Kconfig | 1 -
arch/arm/boards/tiny210/lowlevel.c | 9 +--
arch/arm/lib/barebox.lds.S | 4 --
arch/arm/mach-samsung/Kconfig | 1 -
arch/arm/mach-samsung/Makefile | 1 -
arch/arm/mach-samsung/include/mach/s3c-generic.h | 1 -
arch/arm/mach-samsung/s5p-irom-boot.c | 64 ----------------------
common/Kconfig | 24 --------
8 files changed, 2 insertions(+), 103 deletions(-)
delete mode 100644 arch/arm/mach-samsung/s5p-irom-boot.c
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6012a1a..f465084 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -16,7 +16,6 @@ config ARM
select HAS_MODULES
select HAVE_CONFIGURABLE_MEMORY_LAYOUT
select HAVE_CONFIGURABLE_TEXT_BASE
- select HAVE_BARE_INIT_PADDING
default y
config ARM_AMBA
diff --git a/arch/arm/boards/tiny210/lowlevel.c b/arch/arm/boards/tiny210/lowlevel.c
index 344be6a..d14b9eb 100644
--- a/arch/arm/boards/tiny210/lowlevel.c
+++ b/arch/arm/boards/tiny210/lowlevel.c
@@ -23,14 +23,12 @@
#include <init.h>
#include <io.h>
#include <asm/barebox-arm.h>
-#include <asm/sections.h>
#include <mach/s3c-iomap.h>
#include <mach/s3c-clocks.h>
#include <mach/s3c-generic.h>
void __bare_init board_init_lowlevel(void)
{
- unsigned r;
#ifdef CONFIG_S3C_PLL_INIT
s5p_init_pll();
@@ -43,10 +41,7 @@ void __bare_init board_init_lowlevel(void)
s5p_init_dram_bank(S5P_DMC0_BASE, 0x20E00323, 0);
#endif
- if (! s5p_irom_mmc_load((void*)TEXT_BASE - 16, 1, (barebox_image_size + 16 + 511) / 512))
- while (1) { } /* hang */
+ /* TODO: load barebox to DRAM here */
- /* Jump to SDRAM */
- r = (unsigned)TEXT_BASE;
- __asm__ __volatile__("mov pc, %0" : : "r"(r));
+ while (1) { } /* hang */
}
diff --git a/arch/arm/lib/barebox.lds.S b/arch/arm/lib/barebox.lds.S
index 4d02eda..3fd271b 100644
--- a/arch/arm/lib/barebox.lds.S
+++ b/arch/arm/lib/barebox.lds.S
@@ -49,10 +49,6 @@ SECTIONS
__bare_init_start = .;
*(.text_bare_init*)
__bare_init_end = .;
-#ifdef CONFIG_BAREBOX_BARE_INIT_PADDING
- . = (. + (CONFIG_BAREBOX_BARE_INIT_PADDING_SIZE));
- . = ALIGN(CONFIG_BAREBOX_BARE_INIT_PADDING_ALIGN);
-#endif
__exceptions_start = .;
KEEP(*(.text_exceptions*))
__exceptions_stop = .;
diff --git a/arch/arm/mach-samsung/Kconfig b/arch/arm/mach-samsung/Kconfig
index 183b84d..fcef677 100644
--- a/arch/arm/mach-samsung/Kconfig
+++ b/arch/arm/mach-samsung/Kconfig
@@ -98,7 +98,6 @@ config MACH_TINY210
select CPU_S5PV210
select MACH_HAS_LOWLEVEL_INIT
select MACH_DO_LOWLEVEL_INIT
- select BAREBOX_BARE_INIT_PADDING
endchoice
diff --git a/arch/arm/mach-samsung/Makefile b/arch/arm/mach-samsung/Makefile
index becf2a7..e05d292 100644
--- a/arch/arm/mach-samsung/Makefile
+++ b/arch/arm/mach-samsung/Makefile
@@ -3,5 +3,4 @@ obj-lowlevel-$(CONFIG_ARCH_S3C24xx) += lowlevel-s3c24x0.o
obj-lowlevel-$(CONFIG_ARCH_S5PCxx) += lowlevel-s5pcxx.o
obj-$(CONFIG_ARCH_S3C24xx) += gpio-s3c24x0.o clocks-s3c24x0.o mem-s3c24x0.o
obj-$(CONFIG_ARCH_S5PCxx) += gpio-s5pcxx.o clocks-s5pcxx.o mem-s5pcxx.o
-obj-$(CONFIG_ARCH_S5PCxx) += s5p-irom-boot.o
obj-$(CONFIG_S3C_LOWLEVEL_INIT) += $(obj-lowlevel-y)
diff --git a/arch/arm/mach-samsung/include/mach/s3c-generic.h b/arch/arm/mach-samsung/include/mach/s3c-generic.h
index 53bb95d..9a5a642 100644
--- a/arch/arm/mach-samsung/include/mach/s3c-generic.h
+++ b/arch/arm/mach-samsung/include/mach/s3c-generic.h
@@ -42,5 +42,4 @@ void s3c24xx_disable_second_sdram_bank(void);
#ifdef CONFIG_ARCH_S5PCxx
void s5p_init_pll(void);
void s5p_init_dram_bank(uint32_t base, uint32_t mc0, uint32_t mc1);
-int s5p_irom_mmc_load(void *dest, uint32_t start_block, uint16_t block_count);
#endif
diff --git a/arch/arm/mach-samsung/s5p-irom-boot.c b/arch/arm/mach-samsung/s5p-irom-boot.c
deleted file mode 100644
index 8fa0de4..0000000
--- a/arch/arm/mach-samsung/s5p-irom-boot.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2012 Alexey Galakhov
- *
- * Based on code from u-boot found somewhere on the web
- * that seems to originate from Samsung
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that 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.
- */
-
-#include <config.h>
-#include <common.h>
-#include <init.h>
-#include <mach/s3c-generic.h>
-
-/*
- * These magical address values are from u-boot
- * Not sure what they really mean but they work
- */
-#if 1 /* S5PV210 and other CPUs */
-# define MADDR_CH 0xD0037488
-# define MADDR_CP 0xD0037F98
-#else /* not sure when, some older CPUs */
-# define MADDR_CH 0xD003A508
-# define MADDR_CP 0xD003E008
-#endif
-
-typedef uint32_t (*mmc2mem_func)
-(uint32_t channel, uint32_t start_block, uint16_t block_count, uint32_t *dest, uint32_t init);
-
-/*
- * Call to the magical iROM code present on S5P CPUs
- * Block seems to be 512 bytes
- */
-int __bare_init s5p_irom_mmc_load(void *dest, uint32_t start_block, uint16_t block_count)
-{
- uint32_t ret;
- uint32_t chan;
- uint32_t ch = *(volatile uint32_t*)(MADDR_CH);
- mmc2mem_func cp_func = (mmc2mem_func)(*(uint32_t*)(MADDR_CP));
- switch (ch)
- {
- case 0xEB000000:
- chan = 0;
- break;
- case 0xEB200000:
- chan = 2;
- break;
- default:
- return 0;
- }
-
- ret = cp_func(chan, start_block, block_count, (uint32_t*)dest, 0);
- if (ret == 0)
- return 0; /* error */
- return 1;
-}
diff --git a/common/Kconfig b/common/Kconfig
index 199268e..73d620a 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -124,30 +124,6 @@ config BAREBOX_MAX_BARE_INIT_SIZE
this will allow your bare_init will fit in SRAM as example
ARCH can overwrite it via ARCH_BAREBOX_MAX_BARE_INIT_SIZE
-config HAVE_BARE_INIT_PADDING
- bool
-
-config BAREBOX_BARE_INIT_PADDING
- depends on HAVE_BARE_INIT_PADDING
- bool "Enable bare_init tail padding"
- default n
- help
- Some architectures require that 1st stage loader is padded
- with zeroes. This will add zero padding at the end of
- bare_init block. If unsure, say n.
-
-config BAREBOX_BARE_INIT_PADDING_SIZE
- depends on BAREBOX_BARE_INIT_PADDING
- prompt "Minimal bare_init padding size"
- hex
- default 0x4
-
-config BAREBOX_BARE_INIT_PADDING_ALIGN
- depends on BAREBOX_BARE_INIT_PADDING
- prompt "bare_init end alignment"
- hex
- default 0x200
-
config HAVE_CONFIGURABLE_MEMORY_LAYOUT
bool
--
1.7.10
More information about the barebox
mailing list