patch-2.4.9 linux/include/asm-arm/arch-sa1100/omnimeter.h
Next file: linux/include/asm-arm/arch-sa1100/pfs168.h
Previous file: linux/include/asm-arm/arch-sa1100/mmzone.h
Back to the patch index
Back to the overall index
- Lines: 85
- Date:
Sun Aug 12 11:14:00 2001
- Orig file:
v2.4.8/linux/include/asm-arm/arch-sa1100/omnimeter.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.4.8/linux/include/asm-arm/arch-sa1100/omnimeter.h linux/include/asm-arm/arch-sa1100/omnimeter.h
@@ -0,0 +1,84 @@
+/* -*- Mode: c++ -*-
+ *
+ * Copyright 2000 Massachusetts Institute of Technology
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of M.I.T. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. M.I.T. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ */
+
+#ifndef OMNIMETER_H
+#define OMNIMETER_H
+// use the address of the second socket for both sockets
+// (divide address space in half and use offsets to wrap second card accesses back to start of address space)
+// Following values for programming Cirrus Logic chip
+#define Socket1Base 0x40
+
+#define SocketMemoryWindowLen (0x00400000)
+#define Socket0MemoryWindowStart (0x00800000)
+#define Socket1MemoryWindowStart (Socket0MemoryWindowStart + SocketMemoryWindowLen)
+
+#define SocketIOWindowLen (0x00008000)
+#define Socket1IOWindowStart (SocketIOWindowLen)
+#define Socket1IOWindowOffset (0x00010000 - Socket1IOWindowStart)
+
+// Following values for run-time access
+
+//#define PCCardBase (0xe4000000) //jca (0x30000000)
+//#define PCCardBase (0x30000000)
+#define PCCardBase (0xe0000000) //jag
+
+#define PCCard0IOBase (PCCardBase)
+//#define PCCard0AttrBase (0xec000000) //jca (PCCardBase + 0x08000000)
+#define PCCard0AttrBase (0xe8000000)
+//#define PCCard0AttrBase (PCCardBase + 0x08000000)
+//#define PCCard0MemBase (0xf4000000) //jca (PCCardBase + 0x0C000000)
+//#define PCCard0MemBase (PCCardBase + 0x0C000000)
+#define PCCard0MemBase (0xf0000000)
+
+//#define PCCard1IOBase (PCCardBase + SocketIOWindowLen) //jag
+#define PCCard1IOBase (0xe4000000)
+//#define PCCard1AttrBase (0xec000000 + SocketMemoryWindowLen) //jag
+#define PCCard1AttrBase (0xec000000)
+//#define PCCard1MemBase (0xf4000000 + SocketMemoryWindowLen) //jag
+#define PCCard1MemBase (0xf4000000)
+
+#define PCCardIndexRegister (PCCard0IOBase + 0x000003E0) //altered
+#define PCCardDataRegister (PCCardIndexRegister + 1)
+
+/* interrupts */
+#define PIN_cardInt2 13
+#define PIN_cardInt1 5
+
+void SMBOn(unsigned char SMBaddress);
+void SetSMB(unsigned char SMBaddress, unsigned int dacValue);
+
+#define GPIO_key6 0x00040000
+#define GPIO_scl 0x01000000 // output, SMB clock
+#define GPIO_sda 0x02000000 // bidirect, SMB data
+#define SMB_LCDVEE 0x2C
+#define DefaultLCDContrast 16
+
+#define LEDBacklightOn() ClearGPIOpin(GPIO_key6)
+#define LEDBacklightOff() SetGPIOpin(GPIO_key6)
+#define LCDPowerOn() SMBOn(SMB_LCDVEE)
+#define LCDPowerOff() SMBOff(SMB_LCDVEE)
+#define SetLCDContrast(d) SetSMB(SMB_LCDVEE, d)
+#define WritePort32(port,value) (port = (value))
+#define ReadPort32(port) (port)
+#define SetGPIOpin(pin) WritePort32(GPSR,pin)
+#define ClearGPIOpin(pin) WritePort32(GPCR,pin)
+
+void jcaoutb(long p, unsigned char data);
+unsigned char jcainb(long p);
+void jcaoutw(long p, unsigned short data);
+unsigned short jcainw_p(long p);
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)