* 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).