[PATCH v12 0/6] Driver for at91 usart in spi mode
From: geert@linux-m68k.org (Geert Uytterhoeven)
Date: 2018-09-12 09:44:09
Also in:
linux-devicetree, linux-serial, linux-spi, lkml
Hi Lee, On Wed, Sep 12, 2018 at 10:41 AM Lee Jones [off-list ref] wrote:
On Wed, 12 Sep 2018, Alexandre Belloni wrote:quoted
On 11/09/2018 23:54:40+0100, Lee Jones wrote:quoted
quoted
quoted
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6438-32-bit-ARM926-Embedded-Microprocessor-SAM9G45_Datasheet.pdf USART doc starting p572, registers p621.After looking at the datasheet, I don't see any reason why one of the two drivers can't be selected using different compatible strings.Because there is only one IP and we don't use the device tree to selecet linux specific drivers.We do it all the time. There are loads of MFDs (def: same IP, with different functions) which have separate compatibles for their various functions. If you wish this IP to operate as an SPI controller, it should have an SPI compatible, if you wish it to operate as a U(S)ART, then it should have a UART compatible. It's what we do for most of the other MFDs in the kernel.
There is a big difference: MFD functions are(more or less) independent
functions, which can be used at the same time. It makes perfect sense for a
single IP block that has both SPI and UART interfaces, that can be used at
the same time.
In this case, there is a single piece of hardware that can perform
different functions, but not at the same time. Performing a different
function means configuring the hardware for that function, hence using a
different driver (from a different subsystem).
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds