* SPI driver for spi_mpc83xx
@ 2007-11-25 8:23 fabio777
2007-11-26 19:42 ` Ben Warren
0 siblings, 1 reply; 4+ messages in thread
From: fabio777 @ 2007-11-25 8:23 UTC (permalink / raw)
To: linuxppc-embedded
Has anyone been using this driver ?
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.
Any help would be very appreciated - Thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: SPI driver for spi_mpc83xx
2007-11-25 8:23 SPI driver for spi_mpc83xx fabio777
@ 2007-11-26 19:42 ` Ben Warren
0 siblings, 0 replies; 4+ messages in thread
From: Ben Warren @ 2007-11-26 19:42 UTC (permalink / raw)
To: fabio777; +Cc: linuxppc-embedded
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] 4+ 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; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread
end of thread, other threads:[~2007-11-28 15:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-25 8:23 SPI driver for spi_mpc83xx fabio777
2007-11-26 19:42 ` Ben Warren
[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).