Re: SPI driver for spi_mpc83xx
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 = 12, .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 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Linuxppc-embedded Digest, Vol 39, Issue 48
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= 12, .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 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SPI driver for spi_mpc83xx
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 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded