diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/mach-omap1/clock.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/clock_data.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/devices.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/pm.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/clkt2xxx_dpllcore.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/clkt34xx_dpll3m2.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/io.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap4-common.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pm24xx.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/sdrc.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/sdrc2xxx.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/sleep34xx.S | 2 | ||||
| -rw-r--r-- | arch/arm/plat-omap/common.h | 2 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/sram.h | 105 | ||||
| -rw-r--r-- | arch/arm/plat-omap/sram.c | 1 | ||||
| -rw-r--r-- | arch/arm/plat-omap/sram.h | 109 | 
18 files changed, 131 insertions, 126 deletions
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c index 638f4070fc7..b15d4ee7efa 100644 --- a/arch/arm/mach-omap1/clock.c +++ b/arch/arm/mach-omap1/clock.c @@ -24,11 +24,12 @@  #include <plat/cpu.h>  #include <plat/usb.h>  #include <plat/clock.h> -#include <plat/sram.h>  #include <plat/clkdev_omap.h>  #include <mach/hardware.h> +#include "../plat-omap/sram.h" +  #include "iomap.h"  #include "clock.h"  #include "opp.h" diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c index 9b45f4b0ee2..4337586195a 100644 --- a/arch/arm/mach-omap1/clock_data.c +++ b/arch/arm/mach-omap1/clock_data.c @@ -25,11 +25,12 @@  #include <plat/clock.h>  #include <plat/cpu.h>  #include <plat/clkdev_omap.h> -#include <plat/sram.h>	/* for omap_sram_reprogram_clock() */  #include <mach/hardware.h>  #include <mach/usb.h>   /* for OTG_BASE */ +#include "../plat-omap/sram.h" +  #include "iomap.h"  #include "clock.h" diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c index 22116084c9a..645668e2b1d 100644 --- a/arch/arm/mach-omap1/devices.c +++ b/arch/arm/mach-omap1/devices.c @@ -26,6 +26,8 @@  #include <mach/camera.h>  #include <mach/hardware.h> +#include "../plat-omap/sram.h" +  #include "common.h"  #include "clock.h"  #include "dma.h" diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index bf11784b295..fa8e672a26c 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c @@ -51,7 +51,6 @@  #include <plat/cpu.h>  #include <plat/clock.h> -#include <plat/sram.h>  #include <mach/tc.h>  #include <mach/mux.h>  #include <plat-omap/dma-omap.h> @@ -59,6 +58,8 @@  #include <mach/irqs.h> +#include "../plat-omap/sram.h" +  #include "iomap.h"  #include "pm.h" diff --git a/arch/arm/mach-omap2/clkt2xxx_dpllcore.c b/arch/arm/mach-omap2/clkt2xxx_dpllcore.c index 35076592189..6a02f9bcb0f 100644 --- a/arch/arm/mach-omap2/clkt2xxx_dpllcore.c +++ b/arch/arm/mach-omap2/clkt2xxx_dpllcore.c @@ -26,7 +26,8 @@  #include <linux/io.h>  #include <plat/clock.h> -#include <plat/sram.h> + +#include "../plat-omap/sram.h"  #include "clock.h"  #include "clock2xxx.h" diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c index 0cf63e7c610..cf16655b298 100644 --- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c @@ -34,7 +34,8 @@  #include <linux/slab.h>  #include <plat/clock.h> -#include <plat/sram.h> + +#include "../plat-omap/sram.h"  #include "soc.h"  #include "clock.h" diff --git a/arch/arm/mach-omap2/clkt34xx_dpll3m2.c b/arch/arm/mach-omap2/clkt34xx_dpll3m2.c index aff6ca4fd3a..da38e7e46d6 100644 --- a/arch/arm/mach-omap2/clkt34xx_dpll3m2.c +++ b/arch/arm/mach-omap2/clkt34xx_dpll3m2.c @@ -22,7 +22,8 @@  #include <linux/io.h>  #include <plat/clock.h> -#include <plat/sram.h> + +#include "../plat-omap/sram.h"  #include "clock.h"  #include "clock3xxx.h" diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index f71e51bfbe2..0bc8f66c4b7 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c @@ -25,13 +25,14 @@  #include <asm/tlb.h>  #include <asm/mach/map.h> -#include <plat/sram.h>  #include <plat/serial.h>  #include <plat/omap-pm.h>  #include <plat/omap_hwmod.h>  #include <plat/multi.h>  #include <plat-omap/dma-omap.h> +#include "../plat-omap/sram.h" +  #include "soc.h"  #include "iomap.h"  #include "voltage.h" diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index de89d382f52..05d55fb3f8f 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c @@ -25,11 +25,11 @@  #include <asm/mach/map.h>  #include <asm/memblock.h> -#include <plat/sram.h>  #include <plat/omap-secure.h> -#include "omap-wakeupgen.h" +#include "../plat-omap/sram.h" +#include "omap-wakeupgen.h"  #include "soc.h"  #include "common.h"  #include "mmc.h" diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c index 601a49bc264..94c838e0175 100644 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@ -37,9 +37,10 @@  #include <asm/system_misc.h>  #include <plat/clock.h> -#include <plat/sram.h>  #include <plat-omap/dma-omap.h> +#include "../plat-omap/sram.h" +  #include "common.h"  #include "prm2xxx_3xxx.h"  #include "prm-regbits-24xx.h" diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index bbe15cb1b87..a08e87eafbe 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -35,12 +35,13 @@  #include <asm/suspend.h>  #include <asm/system_misc.h> -#include <plat/sram.h>  #include "clockdomain.h"  #include "powerdomain.h"  #include <plat/prcm.h>  #include <plat-omap/dma-omap.h> +#include "../plat-omap/sram.h" +  #include "common.h"  #include "cm2xxx_3xxx.h"  #include "cm-regbits-34xx.h" diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c index 761a781a99c..c5554372986 100644 --- a/arch/arm/mach-omap2/sdrc.c +++ b/arch/arm/mach-omap2/sdrc.c @@ -25,7 +25,7 @@  #include "common.h"  #include <plat/clock.h> -#include <plat/sram.h> +#include "../plat-omap/sram.h"  #include "sdrc.h" diff --git a/arch/arm/mach-omap2/sdrc2xxx.c b/arch/arm/mach-omap2/sdrc2xxx.c index f7074ff1d08..c131f1ee6ef 100644 --- a/arch/arm/mach-omap2/sdrc2xxx.c +++ b/arch/arm/mach-omap2/sdrc2xxx.c @@ -25,7 +25,8 @@  #include <linux/io.h>  #include <plat/clock.h> -#include <plat/sram.h> + +#include "../plat-omap/sram.h"  #include "soc.h"  #include "iomap.h" diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S index 506987979c1..75afe11207f 100644 --- a/arch/arm/mach-omap2/sleep34xx.S +++ b/arch/arm/mach-omap2/sleep34xx.S @@ -26,7 +26,7 @@  #include <asm/assembler.h> -#include <plat/sram.h> +#include "../plat-omap/sram.h"  #include "omap34xx.h"  #include "iomap.h" diff --git a/arch/arm/plat-omap/common.h b/arch/arm/plat-omap/common.h index e196d130015..8ae0542a37d 100644 --- a/arch/arm/plat-omap/common.h +++ b/arch/arm/plat-omap/common.h @@ -33,6 +33,4 @@ extern void omap_reserve(void);  struct omap_hwmod;  extern int omap_dss_reset(struct omap_hwmod *); -void omap_sram_init(void); -  #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ diff --git a/arch/arm/plat-omap/include/plat/sram.h b/arch/arm/plat-omap/include/plat/sram.h deleted file mode 100644 index 227ae265755..00000000000 --- a/arch/arm/plat-omap/include/plat/sram.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * arch/arm/plat-omap/include/mach/sram.h - * - * Interface for functions that need to be run in internal SRAM - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ARCH_ARM_OMAP_SRAM_H -#define __ARCH_ARM_OMAP_SRAM_H - -#ifndef __ASSEMBLY__ -#include <asm/fncpy.h> - -extern void *omap_sram_push_address(unsigned long size); - -/* Macro to push a function to the internal SRAM, using the fncpy API */ -#define omap_sram_push(funcp, size) ({				\ -	typeof(&(funcp)) _res = NULL;				\ -	void *_sram_address = omap_sram_push_address(size);	\ -	if (_sram_address)					\ -		_res = fncpy(_sram_address, &(funcp), size);	\ -	_res;							\ -}) - -extern void omap_sram_reprogram_clock(u32 dpllctl, u32 ckctl); - -extern void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, -				u32 base_cs, u32 force_unlock); -extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, -				      u32 mem_type); -extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); - -extern u32 omap3_configure_core_dpll( -			u32 m2, u32 unlock_dll, u32 f, u32 inc, -			u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, -			u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, -			u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, -			u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); -extern void omap3_sram_restore_context(void); - -/* Do not use these */ -extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl); -extern unsigned long omap1_sram_reprogram_clock_sz; - -extern void omap24xx_sram_reprogram_clock(u32 ckctl, u32 dpllctl); -extern unsigned long omap24xx_sram_reprogram_clock_sz; - -extern void omap242x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, -						u32 base_cs, u32 force_unlock); -extern unsigned long omap242x_sram_ddr_init_sz; - -extern u32 omap242x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, -						int bypass); -extern unsigned long omap242x_sram_set_prcm_sz; - -extern void omap242x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, -						u32 mem_type); -extern unsigned long omap242x_sram_reprogram_sdrc_sz; - - -extern void omap243x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, -						u32 base_cs, u32 force_unlock); -extern unsigned long omap243x_sram_ddr_init_sz; - -extern u32 omap243x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, -						int bypass); -extern unsigned long omap243x_sram_set_prcm_sz; - -extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, -						u32 mem_type); -extern unsigned long omap243x_sram_reprogram_sdrc_sz; - -extern u32 omap3_sram_configure_core_dpll( -			u32 m2, u32 unlock_dll, u32 f, u32 inc, -			u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, -			u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, -			u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, -			u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); -extern unsigned long omap3_sram_configure_core_dpll_sz; - -#ifdef CONFIG_PM -extern void omap_push_sram_idle(void); -#else -static inline void omap_push_sram_idle(void) {} -#endif /* CONFIG_PM */ - -#endif /* __ASSEMBLY__ */ - -/* - * OMAP2+: define the SRAM PA addresses. - * Used by the SRAM management code and the idle sleep code. - */ -#define OMAP2_SRAM_PA		0x40200000 -#define OMAP3_SRAM_PA           0x40200000 -#ifdef CONFIG_OMAP4_ERRATA_I688 -#define OMAP4_SRAM_PA		0x40304000 -#define OMAP4_SRAM_VA		0xfe404000 -#else -#define OMAP4_SRAM_PA		0x40300000 -#endif -#define AM33XX_SRAM_PA		0x40300000 -#endif diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index 28acb383e7d..dc2d800d959 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c @@ -25,7 +25,6 @@  #include <asm/mach/map.h> -#include <plat/sram.h>  #include <plat/cpu.h>  #include "sram.h" diff --git a/arch/arm/plat-omap/sram.h b/arch/arm/plat-omap/sram.h index 29b43ef97f2..cefda2e0986 100644 --- a/arch/arm/plat-omap/sram.h +++ b/arch/arm/plat-omap/sram.h @@ -1,6 +1,107 @@ -#ifndef __PLAT_OMAP_SRAM_H__ -#define __PLAT_OMAP_SRAM_H__ +/* + * arch/arm/plat-omap/include/mach/sram.h + * + * Interface for functions that need to be run in internal SRAM + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ -extern int __init omap_sram_init(void); +#ifndef __ARCH_ARM_OMAP_SRAM_H +#define __ARCH_ARM_OMAP_SRAM_H -#endif /* __PLAT_OMAP_SRAM_H__ */ +#ifndef __ASSEMBLY__ +#include <asm/fncpy.h> + +int __init omap_sram_init(void); + +extern void *omap_sram_push_address(unsigned long size); + +/* Macro to push a function to the internal SRAM, using the fncpy API */ +#define omap_sram_push(funcp, size) ({				\ +	typeof(&(funcp)) _res = NULL;				\ +	void *_sram_address = omap_sram_push_address(size);	\ +	if (_sram_address)					\ +		_res = fncpy(_sram_address, &(funcp), size);	\ +	_res;							\ +}) + +extern void omap_sram_reprogram_clock(u32 dpllctl, u32 ckctl); + +extern void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, +				u32 base_cs, u32 force_unlock); +extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, +				      u32 mem_type); +extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); + +extern u32 omap3_configure_core_dpll( +			u32 m2, u32 unlock_dll, u32 f, u32 inc, +			u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, +			u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, +			u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, +			u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); +extern void omap3_sram_restore_context(void); + +/* Do not use these */ +extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl); +extern unsigned long omap1_sram_reprogram_clock_sz; + +extern void omap24xx_sram_reprogram_clock(u32 ckctl, u32 dpllctl); +extern unsigned long omap24xx_sram_reprogram_clock_sz; + +extern void omap242x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, +						u32 base_cs, u32 force_unlock); +extern unsigned long omap242x_sram_ddr_init_sz; + +extern u32 omap242x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, +						int bypass); +extern unsigned long omap242x_sram_set_prcm_sz; + +extern void omap242x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, +						u32 mem_type); +extern unsigned long omap242x_sram_reprogram_sdrc_sz; + + +extern void omap243x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl, +						u32 base_cs, u32 force_unlock); +extern unsigned long omap243x_sram_ddr_init_sz; + +extern u32 omap243x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, +						int bypass); +extern unsigned long omap243x_sram_set_prcm_sz; + +extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, +						u32 mem_type); +extern unsigned long omap243x_sram_reprogram_sdrc_sz; + +extern u32 omap3_sram_configure_core_dpll( +			u32 m2, u32 unlock_dll, u32 f, u32 inc, +			u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, +			u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, +			u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, +			u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); +extern unsigned long omap3_sram_configure_core_dpll_sz; + +#ifdef CONFIG_PM +extern void omap_push_sram_idle(void); +#else +static inline void omap_push_sram_idle(void) {} +#endif /* CONFIG_PM */ + +#endif /* __ASSEMBLY__ */ + +/* + * OMAP2+: define the SRAM PA addresses. + * Used by the SRAM management code and the idle sleep code. + */ +#define OMAP2_SRAM_PA		0x40200000 +#define OMAP3_SRAM_PA           0x40200000 +#ifdef CONFIG_OMAP4_ERRATA_I688 +#define OMAP4_SRAM_PA		0x40304000 +#define OMAP4_SRAM_VA		0xfe404000 +#else +#define OMAP4_SRAM_PA		0x40300000 +#endif +#define AM33XX_SRAM_PA		0x40300000 +#endif  |