On Tue, 29 May 2012 13:05:18 +0000, "Langer Thomas (LQDE CPE AE SW)"
<thomas.langer@lantiq.com> wrote:
> Hello Grant, hello John,
>
> John Crispin wrote on 2012-05-26:
> >
> >> What exactly does this mean? How does it not support any other type
> >> of SPI peripheral? SPI is a really simple protocol, so what is it
> >> about this hardware that prevents it being used with other SPI
> >> hardware?
> >>
> >> I see a big state machine that appears to interpret the messages and
> >> pretend to be an SPI slave instead of telling linux about the real
> >> device. /me wonders if it should this instead be a block device
> >> driver?
> >>
> > Thomas will need to comment on this part
> >
> The hardware is an "EBU" (External Bus Unit) for different type of memories
> and flashes (NOR, NAND and serial).
> One of the features of this EBU is the "execute in place" for serial flashes.
> This shows that there is some logic in the hardware for automatic reading,
> all other actions must be done using a specific cmd register.
>
> Even if there are some restrictions from the hardware state machine,
> the goal was to use the standard driver for serial flash devices (m25p80).
> Otherwise, with a dedicated block device driver, we would have to duplicate
> much of this code and had to maintain an own list of supported flash chips.
>
> I hope this reason is good enough for getting this driver accepted.
To be clear, I'm not going to nack the driver over this issue; but it
bothers me that I cannot understand what it is doing and I do wonder
if there is a better approach.
g.
|