home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / hardware / scoop.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.0 KB  |  69 lines

  1. /*
  2.  *  Definitions for the SCOOP interface found on various Sharp PDAs
  3.  *
  4.  *  Copyright (c) 2004 Richard Purdie
  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.  */
  11.  
  12. #define SCOOP_MCR  0x00
  13. #define SCOOP_CDR  0x04
  14. #define SCOOP_CSR  0x08
  15. #define SCOOP_CPR  0x0C
  16. #define SCOOP_CCR  0x10
  17. #define SCOOP_IRR  0x14
  18. #define SCOOP_IRM  0x14
  19. #define SCOOP_IMR  0x18
  20. #define SCOOP_ISR  0x1C
  21. #define SCOOP_GPCR 0x20
  22. #define SCOOP_GPWR 0x24
  23. #define SCOOP_GPRR 0x28
  24.  
  25. #define SCOOP_GPCR_PA22    ( 1 << 12 )
  26. #define SCOOP_GPCR_PA21    ( 1 << 11 )
  27. #define SCOOP_GPCR_PA20    ( 1 << 10 )
  28. #define SCOOP_GPCR_PA19    ( 1 << 9 )
  29. #define SCOOP_GPCR_PA18    ( 1 << 8 )
  30. #define SCOOP_GPCR_PA17    ( 1 << 7 )
  31. #define SCOOP_GPCR_PA16    ( 1 << 6 )
  32. #define SCOOP_GPCR_PA15    ( 1 << 5 )
  33. #define SCOOP_GPCR_PA14    ( 1 << 4 )
  34. #define SCOOP_GPCR_PA13    ( 1 << 3 )
  35. #define SCOOP_GPCR_PA12    ( 1 << 2 )
  36. #define SCOOP_GPCR_PA11    ( 1 << 1 )
  37.  
  38. struct scoop_config {
  39.     unsigned short io_out;
  40.     unsigned short io_dir;
  41.     unsigned short suspend_clr;
  42.     unsigned short suspend_set;
  43. };
  44.  
  45. /* Structure for linking scoop devices to PCMCIA sockets */
  46. struct scoop_pcmcia_dev {
  47.     struct device *dev;     /* Pointer to this socket's scoop device */
  48.     int    irq;                /* irq for socket */
  49.     int cd_irq;
  50.     const char *cd_irq_str;
  51.     unsigned char keep_vs;
  52.     unsigned char keep_rd;
  53. };
  54.  
  55. struct scoop_pcmcia_config {
  56.     struct scoop_pcmcia_dev *devs;
  57.     int num_devs;
  58.     void (*pcmcia_init)(void);
  59.     void (*power_ctrl)(struct device *scoop, unsigned short cpr, int nr);
  60. };
  61.  
  62. extern struct scoop_pcmcia_config *platform_scoop_config;
  63.  
  64. void reset_scoop(struct device *dev);
  65. unsigned short set_scoop_gpio(struct device *dev, unsigned short bit);
  66. unsigned short reset_scoop_gpio(struct device *dev, unsigned short bit);
  67. unsigned short read_scoop_reg(struct device *dev, unsigned short reg);
  68. void write_scoop_reg(struct device *dev, unsigned short reg, unsigned short data);
  69.