Re: RFC: spibus: Return status of MISO line with transfer with xlen == 0;
Uwe Bonnes <bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org> Wed, 7 Sep 2016 19:54:04 +0200
| Newsgroups | gmane.comp.hardware.microcontrollers.ethernut |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Ole" == Ole Reinhardt <ole.reinhardt-L1vi/[email protected]> writes: Ole> Hi Uwe, you wrote "owidriver", but you mean "spibus driver", right? Ole> I thought a little about this idea. Such a function should ideally Ole> be implemented as IOCTL to the driver. Unfortunately the SPI-bus is Ole> not a NUTDEVICE and therefore can not implement IOCTLs. Ole> Personally I think this is a very special function of this special Ole> SPI client device. So it might be a good idea to implement it as a Ole> IOCTL of the SPI node driver? A short web search for "SPI POLL MISO brings up: "The cc1200 requires the cpu wait until the MISO goes low after dropping CS before talking with the chip" and for the EM9301: 1) The host sets MOSI signal to `1' 2) The host shall activate CSN after 100ns 3) The host shall poll MISO line. The first polling shall be done at least 100 ns after CSN is activated. 4) If MISO = '0' then the controller reception buffer is full and the host is not allowed to start the transaction. So there is a class of SPI devices needing that poll. Ole> If not, I personally would suggest to implement a special API call Ole> like Ole> int NutSpiBusGetMISOLine(NUTSPINODE * node). Polling is much more like a zero length transfer than an IoCtl. And introducing an IoCtl function to the spibus driver will need more changes and more ram for the driver function table. Why do you prefer changing the Api interface versus changing an Api return value? The return value of the poll could also be written to dout of the transfer, not changing the API at all. Would that be more acceptable? Ole> Any further ideas? Ole> Btw: there is another LPC SPI driver beside of Ole> "nut/arch/cm3/dev/nxp/lpc176x_spi.c": Ole> nut/arch/cm3/dev/nxp/lpc17xx_ssp.c Will care for that driver too... Bye -- Uwe Bonnes bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 1623569 ------- Fax. 06151 1623305 --------- _______________________________________________ http://lists.egnite.de/mailman/listinfo/en-nut-discussion