Marvell W8686 chipset Blackfin problem

Jonathan dumaresq jdumaresq at cimeq.qc.ca
Tue Jul 13 16:38:33 EDT 2010


Hi all,

I have been working on a XG-182M from zcomax. I try to make this work on my
BF537-stamp board. I have to use the SPI interface since on that board we
don't have sdio. SO I have ordered the XG-182MSPI to work with. 

I have done the wiring like that

BF537          88W8686 connection
PF6 (GPIO interrupt) -> SPI_SINT (pin 46)
PF10 SPI_CS -> SPI_SCS (pin 44)
PF11 (SPI_MOSI) -> SPI_SDI (pin 43)
PF12 (SPI_MISO) -> SPI_SDO (pin 45)
PF13 (SPI_CLK) -> SPI_CLK (pin 42)

This is how I have wired my board to my dev kit. 

Now this is how I have setup the kernel

#if defined(CONFIG_LIBERTAS_SPI_MODULE)
static int spi0_libertas_setup(struct spi_device *spi)
{
    return 0;
}
static struct libertas_spi_platform_data libertas_spi_platform_data_info =
{
    .use_dummy_writes = 0,
    .setup = spi0_libertas_setup
};
#endif

static struct spi_board_info bfin_spi_board_info[] __initdata = {

#if defined(CONFIG_LIBERTAS_SPI_MODULE)
		{
		.modalias        = "libertas_spi",
		.max_speed_hz    = 33000000,
		.bus_num        = 0,
		.irq = IRQ_PF6,
		.chip_select    = GPIO_PF10 + MAX_CTRL_CS,
		.platform_data    = &libertas_spi_platform_data_info,
		.controller_data = &spi_mw8686_chip_info,
		.mode        = SPI_MODE_3,
		},

#endif

#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
/* SPI controller data */
static struct bfin5xx_spi_master bfin_spi0_info = {
	.num_chipselect = MAX_CTRL_CS + MAX_BLACKFIN_GPIOS,
	.enable_dma = 1,  /* master has the ability to do dma transfer */
	.pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0},
};

But When I try to probe the libertas_spi driver I got this error

libertas_spi: Libertas SPI driver
libertas: Can't read bus mode register.
libertas_spi: probe of spi0.18 failed with error -5

So I hooked up my MSO and I have look at it. From What I see, The driver
send the command to set the bus register with the command 0x8070 and data of
0x0002 and try to read back with command 0x0070. The Chipset should answer
the same value but I have no activity on MISO line. I always have 0xFFFF. 

Is there something wrong with my setup ?

Regards,

Jonathan




More information about the libertas-dev mailing list