diff options
Diffstat (limited to 'arch/arm/boards/usb-a926x')
-rw-r--r-- | arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config | 4 | ||||
-rw-r--r-- | arch/arm/boards/usb-a926x/init.c | 21 | ||||
-rw-r--r-- | arch/arm/boards/usb-a926x/usb_a9260_lowlevel.c | 21 | ||||
-rw-r--r-- | arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c | 2 | ||||
-rw-r--r-- | arch/arm/boards/usb-a926x/usb_a9263_lowlevel.c | 28 |
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); } |