setup-spi.c 924 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * HS-SPI device setup for S3C2443/S3C2416
  3. *
  4. * Copyright (C) 2011 Samsung Electronics Ltd.
  5. * http://www.samsung.com/
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #include <linux/gpio.h>
  12. #include <linux/platform_device.h>
  13. #include <plat/gpio-cfg.h>
  14. #include <plat/s3c64xx-spi.h>
  15. #include <mach/hardware.h>
  16. #include <mach/regs-gpio.h>
  17. #ifdef CONFIG_S3C64XX_DEV_SPI0
  18. struct s3c64xx_spi_info s3c64xx_spi0_pdata __initdata = {
  19. .fifo_lvl_mask = 0x7f,
  20. .rx_lvl_offset = 13,
  21. .tx_st_done = 21,
  22. .high_speed = 1,
  23. };
  24. int s3c64xx_spi0_cfg_gpio(struct platform_device *pdev)
  25. {
  26. /* enable hsspi bit in misccr */
  27. s3c2410_modify_misccr(S3C2416_MISCCR_HSSPI_EN2, 1);
  28. s3c_gpio_cfgall_range(S3C2410_GPE(11), 3,
  29. S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
  30. return 0;
  31. }
  32. #endif