void __naked __bare_init barebox_arm_reset_vector(void)
{
	arm_cpu_lowlevel_init();

	arm_setup_stack(AT91SAM9260_SRAM_BASE + AT91SAM9260_SRAM_SIZE - 16);

	barebox_arm_entry(AT91_CHIPSELECT_1,
			  at91_get_sdram_size(IOMEM(AT91SAM9260_BASE_SDRAMC)),
			  NULL);
}
示例#2
0
void at91_add_device_sdram(u32 size)
{
	if (!size)
		size = at91_get_sdram_size();

	arm_add_mem_device("ram0", AT91_CHIPSELECT_1, size);
	if (cpu_is_at91sam9g20()) {
		add_mem_device("sram0", AT91SAM9G20_SRAM_BASE,
			AT91SAM9G20_SRAM_SIZE, IORESOURCE_MEM_WRITEABLE);
	} else {
		add_mem_device("sram0", AT91SAM9260_SRAM_BASE,
			AT91SAM9260_SRAM_SIZE, IORESOURCE_MEM_WRITEABLE);
	}
}
void __bare_init at91sam9261_lowlevel_init(void)
{
	struct at91sam926x_lowlevel_cfg cfg;

	cfg.pio = IOMEM(AT91SAM9261_BASE_PIOC);
	cfg.sdramc = IOMEM(AT91SAM9261_BASE_SDRAMC);
	cfg.ebi_pio_is_peripha = false;
	cfg.matrix_csa = AT91_MATRIX_EBICSA;

	at91sam926x_lowlevel_init(&cfg);

	barebox_arm_entry(AT91_CHIPSELECT_1, at91_get_sdram_size(cfg.sdramc),
	                  NULL);
}
示例#4
0
static void __bare_init usb_a9263_init(void)
{
	struct at91sam926x_board_cfg cfg;

	cfg.pio = IOMEM(AT91SAM9263_BASE_PIOD);
	cfg.sdramc = IOMEM(AT91SAM9263_BASE_SDRAMC0);
	cfg.ebi_pio_is_peripha = true;
	cfg.matrix_csa = IOMEM(AT91SAM9263_BASE_MATRIX + AT91SAM9263_MATRIX_EBI0CSA);

	usb_a9263_board_config(&cfg);
	at91sam9263_board_init(&cfg);

	barebox_arm_entry(AT91_CHIPSELECT_1, at91_get_sdram_size(cfg.sdramc),
	                  NULL);
}