Advertisement
Guest User

Untitled

a guest
Jun 19th, 2012
1,944
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.88 KB | None | 0 0
  1. From 22af9d23090d1bbd82a18d9acfd92454c544e7ea Mon Sep 17 00:00:00 2001
  2. From: Grigori Goronzy <greg@blackbox>
  3. Date: Wed, 20 Jun 2012 02:41:02 +0200
  4. Subject: [PATCH] bcm2708: secondary MMC interface with spi-gpio/mmc-spi
  5.  
  6. ---
  7. arch/arm/mach-bcm2708/bcm2708.c |   33 +++++++++++++++++++++++++++++++++
  8.  1 file changed, 33 insertions(+)
  9. diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
  10. index fa02a1a..ec9412e 100644
  11. --- a/arch/arm/mach-bcm2708/bcm2708.c
  12. +++ b/arch/arm/mach-bcm2708/bcm2708.c
  13. @@ -31,6 +31,10 @@
  14.  #include <linux/cnt32_to_63.h>
  15.  #include <linux/io.h>
  16.  #include <linux/module.h>
  17. +#include <linux/spi/spi.h>
  18. +#include <linux/spi/spi_gpio.h>
  19. +#include <linux/spi/spi_bitbang.h>
  20. +#include <linux/gpio.h>
  21.  
  22.  #include <linux/version.h>
  23.  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
  24. @@ -460,6 +464,32 @@ static struct platform_device bcm2708_alsa_devices[] = {
  25.            },
  26.  };
  27.  
  28. +static struct spi_gpio_platform_data spi_gpio_data = {
  29. +   .sck = 11,
  30. +   .mosi = 10,
  31. +   .miso = 9,
  32. +
  33. +   .num_chipselect = 2,
  34. +};
  35. +
  36. +static struct platform_device bcm2708_spi_gpio = {
  37. +   .name      = "spi_gpio",
  38. +   .id      = 0,
  39. +   .dev      = {
  40. +       .platform_data   = &spi_gpio_data,
  41. +   },
  42. +
  43. +};
  44. +
  45. +static struct spi_board_info gpio_spi_devices[] = {
  46. +   {
  47. +       .modalias = "mmc_spi",
  48. +       .max_speed_hz = 1000000,
  49. +       .chip_select = 0,
  50. +       .controller_data = (void *) 8,
  51. +   },
  52. +};
  53. +
  54.  int __init bcm_register_device(struct platform_device *pdev)
  55.  {
  56.     int ret;
  57. @@ -495,6 +525,9 @@ void __init bcm2708_init(void)
  58.  #ifdef CONFIG_MMC_SDHCI_BCM2708
  59.     bcm_register_device(&bcm2708_emmc_device);
  60.  #endif
  61. +   bcm_register_device(&bcm2708_spi_gpio);
  62. +   spi_register_board_info(gpio_spi_devices,
  63. +           ARRAY_SIZE(gpio_spi_devices));
  64.     bcm2708_init_led();
  65.     for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++)
  66.         bcm_register_device(&bcm2708_alsa_devices[i]);
  67. --
  68. 1.7.10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement