summaryrefslogtreecommitdiff
path: root/board/samsung/smdkv310/tools/mkv310_image.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-02-04 17:24:11 +0900
committerTom Rini <trini@ti.com>2014-02-19 11:07:49 -0500
commite183a1745aa4ad05dac3d7caf5777dceff3f1958 (patch)
treeb0e26f188cba6dc2553ddd2bd34b4aabf39a9f13 /board/samsung/smdkv310/tools/mkv310_image.c
parent940db16d2e6ce69f769f790bf1def56978f0ac6c (diff)
board: samsung: refactor host programs
Some Samsung boards have their own tools under board/samsung/<board>/tools/. This commit refactor more makefiles with "hostprogs-y". Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Diffstat (limited to 'board/samsung/smdkv310/tools/mkv310_image.c')
-rw-r--r--board/samsung/smdkv310/tools/mkv310_image.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/board/samsung/smdkv310/tools/mkv310_image.c b/board/samsung/smdkv310/tools/mkv310_image.c
deleted file mode 100644
index 9a64ca6ad6..0000000000
--- a/board/samsung/smdkv310/tools/mkv310_image.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#define CHECKSUM_OFFSET (14*1024-4)
-#define BUFSIZE (16*1024)
-#define FILE_PERM (S_IRUSR | S_IWUSR | S_IRGRP \
- | S_IWGRP | S_IROTH | S_IWOTH)
-/*
-* Requirement:
-* IROM code reads first 14K bytes from boot device.
-* It then calculates the checksum of 14K-4 bytes and compare with data at
-* 14K-4 offset.
-*
-* This function takes two filenames:
-* IN "u-boot-spl.bin" and
-* OUT "u-boot-mmc-spl.bin" as filenames.
-* It reads the "u-boot-spl.bin" in 16K buffer.
-* It calculates checksum of 14K-4 Bytes and stores at 14K-4 offset in buffer.
-* It writes the buffer to "u-boot-mmc-spl.bin" file.
-*/
-
-int main(int argc, char **argv)
-{
- int i, len;
- unsigned char buffer[BUFSIZE] = {0};
- int ifd, ofd;
- unsigned int checksum = 0, count;
-
- if (argc != 3) {
- printf(" %d Wrong number of arguments\n", argc);
- exit(EXIT_FAILURE);
- }
-
- ifd = open(argv[1], O_RDONLY);
- if (ifd < 0) {
- fprintf(stderr, "%s: Can't open %s: %s\n",
- argv[0], argv[1], strerror(errno));
- exit(EXIT_FAILURE);
- }
-
- ofd = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, FILE_PERM);
- if (ifd < 0) {
- fprintf(stderr, "%s: Can't open %s: %s\n",
- argv[0], argv[2], strerror(errno));
- if (ifd)
- close(ifd);
- exit(EXIT_FAILURE);
- }
-
- len = lseek(ifd, 0, SEEK_END);
- lseek(ifd, 0, SEEK_SET);
-
- count = (len < CHECKSUM_OFFSET) ? len : CHECKSUM_OFFSET;
-
- if (read(ifd, buffer, count) != count) {
- fprintf(stderr, "%s: Can't read %s: %s\n",
- argv[0], argv[1], strerror(errno));
-
- if (ifd)
- close(ifd);
- if (ofd)
- close(ofd);
-
- exit(EXIT_FAILURE);
- }
-
- for (i = 0, checksum = 0; i < CHECKSUM_OFFSET; i++)
- checksum += buffer[i];
-
- memcpy(&buffer[CHECKSUM_OFFSET], &checksum, sizeof(checksum));
-
- if (write(ofd, buffer, BUFSIZE) != BUFSIZE) {
- fprintf(stderr, "%s: Can't write %s: %s\n",
- argv[0], argv[2], strerror(errno));
-
- if (ifd)
- close(ifd);
- if (ofd)
- close(ofd);
-
- exit(EXIT_FAILURE);
- }
-
- if (ifd)
- close(ifd);
- if (ofd)
- close(ofd);
-
- return EXIT_SUCCESS;
-}