Changes between Version 19 and Version 20 of SPI


Ignore:
Timestamp:
02/27/2023 08:49:09 PM (14 months ago)
Author:
Tim Harvey
Comment:

removed Laguna info (EOL)

Legend:

Unmodified
Added
Removed
Modified
  • SPI

    v19 v20  
    4444||          || GW522x    || J32       || single CS^^^2^^^; ecspi3 dts node ||
    4545||          || GW5910    || J11       || single CS^^^2^^^; ecspi3 dts node ||
    46 || ||
    47 || Laguna   || GW2388    || J9        || ||
    4846 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.
    4947 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)
     
    130128
    131129
    132 === Laguna
    133 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 - SCLK
    136  * J9.6 - MISO
    137  * J9.8 - MOSI
    138  * J9.10 - GND
    139 
    140 Notes:
    141  1. The SPI bus is shared with the alternate flash device
    142  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 
    152130[=#usb]
    153131== USB SPI controllers ==