Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 read_scoop_reg(struct device *dev, unsigned short reg);
 67 void write_scoop_reg(struct device *dev, unsigned short reg, unsigned short data);
 68 
  This page was automatically generated by the LXR engine.