diff options
| -rw-r--r-- | Documentation/Makefile | 2 | ||||
| -rw-r--r-- | Documentation/arm/Makefile | 1 | ||||
| -rw-r--r-- | Documentation/arm/SH-Mobile/Makefile | 7 | ||||
| -rw-r--r-- | Documentation/arm/SH-Mobile/vrl4.c | 170 | ||||
| -rw-r--r-- | Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt | 29 | ||||
| -rw-r--r-- | Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt | 42 | 
6 files changed, 1 insertions, 250 deletions
| diff --git a/Documentation/Makefile b/Documentation/Makefile index 6883a1b9b351..bc0548201755 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,4 +1,4 @@ -subdir-y := accounting arm auxdisplay blackfin connector \ +subdir-y := accounting auxdisplay blackfin connector \  	filesystems filesystems ia64 laptops mic misc-devices \  	networking pcmcia prctl ptp spi timers vDSO video4linux \  	watchdog diff --git a/Documentation/arm/Makefile b/Documentation/arm/Makefile deleted file mode 100644 index 732c77050cff..000000000000 --- a/Documentation/arm/Makefile +++ /dev/null @@ -1 +0,0 @@ -subdir-y := SH-Mobile diff --git a/Documentation/arm/SH-Mobile/Makefile b/Documentation/arm/SH-Mobile/Makefile deleted file mode 100644 index bca8a7ef6bbe..000000000000 --- a/Documentation/arm/SH-Mobile/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# List of programs to build -hostprogs-y := vrl4 - -# Tell kbuild to always build the programs -always := $(hostprogs-y) - -HOSTCFLAGS_vrl4.o += -I$(objtree)/usr/include -I$(srctree)/tools/include diff --git a/Documentation/arm/SH-Mobile/vrl4.c b/Documentation/arm/SH-Mobile/vrl4.c deleted file mode 100644 index f4cd8ad4e720..000000000000 --- a/Documentation/arm/SH-Mobile/vrl4.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * vrl4 format generator - * - * Copyright (C) 2010 Simon Horman - * - * This file is subject to the terms and conditions of the GNU General Public - * License.  See the file "COPYING" in the main directory of this archive - * for more details. - */ - -/* - * usage: vrl4 < zImage > out - *	  dd if=out of=/dev/sdx bs=512 seek=1 # Write the image to sector 1 - * - * Reads a zImage from stdin and writes a vrl4 image to stdout. - * In practice this means writing a padded vrl4 header to stdout followed - * by the zImage. - * - * The padding places the zImage at ALIGN bytes into the output. - * The vrl4 uses ALIGN + START_BASE as the start_address. - * This is where the mask ROM will jump to after verifying the header. - * - * The header sets copy_size to min(sizeof(zImage), MAX_BOOT_PROG_LEN) + ALIGN. - * That is, the mask ROM will load the padded header (ALIGN bytes) - * And then MAX_BOOT_PROG_LEN bytes of the image, or the entire image, - * whichever is smaller. - * - * The zImage is not modified in any way. - */ - -#define _BSD_SOURCE -#include <endian.h> -#include <unistd.h> -#include <stdint.h> -#include <stdio.h> -#include <errno.h> -#include <tools/endian.h> - -struct hdr { -	uint32_t magic1; -	uint32_t reserved1; -	uint32_t magic2; -	uint32_t reserved2; -	uint16_t copy_size; -	uint16_t boot_options; -	uint32_t reserved3; -	uint32_t start_address; -	uint32_t reserved4; -	uint32_t reserved5; -	char     reserved6[308]; -}; - -#define DECLARE_HDR(h)					\ -	struct hdr (h) = {				\ -		.magic1 =	htole32(0xea000000),	\ -		.reserved1 =	htole32(0x56),		\ -		.magic2 =	htole32(0xe59ff008),	\ -		.reserved3 =	htole16(0x1) } - -/* Align to 512 bytes, the MMCIF sector size */ -#define ALIGN_BITS	9 -#define ALIGN		(1 << ALIGN_BITS) - -#define START_BASE	0xe55b0000 - -/* - * With an alignment of 512 the header uses the first sector. - * There is a 128 sector (64kbyte) limit on the data loaded by the mask ROM. - * So there are 127 sectors left for the boot programme. But in practice - * Only a small portion of a zImage is needed, 16 sectors should be more - * than enough. - * - * Note that this sets how much of the zImage is copied by the mask ROM. - * The entire zImage is present after the header and is loaded - * by the code in the boot program (which is the first portion of the zImage). - */ -#define	MAX_BOOT_PROG_LEN (16 * 512) - -#define ROUND_UP(x)	((x + ALIGN - 1) & ~(ALIGN - 1)) - -static ssize_t do_read(int fd, void *buf, size_t count) -{ -	size_t offset = 0; -	ssize_t l; - -	while (offset < count) { -		l = read(fd, buf + offset, count - offset); -		if (!l) -			break; -		if (l < 0) { -			if (errno == EAGAIN || errno == EWOULDBLOCK) -				continue; -			perror("read"); -			return -1; -		} -		offset += l; -	} - -	return offset; -} - -static ssize_t do_write(int fd, const void *buf, size_t count) -{ -	size_t offset = 0; -	ssize_t l; - -	while (offset < count) { -		l = write(fd, buf + offset, count - offset); -		if (l < 0) { -			if (errno == EAGAIN || errno == EWOULDBLOCK) -				continue; -			perror("write"); -			return -1; -		} -		offset += l; -	} - -	return offset; -} - -static ssize_t write_zero(int fd, size_t len) -{ -	size_t i = len; - -	while (i--) { -		const char x = 0; -		if (do_write(fd, &x, 1) < 0) -			return -1; -	} - -	return len; -} - -int main(void) -{ -	DECLARE_HDR(hdr); -	char boot_program[MAX_BOOT_PROG_LEN]; -	size_t aligned_hdr_len, alligned_prog_len; -	ssize_t prog_len; - -	prog_len = do_read(0, boot_program, sizeof(boot_program)); -	if (prog_len <= 0) -		return -1; - -	aligned_hdr_len = ROUND_UP(sizeof(hdr)); -	hdr.start_address = htole32(START_BASE + aligned_hdr_len); -	alligned_prog_len = ROUND_UP(prog_len); -	hdr.copy_size = htole16(aligned_hdr_len + alligned_prog_len); - -	if (do_write(1, &hdr, sizeof(hdr)) < 0) -		return -1; -	if (write_zero(1, aligned_hdr_len - sizeof(hdr)) < 0) -		return -1; - -	if (do_write(1, boot_program, prog_len) < 0) -		return 1; - -	/* Write out the rest of the kernel */ -	while (1) { -		prog_len = do_read(0, boot_program, sizeof(boot_program)); -		if (prog_len < 0) -			return 1; -		if (prog_len == 0) -			break; -		if (do_write(1, boot_program, prog_len) < 0) -			return 1; -	} - -	return 0; -} diff --git a/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt b/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt deleted file mode 100644 index efff8ae2713d..000000000000 --- a/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt +++ /dev/null @@ -1,29 +0,0 @@ -ROM-able zImage boot from MMC ------------------------------ - -An ROM-able zImage compiled with ZBOOT_ROM_MMCIF may be written to MMC and -SuperH Mobile ARM will to boot directly from the MMCIF hardware block. - -This is achieved by the mask ROM loading the first portion of the image into -MERAM and then jumping to it. This portion contains loader code which -copies the entire image to SDRAM and jumps to it. From there the zImage -boot code proceeds as normal, uncompressing the image into its final -location and then jumping to it. - -This code has been tested on an AP4EB board using the developer 1A eMMC -boot mode which is configured using the following jumper settings. -The board used for testing required a patched mask ROM in order for -this mode to function. - -   8 7 6 5 4 3 2 1 -   x|x|x|x|x| |x| -S4 -+-+-+-+-+-+-+- -    | | | | |x| |x on - -The zImage must be written to the MMC card at sector 1 (512 bytes) in -vrl4 format. A utility vrl4 is supplied to accomplish this. - -e.g. -	vrl4 < zImage | dd of=/dev/sdX bs=512 seek=1 - -A dual-voltage MMC 4.0 card was used for testing. diff --git a/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt b/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt deleted file mode 100644 index 441959846e1a..000000000000 --- a/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt +++ /dev/null @@ -1,42 +0,0 @@ -ROM-able zImage boot from eSD ------------------------------ - -An ROM-able zImage compiled with ZBOOT_ROM_SDHI may be written to eSD and -SuperH Mobile ARM will to boot directly from the SDHI hardware block. - -This is achieved by the mask ROM loading the first portion of the image into -MERAM and then jumping to it. This portion contains loader code which -copies the entire image to SDRAM and jumps to it. From there the zImage -boot code proceeds as normal, uncompressing the image into its final -location and then jumping to it. - -This code has been tested on an mackerel board using the developer 1A eSD -boot mode which is configured using the following jumper settings. - -   8 7 6 5 4 3 2 1 -   x|x|x|x| |x|x| -S4 -+-+-+-+-+-+-+- -    | | | |x| | |x on - -The eSD card needs to be present in SDHI slot 1 (CN7). -As such S1 and S33 also need to be configured as per -the notes in arch/arm/mach-shmobile/board-mackerel.c. - -A partial zImage must be written to physical partition #1 (boot) -of the eSD at sector 0 in vrl4 format. A utility vrl4 is supplied to -accomplish this. - -e.g. -	vrl4 < zImage | dd of=/dev/sdX bs=512 count=17 - -A full copy of _the same_ zImage should be written to physical partition #1 -(boot) of the eSD at sector 0. This should _not_ be in vrl4 format. - -	vrl4 < zImage | dd of=/dev/sdX bs=512 - -Note: The commands above assume that the physical partition has been -switched. No such facility currently exists in the Linux Kernel. - -Physical partitions are described in the eSD specification.  At the time of -writing they are not the same as partitions that are typically configured -using fdisk and visible through /proc/partitions | 
