Hello,
My mcspi is not working, please help. Saw that there is no initialization for the mcspi on the EVM.
Trying to use mcspi1 with next additions to board-am3517evm.c (kernel 2.6.37), tried by copying behavior from cm-t35 board:
Explanations to the additions -->
Existing used structure:
static struct emac_platform_data am3517_evm_emac_pdata = {
.rmii_en = 1,
};
First initiated structures:
static struct omap2_mcspi_device_config ksz8863_mcspi_config = {
.turbo_mode = 0,
.single_channel = 1, /* 0: slave, 1: master */
};
I wish to use the spi to communicate with a network chip (DSA), so using emac as am3517_evm_emac_pdata - not sure about it.
static struct spi_board_info ksz8863_spi_board_info[] __initdata = {
{
.modalias = "ksz8863",
.bus_num = 1,
.chip_select = 0,
.max_speed_hz = 1000000,
.controller_data = &ksz8863_mcspi_config,
.platform_data = &am3517_evm_emac_pdata,
},
};
Mapped the SPI for port 0 according to IC SOM:
OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
And also called SPI register function in one of the init functions:
spi_register_board_info(ksz8863_spi_board_info,
ARRAY_SIZE(ksz8863_spi_board_info));
Seems that after all, something is registered on the SPI bus (so I cannot load another SPI module on it) but I see no SPI clock on oscilloscope and no SPI loading message as I see for I2C. What am I missing?
Thanks ahead,
Yakir