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-m68k / machw.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.5 KB  |  102 lines

  1. /*
  2. ** linux/machw.h -- This header defines some macros and pointers for
  3. **                    the various Macintosh custom hardware registers.
  4. **
  5. ** Copyright 1997 by Michael Schmitz
  6. **
  7. ** This file is subject to the terms and conditions of the GNU General Public
  8. ** License.  See the file COPYING in the main directory of this archive
  9. ** for more details.
  10. **
  11. */
  12.  
  13. #ifndef _ASM_MACHW_H_
  14. #define _ASM_MACHW_H_
  15.  
  16. /*
  17.  * head.S maps the videomem to VIDEOMEMBASE
  18.  */
  19.  
  20. #define VIDEOMEMBASE    0xf0000000
  21. #define VIDEOMEMSIZE    (4096*1024)
  22. #define VIDEOMEMMASK    (-4096*1024)
  23.  
  24. #ifndef __ASSEMBLY__
  25.  
  26. #include <linux/types.h>
  27.  
  28. #if 0
  29. /* Mac SCSI Controller 5380 */
  30.  
  31. #define    MAC_5380_BAS    (0x50F10000) /* This is definitely wrong!! */
  32. struct MAC_5380 {
  33.     u_char    scsi_data;
  34.     u_char    char_dummy1;
  35.     u_char    scsi_icr;
  36.     u_char    char_dummy2;
  37.     u_char    scsi_mode;
  38.     u_char    char_dummy3;
  39.     u_char    scsi_tcr;
  40.     u_char    char_dummy4;
  41.     u_char    scsi_idstat;
  42.     u_char    char_dummy5;
  43.     u_char    scsi_dmastat;
  44.     u_char    char_dummy6;
  45.     u_char    scsi_targrcv;
  46.     u_char    char_dummy7;
  47.     u_char    scsi_inircv;
  48. };
  49. #define    mac_scsi       ((*(volatile struct MAC_5380 *)MAC_5380_BAS))
  50.  
  51. /*
  52. ** SCC Z8530
  53. */
  54.  
  55. #define MAC_SCC_BAS (0x50F04000)
  56. struct MAC_SCC
  57.  {
  58.   u_char cha_a_ctrl;
  59.   u_char char_dummy1;
  60.   u_char cha_a_data;
  61.   u_char char_dummy2;
  62.   u_char cha_b_ctrl;
  63.   u_char char_dummy3;
  64.   u_char cha_b_data;
  65.  };
  66. # define mac_scc ((*(volatile struct SCC*)MAC_SCC_BAS))
  67. #endif
  68.  
  69. /* hardware stuff */
  70.  
  71. #define MACHW_DECLARE(name)    unsigned name : 1
  72. #define MACHW_SET(name)        (mac_hw_present.name = 1)
  73. #define MACHW_PRESENT(name)    (mac_hw_present.name)
  74.  
  75. struct mac_hw_present {
  76.   /* video hardware */
  77.   /* sound hardware */
  78.   /* disk storage interfaces */
  79.   MACHW_DECLARE(MAC_SCSI_80);     /* Directly mapped NCR5380 */
  80.   MACHW_DECLARE(MAC_SCSI_96);     /* 53c9[46] */
  81.   MACHW_DECLARE(MAC_SCSI_96_2);   /* 2nd 53c9[46] Q900 and Q950 */
  82.   MACHW_DECLARE(IDE);             /* IDE Interface */
  83.   /* other I/O hardware */
  84.   MACHW_DECLARE(SCC);             /* Serial Communications Contr. */
  85.   /* DMA */
  86.   MACHW_DECLARE(SCSI_DMA);        /* DMA for the NCR5380 */
  87.   /* real time clocks */
  88.   MACHW_DECLARE(RTC_CLK);         /* clock chip */
  89.   /* supporting hardware */
  90.   MACHW_DECLARE(VIA1);            /* Versatile Interface Ad. 1 */
  91.   MACHW_DECLARE(VIA2);            /* Versatile Interface Ad. 2 */
  92.   MACHW_DECLARE(RBV);             /* Versatile Interface Ad. 2+ */
  93.   /* NUBUS */
  94.   MACHW_DECLARE(NUBUS);           /* NUBUS */
  95. };
  96.  
  97. extern struct mac_hw_present mac_hw_present;
  98.  
  99. #endif /* __ASSEMBLY__ */
  100.  
  101. #endif /* linux/machw.h */
  102.