Commit 6a2a2b85 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull arm-soc bug fixes from Olof Johansson:

 - A set of OMAP fixes, about half of them PM/clock related, the rest
   scattered over the platform code but all small and targeted to real
   bugs.
 - Two small i.MX fixes for SSI device clock setup.

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: clk-imx35: Fix SSI clock registration
  ARM: clk-imx25: Fix SSI clock registration
  ARM: OMAP4: Fix array size for irq_target_cpu
  ARM: OMAP4: hwmod data: temporarily comment out data for the sl2if IP block
  ARM: OMAP: hwmod code: Disable module when hwmod enable fails
  ARM: OMAP3: hwmod data: fix iva2 reset info
  ARM: OMAP3xxx: clockdomain: fix software supervised wakeup/sleep
  ARM: OMAP2+: am33xx: Fix the timer fck clock naming convention
  ARM: OMAP: Config fix for omap3-touchbook board
  ARM: OMAP: sram: skip the first 16K on OMAP3 HS
  ARM: OMAP: sram: fix OMAP4 errata handling
  ARM: OMAP: timer: obey the !CONFIG_OMAP_32K_TIMER
parents 5e88083f 2bc733e8
...@@ -222,10 +222,8 @@ int __init mx25_clocks_init(void) ...@@ -222,10 +222,8 @@ int __init mx25_clocks_init(void)
clk_register_clkdev(clk[lcdc_ipg], "ipg", "imx-fb.0"); clk_register_clkdev(clk[lcdc_ipg], "ipg", "imx-fb.0");
clk_register_clkdev(clk[lcdc_ahb], "ahb", "imx-fb.0"); clk_register_clkdev(clk[lcdc_ahb], "ahb", "imx-fb.0");
clk_register_clkdev(clk[wdt_ipg], NULL, "imx2-wdt.0"); clk_register_clkdev(clk[wdt_ipg], NULL, "imx2-wdt.0");
clk_register_clkdev(clk[ssi1_ipg_per], "per", "imx-ssi.0"); clk_register_clkdev(clk[ssi1_ipg], NULL, "imx-ssi.0");
clk_register_clkdev(clk[ssi1_ipg], "ipg", "imx-ssi.0"); clk_register_clkdev(clk[ssi2_ipg], NULL, "imx-ssi.1");
clk_register_clkdev(clk[ssi2_ipg_per], "per", "imx-ssi.1");
clk_register_clkdev(clk[ssi2_ipg], "ipg", "imx-ssi.1");
clk_register_clkdev(clk[esdhc1_ipg_per], "per", "sdhci-esdhc-imx25.0"); clk_register_clkdev(clk[esdhc1_ipg_per], "per", "sdhci-esdhc-imx25.0");
clk_register_clkdev(clk[esdhc1_ipg], "ipg", "sdhci-esdhc-imx25.0"); clk_register_clkdev(clk[esdhc1_ipg], "ipg", "sdhci-esdhc-imx25.0");
clk_register_clkdev(clk[esdhc1_ahb], "ahb", "sdhci-esdhc-imx25.0"); clk_register_clkdev(clk[esdhc1_ahb], "ahb", "sdhci-esdhc-imx25.0");
......
...@@ -230,10 +230,8 @@ int __init mx35_clocks_init() ...@@ -230,10 +230,8 @@ int __init mx35_clocks_init()
clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb"); clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1"); clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1");
clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma"); clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma");
clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.0"); clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0");
clk_register_clkdev(clk[ssi1_div_post], "per", "imx-ssi.0"); clk_register_clkdev(clk[ssi2_gate], NULL, "imx-ssi.1");
clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.1");
clk_register_clkdev(clk[ssi2_div_post], "per", "imx-ssi.1");
/* i.mx35 has the i.mx21 type uart */ /* i.mx35 has the i.mx21 type uart */
clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0"); clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");
clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0"); clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0");
......
...@@ -232,10 +232,11 @@ config MACH_OMAP3_PANDORA ...@@ -232,10 +232,11 @@ config MACH_OMAP3_PANDORA
select OMAP_PACKAGE_CBB select OMAP_PACKAGE_CBB
select REGULATOR_FIXED_VOLTAGE if REGULATOR select REGULATOR_FIXED_VOLTAGE if REGULATOR
config MACH_OMAP3_TOUCHBOOK config MACH_TOUCHBOOK
bool "OMAP3 Touch Book" bool "OMAP3 Touch Book"
depends on ARCH_OMAP3 depends on ARCH_OMAP3
default y default y
select OMAP_PACKAGE_CBB
config MACH_OMAP_3430SDP config MACH_OMAP_3430SDP
bool "OMAP 3430 SDP board" bool "OMAP 3430 SDP board"
......
...@@ -255,7 +255,7 @@ obj-$(CONFIG_MACH_OMAP_3630SDP) += board-zoom-display.o ...@@ -255,7 +255,7 @@ obj-$(CONFIG_MACH_OMAP_3630SDP) += board-zoom-display.o
obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o
obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o
obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o
obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o obj-$(CONFIG_MACH_TOUCHBOOK) += board-omap3touchbook.o
obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o
obj-$(CONFIG_MACH_OMAP4_PANDA) += board-omap4panda.o obj-$(CONFIG_MACH_OMAP4_PANDA) += board-omap4panda.o
......
...@@ -1036,13 +1036,13 @@ static struct omap_clk am33xx_clks[] = { ...@@ -1036,13 +1036,13 @@ static struct omap_clk am33xx_clks[] = {
CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX),
CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX),
CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX),
CLK(NULL, "gpt1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX),
CLK(NULL, "gpt2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX),
CLK(NULL, "gpt3_fck", &timer3_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX),
CLK(NULL, "gpt4_fck", &timer4_fck, CK_AM33XX), CLK(NULL, "timer4_fck", &timer4_fck, CK_AM33XX),
CLK(NULL, "gpt5_fck", &timer5_fck, CK_AM33XX), CLK(NULL, "timer5_fck", &timer5_fck, CK_AM33XX),
CLK(NULL, "gpt6_fck", &timer6_fck, CK_AM33XX), CLK(NULL, "timer6_fck", &timer6_fck, CK_AM33XX),
CLK(NULL, "gpt7_fck", &timer7_fck, CK_AM33XX), CLK(NULL, "timer7_fck", &timer7_fck, CK_AM33XX),
CLK(NULL, "usbotg_fck", &usbotg_fck, CK_AM33XX), CLK(NULL, "usbotg_fck", &usbotg_fck, CK_AM33XX),
CLK(NULL, "ieee5000_fck", &ieee5000_fck, CK_AM33XX), CLK(NULL, "ieee5000_fck", &ieee5000_fck, CK_AM33XX),
CLK(NULL, "wdt1_fck", &wdt1_fck, CK_AM33XX), CLK(NULL, "wdt1_fck", &wdt1_fck, CK_AM33XX),
......
...@@ -241,6 +241,52 @@ static void omap3_clkdm_deny_idle(struct clockdomain *clkdm) ...@@ -241,6 +241,52 @@ static void omap3_clkdm_deny_idle(struct clockdomain *clkdm)
_clkdm_del_autodeps(clkdm); _clkdm_del_autodeps(clkdm);
} }
static int omap3xxx_clkdm_clk_enable(struct clockdomain *clkdm)
{
bool hwsup = false;
if (!clkdm->clktrctrl_mask)
return 0;
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
clkdm->clktrctrl_mask);
if (hwsup) {
/* Disable HW transitions when we are changing deps */
_disable_hwsup(clkdm);
_clkdm_add_autodeps(clkdm);
_enable_hwsup(clkdm);
} else {
if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)
omap3_clkdm_wakeup(clkdm);
}
return 0;
}
static int omap3xxx_clkdm_clk_disable(struct clockdomain *clkdm)
{
bool hwsup = false;
if (!clkdm->clktrctrl_mask)
return 0;
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
clkdm->clktrctrl_mask);
if (hwsup) {
/* Disable HW transitions when we are changing deps */
_disable_hwsup(clkdm);
_clkdm_del_autodeps(clkdm);
_enable_hwsup(clkdm);
} else {
if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP)
omap3_clkdm_sleep(clkdm);
}
return 0;
}
struct clkdm_ops omap2_clkdm_operations = { struct clkdm_ops omap2_clkdm_operations = {
.clkdm_add_wkdep = omap2_clkdm_add_wkdep, .clkdm_add_wkdep = omap2_clkdm_add_wkdep,
.clkdm_del_wkdep = omap2_clkdm_del_wkdep, .clkdm_del_wkdep = omap2_clkdm_del_wkdep,
...@@ -267,6 +313,6 @@ struct clkdm_ops omap3_clkdm_operations = { ...@@ -267,6 +313,6 @@ struct clkdm_ops omap3_clkdm_operations = {
.clkdm_wakeup = omap3_clkdm_wakeup, .clkdm_wakeup = omap3_clkdm_wakeup,
.clkdm_allow_idle = omap3_clkdm_allow_idle, .clkdm_allow_idle = omap3_clkdm_allow_idle,
.clkdm_deny_idle = omap3_clkdm_deny_idle, .clkdm_deny_idle = omap3_clkdm_deny_idle,
.clkdm_clk_enable = omap2_clkdm_clk_enable, .clkdm_clk_enable = omap3xxx_clkdm_clk_enable,
.clkdm_clk_disable = omap2_clkdm_clk_disable, .clkdm_clk_disable = omap3xxx_clkdm_clk_disable,
}; };
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
#define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0) #define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0)
/* CM_IDLEST_IVA2 */ /* CM_IDLEST_IVA2 */
#define OMAP3430_ST_IVA2_SHIFT 0
#define OMAP3430_ST_IVA2_MASK (1 << 0) #define OMAP3430_ST_IVA2_MASK (1 << 0)
/* CM_IDLEST_PLL_IVA2 */ /* CM_IDLEST_PLL_IVA2 */
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
static void __iomem *wakeupgen_base; static void __iomem *wakeupgen_base;
static void __iomem *sar_base; static void __iomem *sar_base;
static DEFINE_SPINLOCK(wakeupgen_lock); static DEFINE_SPINLOCK(wakeupgen_lock);
static unsigned int irq_target_cpu[NR_IRQS]; static unsigned int irq_target_cpu[MAX_IRQS];
static unsigned int irq_banks = MAX_NR_REG_BANKS; static unsigned int irq_banks = MAX_NR_REG_BANKS;
static unsigned int max_irqs = MAX_IRQS; static unsigned int max_irqs = MAX_IRQS;
static unsigned int omap_secure_apis; static unsigned int omap_secure_apis;
......
...@@ -1889,6 +1889,7 @@ static int _enable(struct omap_hwmod *oh) ...@@ -1889,6 +1889,7 @@ static int _enable(struct omap_hwmod *oh)
_enable_sysc(oh); _enable_sysc(oh);
} }
} else { } else {
_omap4_disable_module(oh);
_disable_clocks(oh); _disable_clocks(oh);
pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n", pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
oh->name, r); oh->name, r);
......
...@@ -100,9 +100,9 @@ static struct omap_hwmod omap3xxx_mpu_hwmod = { ...@@ -100,9 +100,9 @@ static struct omap_hwmod omap3xxx_mpu_hwmod = {
/* IVA2 (IVA2) */ /* IVA2 (IVA2) */
static struct omap_hwmod_rst_info omap3xxx_iva_resets[] = { static struct omap_hwmod_rst_info omap3xxx_iva_resets[] = {
{ .name = "logic", .rst_shift = 0 }, { .name = "logic", .rst_shift = 0, .st_shift = 8 },
{ .name = "seq0", .rst_shift = 1 }, { .name = "seq0", .rst_shift = 1, .st_shift = 9 },
{ .name = "seq1", .rst_shift = 2 }, { .name = "seq1", .rst_shift = 2, .st_shift = 10 },
}; };
static struct omap_hwmod omap3xxx_iva_hwmod = { static struct omap_hwmod omap3xxx_iva_hwmod = {
...@@ -112,6 +112,15 @@ static struct omap_hwmod omap3xxx_iva_hwmod = { ...@@ -112,6 +112,15 @@ static struct omap_hwmod omap3xxx_iva_hwmod = {
.rst_lines = omap3xxx_iva_resets, .rst_lines = omap3xxx_iva_resets,
.rst_lines_cnt = ARRAY_SIZE(omap3xxx_iva_resets), .rst_lines_cnt = ARRAY_SIZE(omap3xxx_iva_resets),
.main_clk = "iva2_ck", .main_clk = "iva2_ck",
.prcm = {
.omap2 = {
.module_offs = OMAP3430_IVA2_MOD,
.prcm_reg_id = 1,
.module_bit = OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT,
.idlest_reg_id = 1,
.idlest_idle_bit = OMAP3430_ST_IVA2_SHIFT,
}
},
}; };
/* timer class */ /* timer class */
......
...@@ -4210,7 +4210,7 @@ static struct omap_hwmod_ocp_if omap44xx_dsp__iva = { ...@@ -4210,7 +4210,7 @@ static struct omap_hwmod_ocp_if omap44xx_dsp__iva = {
}; };
/* dsp -> sl2if */ /* dsp -> sl2if */
static struct omap_hwmod_ocp_if omap44xx_dsp__sl2if = { static struct omap_hwmod_ocp_if __maybe_unused omap44xx_dsp__sl2if = {
.master = &omap44xx_dsp_hwmod, .master = &omap44xx_dsp_hwmod,
.slave = &omap44xx_sl2if_hwmod, .slave = &omap44xx_sl2if_hwmod,
.clk = "dpll_iva_m5x2_ck", .clk = "dpll_iva_m5x2_ck",
...@@ -4828,7 +4828,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = { ...@@ -4828,7 +4828,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = {
}; };
/* iva -> sl2if */ /* iva -> sl2if */
static struct omap_hwmod_ocp_if omap44xx_iva__sl2if = { static struct omap_hwmod_ocp_if __maybe_unused omap44xx_iva__sl2if = {
.master = &omap44xx_iva_hwmod, .master = &omap44xx_iva_hwmod,
.slave = &omap44xx_sl2if_hwmod, .slave = &omap44xx_sl2if_hwmod,
.clk = "dpll_iva_m5x2_ck", .clk = "dpll_iva_m5x2_ck",
...@@ -5362,7 +5362,7 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = { ...@@ -5362,7 +5362,7 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = {
}; };
/* l3_main_2 -> sl2if */ /* l3_main_2 -> sl2if */
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__sl2if = { static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l3_main_2__sl2if = {
.master = &omap44xx_l3_main_2_hwmod, .master = &omap44xx_l3_main_2_hwmod,
.slave = &omap44xx_sl2if_hwmod, .slave = &omap44xx_sl2if_hwmod,
.clk = "l3_div_ck", .clk = "l3_div_ck",
...@@ -6032,7 +6032,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { ...@@ -6032,7 +6032,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = {
&omap44xx_l4_abe__dmic, &omap44xx_l4_abe__dmic,
&omap44xx_l4_abe__dmic_dma, &omap44xx_l4_abe__dmic_dma,
&omap44xx_dsp__iva, &omap44xx_dsp__iva,
&omap44xx_dsp__sl2if, /* &omap44xx_dsp__sl2if, */
&omap44xx_l4_cfg__dsp, &omap44xx_l4_cfg__dsp,
&omap44xx_l3_main_2__dss, &omap44xx_l3_main_2__dss,
&omap44xx_l4_per__dss, &omap44xx_l4_per__dss,
...@@ -6068,7 +6068,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { ...@@ -6068,7 +6068,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = {
&omap44xx_l4_per__i2c4, &omap44xx_l4_per__i2c4,
&omap44xx_l3_main_2__ipu, &omap44xx_l3_main_2__ipu,
&omap44xx_l3_main_2__iss, &omap44xx_l3_main_2__iss,
&omap44xx_iva__sl2if, /* &omap44xx_iva__sl2if, */
&omap44xx_l3_main_2__iva, &omap44xx_l3_main_2__iva,
&omap44xx_l4_wkup__kbd, &omap44xx_l4_wkup__kbd,
&omap44xx_l4_cfg__mailbox, &omap44xx_l4_cfg__mailbox,
...@@ -6099,7 +6099,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { ...@@ -6099,7 +6099,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = {
&omap44xx_l4_cfg__cm_core, &omap44xx_l4_cfg__cm_core,
&omap44xx_l4_wkup__prm, &omap44xx_l4_wkup__prm,
&omap44xx_l4_wkup__scrm, &omap44xx_l4_wkup__scrm,
&omap44xx_l3_main_2__sl2if, /* &omap44xx_l3_main_2__sl2if, */
&omap44xx_l4_abe__slimbus1, &omap44xx_l4_abe__slimbus1,
&omap44xx_l4_abe__slimbus1_dma, &omap44xx_l4_abe__slimbus1_dma,
&omap44xx_l4_per__slimbus2, &omap44xx_l4_per__slimbus2,
......
...@@ -260,6 +260,7 @@ static u32 notrace dmtimer_read_sched_clock(void) ...@@ -260,6 +260,7 @@ static u32 notrace dmtimer_read_sched_clock(void)
return 0; return 0;
} }
#ifdef CONFIG_OMAP_32K_TIMER
/* Setup free-running counter for clocksource */ /* Setup free-running counter for clocksource */
static int __init omap2_sync32k_clocksource_init(void) static int __init omap2_sync32k_clocksource_init(void)
{ {
...@@ -299,6 +300,12 @@ static int __init omap2_sync32k_clocksource_init(void) ...@@ -299,6 +300,12 @@ static int __init omap2_sync32k_clocksource_init(void)
return ret; return ret;
} }
#else
static inline int omap2_sync32k_clocksource_init(void)
{
return -ENODEV;
}
#endif
static void __init omap2_gptimer_clocksource_init(int gptimer_id, static void __init omap2_gptimer_clocksource_init(int gptimer_id,
const char *fck_source) const char *fck_source)
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
static unsigned long omap_sram_start; static unsigned long omap_sram_start;
static void __iomem *omap_sram_base; static void __iomem *omap_sram_base;
static unsigned long omap_sram_skip;
static unsigned long omap_sram_size; static unsigned long omap_sram_size;
static void __iomem *omap_sram_ceil; static void __iomem *omap_sram_ceil;
...@@ -106,6 +107,7 @@ static int is_sram_locked(void) ...@@ -106,6 +107,7 @@ static int is_sram_locked(void)
*/ */
static void __init omap_detect_sram(void) static void __init omap_detect_sram(void)
{ {
omap_sram_skip = SRAM_BOOTLOADER_SZ;
if (cpu_class_is_omap2()) { if (cpu_class_is_omap2()) {
if (is_sram_locked()) { if (is_sram_locked()) {
if (cpu_is_omap34xx()) { if (cpu_is_omap34xx()) {
...@@ -113,6 +115,7 @@ static void __init omap_detect_sram(void) ...@@ -113,6 +115,7 @@ static void __init omap_detect_sram(void)
if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) || if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) ||
(omap_type() == OMAP2_DEVICE_TYPE_SEC)) { (omap_type() == OMAP2_DEVICE_TYPE_SEC)) {
omap_sram_size = 0x7000; /* 28K */ omap_sram_size = 0x7000; /* 28K */
omap_sram_skip += SZ_16K;
} else { } else {
omap_sram_size = 0x8000; /* 32K */ omap_sram_size = 0x8000; /* 32K */
} }
...@@ -175,8 +178,10 @@ static void __init omap_map_sram(void) ...@@ -175,8 +178,10 @@ static void __init omap_map_sram(void)
return; return;
#ifdef CONFIG_OMAP4_ERRATA_I688 #ifdef CONFIG_OMAP4_ERRATA_I688
if (cpu_is_omap44xx()) {
omap_sram_start += PAGE_SIZE; omap_sram_start += PAGE_SIZE;
omap_sram_size -= SZ_16K; omap_sram_size -= SZ_16K;
}
#endif #endif
if (cpu_is_omap34xx()) { if (cpu_is_omap34xx()) {
/* /*
...@@ -203,8 +208,8 @@ static void __init omap_map_sram(void) ...@@ -203,8 +208,8 @@ static void __init omap_map_sram(void)
* Looks like we need to preserve some bootloader code at the * Looks like we need to preserve some bootloader code at the
* beginning of SRAM for jumping to flash for reboot to work... * beginning of SRAM for jumping to flash for reboot to work...
*/ */
memset_io(omap_sram_base + SRAM_BOOTLOADER_SZ, 0, memset_io(omap_sram_base + omap_sram_skip, 0,
omap_sram_size - SRAM_BOOTLOADER_SZ); omap_sram_size - omap_sram_skip);
} }
/* /*
...@@ -218,7 +223,7 @@ void *omap_sram_push_address(unsigned long size) ...@@ -218,7 +223,7 @@ void *omap_sram_push_address(unsigned long size)
{ {
unsigned long available, new_ceil = (unsigned long)omap_sram_ceil; unsigned long available, new_ceil = (unsigned long)omap_sram_ceil;
available = omap_sram_ceil - (omap_sram_base + SRAM_BOOTLOADER_SZ); available = omap_sram_ceil - (omap_sram_base + omap_sram_skip);
if (size > available) { if (size > available) {
pr_err("Not enough space in SRAM\n"); pr_err("Not enough space in SRAM\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment