* Re: Linuxppc-embedded Digest, Vol 39, Issue 48 [not found] <mailman.3149.1196114204.3099.linuxppc-embedded@ozlabs.org> @ 2007-11-27 18:59 ` fabio777 2007-11-27 19:33 ` SPI driver for spi_mpc83xx Ben Warren 0 siblings, 1 reply; 3+ messages in thread From: fabio777 @ 2007-11-27 18:59 UTC (permalink / raw) To: linuxppc-embedded, bwarren Thanks Ben, Here it is static struct fsl_spi_platform_data k_platform_data = { .initial_spmode = 0, .bus_num = 1, .max_chipselect = 1, /* board specific information */ .activate_cs = k_cs_activate, .deactivate_cs = k_cs_deactivate, .sysclk = 266, }; static struct spi_board_info spi_board_info[] __initdata = { { .modalias = "kplus", .platform_data = &k_platform_data, .max_speed_hz = 120000, .bus_num = 1, .chip_select = 0, }, }; struct platform_device k_plus = { .name = "kplus", .id = 1, .dev = { .platform_data = &k_platform_data, }, }; platform_device_register(&k_plus); spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)) and then calls spi_register_driver(&k_driver); I can't get the into the *probe functions. Thanks > > fabio777 wrote: > >> Has anyone been using this driver ? >> >> > I use it, on ARCH=powerpc, though. > >> For legacy reasons I need to keep the ppc=arch however I haven't found >> out how to get this driver probed at start-up even basing my init on >> Lublock. >> >> >> > The driver's expecting a platform device with name "mpc83xx_spi" to be > registered in board init code. If you post your init code I may be able > to help. > > regards, > Ben > > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: SPI driver for spi_mpc83xx 2007-11-27 18:59 ` Linuxppc-embedded Digest, Vol 39, Issue 48 fabio777 @ 2007-11-27 19:33 ` Ben Warren 2007-11-28 15:41 ` fabio777 0 siblings, 1 reply; 3+ messages in thread From: Ben Warren @ 2007-11-27 19:33 UTC (permalink / raw) To: fabio777; +Cc: linuxppc-embedded Fabio, Note: I've changed the e-mail subject back to the original. In the future, please ensure that it remains intact. fabio777 wrote: > Thanks Ben, > > Here it is > > static struct fsl_spi_platform_data k_platform_data = { > .initial_spmode = 0, > .bus_num = 1, Probably should be bus_num = 0 > .max_chipselect = 1, > /* board specific information */ > .activate_cs = k_cs_activate, > .deactivate_cs = k_cs_deactivate, > .sysclk = 266, > }; > > static struct spi_board_info spi_board_info[] __initdata = { { > .modalias = "kplus", > .platform_data = &k_platform_data, > .max_speed_hz = 120000, > .bus_num = 1, Again, bus_num probably should be 0 > .chip_select = 0, > }, > }; > > > struct platform_device k_plus = { > .name = "kplus", name should be "mpc83xx_spi". At initialization, the SPI controller driver searches the registered platform devices (models of board hardware) for a match. Without a match, it gives up. > .id = 1, > .dev = { > .platform_data = &k_platform_data, > }, > }; > > platform_device_register(&k_plus); > Do you add the SPI controller's resources (base address and IRQ?) You'll need to in order for this to work. On my board, I use 'platform_device_register_simple()', passing the name and the two resources, then call 'platform_add_data()', passing in the platform data structure. > spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)) > Good > and then calls spi_register_driver(&k_driver); I don't think this last call is needed. > > I can't get the into the *probe functions. > Thanks > regards, Ben ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: SPI driver for spi_mpc83xx 2007-11-27 19:33 ` SPI driver for spi_mpc83xx Ben Warren @ 2007-11-28 15:41 ` fabio777 0 siblings, 0 replies; 3+ messages in thread From: fabio777 @ 2007-11-28 15:41 UTC (permalink / raw) To: Ben Warren; +Cc: linuxppc-embedded Thanks Ben works. Ben Warren wrote: > Fabio, > > Note: I've changed the e-mail subject back to the original. In the > future, please ensure that it remains intact. > > fabio777 wrote: >> Thanks Ben, >> >> Here it is >> >> static struct fsl_spi_platform_data k_platform_data = { >> .initial_spmode = 0, >> .bus_num = 1, > Probably should be bus_num = 0 >> .max_chipselect = 1, >> /* board specific information */ >> .activate_cs = k_cs_activate, >> .deactivate_cs = k_cs_deactivate, >> .sysclk = 266, >> }; >> >> static struct spi_board_info spi_board_info[] __initdata = { { >> .modalias = "kplus", >> .platform_data = &k_platform_data, >> .max_speed_hz = 120000, >> .bus_num = 1, > Again, bus_num probably should be 0 >> .chip_select = 0, >> }, >> }; >> >> >> struct platform_device k_plus = { >> .name = "kplus", > name should be "mpc83xx_spi". At initialization, the SPI controller > driver searches the registered platform devices (models of board > hardware) for a match. Without a match, it gives up. > >> .id = 1, >> .dev = { >> .platform_data = &k_platform_data, >> }, >> }; >> >> platform_device_register(&k_plus); >> > Do you add the SPI controller's resources (base address and IRQ?) > You'll need to in order for this to work. On my board, I use > 'platform_device_register_simple()', passing the name and the two > resources, then call 'platform_add_data()', passing in the platform > data structure. >> spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)) >> > Good >> and then calls spi_register_driver(&k_driver); > I don't think this last call is needed. >> >> I can't get the into the *probe functions. >> Thanks >> > regards, > Ben ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-11-28 15:42 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.3149.1196114204.3099.linuxppc-embedded@ozlabs.org> 2007-11-27 18:59 ` Linuxppc-embedded Digest, Vol 39, Issue 48 fabio777 2007-11-27 19:33 ` SPI driver for spi_mpc83xx Ben Warren 2007-11-28 15:41 ` fabio777
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).