⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lubbock.h

📁 ARM S3C2410 linux2.4 内核源码
💻 H
字号:
/* *  linux/include/asm-arm/arch-pxa/lubbock.h * *  Author:	Nicolas Pitre *  Created:	Jun 15, 2001 *  Copyright:	MontaVista Software Inc. *   * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */#define LUBBOCK_FPGA_PHYS	PXA_CS2_PHYS	#define LUBBOCK_FPGA_VIRT	(0xf0000000)	/* phys 0x08000000 */#define LUBBOCK_ETH_BASE	(0xf1000000)	/* phys 0x0c000000 */#define LUBBOCK_SA1111_BASE	(0xf4000000)	/* phys 0x10000000 */#define LUB_P2V(x)		((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT)#define LUB_V2P(x)		((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS)#ifndef __ASSEMBLY__#  define __LUB_REG(x)		(*((volatile unsigned long *)LUB_P2V(x)))#else#  define __LUB_REG(x)		LUB_P2V(x)#endif/* board level registers in the CPLD: (offsets from CPLD_BASE) */#define WHOAMI			0	// card ID's (see programmers manual)#define HEX_LED			0x10	// R/W access to 8 7 segment displays#define DISC_BLNK_LED		0x40 	// R/W [15-8] enables for hex leds, [7-0] discrete LEDs#define CONF_SWITCHES		0x50	// RO [1] flash wrt prot, [0] 0= boot from rom, 1= flash#define USER_SWITCHES		0x60	// RO [15-8] dip switches, [7-0] 2 hex encoding switches#define MISC_WR			0x80	// R/W various system controls -see manual#define MISC_RD			0x90	// RO various system status bits -see manual//#define LUB_IRQ_MASK_EN		0xC0    // R/W 0= mask, 1= enable of TS, codec, ethernet, USB, SA1111, and card det. irq's//#define LUB_IRQ_SET_CLR		0xD0	// R/W 1= set, 0 = clear IRQ's from TS, codec, etc...//#define LUB_GP			0x100	// R/W [15-0] 16 bits of general purpose I/o for hacking/* FPGA register physical addresses */#define _LUB_WHOAMI		(LUBBOCK_FPGA_PHYS + 0x000)#define _LUB_HEXLED		(LUBBOCK_FPGA_PHYS + 0x010)#define _LUB_DISC_BLNK_LED	(LUBBOCK_FPGA_PHYS + 0x040)#define _LUB_CONF_SWITCHES	(LUBBOCK_FPGA_PHYS + 0x050)#define _LUB_USER_SWITCHES	(LUBBOCK_FPGA_PHYS + 0x060)#define _LUB_MISC_WR		(LUBBOCK_FPGA_PHYS + 0x080)#define _LUB_MISC_RD		(LUBBOCK_FPGA_PHYS + 0x090)#define _LUB_IRQ_MASK_EN	(LUBBOCK_FPGA_PHYS + 0x0C0)#define _LUB_IRQ_SET_CLR	(LUBBOCK_FPGA_PHYS + 0x0D0)#define _LUB_GP			(LUBBOCK_FPGA_PHYS + 0x100)/* FPGA register virtual addresses */#define LUB_WHOAMI		__LUB_REG(_LUB_WHOAMI)#define LUB_HEXLED		__LUB_REG(_LUB_HEXLED)		#define LUB_DISC_BLNK_LED	__LUB_REG(_LUB_DISC_BLNK_LED)	#define LUB_CONF_SWITCHES	__LUB_REG(_LUB_CONF_SWITCHES)	#define LUB_USER_SWITCHES	__LUB_REG(_LUB_USER_SWITCHES)	#define LUB_MISC_WR		__LUB_REG(_LUB_MISC_WR)	#define LUB_MISC_RD		__LUB_REG(_LUB_MISC_RD)		#define LUB_IRQ_MASK_EN		__LUB_REG(_LUB_IRQ_MASK_EN)#define LUB_IRQ_SET_CLR		__LUB_REG(_LUB_IRQ_SET_CLR)		#define LUB_GP			__LUB_REG(_LUB_GP)	/* GPIOs */#define GPIO_LUBBOCK_IRQ	0#define IRQ_GPIO_LUBBOCK_IRQ	IRQ_GPIO0/* * LED macros */#define LEDS_BASE LUB_DISC_BLNK_LED// 8 discrete leds available for general use:#define D28	0x1#define D27	0x2#define D26	0x4#define D25	0x8#define D24	0x10#define D23	0x20#define D22	0x40#define D21	0x80/* Note: bits [15-8] are used to enable/blank the 8 7 segment hex displays so*  be sure to not monkey with them here.*/#define HEARTBEAT_LED	D28#define SYS_BUSY_LED    D27#define HEXLEDS_BASE LUB_HEXLED#define HEARTBEAT_LED_ON  (LEDS_BASE &= ~HEARTBEAT_LED)#define HEARTBEAT_LED_OFF (LEDS_BASE |= HEARTBEAT_LED)#define SYS_BUSY_LED_OFF  (LEDS_BASE |= SYS_BUSY_LED)#define SYS_BUSY_LED_ON   (LEDS_BASE &= ~SYS_BUSY_LED)// use x = D26-D21 for these, please...#define DISCRETE_LED_ON(x) (LEDS_BASE &= ~(x))#define DISCRETE_LED_OFF(x) (LEDS_BASE |= (x))#ifndef __ASSEMBLY__//extern int hexled_val = 0;#endif#define BUMP_COUNTER (HEXLEDS_BASE = hexled_val++)#define DEC_COUNTER (HEXLEDS_BASE = hexled_val--)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -