summaryrefslogtreecommitdiffstats
path: root/firmware/target/mips/ingenic_x1000/fiiom3k
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-05-11 13:28:43 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-05-12 10:35:20 +0000
commit3f26fcf34001197ed267fa1ad549095aae49c88e (patch)
treec81ab3298a349d1156e905d467492b603236f74d /firmware/target/mips/ingenic_x1000/fiiom3k
parentcc22df198d0ccb64dfdfe0c2f247f7d86b7fd750 (diff)
downloadrockbox-3f26fcf34001197ed267fa1ad549095aae49c88e.tar.gz
rockbox-3f26fcf34001197ed267fa1ad549095aae49c88e.tar.bz2
rockbox-3f26fcf34001197ed267fa1ad549095aae49c88e.zip
FiiO M3K: New bootloader
SPL and UCL-compressed bootloader are now packed into one output, bootloader.m3k, eliminating the separate SPL build phase. The Rockbox bootloader now has a recovery menu, accessible by holding VOL+ when booting, that lets you back up, restore, and update the bootloader from the device. Change-Id: I642c6e5fb83587a013ab2fbfd1adab439561ced2
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/fiiom3k')
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/boot.make30
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c345
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.h51
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c38
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h29
5 files changed, 313 insertions, 180 deletions
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/boot.make b/firmware/target/mips/ingenic_x1000/fiiom3k/boot.make
new file mode 100644
index 0000000000..77b23167c2
--- /dev/null
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/boot.make
@@ -0,0 +1,30 @@
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id$
+#
+
+include $(ROOTDIR)/lib/microtar/microtar.make
+
+.SECONDEXPANSION:
+
+$(BUILDDIR)/spl.m3k: $(BUILDDIR)/spl.bin
+ $(call PRINTS,MKSPL $(@F))$(TOOLSDIR)/mkspl-x1000 -type=nand -ppb=2 -bpp=2 $< $@
+
+$(BUILDDIR)/bootloader.ucl: $(BUILDDIR)/bootloader.bin
+ $(call PRINTS,UCLPACK $(@F))$(TOOLSDIR)/uclpack --nrv2e -9 $< $@ >/dev/null
+
+.PHONY: $(BUILDDIR)/bootloader-info.txt
+$(BUILDDIR)/bootloader-info.txt:
+ $(call PRINTS,GEN $(@F))echo $(SVNVERSION) > $@
+
+$(BUILDDIR)/$(BINARY): $(BUILDDIR)/spl.m3k \
+ $(BUILDDIR)/bootloader.ucl \
+ $(BUILDDIR)/bootloader-info.txt
+ $(call PRINTS,TAR $(@F))tar -C $(BUILDDIR) \
+ --numeric-owner --no-acls --no-xattrs --no-selinux \
+ --mode=0644 --owner=0 --group=0 \
+ -cf $@ $(call full_path_subst,$(BUILDDIR)/%,%,$^)
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c
index 154785ee0b..10a58ace38 100644
--- a/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c
@@ -19,192 +19,265 @@
*
****************************************************************************/
-#include "installer.h"
+#include "installer-fiiom3k.h"
#include "nand-x1000.h"
#include "system.h"
#include "core_alloc.h"
#include "file.h"
+#include "microtar.h"
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
-#define INSTALL_SUCCESS 0
-#define ERR_FLASH_OPEN_FAILED (-1)
-#define ERR_FLASH_ENABLE_WP_FAILED (-2)
-#define ERR_FLASH_DISABLE_WP_FAILED (-3)
-#define ERR_FLASH_ERASE_FAILED (-4)
-#define ERR_FLASH_WRITE_FAILED (-5)
-#define ERR_FLASH_READ_FAILED (-6)
-#define ERR_OUT_OF_MEMORY (-7)
-#define ERR_CANNOT_READ_FILE (-8)
-#define ERR_CANNOT_WRITE_FILE (-9)
-#define ERR_WRONG_SIZE (-10)
-
-#define BOOT_IMAGE_SIZE (128 * 1024)
-
-static int install_from_buffer(const void* buf)
+#define IMAGE_SIZE (128 * 1024)
+#define TAR_SIZE (256 * 1024)
+
+static int flash_prepare(void)
{
- int status = INSTALL_SUCCESS;
int mf_id, dev_id;
+ int rc;
+
+ rc = nand_open();
+ if(rc < 0)
+ return INSTALL_ERR_FLASH(NAND_OPEN, rc);
- if(nand_open())
- return ERR_FLASH_OPEN_FAILED;
- if(nand_identify(&mf_id, &dev_id)) {
- status = ERR_FLASH_OPEN_FAILED;
- goto _exit;
+ rc = nand_identify(&mf_id, &dev_id);
+ if(rc < 0) {
+ nand_close();
+ return INSTALL_ERR_FLASH(NAND_IDENTIFY, rc);
}
- if(nand_enable_writes(true)) {
- status = ERR_FLASH_DISABLE_WP_FAILED;
- goto _exit;
+ return INSTALL_SUCCESS;
+}
+
+static void flash_finish(void)
+{
+ /* Ensure writes are always disabled when we finish.
+ * Errors are safe to ignore here, there's nothing we could do anyway. */
+ nand_enable_writes(false);
+ nand_close();
+}
+
+static int flash_img_read(uint8_t* buffer)
+{
+ int rc = flash_prepare();
+ if(rc < 0)
+ goto error;
+
+ rc = nand_read(0, IMAGE_SIZE, buffer);
+ if(rc < 0) {
+ rc = INSTALL_ERR_FLASH(NAND_READ, rc);
+ goto error;
}
- if(nand_erase(0, BOOT_IMAGE_SIZE)) {
- status = ERR_FLASH_ERASE_FAILED;
- goto _exit;
+ error:
+ flash_finish();
+ return rc;
+}
+
+static int flash_img_write(const uint8_t* buffer)
+{
+ int rc = flash_prepare();
+ if(rc < 0)
+ goto error;
+
+ rc = nand_enable_writes(true);
+ if(rc < 0) {
+ rc = INSTALL_ERR_FLASH(NAND_ENABLE_WRITES, rc);
+ goto error;
}
- if(nand_write(0, BOOT_IMAGE_SIZE, (const uint8_t*)buf)) {
- status = ERR_FLASH_WRITE_FAILED;
- goto _exit;
+ rc = nand_erase(0, IMAGE_SIZE);
+ if(rc < 0) {
+ rc = INSTALL_ERR_FLASH(NAND_ERASE, rc);
+ goto error;
}
- if(nand_enable_writes(false)) {
- status = ERR_FLASH_ENABLE_WP_FAILED;
- goto _exit;
+ rc = nand_write(0, IMAGE_SIZE, buffer);
+ if(rc < 0) {
+ rc = INSTALL_ERR_FLASH(NAND_WRITE, rc);
+ goto error;
}
- _exit:
- nand_close();
- return status;
+ error:
+ flash_finish();
+ return rc;
}
-static int dump_to_buffer(void* buf)
+static int patch_img(mtar_t* tar, uint8_t* buffer, const char* filename,
+ size_t patch_offset, size_t patch_size)
{
- int status = INSTALL_SUCCESS;
- int mf_id, dev_id;
-
- if(nand_open())
- return ERR_FLASH_OPEN_FAILED;
- if(nand_identify(&mf_id, &dev_id)) {
- status = ERR_FLASH_OPEN_FAILED;
- goto _exit;
+ /* Seek to file */
+ mtar_header_t h;
+ int rc = mtar_find(tar, filename, &h);
+ if(rc != MTAR_ESUCCESS) {
+ rc = INSTALL_ERR_MTAR(TAR_FIND, rc);
+ return rc;
}
- if(nand_read(0, BOOT_IMAGE_SIZE, (uint8_t*)buf)) {
- status = ERR_FLASH_READ_FAILED;
- goto _exit;
+ /* We need a normal file */
+ if(h.type != 0 && h.type != MTAR_TREG)
+ return INSTALL_ERR_BAD_FORMAT;
+
+ /* Check size does not exceed patch area */
+ if(h.size > patch_size)
+ return INSTALL_ERR_BAD_FORMAT;
+
+ /* Read data directly into patch area, fill unused bytes with 0xff */
+ memset(&buffer[patch_offset], 0xff, patch_size);
+ rc = mtar_read_data(tar, &buffer[patch_offset], h.size);
+ if(rc != MTAR_ESUCCESS) {
+ rc = INSTALL_ERR_MTAR(TAR_READ, rc);
+ return rc;
}
- _exit:
- nand_close();
- return status;
+ return INSTALL_SUCCESS;
}
-int install_bootloader(const char* path)
+int install_boot(const char* srcfile)
{
- /* Allocate memory to hold image */
- size_t bufsize = BOOT_IMAGE_SIZE + CACHEALIGN_SIZE - 1;
- int handle = core_alloc("boot_image", bufsize);
- if(handle < 0)
- return ERR_OUT_OF_MEMORY;
-
- int status = INSTALL_SUCCESS;
- void* buffer = core_get_data(handle);
- CACHEALIGN_BUFFER(buffer, bufsize);
+ int rc;
+ mtar_t* tar = NULL;
+ int handle = -1;
- /* Open the boot image */
- int fd = open(path, O_RDONLY);
- if(fd < 0) {
- status = ERR_CANNOT_READ_FILE;
- goto _exit;
+ /* Allocate enough memory for image and tar state */
+ size_t bufsize = IMAGE_SIZE + sizeof(mtar_t) + 2*CACHEALIGN_SIZE;
+ handle = core_alloc("boot_image", bufsize);
+ if(handle < 0) {
+ rc = INSTALL_ERR_OUT_OF_MEMORY;
+ goto error;
}
- /* Check file size */
- off_t fsize = filesize(fd);
- if(fsize != BOOT_IMAGE_SIZE) {
- status = ERR_WRONG_SIZE;
- goto _exit;
- }
+ uint8_t* buffer = core_get_data(handle);
+
+ /* Tar state alloc */
+ CACHEALIGN_BUFFER(buffer, bufsize);
+ tar = (mtar_t*)buffer;
+ memset(tar, 0, sizeof(tar));
+
+ /* Image buffer alloc */
+ buffer += sizeof(mtar_t);
+ CACHEALIGN_BUFFER(buffer, bufsize);
+
+ /* Read the flash -- we need an existing image to patch */
+ rc = flash_img_read(buffer);
+ if(rc < 0)
+ goto error;
- /* Read the file into the buffer */
- ssize_t cnt = read(fd, buffer, BOOT_IMAGE_SIZE);
- if(cnt != BOOT_IMAGE_SIZE) {
- status = ERR_CANNOT_READ_FILE;
- goto _exit;
+ /* Open the tarball */
+ rc = mtar_open(tar, srcfile, "r");
+ if(rc != MTAR_ESUCCESS) {
+ rc = INSTALL_ERR_MTAR(TAR_OPEN, rc);
+ goto error;
}
- /* Perform the installation */
- status = install_from_buffer(buffer);
+ /* Extract the needed files & patch 'em in */
+ rc = patch_img(tar, buffer, "spl.m3k", 0, 12 * 1024);
+ if(rc < 0)
+ goto error;
- _exit:
- if(fd >= 0)
- close(fd);
- core_free(handle);
- return status;
+ rc = patch_img(tar, buffer, "bootloader.ucl", 0x6800, 102 * 1024);
+ if(rc < 0)
+ goto error;
+
+ /* Flash the new image */
+ rc = flash_img_write(buffer);
+ if(rc < 0)
+ goto error;
+
+ rc = INSTALL_SUCCESS;
+
+ error:
+ if(tar && tar->close)
+ mtar_close(tar);
+ if(handle >= 0)
+ core_free(handle);
+ return rc;
}
-/* Dump the current bootloader to a file */
-int dump_bootloader(const char* path)
+int backup_boot(const char* destfile)
{
- /* Allocate memory to hold image */
- size_t bufsize = BOOT_IMAGE_SIZE + CACHEALIGN_SIZE - 1;
- int handle = core_alloc("boot_image", bufsize);
- if(handle < 0)
- return -1;
-
- /* Read data from flash */
+ int rc;
+ int handle = -1;
int fd = -1;
- void* buffer = core_get_data(handle);
+ size_t bufsize = IMAGE_SIZE + CACHEALIGN_SIZE - 1;
+ handle = core_alloc("boot_image", bufsize);
+ if(handle < 0) {
+ rc = INSTALL_ERR_OUT_OF_MEMORY;
+ goto error;
+ }
+
+ uint8_t* buffer = core_get_data(handle);
CACHEALIGN_BUFFER(buffer, bufsize);
- int status = dump_to_buffer(buffer);
- if(status)
- goto _exit;
- /* Open file */
- fd = open(path, O_CREAT|O_TRUNC|O_WRONLY);
+ rc = flash_img_read(buffer);
+ if(rc < 0)
+ goto error;
+
+ fd = open(destfile, O_CREAT|O_TRUNC|O_WRONLY);
if(fd < 0) {
- status = ERR_CANNOT_WRITE_FILE;
- goto _exit;
+ rc = INSTALL_ERR_FILE_IO;
+ goto error;
}
- /* Write data to file */
- ssize_t cnt = write(fd, buffer, BOOT_IMAGE_SIZE);
- if(cnt != BOOT_IMAGE_SIZE) {
- status = ERR_CANNOT_WRITE_FILE;
- goto _exit;
+ ssize_t cnt = write(fd, buffer, IMAGE_SIZE);
+ if(cnt != IMAGE_SIZE) {
+ rc = INSTALL_ERR_FILE_IO;
+ goto error;
}
- _exit:
+ error:
if(fd >= 0)
close(fd);
- core_free(handle);
- return status;
+ if(handle >= 0)
+ core_free(handle);
+ return rc;
}
-const char* installer_strerror(int rc)
+int restore_boot(const char* srcfile)
{
- switch(rc) {
- case INSTALL_SUCCESS:
- return "Success";
- case ERR_FLASH_OPEN_FAILED:
- return "Can't open flash device";
- case ERR_FLASH_ENABLE_WP_FAILED:
- return "Couldn't re-enable write protect";
- case ERR_FLASH_DISABLE_WP_FAILED:
- return "Can't disable write protect";
- case ERR_FLASH_ERASE_FAILED:
- return "Flash erase failed";
- case ERR_FLASH_WRITE_FAILED:
- return "Flash write error";
- case ERR_FLASH_READ_FAILED:
- return "Flash read error";
- case ERR_OUT_OF_MEMORY:
- return "Out of memory";
- case ERR_CANNOT_READ_FILE:
- return "Error reading file";
- case ERR_CANNOT_WRITE_FILE:
- return "Error writing file";
- case ERR_WRONG_SIZE:
- return "Wrong file size";
- default:
- return "Unknown error";
+ int rc;
+ int handle = -1;
+ int fd = -1;
+ size_t bufsize = IMAGE_SIZE + CACHEALIGN_SIZE - 1;
+ handle = core_alloc("boot_image", bufsize);
+ if(handle < 0) {
+ rc = INSTALL_ERR_OUT_OF_MEMORY;
+ goto error;
}
+
+ uint8_t* buffer = core_get_data(handle);
+ CACHEALIGN_BUFFER(buffer, bufsize);
+
+ fd = open(srcfile, O_RDONLY);
+ if(fd < 0) {
+ rc = INSTALL_ERR_FILE_NOT_FOUND;
+ goto error;
+ }
+
+ off_t fsize = filesize(fd);
+ if(fsize != IMAGE_SIZE) {
+ rc = INSTALL_ERR_BAD_FORMAT;
+ goto error;
+ }
+
+ ssize_t cnt = read(fd, buffer, IMAGE_SIZE);
+ if(cnt != IMAGE_SIZE) {
+ rc = INSTALL_ERR_FILE_IO;
+ goto error;
+ }
+
+ close(fd);
+ fd = -1;
+
+ rc = flash_img_write(buffer);
+ if(rc < 0)
+ goto error;
+
+ error:
+ if(fd >= 0)
+ close(fd);
+ if(handle >= 0)
+ core_free(handle);
+ return rc;
}
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.h b/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.h
new file mode 100644
index 0000000000..eb700e6689
--- /dev/null
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2021 Aidan MacDonald
+ *
+ * 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef __INSTALLER_FIIOM3K_H__
+#define __INSTALLER_FIIOM3K_H__
+
+#include <stddef.h>
+
+#define INSTALL_SUCCESS 0
+#define INSTALL_ERR_OUT_OF_MEMORY (-1)
+#define INSTALL_ERR_FILE_NOT_FOUND (-2)
+#define INSTALL_ERR_FILE_IO (-3)
+#define INSTALL_ERR_BAD_FORMAT (-4)
+#define INSTALL_ERR_NAND_OPEN (-5)
+#define INSTALL_ERR_NAND_IDENTIFY (-6)
+#define INSTALL_ERR_NAND_READ (-7)
+#define INSTALL_ERR_NAND_ENABLE_WRITES (-8)
+#define INSTALL_ERR_NAND_ERASE (-9)
+#define INSTALL_ERR_NAND_WRITE (-10)
+#define INSTALL_ERR_TAR_OPEN (-11)
+#define INSTALL_ERR_TAR_FIND (-12)
+#define INSTALL_ERR_TAR_READ (-13)
+#define INSTALL_ERR_MTAR(x,y) ((INSTALL_ERR_##x)*100 + (y))
+#define INSTALL_ERR_FLASH(x,y) ((INSTALL_ERR_##x)*100 + (y))
+
+/* Install the Rockbox bootloader from a bootloader.m3k image */
+extern int install_boot(const char* srcfile);
+
+/* Backup or restore the bootloader from a raw NAND image */
+extern int backup_boot(const char* destfile);
+extern int restore_boot(const char* srcfile);
+
+#endif /* __INSTALLER_FIIOM3K_H__ */
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c
index bdd0ffc2e0..efea5aa323 100644
--- a/firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c
@@ -25,6 +25,11 @@
#include "system.h"
#include <string.h>
+/* Available boot options */
+#define BOOTOPTION_ROCKBOX 0
+#define BOOTOPTION_ORIG_FW 1
+#define BOOTOPTION_RECOVERY 2
+
/* Boot select button state must remain stable for this duration
* before the choice will be accepted. Currently 100ms.
*/
@@ -56,7 +61,7 @@ const struct spl_boot_option spl_boot_options[] = {
*/
.nand_addr = 0x6800,
.nand_size = 0x19800,
- .load_addr = X1000_DRAM_BASE - 8, /* first 8 bytes are bootloader ID */
+ .load_addr = X1000_DRAM_END - 0x19800,
.exec_addr = X1000_DRAM_BASE,
.cmdline = NULL,
},
@@ -80,7 +85,7 @@ const struct spl_boot_option spl_boot_options[] = {
void spl_error(void)
{
- const int pin = (1 << 24);
+ const uint32_t pin = (1 << 24);
/* Turn on button light */
jz_clr(GPIO_INT(GPIO_C), pin);
@@ -105,6 +110,10 @@ int spl_get_boot_option(void)
uint32_t pin = 1, lastpin = 0;
uint32_t deadline = 0;
+ /* Iteration count guards against unlikely case of broken buttons
+ * which never stabilize; if this occurs, we always boot Rockbox. */
+ int iter_count = 0;
+ const int max_iter_count = 30;
/* Configure the button GPIOs as inputs */
gpio_config(GPIO_A, pinmask, GPIO_INPUT);
@@ -116,19 +125,18 @@ int spl_get_boot_option(void)
if(pin != lastpin) {
/* This will always be set on the first iteration */
deadline = __ost_read32() + BTN_STABLE_TIME;
+ iter_count += 1;
}
- } while(__ost_read32() < deadline);
-
- /* Play button boots original firmware */
- if(pin == (1 << 17))
- return SPL_BOOTOPT_ORIG_FW;
-
- /* Volume up boots recovery */
- if(pin == (1 << 19))
- return SPL_BOOTOPT_RECOVERY;
+ } while(iter_count < max_iter_count && __ost_read32() < deadline);
- /* Default is to boot Rockbox */
- return SPL_BOOTOPT_ROCKBOX;
+ if(iter_count < max_iter_count && (pin & (1 << 17))) {
+ if(pin & (1 << 19))
+ return BOOTOPTION_RECOVERY; /* Play+Volume Up */
+ else
+ return BOOTOPTION_ORIG_FW; /* Play */
+ } else {
+ return BOOTOPTION_ROCKBOX; /* Volume Up or no buttons */
+ }
}
void spl_handle_pre_boot(int bootopt)
@@ -145,7 +153,7 @@ void spl_handle_pre_boot(int bootopt)
/* System clock setup -- common to Rockbox and FiiO firmware
* ----
* CPU at 1 GHz, L2 cache at 500 MHz
- * AHB0 and AHB2 and 200 MHz
+ * AHB0 and AHB2 at 200 MHz
* PCLK at 100 MHz
* DDR at 200 MHz
*/
@@ -153,7 +161,7 @@ void spl_handle_pre_boot(int bootopt)
clk_set_ccr_mux(CLKMUX_SCLK_A(APLL) | CLKMUX_CPU(SCLK_A) |
CLKMUX_AHB0(SCLK_A) | CLKMUX_AHB2(SCLK_A));
- if(bootopt == SPL_BOOTOPT_ROCKBOX) {
+ if(bootopt == BOOTOPTION_ROCKBOX) {
/* We don't use MPLL in Rockbox, so switch DDR memory to APLL */
clk_set_ddr(X1000_CLK_SCLK_A, 5);
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h b/firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h
deleted file mode 100644
index ac90508f44..0000000000
--- a/firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2021 Aidan MacDonald
- *
- * 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#ifndef __SPL_TARGET_H__
-#define __SPL_TARGET_H__
-
-#define SPL_DDR_MEMORYSIZE 64
-#define SPL_DDR_AUTOSR_EN 1
-#define SPL_DDR_NEED_BYPASS 1
-
-#endif /* __SPL_TARGET_H__ */