Antwort: Re: nor flash board init code
christian.buettner at rafi.de
christian.buettner at rafi.de
Mon Jul 30 04:00:56 EDT 2012
Thanks for the code!
Here is my approach:
const struct flash_platform_data tx53_flash = {
.type = "mx25l8005",
.name = "spi_flash",
};
//MX25L8005MC-15G
static const struct spi_board_info mx53_spi_board_info[] = {
{
.name = "mx25l8005",
.max_speed_hz = 70000000,
.bus_num = 0,
.chip_select = 0,
.bits_per_word = 8,
.mode = SPI_MODE_0,
.platform_data = &tx53_flash,
},
};
static struct spi_imx_master tx53_spi = {
.num_chipselect = 1,
};
init_devices {
...
spi_register_board_info(mx53_spi_board_info,
ARRAY_SIZE(mx53_spi_board_info));
add_generic_device("m25p",-1,"m25p",MX53_ECSPI1_BASE_ADDR,64 *
1024,IORESOURCE_MEM,&mx53_spi_board_info);
...
}
When the m25p80.c driver probes i get no spi instance:
static int m25p_probe(struct device_d *dev) {
struct spi_device *spi = (struct spi_device *)dev->type_data;
const struct spi_device_id *id = NULL;
...
}
struct spi_device *spi is always null
Whats wrong here?
christian
Von: Franck Jullien <franck.jullien at gmail.com>
An: christian.buettner at rafi.de,
Kopie: barebox at lists.infradead.org
Datum: 27.07.2012 13:33
Betreff: Re: nor flash board init code
2012/7/25 <christian.buettner at rafi.de>
>
> hi all,
> is there any example board init code to load the mx25l8005 spi nor-flash
through the imx53 (TX53 from KARO)?
> I want to use the m25p80 driver to read and write.
>
> christian
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
Hi Christian,
This is what I use with the Altera SPI controller + an SPI flash device:
http://www.elec4fun.fr/index.php?option=com_content&view=article&id=10&Itemid=153
static struct spi_altera_master altera_spi_0_data = {
.num_chipselect = 1,
.spi_mode = 0, /* SPI mode of the EPCS flash controller */
.databits = 8, /* Data length of the EPCS flash controller */
.speed = 20000000, /* EPCS flash controller speed */
};
static struct flash_platform_data epcs_flash = {
.name = "epcs", /* Cdev name, optional */
.type = "m25p40", /* Device type, required for non JEDEC chips */
};
static struct spi_board_info generic_spi_board_info[] = {
{
.name = "m25p",
.max_speed_hz = 20000000,
.bus_num = 0,
.chip_select = 0,
.bits_per_word = 8,
.mode = SPI_MODE_0,
.platform_data = &epcs_flash,
}
};
static int myboard_devices_init(void) {
...
spi_register_board_info(myboard_spi_board_info,
ARRAY_SIZE(myboard_spi_board_info));
add_generic_device("altera_spi", -1, NULL, NIOS_SOPC_EPCS_BASE, 0x18,
IORESOURCE_MEM, &altera_spi_0_data);
...
Franck.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20120730/305f9e95/attachment-0001.html>
More information about the barebox
mailing list