[U-Boot] [PATCH] ftintc010.h: add header of ftintc010 interrupt controller

Macpaul Lin macpaul at andestech.com
Fri Dec 16 09:31:44 CET 2011


add header definition of faraday interrupt controller

Signed-off-by: Macpaul Lin <macpaul at andestech.com>
---
 include/faraday/ftintc010.h |  101 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 101 insertions(+), 0 deletions(-)
 create mode 100644 include/faraday/ftintc010.h

diff --git a/include/faraday/ftintc010.h b/include/faraday/ftintc010.h
new file mode 100644
index 0000000..f2e004b
--- /dev/null
+++ b/include/faraday/ftintc010.h
@@ -0,0 +1,101 @@
+/*
+ * (C) Copyright 2012 Andes Technology Corp
+ * Macpaul Lin <macpaul at andestech.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ * FTINTC010 - Faraday Interrupt Controller
+ */
+#ifndef __FTINTC010_H
+#define __FTINTC010_H
+
+#ifndef __ASSEMBLY__
+
+struct ftintc010 {
+	unsigned int	irqsrc;		/* 0x00 - IRQ Source */
+	unsigned int	irqen;		/* 0x04 - IRQ Enable */
+	unsigned int	irqclr;		/* 0x08 - IRQ Interrupt Clear */
+	unsigned int	irqtrigmode;	/* 0x0C - IRQ Trigger Mode */
+	unsigned int	irqtriglevel;	/* 0x10 - IRQ Trigger Level */
+	unsigned int	status;		/* 0x14 - IRQ Status */
+	unsigned int	rsvd0[2];	/* 0x18-0x1C */
+	unsigned int	fiqsrc;		/* 0x20 - FIQ Source */
+	unsigned int	fiqen;		/* 0x24 - FIQ Enable */
+	unsigned int	fiqclr;		/* 0x28 - FIQ Interrupt Clear */
+	unsigned int	fiqtrigmode;	/* 0x2C - FIQ Trigger Mode */
+	unsigned int	fiqtriglevel;	/* 0x30 - FIQ Trigger Level */
+	unsigned int	fiqstatus;	/* 0x34 - FIQ Status */
+	unsigned int	rsvd1[6];	/* 0x38-0x4C */
+	unsigned int	rev;		/* 0x50 - Revision */
+
+	/* The following are Feature Registers */
+	unsigned int	frin;		/* 0x54 - Input Number */
+	unsigned int	frirqdl;	/* 0x58 - IRQ De-bounce Location */
+	unsigned int	frfiqdl;	/* 0x5C - FIQ De-bounce Location */
+};
+#endif /* __ASSEMBLY__ */
+
+/* 0x00 - IRQ Source Register */
+#define FTINTC010_IRQ_SRC(x)		(1 << x)
+
+/* 0x04 - IRQ Enable Register */
+#define FTINTC010_IRQ_EN(x)		(1 << x)
+
+/* 0x08 - IRQ Interrupt Clear Register */
+#define FTINTC010_IRQ_CLR(x)		(1 << x)
+
+/* 0x0C - IRQ Trigger Mode Register */
+#define FTINTC010_IRQ_TRIGMODE(x)	(1 << x)
+
+/* 0x10 - IRQ Trigger Level Register */
+#define FTINTC010_IRQ_TRIGLEVEL(x)	(1 << x)
+
+/* 0x14 - IRQ Status Register */
+#define FTINTC010_IRQ_ST(x)		(1 << x)
+
+/* 0x20 - FIQ Source Register */
+#define FTINTC010_FIQ_SRC(x)		(1 << x)
+
+/* 0x24 - FIQ Enable Register */
+#define FTINTC010_FIQ_EN(x)		(1 << x)
+
+/* 0x28 - FIQ Interrupt Clear Register */
+#define FTINTC010_FIQ_CLR(x)		(1 << x)
+
+/* 0x2C - FIQ Trigger Mode Register */
+#define FTINTC010_FIQ_TRIGMODE(x)	(1 << x)
+
+/* 0x30 - FIQ Trigger Level Register */
+#define FTINTC010_FIQ_TRIGLEVEL(x)	(1 << x)
+
+/* 0x34 - FIQ Status Register */
+#define FTINTC010_FIQ_ST(x)		(1 << x)
+
+/* 0x50 - Revision Register */
+#define FTINTC010_REV(x)		(((x) > 0) & 0xFFFFFF)
+
+/* 0x54 - Feature Register for Input Number */
+#define FTINTC010_FRIN_IRQNO(x)		(((x) > 8) & 0xFF)
+#define FTINTC010_FRIN_FIQNO(x)		(((x) > 0) & 0xFF)
+
+/* 0x58 - Feature Register for IRQ De-bounce Location */
+#define FTINTC010_IRQDL(x)		(1 << x)
+
+/* 0x5C - Feature Register for FIQ De-bounce Location */
+#define FTINTC010_FIQDL(x)		(1 << x)
+
+#endif	/* __FTINTC010_H */
-- 
1.7.3.5



More information about the U-Boot mailing list