select ARM_PATCH_PHYS_VIRT
as with ARM_PATCH_PHYS_VIRT you can patch boot_params at runtime or any recent
bootloader will provide a valid atags pointer in r2
as point out by Russell on AT91 we never use XIP
so se do not need PLAT_PHYS_OFFSET
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
41 files changed:
select ARCH_REQUIRE_GPIOLIB
select HAVE_CLK
select CLKDEV_LOOKUP
select ARCH_REQUIRE_GPIOLIB
select HAVE_CLK
select CLKDEV_LOOKUP
+ select ARM_PATCH_PHYS_VIRT if MMU
help
This enables support for systems based on the Atmel AT91RM9200,
AT91SAM9 and AT91CAP9 processors.
help
This enables support for systems based on the Atmel AT91RM9200,
AT91SAM9 and AT91CAP9 processors.
MACHINE_START(ONEARM, "Ajeco 1ARM single board computer")
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
MACHINE_START(ONEARM, "Ajeco 1ARM single board computer")
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = onearm_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = onearm_init_early,
MACHINE_START(AFEB9260, "Custom afeb9260 board")
/* Maintainer: Sergey Lapin <slapin@ossfans.org> */
MACHINE_START(AFEB9260, "Custom afeb9260 board")
/* Maintainer: Sergey Lapin <slapin@ossfans.org> */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = afeb9260_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = afeb9260_init_early,
MACHINE_START(AT572D940HFEB, "Atmel AT91D940HF-EB")
/* Maintainer: Atmel <costa.antonior@gmail.com> */
MACHINE_START(AT572D940HFEB, "Atmel AT91D940HF-EB")
/* Maintainer: Atmel <costa.antonior@gmail.com> */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at572d940hf_map_io,
.init_early = eb_init_early,
.timer = &at91sam926x_timer,
.map_io = at572d940hf_map_io,
.init_early = eb_init_early,
MACHINE_START(CAM60, "KwikByte CAM60")
/* Maintainer: KwikByte */
MACHINE_START(CAM60, "KwikByte CAM60")
/* Maintainer: KwikByte */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = cam60_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = cam60_init_early,
MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK")
/* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */
MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK")
/* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91cap9_map_io,
.init_early = cap9adk_init_early,
.timer = &at91sam926x_timer,
.map_io = at91cap9_map_io,
.init_early = cap9adk_init_early,
MACHINE_START(CARMEVA, "Carmeva")
/* Maintainer: Conitec Datasystems */
MACHINE_START(CARMEVA, "Carmeva")
/* Maintainer: Conitec Datasystems */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = carmeva_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = carmeva_init_early,
MACHINE_START(CPUAT9G20, "Eukrea CPU9G20")
#endif
/* Maintainer: Eric Benard - EUKREA Electromatique */
MACHINE_START(CPUAT9G20, "Eukrea CPU9G20")
#endif
/* Maintainer: Eric Benard - EUKREA Electromatique */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = cpu9krea_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = cpu9krea_init_early,
MACHINE_START(CPUAT91, "Eukrea")
/* Maintainer: Eric Benard - EUKREA Electromatique */
MACHINE_START(CPUAT91, "Eukrea")
/* Maintainer: Eric Benard - EUKREA Electromatique */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = cpuat91_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = cpuat91_init_early,
MACHINE_START(CSB337, "Cogent CSB337")
/* Maintainer: Bill Gatliff */
MACHINE_START(CSB337, "Cogent CSB337")
/* Maintainer: Bill Gatliff */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = csb337_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = csb337_init_early,
MACHINE_START(CSB637, "Cogent CSB637")
/* Maintainer: Bill Gatliff */
MACHINE_START(CSB637, "Cogent CSB637")
/* Maintainer: Bill Gatliff */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = csb637_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = csb637_init_early,
}
MACHINE_START(ATEB9200, "Embest ATEB9200")
}
MACHINE_START(ATEB9200, "Embest ATEB9200")
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = eb9200_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = eb9200_init_early,
MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
/* Maintainer: emQbit.com */
MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
/* Maintainer: emQbit.com */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = ecb_at91init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = ecb_at91init_early,
MACHINE_START(ECO920, "eco920")
/* Maintainer: Sascha Hauer */
MACHINE_START(ECO920, "eco920")
/* Maintainer: Sascha Hauer */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = eco920_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = eco920_init_early,
MACHINE_START(FLEXIBITY, "Flexibity Connect")
/* Maintainer: Maxim Osipov */
MACHINE_START(FLEXIBITY, "Flexibity Connect")
/* Maintainer: Maxim Osipov */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = flexibity_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = flexibity_init_early,
MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20")
/* Maintainer: Sergio Tanzilli */
MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20")
/* Maintainer: Sergio Tanzilli */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = foxg20_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = foxg20_init_early,
}
MACHINE_START(GSIA18S, "GS_IA18_S")
}
MACHINE_START(GSIA18S, "GS_IA18_S")
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = gsia18s_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = gsia18s_init_early,
MACHINE_START(KAFA, "Sperry-Sun KAFA")
/* Maintainer: Sergei Sharonov */
MACHINE_START(KAFA, "Sperry-Sun KAFA")
/* Maintainer: Sergei Sharonov */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = kafa_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = kafa_init_early,
MACHINE_START(KB9200, "KB920x")
/* Maintainer: KwikByte, Inc. */
MACHINE_START(KB9200, "KB920x")
/* Maintainer: KwikByte, Inc. */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = kb9202_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = kb9202_init_early,
MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926")
/* Maintainer: ADENEO */
MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926")
/* Maintainer: ADENEO */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = neocore926_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = neocore926_init_early,
MACHINE_START(PCONTROL_G20, "PControl G20")
/* Maintainer: pgsellmann@portner-elektronik.at */
MACHINE_START(PCONTROL_G20, "PControl G20")
/* Maintainer: pgsellmann@portner-elektronik.at */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = pcontrol_g20_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = pcontrol_g20_init_early,
MACHINE_START(PICOTUX2XX, "picotux 200")
/* Maintainer: Kleinhenz Elektronik GmbH */
MACHINE_START(PICOTUX2XX, "picotux 200")
/* Maintainer: Kleinhenz Elektronik GmbH */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = picotux200_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = picotux200_init_early,
MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
/* Maintainer: calao-systems */
MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
/* Maintainer: calao-systems */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
/* Maintainer: SAN People/Atmel */
MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
/* Maintainer: SAN People/Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = dk_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = dk_init_early,
MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
/* Maintainer: SAN People/Atmel */
MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
/* Maintainer: SAN People/Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = ek_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = ek_init_early,
MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260")
/* Maintainer: Olimex */
MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260")
/* Maintainer: Olimex */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK")
#endif
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK")
#endif
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9261_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9261_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9g45_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9g45_map_io,
.init_early = ek_init_early,
MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
/* Maintainer: Atmel */
MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
/* Maintainer: Atmel */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9rl_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9rl_map_io,
.init_early = ek_init_early,
}
MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module")
}
MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module")
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = snapper9260_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = snapper9260_init_early,
MACHINE_START(PORTUXG20, "taskit PortuxG20")
/* Maintainer: taskit GmbH */
MACHINE_START(PORTUXG20, "taskit PortuxG20")
/* Maintainer: taskit GmbH */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = portuxg20_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = portuxg20_init_early,
MACHINE_START(STAMP9G20, "taskit Stamp9G20")
/* Maintainer: taskit GmbH */
MACHINE_START(STAMP9G20, "taskit Stamp9G20")
/* Maintainer: taskit GmbH */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = stamp9g20evb_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = stamp9g20evb_init_early,
MACHINE_START(USB_A9260, "CALAO USB_A9260")
/* Maintainer: calao-systems */
MACHINE_START(USB_A9260, "CALAO USB_A9260")
/* Maintainer: calao-systems */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9260_map_io,
.init_early = ek_init_early,
MACHINE_START(USB_A9263, "CALAO USB_A9263")
/* Maintainer: calao-systems */
MACHINE_START(USB_A9263, "CALAO USB_A9263")
/* Maintainer: calao-systems */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = ek_init_early,
.timer = &at91sam926x_timer,
.map_io = at91sam9263_map_io,
.init_early = ek_init_early,
MACHINE_START(YL9200, "uCdragon YL-9200")
/* Maintainer: S.Birtles */
MACHINE_START(YL9200, "uCdragon YL-9200")
/* Maintainer: S.Birtles */
- .boot_params = AT91_SDRAM_BASE + 0x100,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = yl9200_init_early,
.timer = &at91rm9200_timer,
.map_io = at91rm9200_map_io,
.init_early = yl9200_init_early,
#define AT91CAP9_UDPHS_FIFO 0x00600000 /* USB High Speed Device Port */
#define AT91CAP9_UHP_BASE 0x00700000 /* USB Host controller */
#define AT91CAP9_UDPHS_FIFO 0x00600000 /* USB High Speed Device Port */
#define AT91CAP9_UHP_BASE 0x00700000 /* USB Host controller */
-#define CONFIG_DRAM_BASE AT91_CHIPSELECT_6
-
#define AT91SAM9G45_EHCI_BASE 0x00800000 /* USB Host controller (EHCI) */
#define AT91SAM9G45_VDEC_BASE 0x00900000 /* Video Decoder Controller */
#define AT91SAM9G45_EHCI_BASE 0x00800000 /* USB Host controller (EHCI) */
#define AT91SAM9G45_VDEC_BASE 0x00900000 /* Video Decoder Controller */
-#define CONFIG_DRAM_BASE AT91_CHIPSELECT_6
-
#define CONSISTENT_DMA_SIZE SZ_4M
/*
#define CONSISTENT_DMA_SIZE SZ_4M
/*
#define AT91_CHIPSELECT_6 0x70000000
#define AT91_CHIPSELECT_7 0x80000000
#define AT91_CHIPSELECT_6 0x70000000
#define AT91_CHIPSELECT_7 0x80000000
-/* SDRAM */
-#ifdef CONFIG_DRAM_BASE
-#define AT91_SDRAM_BASE CONFIG_DRAM_BASE
-#else
-#define AT91_SDRAM_BASE AT91_CHIPSELECT_1
-#endif
-
/* Clocks */
#define AT91_SLOW_CLOCK 32768 /* slow clock */
/* Clocks */
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#include <mach/hardware.h>
#include <mach/hardware.h>
-#define PLAT_PHYS_OFFSET (AT91_SDRAM_BASE)
-