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>
Fri, 16 Oct 2015 19:23:33 +0000 (12:23 -0700)
commit5017e7c29b1c224cd168fa56db6ad2e0565e12f4
treed0798584c1e9a624fe0d03ea00e6d49cf9c91ea3
parentc37732f6cea23d15faaaaa357cf698833c03ce05
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