setup-spi.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* linux/arch/arm/mach-s5pv210/setup-spi.c
  2. *
  3. * Copyright (C) 2011 Samsung Electronics Ltd.
  4. * http://www.samsung.com/
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #include <linux/gpio.h>
  11. #include <linux/platform_device.h>
  12. #include <plat/gpio-cfg.h>
  13. #include <plat/s3c64xx-spi.h>
  14. #ifdef CONFIG_S3C64XX_DEV_SPI0
  15. struct s3c64xx_spi_info s3c64xx_spi0_pdata = {
  16. .fifo_lvl_mask = 0x1ff,
  17. .rx_lvl_offset = 15,
  18. .high_speed = 1,
  19. .tx_st_done = 25,
  20. };
  21. int s3c64xx_spi0_cfg_gpio(struct platform_device *dev)
  22. {
  23. s3c_gpio_cfgpin(S5PV210_GPB(0), S3C_GPIO_SFN(2));
  24. s3c_gpio_setpull(S5PV210_GPB(0), S3C_GPIO_PULL_UP);
  25. s3c_gpio_cfgall_range(S5PV210_GPB(2), 2,
  26. S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
  27. return 0;
  28. }
  29. #endif
  30. #ifdef CONFIG_S3C64XX_DEV_SPI1
  31. struct s3c64xx_spi_info s3c64xx_spi1_pdata = {
  32. .fifo_lvl_mask = 0x7f,
  33. .rx_lvl_offset = 15,
  34. .high_speed = 1,
  35. .tx_st_done = 25,
  36. };
  37. int s3c64xx_spi1_cfg_gpio(struct platform_device *dev)
  38. {
  39. s3c_gpio_cfgpin(S5PV210_GPB(4), S3C_GPIO_SFN(2));
  40. s3c_gpio_setpull(S5PV210_GPB(4), S3C_GPIO_PULL_UP);
  41. s3c_gpio_cfgall_range(S5PV210_GPB(6), 2,
  42. S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
  43. return 0;
  44. }
  45. #endif