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

📄 1009.fip.patch

📁 sm86xx内核源包括补丁( GPL )的
💻 PATCH
📖 第 1 页 / 共 4 页
字号:
+}++#ifdef __KERNEL__ +static +#endif /* __KERNEL__ */+int fip_exit(void)+{+	fip_clear();++	/* Disable FIP and interrupt */+	fip_write_reg(FIP_CONFIG, 0);+	fip_wait_ready();+	return(0);+}++#ifndef __KERNEL__ +unsigned long fip_readkey(void)+{+	unsigned long key = 0L;++	fip_wait_ready();+	fip_write_reg(FIP_COMMAND, FIP_CMD_DATA_SET_RW_MODE_READ_KEYS);+	key = fip_read_reg(FIP_KEY_DATA1); +	return(key);+}+#endif /* __KERNEL__ */++#ifdef __KERNEL__+int __init fip_init_module(void)+{+	int status = 0;++	if (tangox_fip_enabled() == 0)+		return(0);++	/* Initialize private data structure */+	memset(&fip_priv, 0, sizeof(struct fip_private)); +#ifdef ENABLE_WRITE_INTR+	fip_priv.cmdq_empty = 1;+#endif+	spin_lock_init(&fip_priv.lock);++	if (buffer_size < 1) {+		printk(KERN_ERR "%s: buffer size (%d) error\n", fip_devname,+			buffer_size); +		return(-EIO);+	} +	if ((fip_priv.buffer = kmalloc(buffer_size * sizeof(unsigned long), GFP_KERNEL)) == NULL) {+		printk(KERN_ERR "%s: out of memory for buffer\n", fip_devname); +		return(-ENOMEM);+	}++	/* Register device, and may be allocating major# */+	status = register_chrdev(major_num, fip_devname, &fip_fops);+	if (status < 0) {+		printk(KERN_ERR "%s: cannot get major number\n", fip_devname); +		if (fip_priv.buffer != NULL)+			kfree(fip_priv.buffer);+		return(status);+	} else if (major_num == 0)+		major_num = status;	/* Dynamic major# allocation */++	/* Hook up ISR */+	if (request_irq(fip_irq, fip_isr, SA_SHIRQ, fip_devname, &fip_priv) != 0) {+		printk(KERN_ERR "%s: cannot register IRQ (%d)\n", fip_devname,+			fip_irq);+		unregister_chrdev(major_num, fip_devname);	+		if (fip_priv.buffer != NULL)+			kfree(fip_priv.buffer);+		return(-EIO);+	}++	fip_init();+	init_timer(&fip_timer);++	printk("SMP863x %s (%d:0): driver loaded (buffer_size = %d)\n", +		fip_devname, major_num, buffer_size);+	return(0);+}++void __exit fip_cleanup_module(void)+{+	if (tangox_fip_enabled() == 0)+		return;++	unregister_chrdev(major_num, fip_devname);+	free_irq(fip_irq, &fip_priv);++	if (fip_priv.buffer != NULL)+		kfree(fip_priv.buffer);++	fip_exit();++	printk(KERN_DEBUG "%s: driver unloaded\n", fip_devname);+}++module_init(fip_init_module);+module_exit(fip_cleanup_module);++#endif /* __KERNEL__ */+diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linux-2.6.15.ref/drivers/char/Kconfig linux-2.6.15/drivers/char/Kconfig--- linux-2.6.15.ref/drivers/char/Kconfig	2006-08-09 09:31:00.000000000 -0700+++ linux-2.6.15/drivers/char/Kconfig	2006-08-09 11:12:37.000000000 -0700@@ -470,6 +470,29 @@        help          Support Infra-Red remote controller interface for SMP863x/SMP865x. +config TANGOX_FIP+       tristate "SMP863x/SMP865x Front Panel support" if TANGOX+       default m+       help+         Support Front Panel interface for SMP863x/SMP865x.++choice+       prompt "SMP863x/SMP865x reference platform"+       depends on TANGOX_FIP+       default TANGOX_FIP_REF1++config TANGOX_FIP_REF1+       bool "Ref1"+       help+         For reference platform 1.++config TANGOX_FIP_REF2+       bool "Ref2"+       help+         For reference platform 2.++endchoice+ config UNIX98_PTYS 	bool "Unix98 PTY support" if EMBEDDED 	default ydiff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linux-2.6.15.ref/drivers/char/Makefile linux-2.6.15/drivers/char/Makefile--- linux-2.6.15.ref/drivers/char/Makefile	2006-08-09 09:31:10.000000000 -0700+++ linux-2.6.15/drivers/char/Makefile	2006-08-09 11:13:12.000000000 -0700@@ -90,6 +90,7 @@ obj-$(CONFIG_TANBAC_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_TANGOX_IR) += irkernel.o+obj-$(CONFIG_TANGOX_FIP) += fipkernel.o  obj-$(CONFIG_WATCHDOG)	+= watchdog/ obj-$(CONFIG_MWAVE) += mwave/diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linux-2.6.15.ref/include/asm-mips/tango2/fip.h linux-2.6.15/include/asm-mips/tango2/fip.h--- linux-2.6.15.ref/include/asm-mips/tango2/fip.h	1969-12-31 16:00:00.000000000 -0800+++ linux-2.6.15/include/asm-mips/tango2/fip.h	2006-08-09 11:10:29.000000000 -0700@@ -0,0 +1,117 @@+/*****************************************+ *  Copyright 漏 2001-2007+ *  Sigma Designs, Inc. All Rights Reserved+ *  Proprietary and Confidential+ ******************************************/++/*+ * FIP related definitions, and function prototypes.+ */+#ifndef _FIP_H_+#define _FIP_H_++#ifdef __KERNEL__+#include <linux/kernel.h>+#include <linux/module.h>+#include <asm/ioctl.h>+#endif /* __KERNEL__ */++/* Valid symbols */+#if defined(CONFIG_TANGOX_FIP_REF1)+#define DVD_FIP_ON			0+#define PLAY_FIP_ON			1+#define DTS_FIP_ON			2+#define MP3_FIP_ON			3+#define DOLBYDIGITAL_FIP_ON		4+#define MPEG4_FIP_ON			5+#define PAUSE_FIP_ON			6+#define DVI_FIP_ON              	7+#define TWIRL_1_FIP_ON			8+#define TWIRL_2_FIP_ON			9+#define TWIRL_3_FIP_ON			10+#define TWIRL_4_FIP_ON			11+#define TWIRL_5_FIP_ON			12+#define TWIRL_6_FIP_ON			13+#define ALL_FIP_ON			14+#define REPEAT_FIP_ON			15+#define COLON_MIN_SEC_FIP_ON		16+#define R1080_FIP_ON			17+#define R720_FIP_ON			18+#define COLON_HOUR_MIN_FIP_ON		19+#define R480_FIP_ON			20+#define PAL_FIP_ON			21+#define NTSC_FIP_ON			22+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define DVD_FIP				201+#define VCD_FIP				202+#define MP3_FIP				203+#define CD_FIP				204+#define TITLE_FIP			205+#define TRACK_CHAPTER_FIP		206+#else+#error Unsupport front panel.+#endif++/* Alignment */+#define FIP_LEFT		0x0000	/* flags for fip_write_text() */+#define FIP_CENTER		0x0001+#define FIP_RIGHT		0x0002++/* FIP Keys */+#if defined(CONFIG_TANGOX_FIP_REF1)+#define FIP_KEY_EJECT		0x00000004+#define FIP_KEY_PREV		0x00000800+#define FIP_KEY_NEXT		0x00008000+#define FIP_KEY_FBWD		0x00000008+#define FIP_KEY_FFWD		0x00000080+#define FIP_KEY_PLAYPAUSE	0x00000040+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define FIP_KEY_EJECT		0x00000001+#define FIP_KEY_PLAYPAUSE	0x00000002+#define FIP_KEY_STOP		0x00000004+#define FIP_KEY_PREV		0x00000008+#define FIP_KEY_NEXT		0x00000010+#define FIP_KEY_FBWD		0x00000020+#define FIP_KEY_FFWD		0x00000040+#define FIP_KEY_MENU		0x00000080+#else+#error Unsupport front panel.+#endif++#if defined(__KERNEL__) || !defined(BOOTLOADER)+/* ioctl commands for user level applications*/+#define FIP_IOC_MAGIC		'F'+#define FIP_IOCSHOWSYMBOL	_IO(FIP_IOC_MAGIC, 0)+#define FIP_IOCSHOWHMS		_IO(FIP_IOC_MAGIC, 1)+#define FIP_IOCDISPCHAR		_IO(FIP_IOC_MAGIC, 2)+#define FIP_IOCDISPRAW		_IO(FIP_IOC_MAGIC, 3)+#define FIP_IOCDISPTEXT		_IO(FIP_IOC_MAGIC, 4)+#define FIP_IOCCLEAR		_IO(FIP_IOC_MAGIC, 5)+#define FIP_IOCGETFPTYPE	_IO(FIP_IOC_MAGIC, 6)+#endif /* __KERNEL__ || !BOOTLOADER */++#ifdef __KERNEL__+static void fip_write_text(const int position, const char *text, const int flags);+static int fip_show_hms(int hour, int minute, int second);+static void fip_display_symbol(const int symbol, const int on);+static int fip_display_character(const int position, const char character);+static void fip_display_raw(const int byte, const int bit, const int on); +static int is_fip_busy(void);+static void fip_wait_ready(void);+static void fip_clear(void);+#elif defined(BOOTLOADER)+void fip_write_text(const int position, const char *text, const int flags);+int fip_show_hms(int hour, int minute, int second);+void fip_display_symbol(const int symbol, const int on);+int fip_display_character(const int position, const char character);+void fip_display_raw(const int byte, const int bit, const int on); +int is_fip_busy(void);+void fip_wait_ready(void);+void fip_clear(void);+int fip_init(void);+int fip_exit(void);+unsigned long fip_readkey(void);+#endif /* __KERNEL__ */++#endif+diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linux-2.6.15.ref/include/asm-mips/tango3/fip.h linux-2.6.15/include/asm-mips/tango3/fip.h--- linux-2.6.15.ref/include/asm-mips/tango3/fip.h	1969-12-31 16:00:00.000000000 -0800+++ linux-2.6.15/include/asm-mips/tango3/fip.h	2006-08-09 11:10:36.000000000 -0700@@ -0,0 +1,117 @@+/*****************************************+ *  Copyright 漏 2001-2004+ *  Sigma Designs, Inc. All Rights Reserved+ *  Proprietary and Confidential+ ******************************************/++/*+ * FIP related definitions, and function prototypes.+ */+#ifndef _FIP_H_+#define _FIP_H_++#ifdef __KERNEL__+#include <linux/kernel.h>+#include <linux/module.h>+#include <asm/ioctl.h>+#endif /* __KERNEL__ */++/* Valid symbols */+#if defined(CONFIG_TANGOX_FIP_REF1)+#define DVD_FIP_ON			0+#define PLAY_FIP_ON			1+#define DTS_FIP_ON			2+#define MP3_FIP_ON			3+#define DOLBYDIGITAL_FIP_ON		4+#define MPEG4_FIP_ON			5+#define PAUSE_FIP_ON			6+#define DVI_FIP_ON              	7+#define TWIRL_1_FIP_ON			8+#define TWIRL_2_FIP_ON			9+#define TWIRL_3_FIP_ON			10+#define TWIRL_4_FIP_ON			11+#define TWIRL_5_FIP_ON			12+#define TWIRL_6_FIP_ON			13+#define ALL_FIP_ON			14+#define REPEAT_FIP_ON			15+#define COLON_MIN_SEC_FIP_ON		16+#define R1080_FIP_ON			17+#define R720_FIP_ON			18+#define COLON_HOUR_MIN_FIP_ON		19+#define R480_FIP_ON			20+#define PAL_FIP_ON			21+#define NTSC_FIP_ON			22+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define DVD_FIP				201+#define VCD_FIP				202+#define MP3_FIP				203+#define CD_FIP				204+#define TITLE_FIP			205+#define TRACK_CHAPTER_FIP		206+#else+#error Unsupport front panel.+#endif++/* Alignment */+#define FIP_LEFT		0x0000	/* flags for fip_write_text() */+#define FIP_CENTER		0x0001+#define FIP_RIGHT		0x0002++/* FIP Keys */+#if defined(CONFIG_TANGOX_FIP_REF1)+#define FIP_KEY_EJECT		0x00000004+#define FIP_KEY_PREV		0x00000800+#define FIP_KEY_NEXT		0x00008000+#define FIP_KEY_FBWD		0x00000008+#define FIP_KEY_FFWD		0x00000080+#define FIP_KEY_PLAYPAUSE	0x00000040+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define FIP_KEY_EJECT		0x00000001+#define FIP_KEY_PLAYPAUSE	0x00000002+#define FIP_KEY_STOP		0x00000004+#define FIP_KEY_PREV		0x00000008+#define FIP_KEY_NEXT		0x00000010+#define FIP_KEY_FBWD		0x00000020+#define FIP_KEY_FFWD		0x00000040+#define FIP_KEY_MENU		0x00000080+#else+#error Unsupport front panel.+#endif++#if defined(__KERNEL__) || !defined(BOOTLOADER)+/* ioctl commands for user level applications*/+#define FIP_IOC_MAGIC		'F'+#define FIP_IOCSHOWSYMBOL	_IO(FIP_IOC_MAGIC, 0)+#define FIP_IOCSHOWHMS		_IO(FIP_IOC_MAGIC, 1)+#define FIP_IOCDISPCHAR		_IO(FIP_IOC_MAGIC, 2)+#define FIP_IOCDISPRAW		_IO(FIP_IOC_MAGIC, 3)+#define FIP_IOCDISPTEXT		_IO(FIP_IOC_MAGIC, 4)+#define FIP_IOCCLEAR		_IO(FIP_IOC_MAGIC, 5)+#define FIP_IOCGETFPTYPE	_IO(FIP_IOC_MAGIC, 6)+#endif /* __KERNEL__ || !BOOTLOADER */++#ifdef __KERNEL__+static void fip_write_text(const int position, const char *text, const int flags);+static int fip_show_hms(int hour, int minute, int second);+static void fip_display_symbol(const int symbol, const int on);+static int fip_display_character(const int position, const char character);+static void fip_display_raw(const int byte, const int bit, const int on); +static int is_fip_busy(void);+static void fip_wait_ready(void);+static void fip_clear(void);+#elif defined(BOOTLOADER)+void fip_write_text(const int position, const char *text, const int flags);+int fip_show_hms(int hour, int minute, int second);+void fip_display_symbol(const int symbol, const int on);+int fip_display_character(const int position, const char character);+void fip_display_raw(const int byte, const int bit, const int on); +int is_fip_busy(void);+void fip_wait_ready(void);+void fip_clear(void);+int fip_init(void);+int fip_exit(void);+unsigned long fip_readkey(void);+#endif /* __KERNEL__ */++#endif+diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linux-2.6.15.ref/README.1009.fip.patch linux-2.6.15/README.1009.fip.patch--- linux-2.6.15.ref/README.1009.fip.patch	1969-12-31 16:00:00.000000000 -0800+++ linux-2.6.15/README.1009.fip.patch	2006-08-09 11:19:06.000000000 -0700@@ -0,0 +1,19 @@+Feature:+--------+Front Panel Interface support for SMP863x/SMP865x++Prerequisite patch numbers:+---------------------------+0000+1000++Primary author:+---------------+YH Lin++Related to which chip version SMP86xx xx=?+------------------------------------------+Tango2 ES6/RevA or above, or Tango3 ES1 or above++(linux patches) which CONFIG_... are provided:+----------------------------------------------

⌨️ 快捷键说明

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