summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/usb-a926x
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boards/usb-a926x')
-rw-r--r--arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config4
-rw-r--r--arch/arm/boards/usb-a926x/init.c21
-rw-r--r--arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c21
-rw-r--r--arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c2
-rw-r--r--arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c28
5 files changed, 44 insertions, 32 deletions
diff --git a/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config
index 49199ba391..f9159cb946 100644
--- a/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config
+++ b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config
@@ -29,10 +29,6 @@ kernelimage=zImage
#kernelimage=Image
#kernelimage=Image.lzo
-nand_device=atmel_nand
-nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
-rootfs_mtdblock_nand=6
-
autoboot_timeout=3
bootargs="console=ttyS0,115200"
diff --git a/arch/arm/boards/usb-a926x/init.c b/arch/arm/boards/usb-a926x/init.c
index c39992c91b..1297b4fe7f 100644
--- a/arch/arm/boards/usb-a926x/init.c
+++ b/arch/arm/boards/usb-a926x/init.c
@@ -6,27 +6,26 @@
#include <init.h>
#include <environment.h>
#include <asm/armlinux.h>
-#include <generated/mach-types.h>
-#include <partition.h>
+#include <asm/mach-types.h>
#include <fs.h>
#include <fcntl.h>
#include <io.h>
#include <envfs.h>
-#include <mach/hardware.h>
-#include <mach/at91sam926x.h>
+#include <mach/at91/hardware.h>
+#include <mach/at91/at91sam926x.h>
#include <nand.h>
#include <linux/sizes.h>
#include <linux/mtd/nand.h>
#include <linux/mtd/rawnand.h>
#include <linux/clk.h>
-#include <mach/board.h>
-#include <mach/at91sam9_smc.h>
-#include <mach/at91sam9_sdramc.h>
+#include <mach/at91/board.h>
+#include <mach/at91/at91sam9_smc.h>
+#include <mach/at91/at91sam9_sdramc.h>
#include <gpio.h>
#include <led.h>
-#include <mach/iomux.h>
-#include <mach/at91_pmc.h>
-#include <mach/at91_rstc.h>
+#include <mach/at91/iomux.h>
+#include <mach/at91/at91_pmc.h>
+#include <mach/at91/at91_rstc.h>
#include <gpio_keys.h>
#include <readkey.h>
#include <spi/spi.h>
@@ -396,7 +395,7 @@ device_initcall(usb_a9260_devices_init);
#ifndef CONFIG_CONSOLE_NONE
static int usb_a9260_console_init(void)
{
- struct device_d *dev;
+ struct device *dev;
if (machine_is_usb_a9260()) {
barebox_set_model("Calao USB-A9260");
diff --git a/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c b/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
index 7f52f824df..66753669d6 100644
--- a/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
+++ b/arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c
@@ -7,14 +7,23 @@
#include <common.h>
#include <init.h>
-#include <asm/barebox-arm-head.h>
-#include <asm/barebox-arm.h>
+#include <mach/at91/barebox-arm.h>
+#include <mach/at91/at91sam9_sdramc.h>
+#include <mach/at91/at91sam9260.h>
+#include <mach/at91/hardware.h>
-#include <mach/at91sam9_sdramc.h>
-#include <mach/at91sam9260.h>
-#include <mach/hardware.h>
+AT91_ENTRY_FUNCTION(start_usb_a9260, r0, r1, r2)
+{
+ arm_cpu_lowlevel_init();
+
+ arm_setup_stack(AT91SAM9260_SRAM_BASE + AT91SAM9260_SRAM_SIZE);
+
+ barebox_arm_entry(AT91_CHIPSELECT_1,
+ at91_get_sdram_size(IOMEM(AT91SAM9260_BASE_SDRAMC)),
+ NULL);
+}
-void __naked __bare_init barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)
+AT91_ENTRY_FUNCTION(start_usb_a9g20, r0, r1, r2)
{
arm_cpu_lowlevel_init();
diff --git a/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c b/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
index f26f1eaecb..5739b0f2da 100644
--- a/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
+++ b/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
@@ -6,7 +6,7 @@
#include <common.h>
#include <bootstrap.h>
-#include <mach/bootstrap.h>
+#include <mach/at91/bootstrap.h>
#ifdef CONFIG_MTD_DATAFLASH
void * bootstrap_board_read_dataflash(void)
diff --git a/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c b/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
index 2ad88d7f22..eda534c68e 100644
--- a/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
+++ b/arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c
@@ -6,10 +6,9 @@
#include <linux/sizes.h>
-#include <asm/barebox-arm.h>
-
-#include <mach/at91sam926x_board_init.h>
-#include <mach/at91sam9263_matrix.h>
+#include <mach/at91/barebox-arm.h>
+#include <mach/at91/at91sam926x_board_init.h>
+#include <mach/at91/at91sam9263_matrix.h>
#define MASTER_CLOCK 180
@@ -20,7 +19,7 @@
#endif
#define MASTER_PLL_DIV 6
-static void __bare_init usb_a9263_board_config(struct at91sam926x_board_cfg *cfg)
+static void __bare_init usb_a9263_board_config(struct at91sam926x_board_cfg *cfg, bool has_mem_128m)
{
/* Disable Watchdog */
cfg->wdt_mr =
@@ -88,7 +87,7 @@ static void __bare_init usb_a9263_board_config(struct at91sam926x_board_cfg *cfg
(5 << 24) | /* Active to Precharge Delay */
(8 << 28); /* Exit Self Refresh to Active Delay */
- if (IS_ENABLED(CONFIG_AT91_HAVE_SRAM_128M))
+ if (has_mem_128m)
cfg->sdrc_cr |= AT91_SDRAMC_NC_10;
else
cfg->sdrc_cr |= AT91_SDRAMC_NC_9;
@@ -106,7 +105,7 @@ static void __bare_init usb_a9263_board_config(struct at91sam926x_board_cfg *cfg
AT91_RSTC_RSTTYP_WATCHDOG;
}
-static void __bare_init usb_a9263_init(void)
+static void __bare_init usb_a9263_init(bool has_mem_128m)
{
struct at91sam926x_board_cfg cfg;
@@ -115,18 +114,27 @@ static void __bare_init usb_a9263_init(void)
cfg.ebi_pio_is_peripha = true;
cfg.matrix_csa = IOMEM(AT91SAM9263_BASE_MATRIX + AT91SAM9263_MATRIX_EBI0CSA);
- usb_a9263_board_config(&cfg);
+ usb_a9263_board_config(&cfg, has_mem_128m);
at91sam9263_board_init(&cfg);
barebox_arm_entry(AT91_CHIPSELECT_1, at91_get_sdram_size(cfg.sdramc),
NULL);
}
-void __naked __bare_init barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)
+AT91_ENTRY_FUNCTION(start_usb_a9263, r0, r1, r2)
+{
+ arm_cpu_lowlevel_init();
+
+ arm_setup_stack(AT91SAM9263_SRAM0_BASE + AT91SAM9263_SRAM0_SIZE);
+
+ usb_a9263_init(false);
+}
+
+AT91_ENTRY_FUNCTION(start_usb_a9263_128m, r0, r1, r2)
{
arm_cpu_lowlevel_init();
arm_setup_stack(AT91SAM9263_SRAM0_BASE + AT91SAM9263_SRAM0_SIZE);
- usb_a9263_init();
+ usb_a9263_init(true);
}