diff options
| author | Magnus Damm <damm+renesas@opensource.se> | 2015-01-26 01:19:09 -0500 |
|---|---|---|
| committer | Simon Horman <horms+renesas@verge.net.au> | 2015-02-23 16:45:24 -0500 |
| commit | 10c7fcbd0f00a0d7e6039fcfcb04dca80c0ff362 (patch) | |
| tree | 9317b0215547c715677527afa3aa5a3734ab8d38 /arch | |
| parent | d1e068fd24c399d26880456eb5e117a188d4ce70 (diff) | |
ARM: shmobile: sh7372: Remove ZBOOT MMC/SDHI support
Remove the sh7372 implementation and the shared ZBOOT MMC
and SDHI support code from the compressed ARM boot loader.
With this in place it is no longer possible to boot any
self-contained kernel for sh7372 directly from Mask ROM
via SDHI and MMCIF hardware.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/Kconfig | 29 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/Makefile | 15 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/head-shmobile.S | 30 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/mmcif-sh7372.c | 88 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/sdhi-sh7372.c | 95 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/sdhi-shmobile.c | 449 | ||||
| -rw-r--r-- | arch/arm/boot/compressed/sdhi-shmobile.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/mmc.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/sdhi-sh7372.h | 21 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/sdhi.h | 16 |
10 files changed, 0 insertions, 765 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 9f1f09a2bc9b..5c915e502764 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -1848,35 +1848,6 @@ config ZBOOT_ROM | |||
| 1848 | Say Y here if you intend to execute your compressed kernel image | 1848 | Say Y here if you intend to execute your compressed kernel image |
| 1849 | (zImage) directly from ROM or flash. If unsure, say N. | 1849 | (zImage) directly from ROM or flash. If unsure, say N. |
| 1850 | 1850 | ||
| 1851 | choice | ||
| 1852 | prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)" | ||
| 1853 | depends on ZBOOT_ROM && ARCH_SH7372 | ||
| 1854 | default ZBOOT_ROM_NONE | ||
| 1855 | help | ||
| 1856 | Include experimental SD/MMC loading code in the ROM-able zImage. | ||
| 1857 | With this enabled it is possible to write the ROM-able zImage | ||
| 1858 | kernel image to an MMC or SD card and boot the kernel straight | ||
| 1859 | from the reset vector. At reset the processor Mask ROM will load | ||
| 1860 | the first part of the ROM-able zImage which in turn loads the | ||
| 1861 | rest the kernel image to RAM. | ||
| 1862 | |||
| 1863 | config ZBOOT_ROM_NONE | ||
| 1864 | bool "No SD/MMC loader in zImage (EXPERIMENTAL)" | ||
| 1865 | help | ||
| 1866 | Do not load image from SD or MMC | ||
| 1867 | |||
| 1868 | config ZBOOT_ROM_MMCIF | ||
| 1869 | bool "Include MMCIF loader in zImage (EXPERIMENTAL)" | ||
| 1870 | help | ||
| 1871 | Load image from MMCIF hardware block. | ||
| 1872 | |||
| 1873 | config ZBOOT_ROM_SH_MOBILE_SDHI | ||
| 1874 | bool "Include SuperH Mobile SDHI loader in zImage (EXPERIMENTAL)" | ||
| 1875 | help | ||
| 1876 | Load image from SDHI hardware block | ||
| 1877 | |||
| 1878 | endchoice | ||
| 1879 | |||
| 1880 | config ARM_APPENDED_DTB | 1851 | config ARM_APPENDED_DTB |
| 1881 | bool "Use appended device tree blob to zImage (EXPERIMENTAL)" | 1852 | bool "Use appended device tree blob to zImage (EXPERIMENTAL)" |
| 1882 | depends on OF | 1853 | depends on OF |
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 3ea230aa94b7..6e1fb2b2ecc7 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
| @@ -6,21 +6,6 @@ | |||
| 6 | 6 | ||
| 7 | OBJS = | 7 | OBJS = |
| 8 | 8 | ||
| 9 | # Ensure that MMCIF loader code appears early in the image | ||
| 10 | # to minimise that number of bocks that have to be read in | ||
| 11 | # order to load it. | ||
| 12 | ifeq ($(CONFIG_ZBOOT_ROM_MMCIF),y) | ||
| 13 | OBJS += mmcif-sh7372.o | ||
| 14 | endif | ||
| 15 | |||
| 16 | # Ensure that SDHI loader code appears early in the image | ||
| 17 | # to minimise that number of bocks that have to be read in | ||
| 18 | # order to load it. | ||
| 19 | ifeq ($(CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI),y) | ||
| 20 | OBJS += sdhi-shmobile.o | ||
| 21 | OBJS += sdhi-sh7372.o | ||
| 22 | endif | ||
| 23 | |||
| 24 | AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) | 9 | AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) |
| 25 | HEAD = head.o | 10 | HEAD = head.o |
| 26 | OBJS += misc.o decompress.o | 11 | OBJS += misc.o decompress.o |
diff --git a/arch/arm/boot/compressed/head-shmobile.S b/arch/arm/boot/compressed/head-shmobile.S index e7f80928949c..22a75259faa3 100644 --- a/arch/arm/boot/compressed/head-shmobile.S +++ b/arch/arm/boot/compressed/head-shmobile.S | |||
| @@ -25,36 +25,6 @@ | |||
| 25 | /* load board-specific initialization code */ | 25 | /* load board-specific initialization code */ |
| 26 | #include <mach/zboot.h> | 26 | #include <mach/zboot.h> |
| 27 | 27 | ||
| 28 | #if defined(CONFIG_ZBOOT_ROM_MMCIF) || defined(CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI) | ||
| 29 | /* Load image from MMC/SD */ | ||
| 30 | adr sp, __tmp_stack + 256 | ||
| 31 | ldr r0, __image_start | ||
| 32 | ldr r1, __image_end | ||
| 33 | subs r1, r1, r0 | ||
| 34 | ldr r0, __load_base | ||
| 35 | bl mmc_loader | ||
| 36 | |||
| 37 | /* Jump to loaded code */ | ||
| 38 | ldr r0, __loaded | ||
| 39 | ldr r1, __image_start | ||
| 40 | sub r0, r0, r1 | ||
| 41 | ldr r1, __load_base | ||
| 42 | add pc, r0, r1 | ||
| 43 | |||
| 44 | __image_start: | ||
| 45 | .long _start | ||
| 46 | __image_end: | ||
| 47 | .long _got_end | ||
| 48 | __load_base: | ||
| 49 | .long MEMORY_START + 0x02000000 @ Load at 32Mb into SDRAM | ||
| 50 | __loaded: | ||
| 51 | .long __continue | ||
| 52 | .align | ||
| 53 | __tmp_stack: | ||
| 54 | .space 256 | ||
| 55 | __continue: | ||
| 56 | #endif /* CONFIG_ZBOOT_ROM_MMC || CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI */ | ||
| 57 | |||
| 58 | adr r0, dtb_info | 28 | adr r0, dtb_info |
| 59 | ldmia r0, {r1, r3, r4, r5, r7} | 29 | ldmia r0, {r1, r3, r4, r5, r7} |
| 60 | 30 | ||
diff --git a/arch/arm/boot/compressed/mmcif-sh7372.c b/arch/arm/boot/compressed/mmcif-sh7372.c deleted file mode 100644 index 672ae95db5c3..000000000000 --- a/arch/arm/boot/compressed/mmcif-sh7372.c +++ /dev/null | |||
| @@ -1,88 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * sh7372 MMCIF loader | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Magnus Damm | ||
| 5 | * Copyright (C) 2010 Simon Horman | ||
| 6 | * | ||
| 7 | * This file is subject to the terms and conditions of the GNU General Public | ||
| 8 | * License. See the file "COPYING" in the main directory of this archive | ||
| 9 | * for more details. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/mmc/sh_mmcif.h> | ||
| 13 | #include <linux/mmc/boot.h> | ||
| 14 | #include <mach/mmc.h> | ||
| 15 | |||
| 16 | #define MMCIF_BASE (void __iomem *)0xe6bd0000 | ||
| 17 | |||
| 18 | #define PORT84CR (void __iomem *)0xe6050054 | ||
| 19 | #define PORT85CR (void __iomem *)0xe6050055 | ||
| 20 | #define PORT86CR (void __iomem *)0xe6050056 | ||
| 21 | #define PORT87CR (void __iomem *)0xe6050057 | ||
| 22 | #define PORT88CR (void __iomem *)0xe6050058 | ||
| 23 | #define PORT89CR (void __iomem *)0xe6050059 | ||
| 24 | #define PORT90CR (void __iomem *)0xe605005a | ||
| 25 | #define PORT91CR (void __iomem *)0xe605005b | ||
| 26 | #define PORT92CR (void __iomem *)0xe605005c | ||
| 27 | #define PORT99CR (void __iomem *)0xe6050063 | ||
| 28 | |||
| 29 | #define SMSTPCR3 (void __iomem *)0xe615013c | ||
| 30 | |||
| 31 | /* SH7372 specific MMCIF loader | ||
| 32 | * | ||
| 33 | * loads the zImage from an MMC card starting from block 1. | ||
| 34 | * | ||
| 35 | * The image must be start with a vrl4 header and | ||
| 36 | * the zImage must start at offset 512 of the image. That is, | ||
| 37 | * at block 2 (=byte 1024) on the media | ||
| 38 | * | ||
| 39 | * Use the following line to write the vrl4 formated zImage | ||
| 40 | * to an MMC card | ||
| 41 | * # dd if=vrl4.out of=/dev/sdx bs=512 seek=1 | ||
| 42 | */ | ||
| 43 | asmlinkage void mmc_loader(unsigned char *buf, unsigned long len) | ||
| 44 | { | ||
| 45 | mmc_init_progress(); | ||
| 46 | mmc_update_progress(MMC_PROGRESS_ENTER); | ||
| 47 | |||
| 48 | /* Initialise MMC | ||
| 49 | * registers: PORT84CR-PORT92CR | ||
| 50 | * (MMCD0_0-MMCD0_7,MMCCMD0 Control) | ||
| 51 | * value: 0x04 - select function 4 | ||
| 52 | */ | ||
| 53 | __raw_writeb(0x04, PORT84CR); | ||
| 54 | __raw_writeb(0x04, PORT85CR); | ||
| 55 | __raw_writeb(0x04, PORT86CR); | ||
| 56 | __raw_writeb(0x04, PORT87CR); | ||
| 57 | __raw_writeb(0x04, PORT88CR); | ||
| 58 | __raw_writeb(0x04, PORT89CR); | ||
| 59 | __raw_writeb(0x04, PORT90CR); | ||
| 60 | __raw_writeb(0x04, PORT91CR); | ||
| 61 | __raw_writeb(0x04, PORT92CR); | ||
| 62 | |||
| 63 | /* Initialise MMC | ||
| 64 | * registers: PORT99CR (MMCCLK0 Control) | ||
| 65 | * value: 0x10 | 0x04 - enable output | select function 4 | ||
| 66 | */ | ||
| 67 | __raw_writeb(0x14, PORT99CR); | ||
