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.

AM3517 mcSPI usage

Other Parts Discussed in Thread: AM3517

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