[PATCH 1/4] ARM: ep93xx: switch to SPARSEMEM
Florian Fainelli
f.fainelli at gmail.com
Fri May 26 09:13:36 PDT 2017
Le 05/13/17 à 11:21, Florian Fainelli a écrit :
> Le 02/21/17 à 10:15, H Hartley Sweeten a écrit :
>> The EP93xx has four chip selects that can be used for the SDRAM memory.
>> These chip selects are decoded to specify an address domain:
>>
>> SDCS3 0x00000000-0x0fffffff with Boot Option ASDO=1
>> SDCS0 0xc0000000-0xcfffffff
>> SDCS1 0xd0000000-0xdfffffff
>> SDCS2 0xe0000000-x0efffffff
>> SDCS3 0xf0000000-0xffffffff with Boot Option ASDO=0
>>
>> Because of the row/column/bank architecture of SDRAM, the mapping of
>> these memories into the processor's memory space is discontiguous.
>>
>> Most ep93xx systems only use one of the chip selects. For these systems,
>> ARCH_HAS_HOLES_MEMORYMODEL has worked fine to handle the discontiguous
>> memory.
>>
>> But, some of the TS-72xx boards use multiple chip selects. The TS-7300 in
>> particular uses SDCS3 (with ASDO=1) and SDCS2. On that system with
>> ARCH_HAS_HOLES_MEMORYMODEL the SDCS2 memory does not get handled correctly
>> and results in the system not booting.
>>
>> Change the EP93xx to ARCH_SPARSEMEM_ENABLE. This handles the discontiguous
>> memory for all configurations.
>>
>> This has been tested on the following ep93xx platforms:
>>
>> EDB9307A with 64 MiB on SDCS0
>> Vision EP9307 with 64 MiB on SDCS0
>> TS-7300 with 64 MiB on SDCS3 (with ASDO=1) and 64 MiB on SDCS2
>> sim.one with 64 MiB on SDCS0
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
>> Tested-by: Linus Walleij <linus.walleij at linaro.org>
>> Cc: Russell King <linux at armlinux.org.uk>
>
> Tested-by: Florian Fainelli <f.fainelli at gmail.com>
>
> On a TS-3700 with 32MiB of SDRAM, thanks!
>
OK this is weird, this patch applied against v4.11 works fine on a 32MB
board configuration, but applied against v4.12-rc2 I now get the following:
Uncompressing Linux... done, booting the kernel.
Warning: Neither atags nor dtb found
as if r2 was lost somehow.
I will start a bisection to figure out if/when it started to break.
Russell do you have an idea?
--
Florian
More information about the linux-arm-kernel
mailing list