[MinnowBoard] Use SPI pins as GPIOs then switch them back to SPI mode problem

Abdelghani Ouchabane abdelghani at ezono.com
Wed Nov 9 13:31:44 UTC 2016


Hi,

--------------------------------------------------------------------

   I need to talk to a CPLD, for that I need to use:

05      SPI_CS: SPI
07     SPIMISO: SPI
09     SPIMOSI: SPI
11     SPI_CLK: SPI

as GPIOs firstly then after the CPLD is ready, I want to use the above pins
as SPI interface to communicate with CPLD.

When I configure these pins as GPIOs, I see:

[   92.907050] byt_gpio INT33FC:00: pin 67 forcibly re-configured as GPIO
[   92.907524] byt_gpio INT33FC:00: pin 68 forcibly re-configured as GPIO
[   92.908612] byt_gpio INT33FC:00: pin 66 forcibly re-configured as GPIO
[   92.909134] byt_gpio INT33FC:00: pin 69 forcibly re-configured as GPIO
[   92.917893] byt_gpio INT33FC:00: pin 94 forcibly re-configured as GPIO

But when I switch them to SPI back, these pins still are GPIOs.

"    // Configure SPI
     if ( !(m_spi = mraa_spi_init(this->m_bus)) )
     {
         throw std::invalid_argument(std::string(__FUNCTION__) +
                                         ": mraa_spi_init() failed");
         return;
     }

     configSPI();
"

Any help please on how to switch between GPIO and SPI mode without
rebooting?

--------------------------------------------------------------------
Brendan Le Foll:

Sadly with the current pinctrl driver on baytrail there is no way.

Cheers,
Brendan
--------------------------------------------------------------------

As I understood it is a hardware limitation. So there is no way to get
it works by updating the Linux kernel?

Do you know if the new MinnowBoard Turbo Quad supports that functionality?

Thanks
Ghani


This email has been scanned by Barracuda Networks.


More information about the elinux-MinnowBoard mailing list