📄 1009.fip.patch
字号:
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/arch/mips/configs/tango2_defconfig linux-2.6.15/arch/mips/configs/tango2_defconfig--- linux-2.6.15.ref/arch/mips/configs/tango2_defconfig 2006-08-09 09:37:14.000000000 -0700+++ linux-2.6.15/arch/mips/configs/tango2_defconfig 2006-08-09 11:17:24.000000000 -0700@@ -703,6 +703,9 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set CONFIG_TANGOX_IR=m+CONFIG_TANGOX_FIP=m+CONFIG_TANGOX_FIP_REF1=y+# CONFIG_TANGOX_FIP_REF2 is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256diff -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/arch/mips/configs/tango3_defconfig linux-2.6.15/arch/mips/configs/tango3_defconfig--- linux-2.6.15.ref/arch/mips/configs/tango3_defconfig 2006-08-09 09:37:49.000000000 -0700+++ linux-2.6.15/arch/mips/configs/tango3_defconfig 2006-08-09 11:17:54.000000000 -0700@@ -698,6 +698,9 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set CONFIG_TANGOX_IR=m+CONFIG_TANGOX_FIP=m+CONFIG_TANGOX_FIP_REF1=y+# CONFIG_TANGOX_FIP_REF2 is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256diff -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/fipkernel.c linux-2.6.15/drivers/char/fipkernel.c--- linux-2.6.15.ref/drivers/char/fipkernel.c 1969-12-31 16:00:00.000000000 -0800+++ linux-2.6.15/drivers/char/fipkernel.c 2006-08-09 11:16:26.000000000 -0700@@ -0,0 +1,1310 @@+/*****************************************+ * Copyright 漏 2001-2007+ * Sigma Designs, Inc. All Rights Reserved+ * Proprietary and Confidential+ * Modified for KiSS Front Panel support+ * By Stefan Hallas Andersen+ ******************************************/++#ifdef __KERNEL__ +#include <linux/init.h>+#include <linux/slab.h>+#include <linux/irq.h>+#include <linux/poll.h>+#include <linux/interrupt.h>+#include <linux/timer.h>+#include <asm/delay.h>+#include <asm/io.h>+#ifdef CONFIG_TANGO2+#include <asm/tango2/tango2_gbus.h>+#include <asm/tango2/hardware.h>+#include <asm/tango2/fip.h>+#elif defined(CONFIG_TANGO3)+#include <asm/tango3/tango3_gbus.h>+#include <asm/tango3/hardware.h>+#include <asm/tango3/fip.h>+#endif+#else+#include "version.h"+#include "config.h"+#include "io.h"+#endif /* __KERNEL__ */++extern int tangox_fip_enabled(void);++/* chip specific register definitions */++/* EM85XX */+#if 0+#define FIP_BASE 0x00500D00+#define FIP_COMMAND 0x00+#define FIP_DISPLAY_DATA 0x04+#define FIP_LED_DATA 0x08+#define FIP_KEY_DATA1 0x0C+#define FIP_KEY_DATA2 0x10+#define FIP_SWITCH_DATA 0x14+#define FIP_CLK_DIV 0x20+#define FIP_TRISTATE_MODE 0x24++#define FIP_TRISTATE_MODE_MASK 0x2+#define FIP_DIVIDER 40+#endif++#ifndef CONFIG_TANGOX+#error "Only TANGOX is supported/tested."+#endif++/* TANGOX */+#define FIP_BASE (REG_BASE_system_block + 0x500)+#define FIP_COMMAND 0x40+#define FIP_DISPLAY_DATA 0x44+#define FIP_LED_DATA 0x48+#define FIP_KEY_DATA1 0x4c+#define FIP_KEY_DATA2 0x50+#define FIP_SWITCH_DATA 0x54+#define FIP_CONFIG 0x58+#define FIP_INT 0x5c++#if defined(CONFIG_TANGOX_FIP_REF1)+#define FIP_DIVIDER 27 /* default value */+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define FIP_DIVIDER 54 /* default value */+#endif++#define FIP_BUSY 0x200+#define FIP_ENABLE 0x400++/* FIP commands */+#define FIP_CMD_DISP_MODE_08DIGITS_20SEGMENTS 0x00+#define FIP_CMD_DISP_MODE_09DIGITS_19SEGMENTS 0x08+#define FIP_CMD_DISP_MODE_10DIGITS_18SEGMENTS 0x09+#define FIP_CMD_DISP_MODE_11DIGITS_17SEGMENTS 0x0a+#define FIP_CMD_DISP_MODE_12DIGITS_16SEGMENTS 0x0b+#define FIP_CMD_DISP_MODE_13DIGITS_15SEGMENTS 0x0c+#define FIP_CMD_DISP_MODE_14DIGITS_14SEGMENTS 0x0d+#define FIP_CMD_DISP_MODE_15DIGITS_13SEGMENTS 0x0e+#define FIP_CMD_DISP_MODE_16DIGITS_12SEGMENTS 0x0f+#define FIP_CMD_DATA_SET_RW_MODE_WRITE_DISPLAY 0x40+#define FIP_CMD_DATA_SET_RW_MODE_WRITE_LED_PORT 0x41+#define FIP_CMD_DATA_SET_RW_MODE_READ_KEYS 0x42+#define FIP_CMD_DATA_SET_RW_MODE_READ_SWITCHES 0x43+#define FIP_CMD_DATA_SET_ADR_MODE_INCREMENT_ADR 0x40+#define FIP_CMD_DATA_SET_ADR_MODE_FIXED_ADR 0x44+#define FIP_CMD_DATA_SET_OP_MODE_NORMAL_OPERATION 0x40+#define FIP_CMD_DATA_SET_OP_MODE_TEST_MODE 0x48+#define FIP_CMD_ADR_SETTING 0xC0+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_1_16 0x80+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_2_16 0x81+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_4_16 0x82+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_10_16 0x83+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_11_16 0x84+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_12_16 0x85+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_13_16 0x86+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_14_16 0x87+#define FIP_CMD_DISP_CTRL_TURN_DISPLAY_OFF_MASK 0x87+#define FIP_CMD_DISP_CTRL_TURN_DISPLAY_ON 0x88++#if defined(CONFIG_TANGOX_FIP_REF1)+#define FIP_DISPLAY_MODE 0xa+#define MAX_FIP_RAM 23+#define NUM_SYMBOLS 23+#define NUM_CHARACTERS 72+#define NUM_DIGITS 7+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define FIP_DISPLAY_MODE 0x0a+#define MAX_FIP_RAM 0x2f+#define NUM_SYMBOLS 206+#define NUM_CHARACTERS 69+#define NUM_X_CHARACTERS 12+#define NUM_DIGITS 8+#define NUM_X_DIGITS 4+#endif++#define L_OFF -1 //means light is or should be off+#define FIP_NO_CLEAR 0x0004++#if defined(CONFIG_TANGOX_FIP_REF1)+/*+ 14 SEGMENT LCD (EXTENDED CHARACTERS MAP)++ a + -----+f |\j| /| b + |i\|/k|+ g-- --h+e |n/|\l| c+ |/m| \|+ -----+ d +*/+#define DIGIT_L(b7,b6,c,l,m,n,e,d) ((b7 << 7) | (b6 << 6) | (c << 5) | (l << 4) | (m << 3) | (n << 2) | (e << 1) | d)+#define DIGIT_H(g,h,i,j,k,a,b,f) ((g << 7) | (h << 6) | (i << 5) | (j << 4) | (k << 3) | (a << 2) | (b << 1) | f)++/* sequence must match fipcharacters */+static const char fipcharactersmap[NUM_CHARACTERS+1] = " +-/0123456789<>ABCDEFGHIJKLMNOPQRSTUVWXYZ\\-abcdefghijklmnopqrstuvwxyz|_";+#elif defined(CONFIG_TANGOX_FIP_REF2)+#define DIGIT_L(M,C,E,R,P,B,D,U) ((M << 7) | (C << 6) | (E << 5) | (R << 4) | (P << 3) | (B << 2) | (D << 1) | U)+#define DIGIT_H(A,B,F,H,J,K,G,S) ((A << 7) | (B << 6) | (F << 5) | (H << 4) | (J << 3) | (K << 2) | (G << 1) | S)+// Following definition is for Title/Track/Chaspter digits+#define DIGIT_X(A,B,F,G,C,E,D,U) ((A << 7) | (B << 6) | (F << 5) | (G << 4) | (C << 3) | (E << 2) | (D << 1) | U)+ +static const char fipcharactersmap[NUM_CHARACTERS+1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";+static const char fipxcharactersmap[NUM_X_CHARACTERS+1] = "0123456789- ";+#endif++/* we use the inverted mask for clearing a digit without clearing other things */+static const char fipcharactermask[2] = {+#if defined(CONFIG_TANGOX_FIP_REF1)+ DIGIT_L(1,1,0,0,0,0,0,0), + DIGIT_H(0,0,0,0,0,0,0,0)+#elif defined(CONFIG_TANGOX_FIP_REF2)+ DIGIT_L(0,0,0,0,0,0,0,0), + DIGIT_H(0,0,0,0,0,0,0,0)+#endif+};++#if defined(CONFIG_TANGOX_FIP_REF1)+/* the format is lower byte, higher byte */+static const char fipcharacters[NUM_CHARACTERS][2] = {+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, //+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(1,1,0,1,0,0,0,0)}, // ++ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // -+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,0,0)}, // /++ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // 0+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // 1+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,0)}, // 2+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,0)}, // 3+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,1,1)}, // 4+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // 5+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // 6+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(0,0,0,0,0,1,1,0)}, // 7+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // 8+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // 9++ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,0,1,0,0,0)}, // <+ {DIGIT_L(0,0,0,0,0,1,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // >++ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // A+ {DIGIT_L(0,0,1,0,1,0,0,1), DIGIT_H(0,1,0,1,0,1,1,0)}, // B+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,0,1)}, // C+ {DIGIT_L(0,0,1,0,1,0,0,1), DIGIT_H(0,0,0,1,0,1,1,0)}, // D+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // E+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,0,1)}, // F+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // G+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,1,1)}, // H+ {DIGIT_L(0,0,0,0,1,0,0,1), DIGIT_H(0,0,0,1,0,1,0,0)}, // I+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(0,0,0,0,0,0,1,0)}, // J+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,0,0,0,1,0,0,1)}, // K+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,1)}, // L+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(0,0,1,0,1,0,1,1)}, // M+ {DIGIT_L(0,0,1,1,0,0,1,0), DIGIT_H(0,0,1,0,0,0,1,1)}, // N+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // O+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // P+ {DIGIT_L(0,0,1,1,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // Q+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // R+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // S+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,1,0,0)}, // T+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,1,1)}, // U+ {DIGIT_L(0,0,1,1,0,0,0,0), DIGIT_H(0,0,1,0,0,0,1,0)}, // V+ {DIGIT_L(0,0,1,1,0,1,1,0), DIGIT_H(0,0,0,0,0,0,1,1)}, // W+ {DIGIT_L(0,0,0,1,0,1,0,0), DIGIT_H(0,0,1,0,1,0,0,0)}, // X+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,1,0,1,0,0,0)}, // Y+ {DIGIT_L(0,0,0,0,0,1,0,1), DIGIT_H(0,0,0,0,1,1,0,0)}, // Z++ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,1,0,0,0,0,0)}, // Slash+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // -++ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // a+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,1)}, // b+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // c+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,1,0)}, // d+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // e+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,0,0,0,0,1,0,1)}, // f+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // g+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,0,1)}, // h+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // i+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(0,0,0,0,0,0,0,0)}, // j+ {DIGIT_L(0,0,0,1,1,0,0,0), DIGIT_H(0,1,0,1,0,0,0,0)}, // k+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,1)}, // l+ {DIGIT_L(0,0,1,0,1,0,1,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // m+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // n+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // o+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // p+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // q+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,0,0,0,0,0,0,0)}, // r+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // s+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,0,0,0,0,0,0,1)}, // t+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,0)}, // u+ {DIGIT_L(0,0,1,1,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // v+ {DIGIT_L(0,0,1,1,0,1,1,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // w+ {DIGIT_L(0,0,0,1,1,0,0,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // x+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,1,0,0,0)}, // y+ {DIGIT_L(0,0,0,0,1,0,0,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // z++ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // |+ {DIGIT_L(0,0,0,0,0,0,0,1), DIGIT_H(0,0,0,0,0,0,0,0)} // _+};+#elif defined(CONFIG_TANGOX_FIP_REF2)+/* the format is lower byte, higher byte */+static const char fipcharacters[NUM_CHARACTERS][2] = {+ {DIGIT_L(0,1,1,0,0,0,1,1), DIGIT_H(1,1,1,0,0,0,0,0)}, // 0+ {DIGIT_L(0,0,0,0,1,0,0,1), DIGIT_H(0,0,0,0,1,0,0,1)}, // 1+ {DIGIT_L(1,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,1,1)}, // 2+ {DIGIT_L(1,1,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // 3+ {DIGIT_L(1,1,0,0,0,0,0,1), DIGIT_H(0,1,1,0,0,0,1,1)}, // 4+ {DIGIT_L(1,1,0,0,0,0,1,1), DIGIT_H(1,0,1,0,0,0,1,1)}, // 5+ {DIGIT_L(1,1,1,0,0,0,1,1), DIGIT_H(1,0,1,0,0,0,1,1)}, // 6+ {DIGIT_L(0,1,0,0,0,0,0,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // 7+ {DIGIT_L(1,1,1,0,0,0,1,1), DIGIT_H(1,1,1,0,0,0,1,1)}, // 8+ {DIGIT_L(1,1,0,0,0,0,0,1), DIGIT_H(1,1,1,0,0,0,1,1)}, // 9+ {DIGIT_L(1,1,1,0,0,0,0,0), DIGIT_H(1,1,1,0,0,0,1,1)}, // A+ {DIGIT_L(1,1,0,0,1,0,1,0), DIGIT_H(1,1,0,0,1,0,0,1)}, // B+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,0,1,0,0,0,0,0)}, // C+ {DIGIT_L(0,1,0,0,1,0,1,0), DIGIT_H(1,1,0,0,1,0,0,1)}, // D+ {DIGIT_L(1,0,1,0,0,0,1,0), DIGIT_H(1,0,1,0,0,0,1,1)}, // E+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(1,0,1,0,0,0,1,1)}, // F+ {DIGIT_L(1,1,1,0,0,0,1,0), DIGIT_H(1,0,1,0,0,0,0,0)}, // G+ {DIGIT_L(1,1,1,0,0,0,0,0), DIGIT_H(0,1,1,0,0,0,1,1)}, // H+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,0,1)}, // I+ {DIGIT_L(0,1,1,0,0,0,1,0), DIGIT_H(0,1,0,0,0,0,0,0)}, // J+ {DIGIT_L(0,0,1,0,0,1,0,0), DIGIT_H(0,0,1,0,0,1,1,1)}, // K+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(0,0,1,0,0,0,0,0)}, // L+ {DIGIT_L(0,1,1,0,0,0,0,0), DIGIT_H(0,1,1,1,0,1,0,1)}, // M+ {DIGIT_L(0,1,1,0,0,1,0,0), DIGIT_H(0,1,1,1,0,0,0,1)}, // N+ {DIGIT_L(0,1,1,0,0,0,1,0), DIGIT_H(1,1,1,0,0,0,0,0)}, // O+ {DIGIT_L(1,0,1,0,0,0,0,0), DIGIT_H(1,1,1,0,0,0,1,1)}, // P+ {DIGIT_L(0,1,1,0,0,1,1,0), DIGIT_H(1,1,1,0,0,0,0,0)}, // Q+ {DIGIT_L(1,0,1,0,0,1,0,0), DIGIT_H(1,1,1,0,0,0,1,1)}, // R+ {DIGIT_L(1,1,0,0,0,0,1,0), DIGIT_H(1,0,1,0,0,0,1,1)}, // S+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(1,0,0,0,1,0,0,1)}, // T+ {DIGIT_L(0,1,1,0,0,0,1,0), DIGIT_H(0,1,1,0,0,0,0,0)}, // U+ {DIGIT_L(0,0,1,1,0,0,0,0), DIGIT_H(0,0,1,0,0,1,0,1)}, // V+ {DIGIT_L(0,1,1,1,0,1,0,0), DIGIT_H(0,1,1,0,0,0,0,1)}, // W+ {DIGIT_L(0,0,0,1,0,1,0,0), DIGIT_H(0,0,0,1,0,1,0,0)}, // X+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,1,0,1)}, // Y+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,0,0,0,0,1,0,1)}, // Z+ {0,0}, // Space+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,0,1)}, // !+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,1,0,1,0,0,0)}, // "+ {DIGIT_L(1,0,0,1,1,0,0,0), DIGIT_H(0,0,0,1,1,0,1,1)}, // #+ {DIGIT_L(1,1,0,0,1,0,1,0), DIGIT_H(1,0,1,0,1,0,1,1)}, // $+ {DIGIT_L(0,1,0,1,0,0,0,0), DIGIT_H(0,0,1,0,0,1,0,1)}, // %+ {DIGIT_L(0,0,1,0,1,0,1,0), DIGIT_H(1,0,0,1,0,1,1,1)}, // &+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,1,0,0)}, // '+ {DIGIT_L(0,0,0,0,0,1,0,0), DIGIT_H(0,0,0,0,0,1,0,0)}, // (+ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // )+ {DIGIT_L(1,0,0,1,1,1,0,0), DIGIT_H(0,0,0,1,1,1,1,1)}, // *+ {DIGIT_L(1,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,1,1)}, // ++ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // ,+ {DIGIT_L(1,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,0,1,1)}, // -+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,1)}, // .+ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,0,0,1,0,1)}, // /+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,0,0,0,1)}, // :+ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,1)}, // ;+ {DIGIT_L(0,0,0,0,0,1,0,0), DIGIT_H(0,0,0,0,0,1,0,1)}, // <+ {DIGIT_L(1,0,0,0,0,0,1,0), DIGIT_H(0,0,0,0,0,0,1,1)}, // =+ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,1,0,0,0,1)}, // >+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(1,0,1,0,0,1,0,1)}, // ?+ {DIGIT_L(1,0,1,0,0,0,1,0), DIGIT_H(1,1,1,0,1,1,0,1)}, // @+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,0,0,1,0,0,0,0)}, // [+ {DIGIT_L(0,0,0,0,0,1,0,0), DIGIT_H(0,0,0,1,0,0,0,1)}, // / + {DIGIT_L(0,1,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // ]+ {DIGIT_L(0,0,0,1,0,1,0,0), DIGIT_H(0,0,0,0,0,0,0,1)}, // ^+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // _+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // `+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,0,0,1,0,0,1,0)}, // {+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,0,1)}, // |+ {DIGIT_L(1,0,0,0,0,1,1,0), DIGIT_H(1,0,0,0,0,1,0,1)}, // }+ {DIGIT_L(1,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,0,1,0)} // ~+};++static const char fipxcharacters[NUM_X_CHARACTERS] = {+ DIGIT_X(1,1,1,0,1,1,1,1), // 0+ DIGIT_X(0,1,0,0,1,0,0,1), // 1+ DIGIT_X(1,1,0,1,0,1,1,1), // 2+ DIGIT_X(1,1,0,1,1,0,1,1), // 3+ DIGIT_X(0,1,1,1,1,0,0,1), // 4+ DIGIT_X(1,0,1,1,1,0,1,1), // 5+ DIGIT_X(1,0,1,1,1,1,1,1), // 6+ DIGIT_X(1,1,0,0,1,0,0,1), // 7+ DIGIT_X(1,1,1,1,1,1,1,1), // 8+ DIGIT_X(1,1,1,1,1,0,1,1), // 9+ DIGIT_X(0,0,0,1,0,0,0,0), // -+ DIGIT_X(0,0,0,0,0,0,0,0) // +};+#endif++#if defined(CONFIG_TANGOX_FIP_REF1)+/* this array is used to display individual symbols+ the format is [byte position][bit to turn on] - both zero based */+static const char fipsymbols[NUM_SYMBOLS][2] = {+ {0, 0}, /* DVD */+ {0, 1}, /* PLAY */+ {0, 2}, /* DTS */+ {0, 3}, /* MP3 */+ {0, 4}, /* DOLBY DIGITAL */+ {0, 5}, /* MPEG4 */+ {0, 6}, /* PAUSE */+ {0, 7}, /* DVI */+ {1, 0}, /* TWIRL1 */+ {1, 1}, /* TWIRL2 */+ {1, 2}, /* TWIRL3 */+ {1, 3}, /* TWIRL4 */+ {1, 4}, /* TWIRL5 */+ {1, 5}, /* TWIRL6 */+ {1, 6}, /* ALL */+ {1, 7}, /* REPEAT */+ {9, 6}, /* COLON_MIN_SEC */+ {9, 7}, /* R1080 */+ {12, 7}, /* R720 */+ {15, 6}, /* COLON_HOUR_MIN */+ {15, 7}, /* R480 */+ {18, 7}, /* PAL */+ {21, 7}, /* NTSC */+};+#elif defined(CONFIG_TANGOX_FIP_REF2)+/* this array is used to display individual symbols+ the format is [byte position][bit to turn on] - both zero based */+static const char fipsymbols[NUM_SYMBOLS][2] = {+ {0, 1}, // DVD+ {0, 2}, // VCD+ {0, 4}, // MP3+ {0, 8}, // CD+ {29, 1}, // Title+ {27, 1} // Track+};+#endif++/* The buffer size defines the size of circular buffer to keep the FIP keys */+#define BUF_SIZE 2++/* Wait period, to avoid bouncing or repeatation? */+#define WAIT_PERIOD 100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -