I am attempting to upgrade to a more recent kernel, so I've grabbed the yocto build from https://github.com/gumstix/yocto-manifest and built that. That image successfully boots my unit, so that is a good first step. I had to enable the SPIDEV driver in the kernel, and that part worked.
My board is based on a gumstix Tobi board, and that's what device tree my u-boot loads at boot time. However, I cannot seem to get SPI to work. I have added the following to the file omap3-overo-storm-tobi.dts file:
&omap3_pmx_core {
mcspi1_pins: pinmux_mcspi1_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT | MUX_MODE0) /* mcspi1_cs1.mcspi1_cs1 */
>;
};
};
&mcspi1 {
pinctrl-names = "default";
pinctrl-0 = <&mcspi1_pins>;
spidev@0 {
compatible = "spidev";
spi-max-frequency = <48000000>;
reg = <1>;
spi-cpha;
};
};
Upon a reboot this has successfully created a /dev/spidev1.1 device, but if I attempt to send anything to it I do not see the clock lines or the CS1 line go active. I feel like I'm missing a piece here, but I'm unsure where to go. Any suggestions would be very much appreciated.