diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boards/archosg9/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/beagle/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/beaglebone/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/omap343xdsp/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/omap3evm/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/panda/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/pcm049/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/pcm051/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/phycard-a-l1/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/boards/phycard-a-xl2/lowlevel.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/am33xx-generic.h | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/am33xx-silicon.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/generic.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap3-generic.h | 21 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap4-generic.h | 21 |
15 files changed, 84 insertions, 14 deletions
diff --git a/arch/arm/boards/archosg9/lowlevel.c b/arch/arm/boards/archosg9/lowlevel.c index 8be345b531..6c939928d6 100644 --- a/arch/arm/boards/archosg9/lowlevel.c +++ b/arch/arm/boards/archosg9/lowlevel.c @@ -17,6 +17,7 @@ #include <mach/generic.h> #include <mach/omap4-mux.h> #include <mach/omap4-silicon.h> +#include <mach/omap4-generic.h> #include <mach/omap4-clock.h> #include <mach/syslib.h> #include <asm/barebox-arm.h> @@ -67,7 +68,7 @@ static noinline void archosg9_init_lowlevel(void) void __naked __bare_init barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap4_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/beagle/lowlevel.c b/arch/arm/boards/beagle/lowlevel.c index ef7e3c0a3e..ad46386d59 100644 --- a/arch/arm/boards/beagle/lowlevel.c +++ b/arch/arm/boards/beagle/lowlevel.c @@ -6,6 +6,7 @@ #include <mach/control.h> #include <mach/generic.h> #include <mach/omap3-silicon.h> +#include <mach/omap3-generic.h> #include <mach/omap3-mux.h> #include <mach/sdrc.h> #include <mach/syslib.h> @@ -182,7 +183,7 @@ static int beagle_board_init(void) void __naked __bare_init barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap3_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/beaglebone/lowlevel.c b/arch/arm/boards/beaglebone/lowlevel.c index 2f3b3df9c3..be775a884d 100644 --- a/arch/arm/boards/beaglebone/lowlevel.c +++ b/arch/arm/boards/beaglebone/lowlevel.c @@ -10,6 +10,7 @@ #include <mach/sys_info.h> #include <mach/syslib.h> #include <mach/am33xx-mux.h> +#include <mach/am33xx-generic.h> #include <mach/wdt.h> /* UART Defines */ @@ -251,7 +252,7 @@ static int beaglebone_board_init(void) void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + am33xx_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/omap343xdsp/lowlevel.c b/arch/arm/boards/omap343xdsp/lowlevel.c index 61b7f99a17..fcb9571506 100644 --- a/arch/arm/boards/omap343xdsp/lowlevel.c +++ b/arch/arm/boards/omap343xdsp/lowlevel.c @@ -10,6 +10,7 @@ #include <mach/control.h> #include <mach/syslib.h> #include <mach/omap3-silicon.h> +#include <mach/omap3-generic.h> #include <mach/sys_info.h> /** @@ -549,7 +550,7 @@ static int sdp343x_board_init(void) void __naked __bare_init barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap3_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/omap3evm/lowlevel.c b/arch/arm/boards/omap3evm/lowlevel.c index ea928357b4..98f1476bb5 100644 --- a/arch/arm/boards/omap3evm/lowlevel.c +++ b/arch/arm/boards/omap3evm/lowlevel.c @@ -9,6 +9,7 @@ #include <mach/control.h> #include <mach/syslib.h> #include <mach/omap3-silicon.h> +#include <mach/omap3-generic.h> #include <mach/sys_info.h> @@ -162,7 +163,7 @@ static int omap3_evm_board_init(void) void __naked __bare_init barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap3_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/panda/lowlevel.c b/arch/arm/boards/panda/lowlevel.c index a21d55928c..205aaaf817 100644 --- a/arch/arm/boards/panda/lowlevel.c +++ b/arch/arm/boards/panda/lowlevel.c @@ -23,6 +23,7 @@ #include <mach/generic.h> #include <mach/omap4-mux.h> #include <mach/omap4-silicon.h> +#include <mach/omap4-generic.h> #include <mach/omap4-clock.h> #include <mach/syslib.h> #include <asm/barebox-arm.h> @@ -80,7 +81,7 @@ static void noinline panda_init_lowlevel(void) void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap4_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/pcm049/lowlevel.c b/arch/arm/boards/pcm049/lowlevel.c index 07cc1d7931..4f39600436 100644 --- a/arch/arm/boards/pcm049/lowlevel.c +++ b/arch/arm/boards/pcm049/lowlevel.c @@ -23,6 +23,7 @@ #include <mach/generic.h> #include <mach/omap4-mux.h> #include <mach/omap4-silicon.h> +#include <mach/omap4-generic.h> #include <mach/omap4-clock.h> #include <mach/syslib.h> #include <asm/barebox-arm.h> @@ -110,7 +111,7 @@ static void noinline pcm049_init_lowlevel(void) void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap4_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/pcm051/lowlevel.c b/arch/arm/boards/pcm051/lowlevel.c index dd06c6a1c3..142a35ff5d 100644 --- a/arch/arm/boards/pcm051/lowlevel.c +++ b/arch/arm/boards/pcm051/lowlevel.c @@ -11,6 +11,7 @@ #include <mach/sys_info.h> #include <mach/syslib.h> #include <mach/am33xx-mux.h> +#include <mach/am33xx-generic.h> #include <mach/wdt.h> /* UART Defines */ @@ -210,7 +211,7 @@ static int pcm051_board_init(void) void __naked __bare_init barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + am33xx_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/phycard-a-l1/lowlevel.c b/arch/arm/boards/phycard-a-l1/lowlevel.c index 78550408b7..353b58fad6 100644 --- a/arch/arm/boards/phycard-a-l1/lowlevel.c +++ b/arch/arm/boards/phycard-a-l1/lowlevel.c @@ -10,6 +10,7 @@ #include <mach/control.h> #include <mach/syslib.h> #include <mach/omap3-silicon.h> +#include <mach/omap3-generic.h> #include <mach/sys_info.h> /* Slower full frequency range default timings for x32 operation */ @@ -253,7 +254,7 @@ static int pcaal1_board_init(void) void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap3_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/boards/phycard-a-xl2/lowlevel.c b/arch/arm/boards/phycard-a-xl2/lowlevel.c index 9a794b7272..1ddf8a07ed 100644 --- a/arch/arm/boards/phycard-a-xl2/lowlevel.c +++ b/arch/arm/boards/phycard-a-xl2/lowlevel.c @@ -23,6 +23,7 @@ #include <mach/generic.h> #include <mach/omap4-mux.h> #include <mach/omap4-silicon.h> +#include <mach/omap4-generic.h> #include <mach/omap4-clock.h> #include <mach/syslib.h> #include <asm/barebox-arm.h> @@ -90,7 +91,7 @@ static noinline void pcaaxl2_init_lowlevel(void) void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { - omap_save_bootinfo(); + omap4_save_bootinfo(data); arm_cpu_lowlevel_init(); diff --git a/arch/arm/mach-omap/include/mach/am33xx-generic.h b/arch/arm/mach-omap/include/mach/am33xx-generic.h index ba69caf313..d9d2efbeac 100644 --- a/arch/arm/mach-omap/include/mach/am33xx-generic.h +++ b/arch/arm/mach-omap/include/mach/am33xx-generic.h @@ -1,6 +1,23 @@ #ifndef __MACH_AM33XX_GENERIC_H #define __MACH_AM33XX_GENERIC_H +#include <mach/generic.h> +#include <mach/am33xx-silicon.h> + int am33xx_register_ethaddr(int eth_id, int mac_id); +static inline void am33xx_save_bootinfo(uint32_t *info) +{ + unsigned long i = (unsigned long)info; + + if (i & 0x3) + return; + if (i < AM33XX_SRAM0_START) + return; + if (i > AM33XX_SRAM0_START + AM33XX_SRAM0_SIZE) + return; + + omap_save_bootinfo(info); +} + #endif /* __MACH_AM33XX_GENERIC_H */ diff --git a/arch/arm/mach-omap/include/mach/am33xx-silicon.h b/arch/arm/mach-omap/include/mach/am33xx-silicon.h index bd55da4403..e8ecd1ecfd 100644 --- a/arch/arm/mach-omap/include/mach/am33xx-silicon.h +++ b/arch/arm/mach-omap/include/mach/am33xx-silicon.h @@ -17,6 +17,8 @@ #ifndef __ASM_ARCH_AM33XX_H #define __ASM_ARCH_AM33XX_H +#include <sizes.h> + /** AM335x Internal Bus Base addresses */ #define AM33XX_L4_WKUP_BASE 0x44C00000 #define AM33XX_L4_PER_BASE 0x48000000 @@ -115,11 +117,10 @@ #define AM33XX_VTP1_CTRL_REG 0x48140E10 /* OCMC */ -#define AM33XX_SRAM0_SIZE (0x1B400) /* 109 KB */ +#define AM33XX_SRAM0_START 0x402f0400 +#define AM33XX_SRAM0_SIZE (SZ_128K - SZ_1K) #define AM33XX_SRAM_GPMC_STACK_SIZE (0x40) -#define AM33XX_LOW_LEVEL_SRAM_STACK (AM33XX_SRAM0_START + AM33XX_SRAM0_SIZE - 4) - /* DDR offsets */ #define AM33XX_DDR_PHY_BASE_ADDR 0x44E12000 #define AM33XX_DDR_IO_CTRL 0x44E10E04 diff --git a/arch/arm/mach-omap/include/mach/generic.h b/arch/arm/mach-omap/include/mach/generic.h index ee711ee619..ece8c2baea 100644 --- a/arch/arm/mach-omap/include/mach/generic.h +++ b/arch/arm/mach-omap/include/mach/generic.h @@ -55,7 +55,7 @@ static inline int omap_set_mmc_dev(const char *mmcdev) #endif extern uint32_t omap_bootinfo[3]; -void omap_save_bootinfo(void); +void omap_save_bootinfo(void *data); void omap_set_bootmmc_devname(const char *devname); const char *omap_get_bootmmc_devname(void); diff --git a/arch/arm/mach-omap/include/mach/omap3-generic.h b/arch/arm/mach-omap/include/mach/omap3-generic.h new file mode 100644 index 0000000000..7f0da4e331 --- /dev/null +++ b/arch/arm/mach-omap/include/mach/omap3-generic.h @@ -0,0 +1,21 @@ +#ifndef __MACH_OMAP3_GENERIC_H +#define __MACH_OMAP3_GENERIC_H + +#include <mach/generic.h> +#include <mach/omap3-silicon.h> + +static inline void omap3_save_bootinfo(uint32_t *info) +{ + unsigned long i = (unsigned long)info; + + if (i & 0x3) + return; + if (i < OMAP3_SRAM_BASE) + return; + if (i > OMAP3_SRAM_BASE + SZ_64K) + return; + + omap_save_bootinfo(info); +} + +#endif /* __MACH_OMAP3_GENERIC_H */ diff --git a/arch/arm/mach-omap/include/mach/omap4-generic.h b/arch/arm/mach-omap/include/mach/omap4-generic.h new file mode 100644 index 0000000000..44f5a12788 --- /dev/null +++ b/arch/arm/mach-omap/include/mach/omap4-generic.h @@ -0,0 +1,21 @@ +#ifndef __MACH_OMAP4_GENERIC_H +#define __MACH_OMAP4_GENERIC_H + +#include <mach/generic.h> +#include <mach/omap4-silicon.h> + +static inline void omap4_save_bootinfo(uint32_t *info) +{ + unsigned long i = (unsigned long)info; + + if (i & 0x3) + return; + if (i < OMAP44XX_SRAM_BASE) + return; + if (i > OMAP44XX_SRAM_BASE + SZ_64K) + return; + + omap_save_bootinfo(info); +} + +#endif /* __MACH_OMAP4_GENERIC_H */ |