Thanks Adam,
The snippet is below. I'm calling it right after the omap3torpedo_fix_pbias_voltage() function in omap3logic_init().
static void omap3_init_dutSpi(void)
{
static struct spi_board_info omap3logic_spi1_to_dut[] __initdata = {
{
.modalias = "spidev",
.bus_num = 1,
.chip_select = 0, /*dut #1*/
.max_speed_hz = 1000000, /*1MHz*/
.irq = 0,
.platform_data = NULL,
.bits_per_word = 8,
.mode = SPI_MODE_3,
},
{
.modalias = "spidev",
.bus_num = 1,
.chip_select = 1, /*dut #2*/
.max_speed_hz = 10000000, /*10MHz*/
.irq = 0,
.platform_data = NULL,
.bits_per_word = 32,
.mode = SPI_MODE_3,
}
};
spi_register_board_info(omap3logic_spi1_to_dut,
ARRAY_SIZE(omap3logic_spi1_to_dut));
}
I also have some mux initialization code that is called before the SPI is registered:
#define SPI1_CLK_MUX "mcspi1_clk"
#define SPI1_SIMO_MUX "mcspi1_simo"
#define SPI1_SOMI_MUX "mcspi1_somi"
#define SPI1_CS0_MUX "mcspi1_cs0"
#define SPI1_CS1_MUX "mcspi1_cs1"
err |= omap_mux_init_signal(SPI1_SOMI_MUX, OMAP_PIN_INPUT);
err |= omap_mux_init_signal(SPI1_SIMO_MUX, OMAP_PIN_INPUT);
err |= omap_mux_init_signal(SPI1_CLK_MUX, OMAP_PIN_INPUT);
err |= omap_mux_init_signal(SPI1_CS0_MUX, OMAP_PIN_INPUT);
err |= omap_mux_init_signal(SPI1_CS1_MUX, OMAP_PIN_INPUT);
-Derek