diff mbox

[12/14,v2] Documentation: Remove ZBOOT MMC/SDHI utility and docs

Message ID 20150126061951.6848.91753.sendpatchset@little-apple (mailing list archive)
State New, archived
Headers show

Commit Message

Magnus Damm Jan. 26, 2015, 6:19 a.m. UTC
From: Magnus Damm <damm+renesas@opensource.se>

Remove ZBOOT MMC/SDHI Documentation for sh7372 together
wit the vrl4 utility. Without sh7372 and Mackerel support
these files are no longer useful.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Changes since V1:
 - Removed Documentation/arm/Makefile, thanks Geert!

 Documentation/Makefile                          |    2 
 Documentation/arm/Makefile                      |    1 
 Documentation/arm/SH-Mobile/Makefile            |    7 
 Documentation/arm/SH-Mobile/vrl4.c              |  170 -----------------------
 Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt |   29 ---
 Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt  |   42 -----
 6 files changed, 1 insertion(+), 250 deletions(-)

Comments

Laurent Pinchart Jan. 26, 2015, 9:01 a.m. UTC | #1
Hi Magnus,

Thank you for the patch.

On Monday 26 January 2015 15:19:51 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Remove ZBOOT MMC/SDHI Documentation for sh7372 together
> wit the vrl4 utility. Without sh7372 and Mackerel support
> these files are no longer useful.
> 
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> 
>  Changes since V1:
>  - Removed Documentation/arm/Makefile, thanks Geert!
> 
>  Documentation/Makefile                          |    2
>  Documentation/arm/Makefile                      |    1
>  Documentation/arm/SH-Mobile/Makefile            |    7
>  Documentation/arm/SH-Mobile/vrl4.c              |  170 --------------------
>  Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt |   29 ---
>  Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt  |   42 -----
>  6 files changed, 1 insertion(+), 250 deletions(-)
> 
> --- 0001/Documentation/Makefile
> +++ work/Documentation/Makefile	2015-01-26 13:36:32.695991307 +0900
> @@ -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
> --- 0001/Documentation/arm/Makefile
> +++ /dev/null	2015-01-13 15:44:39.280208949 +0900
> @@ -1 +0,0 @@
> -subdir-y := SH-Mobile
> --- 0001/Documentation/arm/SH-Mobile/Makefile
> +++ /dev/null	2015-01-13 15:44:39.280208949 +0900
> @@ -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
> --- 0001/Documentation/arm/SH-Mobile/vrl4.c
> +++ /dev/null	2015-01-13 15:44:39.280208949 +0900
> @@ -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;
> -}
> --- 0001/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt
> +++ /dev/null	2015-01-13 15:44:39.280208949 +0900
> @@ -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.
> --- 0001/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt
> +++ /dev/null	2015-01-13 15:44:39.280208949 +0900
> @@ -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
diff mbox

Patch

--- 0001/Documentation/Makefile
+++ work/Documentation/Makefile	2015-01-26 13:36:32.695991307 +0900
@@ -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
--- 0001/Documentation/arm/Makefile
+++ /dev/null	2015-01-13 15:44:39.280208949 +0900
@@ -1 +0,0 @@ 
-subdir-y := SH-Mobile
--- 0001/Documentation/arm/SH-Mobile/Makefile
+++ /dev/null	2015-01-13 15:44:39.280208949 +0900
@@ -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
--- 0001/Documentation/arm/SH-Mobile/vrl4.c
+++ /dev/null	2015-01-13 15:44:39.280208949 +0900
@@ -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;
-}
--- 0001/Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt
+++ /dev/null	2015-01-13 15:44:39.280208949 +0900
@@ -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.
--- 0001/Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt
+++ /dev/null	2015-01-13 15:44:39.280208949 +0900
@@ -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