# SL8082T with SPI and more than 1 CS

**URL:** https://forum.sierrawireless.com/t/sl8082t-with-spi-and-more-than-1-cs/8606
**Category:** Legacy AirPrime modules
**Created:** [June 7, 2016, 11:55am UTC](https://forum.sierrawireless.com/t/sl8082t-with-spi-and-more-than-1-cs/8606 "2016-06-07T11:55:58Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![TEKNB](https://avatars.discourse-cdn.com/v4/letter/t/e19b73/32.png) [@TEKNB](https://forum.sierrawireless.com/u/TEKNB)
#### Post date: [June 7, 2016, 11:55am UTC](https://forum.sierrawireless.com/t/sl8082t-with-spi-and-more-than-1-cs/8606/1 "2016-06-07T11:55:58Z")

</div>

We use SL8082T and have to have different SPI slaves to use. Port-Expander, memory, Sub-GHz wireless module. All of them communicate with SPI to their host. So we have to use at least 3 chip-selects, all of them low active. SL808X offers one CS “in hardware”, but the library-functions offer “GPIO chip-selects”. As we use analogue audio and we wanted to use layout-friendly GPIOs, we tried with GPIO9 to GPIO11, default PCM ports but in MUX1 available as GPIOs.  
With parameter ADL\_BUS\_SPI\_ADDR\_CS\_GPIO and ADL\_IO\_GPIO | 9 in struct adl\_busSPISettings\_t we expected to have GPIO 9 as chip-select in command adl\_busWrite(); With the command SPI clock and MOSI deliver their data correct - but there is no reaction at the CS line. If we use hardware chip-select (/SPI1\_CS) or GPIO 1 as chip-select the function is ok. But with “higher order” GPIOs we get no low at the CS line. CS line is pulled up to 1.8V and the slave is connected via level translator LSF0204.  
Firmware is 7.54

Any help appreciated.

---

<div class="post-metadata">

### Author: ![cc\_libify](https://avatars.discourse-cdn.com/v4/letter/c/ecb155/32.png) [@cc\_libify](https://forum.sierrawireless.com/u/cc_libify)
#### Post date: [July 11, 2016, 1:37pm UTC](https://forum.sierrawireless.com/t/sl8082t-with-spi-and-more-than-1-cs/8606/2 "2016-07-11T13:37:11Z")

</div>

How about using ADL\_BUS\_SPI\_ADDR\_CS\_NONE and managing the CS lines manually? So allocate GPIOs for the CS signals and set them manually to low or high, depending on which device you’re addressing, before reading or writing from or to the SPI bus.

---

<div class="post-metadata">

### Author: ![TEKNB](https://avatars.discourse-cdn.com/v4/letter/t/e19b73/32.png) [@TEKNB](https://forum.sierrawireless.com/u/TEKNB)
#### Post date: [August 2, 2016, 4:48am UTC](https://forum.sierrawireless.com/t/sl8082t-with-spi-and-more-than-1-cs/8606/3 "2016-08-02T04:48:19Z")

</div>

Thanks for the hint. But that is not the way a reasonable programmer would do it. You have to use a timer to get the CS high again. Thats overhead a soberly programmed library function would not need. What i miss here is a reaction from guys from Sierra Wireless. Folks, ist your business to support your customers here - is it?  
Asks  
Harald Wehner
