~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/mc6821.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _MC6821_H_
  2 #define _MC6821_H_
  3 
  4 /*
  5  * This file describes the memery mapping of the MC6821 PIA.
  6  * The unions describe overlayed registers. Which of them is used is
  7  * determined by bit 2 of the corresponding control register.
  8  * this files expects the PIA_REG_PADWIDTH to be defined the numeric
  9  * value of the register spacing.
 10  *
 11  * Data came from MFC-31-Developer Kit (from Ralph Seidel,
 12  * zodiac@darkness.gun.de) and Motorola Data Sheet (from 
 13  * Richard Hirst, srh@gpt.co.uk)
 14  *
 15  * 6.11.95 copyright Joerg Dorchain (dorchain@mpi-sb.mpg.de)
 16  *
 17  */
 18 
 19 #ifndef PIA_REG_PADWIDTH
 20 #define PIA_REG_PADWIDTH 255
 21 #endif
 22 
 23 struct pia {
 24         union {
 25                 volatile u_char pra;
 26                 volatile u_char ddra;
 27         } ua;
 28         u_char pad1[PIA_REG_PADWIDTH];
 29         volatile u_char cra;
 30         u_char pad2[PIA_REG_PADWIDTH];
 31         union {
 32                 volatile u_char prb;
 33                 volatile u_char ddrb;
 34         } ub;
 35         u_char pad3[PIA_REG_PADWIDTH];
 36         volatile u_char crb;
 37         u_char pad4[PIA_REG_PADWIDTH];
 38 };
 39 
 40 #define ppra ua.pra
 41 #define pddra ua.ddra
 42 #define pprb ub.prb
 43 #define pddrb ub.ddrb
 44 
 45 #define PIA_C1_ENABLE_IRQ (1<<0)
 46 #define PIA_C1_LOW_TO_HIGH (1<<1)
 47 #define PIA_DDR (1<<2)
 48 #define PIA_IRQ2 (1<<6)
 49 #define PIA_IRQ1 (1<<7)
 50 
 51 #endif
 52 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.