diff mbox

[PATCHv2,9/9] spi: spidev: add Aardvark to device tree compatibility list

Message ID 1498578321-13980-10-git-send-email-amelie.delaunay@st.com (mailing list archive)
State New, archived
Headers show

Commit Message

Amelie Delaunay June 27, 2017, 3:45 p.m. UTC
This patch adds an entry for the TotalPhase Aardvark SPI Host Adapter,
which can operate as an SPI Slave.

Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
---
 drivers/spi/spidev.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Mark Brown June 28, 2017, 6:54 p.m. UTC | #1
On Tue, Jun 27, 2017 at 05:45:21PM +0200, Amelie Delaunay wrote:
> This patch adds an entry for the TotalPhase Aardvark SPI Host Adapter,
> which can operate as an SPI Slave.

What does this device actually do and why is spidev a sensible fit for
it?
Amelie Delaunay June 29, 2017, 12:58 p.m. UTC | #2
On 06/28/2017 08:54 PM, Mark Brown wrote:
> On Tue, Jun 27, 2017 at 05:45:21PM +0200, Amelie Delaunay wrote:
>> This patch adds an entry for the TotalPhase Aardvark SPI Host Adapter,
>> which can operate as an SPI Slave.
> 
> What does this device actually do and why is spidev a sensible fit for
> it?
> 
This device is actually a debugging tool [1] which can work on SPI bus 
(and also I2C). Connected via USB on a PC, it can either acts as an SPI 
master or SPI slave and it can transmit/receive serial data using SPI 
protocol. Polarity, Phase, Bit Order, Frequency can be configured. So 
this tool is really useful during SPI driver development to 
troubleshoot. And that's why spidev driver totally fit for it when used 
as an SPI slave, for the reason described in spidev Documentation: 
"Developing simple protocols used to talk to" Aardvark "acting as SPI 
slaves, which you may need to change quite often".

[1] https://www.totalphase.com/products/aardvark-i2cspi/
Mark Brown June 30, 2017, 11:51 a.m. UTC | #3
On Thu, Jun 29, 2017 at 02:58:43PM +0200, Amelie DELAUNAY wrote:
> On 06/28/2017 08:54 PM, Mark Brown wrote:

> > What does this device actually do and why is spidev a sensible fit for
> > it?

> This device is actually a debugging tool [1] which can work on SPI bus (and
> also I2C). Connected via USB on a PC, it can either acts as an SPI master or
> SPI slave and it can transmit/receive serial data using SPI protocol.
> Polarity, Phase, Bit Order, Frequency can be configured. So this tool is
> really useful during SPI driver development to troubleshoot. And that's why
> spidev driver totally fit for it when used as an SPI slave, for the reason
> described in spidev Documentation: "Developing simple protocols used to talk
> to" Aardvark "acting as SPI slaves, which you may need to change quite
> often".

This doesn't seem like something that should be in DT, it's a tool used
to implement or emulate other things and is no more specific than spidev
itself is.  Whatever it is implementing or emulating should be in DT
instead.
diff mbox

Patch

diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index 9a2a79a..8093885 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -698,6 +698,7 @@  static int spidev_release(struct inode *inode, struct file *filp)
 	{ .compatible = "lineartechnology,ltc2488" },
 	{ .compatible = "ge,achc" },
 	{ .compatible = "semtech,sx1301" },
+	{ .compatible = "totalphase,aardvark" },
 	{},
 };
 MODULE_DEVICE_TABLE(of, spidev_dt_ids);