This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I would like the Kernel to create a SPI device in /dev, but needed options are missing from make menuconfig.

Other Parts Discussed in Thread: 4460

Hello,


I am following this web page to get SPI working on a OMAP 4460 board:

http://omappedia.org/wiki/PandaBoard_SPI

This and many other how-to web pages talk about turning on the following in the Linux Kernel:

CONFIG_SPI, CONFIG_SPI_MASTER and CONFIG_SPI_OMAP_24xx (In Ubuntu 12.04 source its CONFIG_SPI_OMAP24XX)

But I can not find the SPI_MASTER nor the SPI_OMAP24XX in the "make menuconfig" utility.  I am looking in:

Device Drivers ---> SPI support

-thanks

  • Hi,

    From where did you get your  kernel sources?

    And Try working by setting the configuration directly in the .conf file, even if you have some dependencies, you will set them when prompted.

    Regards,

    Boyko

  • Thank you for responding Boyko.


    I was using these instructions to get the kernel:

    To retrieving the kernel sources use git:
    $ git clone git://dev.omapzoom.org/pub/scm/integration/kernel-ubuntu.git
    $ cd kernel-ubuntu
    $ git checkout -b working d8a13c28e3ddc1f7cb098823b883dbc6a02bcb43

    Boyko said: "...And Try working by setting the configuration directly in the .conf file, even if you have some dependencies, you will set them when prompted."

    Prompted?  By what?  If I edit the .conf file with VIM or EMACS what will guide me from breaking a dependency?

    -thanks

     

  • Found the problem.  In "make menuconfg" I first needed to go to System Type --> ARM System Type and select the TI OMAP option.  Then going back to Device Drives --> SPI  I could select McSPI Driver For OMAP.  Now if I look for SPI_OMAP24XX it will say "y" instead of "n".  Now I'm having problem making the kernel.

  • Hi,

    Prompting appears in the make process as longas the proper kconfigs are available.

    What this the problem you stumbled upon in the make process?

    Regards,

    Boyko

  • Followup:

    Since this is a Variscite board this is only partly an it.com problem.

    Our HW designer used OMAP4's SPI1/CS0 as Variscite brought it to a connector despite is already being used by Variscite for the 8851 debugging Ethernet port.  Variscite said this design was originally from ti.com. 

    So - 1 - I did not need the driver for the 8851 because I don't want the Ethernet debugging port.  And - 2 - the code to configure the 8851 was in the Variscite patch.  (Yes, I know, I didn't understand Variscite's comment about the debug Ethernet port being a ti.com design since the code was in the Variscite patch either.)

    Now, I still needed /dev/spix.y to control my SPI hardware.  I assume it was not there because of the Variscite patch.  I did find the spidev software in another file in the kernel source.

    What I did: 

    I removed all the 8851 kernel Ethenet code that came from the Variscite patch.  That took care of the contention.  I then replaced it with the spidev code.   That did it!  The /dev/spix.y device showed up.  Now I can access our SPI1/CS0 device just like in all the howtos and examples I found on the net.


    Done.