[PATCH v2] mtd/spi-nor: Add SPI memory controllers for Aspeed SoCs
Cédric Le Goater
clg at kaod.org
Fri Dec 9 02:42:09 PST 2016
On 12/09/2016 03:29 AM, Marek Vasut wrote:
> On 12/08/2016 05:36 PM, Cédric Le Goater wrote:
>> Hello Marek,
>
> Hi!
Hello Hello,
[...]
>>>> + /*
>>>> + * Read the existing control register to get basic values.
>>>> + *
>>>> + * XXX This register probably needs more sanitation.
>>>
>>> What's this comment about ?
>>
>> This is an initial comment about settings being done by U-Boot
>> before the kernel is loaded, and some optimisations should be
>> nice to keep, for the FMC controller. I will rephrase.
>
> Shouldn't that be passed via DT instead ? We want to be bootloader
> agnostic in Linux.
Yes, clearly, Linux should do its own timing calibration and not depend
on the bootloader but I am not sure how to do that correctly, yet, in
the driver for all controllers. It depends on the controller type and
a lot on the flash model being used, which can vary for the same board.
U-Boot uses specific registers of the FMC controller to evaluate the
best SPI clock frequency. So, for the moment, keeping the previous
setting for :
bits [11:8] SPI clock frequency selection
is a nice thing to have. we can replace this setting when calibration
is handled from Linux.
The SPI controllers are different, they don't have the specific registers
for calibration, and so the algo is bit more painful.
> btw off-topic, but is U-Boot support for these aspeed devices ever
> be upstreamed ?
It is the plan to.
This year, we have spent quite sometime porting, fixing, cleaning
up the original code and getting ready to send a minimal framework,
cpu and console, to mainline (flash and net drivers can come later).
The code is operational on various boards but there is a major task
we have not completed yet, which is to rewrite the 2/3 KLOC of
assembly doing the DDR initialization :/ Once this is done, we
should send.
Here is the tree we use on OpenBMC :
https://github.com/openbmc/u-boot/commits/v2016.07-aspeed-openbmc
and a more recent branch with some extra cleanups :
https://github.com/legoater/u-boot/commits/v2016.11-aspeed-openbmc
Thanks,
C.
More information about the linux-mtd
mailing list