home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / include / asm / hardware / scoop.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.0 KB  |  70 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.     int gpio_base;
  44. };
  45.  
  46. /* Structure for linking scoop devices to PCMCIA sockets */
  47. struct scoop_pcmcia_dev {
  48.     struct device *dev;     /* Pointer to this socket's scoop device */
  49.     int    irq;                /* irq for socket */
  50.     int cd_irq;
  51.     const char *cd_irq_str;
  52.     unsigned char keep_vs;
  53.     unsigned char keep_rd;
  54. };
  55.  
  56. struct scoop_pcmcia_config {
  57.     struct scoop_pcmcia_dev *devs;
  58.     int num_devs;
  59.     void (*pcmcia_init)(void);
  60.     void (*power_ctrl)(struct device *scoop, unsigned short cpr, int nr);
  61. };
  62.  
  63. extern struct scoop_pcmcia_config *platform_scoop_config;
  64.  
  65. void reset_scoop(struct device *dev);
  66. unsigned short __deprecated set_scoop_gpio(struct device *dev, unsigned short bit);
  67. unsigned short __deprecated reset_scoop_gpio(struct device *dev, unsigned short bit);
  68. unsigned short read_scoop_reg(struct device *dev, unsigned short reg);
  69. void write_scoop_reg(struct device *dev, unsigned short reg, unsigned short data);
  70.