diff options
Diffstat (limited to 'packages/u-boot/u-boot-1.3.2/boc01/007_01_u-boot-1.3.2_CAPSENSE.patch')
-rw-r--r-- | packages/u-boot/u-boot-1.3.2/boc01/007_01_u-boot-1.3.2_CAPSENSE.patch | 342 |
1 files changed, 0 insertions, 342 deletions
diff --git a/packages/u-boot/u-boot-1.3.2/boc01/007_01_u-boot-1.3.2_CAPSENSE.patch b/packages/u-boot/u-boot-1.3.2/boc01/007_01_u-boot-1.3.2_CAPSENSE.patch deleted file mode 100644 index d4ce2f9df5..0000000000 --- a/packages/u-boot/u-boot-1.3.2/boc01/007_01_u-boot-1.3.2_CAPSENSE.patch +++ /dev/null @@ -1,342 +0,0 @@ -Index: u-boot-1.3.2/common/cmd_capsense.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ u-boot-1.3.2/common/cmd_capsense.c 2008-11-21 15:35:49.000000000 +0100 -@@ -0,0 +1,90 @@ -+/* -+ * (C) Copyright 2008 -+ * Alexandre Coffignal, CénoSYS, alexandre.coffignal@cenosys.com -+ * -+ * See file CREDITS for list of people who contributed to this -+ * project. -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, -+ * MA 02111-1307 USA -+ * -+ * CapSense Express touch-sensing buttons -+ */ -+ -+#include <common.h> -+#include <config.h> -+#include <command.h> -+ -+#include <capsense.h> -+#include <i2c.h> -+ -+#define ARG_SENSOR_NUMBER 1 -+int do_capsense (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) -+{ -+ int i; -+ unsigned char address = CONFIG_CAPSENSE_I2C_ADDRESS; -+ unsigned char sensors[] = CONFIG_CAPSENSE_SENSORS; -+ int old_bus,sensor_number; -+ -+ /* switch to correct I2C bus */ -+ old_bus = I2C_GET_BUS(); -+ I2C_SET_BUS(CFG_CAPSENSE_BUS_NUM); -+ -+ /* -+ * Loop through sensors, read -+ * state, and output it. -+ */ -+ if(argc==1) -+ { -+ for (i = 0; i < sizeof (sensors); i++) -+ { -+ printf ("CAPSENSE GP%d[%d]: %i\n",sensors[i]&CAPSENSE_INPUT_PORT_MASK?1:0, sensors[i]&CAPSENSE_INPUT_MASK, capsense_get_state(CONFIG_CAPSENSE_I2C_ADDRESS,sensors[i]) ); -+ } -+ -+ } -+ else -+ { -+ if(argc==2) -+ { -+ sensor_number=simple_strtoul (argv[ARG_SENSOR_NUMBER], NULL, 10); -+ if(sensor_number<sizeof (sensors)) -+ { -+ printf ("GP%d[%d]: %i\n",sensors[sensor_number]&CAPSENSE_INPUT_PORT_MASK?1:0, sensors[sensor_number]&CAPSENSE_INPUT_MASK, capsense_get_state(CONFIG_CAPSENSE_I2C_ADDRESS,sensors[sensor_number]) ); -+ } -+ else -+ { -+ printf ("Usage:\n%s\n", cmdtp->usage); -+ } -+ }else -+ { -+ printf ("Usage:\n%s\n", cmdtp->usage); -+ } -+ } -+ -+ /* switch back to original I2C bus */ -+ I2C_SET_BUS(old_bus); -+ -+ return 0; -+} /* do_capsense() */ -+ -+/***************************************************/ -+ -+U_BOOT_CMD( -+ capsense, 2, 1, do_capsense, -+ "capsense - CapSense Express touch-sensing buttons\n", -+ " - Read state of the CapSense Express touch-sensing buttons.\n" -+ "capsense : Read state of all the CapSense Express touch-sensing buttons.\n" -+ "capsense [N] Read state of the CapSense Express touch-sensing buttons N.\n" -+ ); -Index: u-boot-1.3.2/common/Makefile -=================================================================== ---- u-boot-1.3.2.orig/common/Makefile 2008-11-21 15:30:25.000000000 +0100 -+++ u-boot-1.3.2/common/Makefile 2008-11-21 15:35:49.000000000 +0100 -@@ -50,6 +50,7 @@ - COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o - COBJS-$(CONFIG_CMD_DOC) += cmd_doc.o - COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o -+COBJS-$(CONFIG_CMD_CAPSENSE) += cmd_capsense.o - COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o - COBJS-y += cmd_eeprom.o - COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o -Index: u-boot-1.3.2/drivers/i2c/CY8C201xx.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ u-boot-1.3.2/drivers/i2c/CY8C201xx.c 2008-11-21 15:35:49.000000000 +0100 -@@ -0,0 +1,106 @@ -+/* -+ * (C) Copyright 2008 -+ * Alexandre Coffignal, CénoSYS, alexandre.coffignal@cenosys.com -+ * -+ * See file CREDITS for list of people who contributed to this -+ * project. -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, -+ * MA 02111-1307 USA -+ */ -+ -+/* -+ * CapSense Express touch-sensing buttons -+ */ -+ -+#include <common.h> -+ -+#ifdef CONFIG_CAPSENSE_CY8C201XX -+ -+#include <i2c.h> -+#include <capsense.h> -+ -+int capsense_read(int address, int reg) -+{ -+ int dlen; -+ uchar data[2]; -+ -+ /* -+ * Validate 'reg' param -+ */ -+ if((reg < 0) || (reg > 0x8C)) -+ return -1; -+ -+ /* -+ * Prepare to handle 1 byte result. -+ */ -+ dlen = 1; -+ -+ /* -+ * Now try to read the register. -+ */ -+ if (i2c_read(address, reg, 1, data, dlen) != 0) -+ return -1; -+ -+ return (int)data[0]; -+} /* capsense_read() */ -+ -+ -+int capsense_write(int address, int reg, int val) -+{ -+ int dlen; -+ uchar data[2]; -+ -+ /* -+ * Validate 'reg' param -+ */ -+ if((reg < 0) || (reg > 0x8C)) -+ return -1; -+ -+ /* -+ * Handle 1 byte values. -+ */ -+ dlen = 1; -+ data[0] = (char)(val & 0xff); -+ -+ /* -+ * Write value to register. -+ */ -+ if (i2c_write(address, reg, 1, data, dlen) != 0) -+ return 1; -+ -+ return 0; -+} /* capsense_write() */ -+ -+int capsense_get_state(int address,int sensors) -+{ -+ int port_values=0; -+ int input=sensors&CAPSENSE_INPUT_MASK; -+ -+ if(sensors&CAPSENSE_INPUT_PORT_MASK) -+ { -+ /*INPUT_PORT 1*/ -+ port_values=capsense_read(address,CAPSENSE_READ_STATUS_REG+1); -+ } -+ else -+ { -+ /*INPUT_PORT 0*/ -+ port_values=capsense_read(address,CAPSENSE_READ_STATUS_REG); -+ } -+ -+ return port_values&(1<<input)?1:0; -+}/* capsense_get_state() */ -+ -+#endif /* CONFIG_CAPSENSE_CY8C201XX */ -Index: u-boot-1.3.2/drivers/i2c/Makefile -=================================================================== ---- u-boot-1.3.2.orig/drivers/i2c/Makefile 2008-03-09 16:20:02.000000000 +0100 -+++ u-boot-1.3.2/drivers/i2c/Makefile 2008-11-21 15:35:49.000000000 +0100 -@@ -29,6 +29,7 @@ - COBJS-y += omap1510_i2c.o - COBJS-y += omap24xx_i2c.o - COBJS-y += tsi108_i2c.o -+COBJS-y += CY8C201xx.o - - COBJS := $(COBJS-y) - SRCS := $(COBJS:.o=.c) -Index: u-boot-1.3.2/include/capsense.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ u-boot-1.3.2/include/capsense.h 2008-11-21 15:35:49.000000000 +0100 -@@ -0,0 +1,90 @@ -+/* -+ * (C) Copyright 2008 -+ * Alexandre Coffignal, CénoSYS, alexandre.coffignal@cenosys.com -+ * -+ * See file CREDITS for list of people who contributed to this -+ * project. -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, -+ * MA 02111-1307 USA -+ */ -+ -+/* -+ * CapSense Express touch-sensing buttons. -+ */ -+#ifndef _CAPSENSE_H_ -+#define _CAPSENSE_H_ -+ -+#if defined(CONFIG_CAPSENSE_CY8C201XX) -+ -+#define CONFIG_CAPSENSE /* We have a Capsense */ -+ -+#ifndef CONFIG_CAPSENSE_SENSORS -+#define CONFIG_CAPSENSE_SENSORS {0x02,0x84,0x83} /*config for CY3218-CAPEXP1*/ -+#endif -+#endif /* CONFIG_CAPSENSE_SENSORS */ -+ -+extern int capsense_read(int address, int reg); -+extern int capsense_write(int address, int reg, int val); -+extern int capsense_get_state(int address,int sensors); -+#endif -+ -+#if !defined(CFG_CAPSENSE_BUS_NUM) -+#define CFG_CAPSENSE_BUS_NUM 0 -+ -+//----------------------------------------------- -+// Register Map and corresponding constants -+//----------------------------------------------- -+ -+ -+#define CAPSENSE_STATUS_PORT_REG (0x02) -+#define CAPSENSE_OUTPUT_PORT_REG (0x04) -+#define CAPSENSE_ENABLE_CAPSENSE_REG (0x06) -+#define CAPSENSE_ENABLE_GPIO_REG (0x08) -+#define CAPSENSE_INVERSION_PORT_REG (0x0A) -+#define CAPSENSE_INTERRUPT_MASK_REG (0x0C) -+#define CAPSENSE_PORT_STATUS_REG (0x0E) -+#define CAPSENSE_DRIVE_MODE_REG (0x10) -+#define CAPSENSE_OPER_SELECT_0_REG (0x1C) -+#define CAPSENSE_OPER_SELECT_1_REG (0x35) -+#define CAPSENSE_NOISE_THRESHOLD_REG (0x4E) -+#define CAPSENSE_SETTLING_TIME_REG (0x50) -+#define CAPSENSE_EXT_CAP_REG (0x51) -+#define CAPSENSE_SNS_RST_REG (0x51) -+#define CAPSENSE_CLK_SEL_REG (0x51) -+#define CAPSENSE_HYSTERESIS_REG (0x52) -+#define CAPSENSE_DEBOUNCE_REG (0x53) -+#define CAPSENSE_NEG_NOISE_THRESHOLD_REG (0x54) -+#define CAPSENSE_FT_PORT_0_REG (0x61) -+#define CAPSENSE_FT_PORT_1_REG (0x66) -+#define CAPSENSE_IDAC_SETTING_PORT_0_REG (0x6B) -+#define CAPSENSE_IDAC_SETTING_PORT_1_REG (0x70) -+#define CAPSENSE_SLIDER_CONFIGURATION_REG (0x75) -+#define CAPSENSE_SLIDER_RESOLUTION_REG (0x77) -+#define CAPSENSE_DEVICE_ID_REG (0x7A) -+#define CAPSENSE_DEVICAPSENSE_REG (0x7C) -+#define CAPSENSE_SLEEP_CONTROL_PIN_REG (0x7E) -+#define CAPSENSE_SLEEP_CONTROL_REG (0x7F) -+#define CAPSENSE_STAY_AWAKE_CNTR_REG (0x80) -+#define CAPSENSE_BUTTON_SEL_REG (0x81) -+#define CAPSENSE_BASELINE_REG (0x82) -+#define CAPSENSE_READ_STATUS_REG (0x88) -+#define CAPSENSE_CENTROID_REG (0x8A) -+ -+#define CAPSENSE_COMMAND_REG (0xA0) -+ -+#define CAPSENSE_INPUT_PORT_MASK (0x10) -+#define CAPSENSE_INPUT_MASK (0x7) -+#endif /* _CAPSENSE_H_ */ -Index: u-boot-1.3.2/include/configs/MPC8313ERDB.h -=================================================================== ---- u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h 2008-11-21 15:34:43.000000000 +0100 -+++ u-boot-1.3.2/include/configs/MPC8313ERDB.h 2008-11-21 15:35:49.000000000 +0100 -@@ -380,6 +380,12 @@ - #define CONFIG_CMDLINE_EDITING 1 - - -+/*Capsense touch sensing buttons*/ -+#define CONFIG_CMD_CAPSENSE -+#define CONFIG_CAPSENSE_CY8C201XX 1 -+#define CONFIG_CAPSENSE_I2C_ADDRESS 0x25 -+#define CONFIG_CAPSENSE_SENSORS {0x02,0x14,0x13} // GP0[2] GP1[4] GP1[3] -+ - /* SPI */ - #define CONFIG_MPC8XXX_SPI - #define CONFIG_HARD_SPI /* SPI with hardware support */ |