[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180718163530.zsa5md3huz3dnotb@earth.universe>
Date: Wed, 18 Jul 2018 18:35:30 +0200
From: Sebastian Reichel <sebastian.reichel@...labora.co.uk>
To: Rob Herring <robh@...nel.org>, Mark Brown <broonie@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org,
devicetree@...r.kernel.org, kernel@...labora.com
Subject: [DISCUSSION] spi multi chipselect support
Hi Mark,
Some SPI slave devices have more than one chip select [0]. Rob suggested
to use the following DT notation for this [1]:
spi-controller {
slave@0 {
reg = <0>, <1>;
};
};
I think this makes sense from a DT point of view, but this needs
quite some changes in the SPI core. I tried to find out, how to
implement the suggestion in the last few days and I see two
possibilities:
1. Register two SPI Linux devices from one DT node. This needs the
fewest changes in SPI core. But we loose the one-to-one mapping
of DT nodes to devices. I have a feeling, that this will backfire.
2. Add support for multiple chip-select to spi_device and modify
the transfer functions to make use of this. Unfortunately this
would require changing all spi controller as far as I can see?
Can you please advise me how to proceed?
Thanks,
-- Sebastian
[0] For example microcontrollers with ISP (in-system programming)
interface, like the NXP Kinetis K20 series or the MRF89XA,
which has one chip-select for configuration register access
and one for FIFO access
[1] https://patchwork.kernel.org/patch/10310109/
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists