]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init
authorTony Lindgren <tony@atomide.com>
Fri, 16 Oct 2015 19:23:33 +0000 (12:23 -0700)
committerTony Lindgren <tony@atomide.com>
Mon, 19 Oct 2015 15:55:46 +0000 (08:55 -0700)
commit53965b151a4362a2646e10920a2e6013af026c77
treed0798584c1e9a624fe0d03ea00e6d49cf9c91ea3
parent6e351db80a9a9fe85481746f5063652841ffd804
ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init

Some omaps are producing imprecise external aborts because we are
wrongly trying to init SRAM for device tree based booting. Only
omap3 is still using the legacy SRAM code, so we need to make it
omap3 specific. Otherwise we can get errors like this on at least
dm814x:

Unhandled fault: imprecise external abort (0xc06) at 0xc08b156c
...
(omap_rev) from [<c08b12e0>] (omap_sram_init+0xf8/0x3e0)
(omap_sram_init) from [<c08aca0c>] (omap_sdrc_init+0x10/0xb0)
(omap_sdrc_init) from [<c08b581c>] (pdata_quirks_init+0x18/0x44)
(pdata_quirks_init) from [<c08b5478>] (omap_generic_init+0x10/0x1c)
(omap_generic_init) from [<c08a57e0>] (customize_machine+0x1c/0x40)
(customize_machine) from [<c00098a4>] (do_one_initcall+0x80/0x1dc)
(do_one_initcall) from [<c08a2ec4>] (kernel_init_freeable+0x218/0x2e8)
(kernel_init_freeable) from [<c063a554>] (kernel_init+0x8/0xec)
(kernel_init) from [<c000f890>] (ret_from_fork+0x14/0x24)

Let's fix the issue by making sure omap_sdrc_init only gets called for
omap3. To do that, we need to have compatible "ti,omap3" in the dts
files. And let's also use "ti,omap3630" instead of "ti,omap36xx" like
we're supposed to.

Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts
arch/arm/boot/dts/omap3-evm-37xx.dts
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/pdata-quirks.c