linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 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).