Changes between Version 19 and Version 20 of SPI
- Timestamp:
- 02/27/2023 08:49:09 PM (19 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SPI
v19 v20 44 44 || || GW522x || J32 || single CS^^^2^^^; ecspi3 dts node || 45 45 || || GW5910 || J11 || single CS^^^2^^^; ecspi3 dts node || 46 || ||47 || Laguna || GW2388 || J9 || ||48 46 1. Note that the Cavium ThunderX SPI controller in the CN80XX on the Newport Product family only supports half-duplex SPI transfers. In hardware the connections are full duplex MISO and MOSI lines are not shared, in software reads and writes need to be sent in separate calls, rather than simultaneously (full duplex). Drivers that use full-duplex transactions can be modified to support half-duplex (see [https://github.com/Gateworks/linux-newport/commit/cb270339619ccf2b50dfd3604a03626f85830453 'can:mcp251x: convert driver to half-duplex SPI'] as en example. 49 47 2. While only a single Chip Select (CS) is brought out to an external connector any of the DIO pins routed to ARM GPIO's can be used as additional chip-selects. For Ventana this is done via device-tree pinctrl and for Newport this must be done via a PINSEL GPIO (contact support@gateworks.com) … … 130 128 131 129 132 === Laguna133 Gateworks Laguna boards support 3.3V TTL SPI to an off-board expansion connector with the following pinout:134 * J9.2 - CS#135 * J9.4 - SCLK136 * J9.6 - MISO137 * J9.8 - MOSI138 * J9.10 - GND139 140 Notes:141 1. The SPI bus is shared with the alternate flash device142 2. For details on adding kernel devices to the Laguna kernel see [#laguna below]143 144 [[Image(spi2388.png,800px)]]145 146 147 The Laguna Linux kernels which does not use device-tree needs to register a {{{spi_board_info}}} struct with the kernel via {{{spi_register_board_info()}}}. To add a SPI device to Laguna you would add it to the spi_board_info array in {{{laguna.c}}}. Be sure to specify chip_select=1 to use CS1 as CS0 is used for the on-board SPI FLASH device:148 * [https://github.com/Gateworks/openwrt/blob/16.02/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c#L188 spi_board_info struct]149 * [https://github.com/Gateworks/openwrt/blob/16.02/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c#L1097 call to spi_register_board_info()]150 151 152 130 [=#usb] 153 131 == USB SPI controllers ==