Thread (62 messages) 62 messages, 10 authors, 2019-01-07

[RFC net-next 15/15] net: lora: Add Semtech SX1301

From: afaerber@suse.de (Andreas Färber)
Date: 2018-07-03 16:40:51
Also in: linux-spi, lkml, netdev

Am 03.07.2018 um 17:31 schrieb Mark Brown:
On Tue, Jul 03, 2018 at 05:09:38PM +0200, Andreas F?rber wrote:
quoted
Am 03.07.2018 um 16:50 schrieb Mark Brown:
quoted
A register map would work just as well here, we already have plenty of
devices that abstract at this level (most obviously the I2C/SPI devices
that use it to offer both interfaces with a single core driver).
quoted
The address and data registers together form a two-byte SPI message!
quoted
It is transmitted by writing to the CS register.
quoted
The received data is afterwards available in another register.
Right, but it seems from the code that the hardware understands that
it's formatting register I/O and not just shifting in and out a byte
stream which is what a SPI controller does.  I'd not be surprised to
learn that the register you're calling a chip select register is a
strobe that initiates the transfer (and that this may be some of the
difficulty you're having with handling it in the way the framework
expects), the pattern with writing 1 followed immediately by 0 is a bit
of a flag here.
Yeah, the current implementation assumes exactly that. :)
I've seen such before hardware where I know it was intentionally
designed that way so it wouldn't be totally surprising.
If we don't implement a spi_controller here, then IIUC we can't have
multiple spi_device implementations for the devices on the receiving
end, as they rely on a spi_controller for their APIs.

Do you have an alternative solution for abstraction? A regmap would seem
to require putting everything into a monolithic SX1301 driver despite
those connected chipsets actually being regular, external SPI chips that
could also be attached to non-SX1301 SPI masters.

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton
HRB 21284 (AG N?rnberg)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help