2007-05-23 16:54:34 +00:00
|
|
|
---
|
2007-08-13 15:42:15 +00:00
|
|
|
arch/arm/mach-omap1/board-nokia770.c | 60 +++++++++++++++++++++++++++++++----
|
|
|
|
arch/arm/mach-omap1/mmu.c | 1
|
|
|
|
drivers/cbus/tahvo-usb.c | 4 +-
|
|
|
|
drivers/i2c/chips/isp1301_omap.c | 1
|
|
|
|
drivers/mtd/mtdchar.c | 6 +++
|
|
|
|
drivers/mtd/mtdpart.c | 5 ++
|
|
|
|
drivers/mtd/nand/omap-hw.c | 55 +++++++++++++++-----------------
|
|
|
|
drivers/serial/8250.c | 2 +
|
|
|
|
drivers/video/omap/omapfb_main.c | 4 +-
|
|
|
|
include/asm-arm/arch-omap/keypad.h | 3 +
|
|
|
|
include/asm-arm/arch-omap/serial.h | 16 +++++++++
|
|
|
|
11 files changed, 118 insertions(+), 39 deletions(-)
|
2007-05-23 16:54:34 +00:00
|
|
|
|
2007-08-13 15:42:15 +00:00
|
|
|
Index: linux-g/arch/arm/mach-omap1/board-nokia770.c
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/arch/arm/mach-omap1/board-nokia770.c 2006-11-08 13:18:39.000000000 +0100
|
|
|
|
+++ linux-g/arch/arm/mach-omap1/board-nokia770.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -16,6 +16,8 @@
|
|
|
|
|
|
|
|
#include <linux/spi/spi.h>
|
|
|
|
#include <linux/spi/ads7846.h>
|
|
|
|
+#include <linux/workqueue.h>
|
|
|
|
+#include <linux/delay.h>
|
|
|
|
|
|
|
|
#include <asm/hardware.h>
|
|
|
|
#include <asm/mach-types.h>
|
|
|
|
@@ -33,9 +35,12 @@
|
|
|
|
#include <asm/arch/gpio.h>
|
|
|
|
#include <asm/arch/omapfb.h>
|
|
|
|
#include <asm/arch/hwa742.h>
|
|
|
|
+#include <asm/arch/lcd_mipid.h>
|
|
|
|
|
|
|
|
#include "../plat-omap/dsp/dsp_common.h"
|
|
|
|
|
|
|
|
+#define ADS7846_PENDOWN_GPIO 15
|
|
|
|
+
|
|
|
|
static void __init omap_nokia770_init_irq(void)
|
|
|
|
{
|
|
|
|
/* On Nokia 770, the SleepX signal is masked with an
|
|
|
|
@@ -75,9 +80,11 @@
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct omap_kp_platform_data nokia770_kp_data = {
|
|
|
|
- .rows = 8,
|
|
|
|
- .cols = 8,
|
|
|
|
- .keymap = nokia770_keymap
|
|
|
|
+ .rows = 8,
|
|
|
|
+ .cols = 8,
|
|
|
|
+ .keymap = nokia770_keymap,
|
|
|
|
+ .keymapsize = ARRAY_SIZE(nokia770_keymap),
|
|
|
|
+ .delay = 4,
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct platform_device nokia770_kp_device = {
|
|
|
|
@@ -94,6 +101,41 @@
|
|
|
|
&nokia770_kp_device,
|
|
|
|
};
|
|
|
|
|
|
|
|
+static void mipid_shutdown(struct mipid_platform_data *pdata)
|
|
|
|
+{
|
|
|
|
+ if (pdata->nreset_gpio != -1) {
|
|
|
|
+ printk(KERN_INFO "shutdown LCD\n");
|
|
|
|
+ omap_set_gpio_dataout(pdata->nreset_gpio, 0);
|
|
|
|
+ msleep(120);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static struct mipid_platform_data nokia770_mipid_platform_data = {
|
|
|
|
+ .shutdown = mipid_shutdown,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static void mipid_dev_init(void)
|
|
|
|
+{
|
|
|
|
+ const struct omap_lcd_config *conf;
|
|
|
|
+
|
|
|
|
+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config);
|
|
|
|
+ if (conf != NULL) {
|
|
|
|
+ nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio;
|
|
|
|
+ nokia770_mipid_platform_data.data_lines = conf->data_lines;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void ads7846_dev_init(void)
|
|
|
|
+{
|
|
|
|
+ if (omap_request_gpio(ADS7846_PENDOWN_GPIO) < 0)
|
|
|
|
+ printk(KERN_ERR "can't get ads7846 pen down GPIO\n");
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static int ads7846_get_pendown_state(void)
|
|
|
|
+{
|
|
|
|
+ return !omap_get_gpio_datain(ADS7846_PENDOWN_GPIO);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = {
|
|
|
|
.x_max = 0x0fff,
|
|
|
|
.y_max = 0x0fff,
|
|
|
|
@@ -101,14 +143,17 @@
|
|
|
|
.pressure_max = 255,
|
|
|
|
.debounce_max = 10,
|
|
|
|
.debounce_tol = 3,
|
|
|
|
+ .debounce_rep = 1,
|
|
|
|
+ .get_pendown_state = ads7846_get_pendown_state,
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct spi_board_info nokia770_spi_board_info[] __initdata = {
|
|
|
|
[0] = {
|
|
|
|
- .modalias = "lcd_lph8923",
|
|
|
|
+ .modalias = "lcd_mipid",
|
|
|
|
.bus_num = 2,
|
|
|
|
.chip_select = 3,
|
|
|
|
.max_speed_hz = 12000000,
|
|
|
|
+ .platform_data = &nokia770_mipid_platform_data,
|
|
|
|
},
|
|
|
|
[1] = {
|
|
|
|
.modalias = "ads7846",
|
|
|
|
@@ -189,7 +234,7 @@
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
-static struct omap_board_config_kernel nokia770_config[] = {
|
|
|
|
+static struct omap_board_config_kernel nokia770_config[] __initdata = {
|
|
|
|
{ OMAP_TAG_USB, NULL },
|
|
|
|
{ OMAP_TAG_MMC, &nokia770_mmc_config },
|
|
|
|
};
|
|
|
|
@@ -235,7 +280,7 @@
|
|
|
|
printk("HP connected\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
-static void codec_delayed_power_down(void *arg)
|
|
|
|
+static void codec_delayed_power_down(struct work_struct *work)
|
|
|
|
{
|
|
|
|
down(&audio_pwr_sem);
|
|
|
|
if (audio_pwr_state == -1)
|
|
|
|
@@ -326,9 +371,12 @@
|
|
|
|
ARRAY_SIZE(nokia770_spi_board_info));
|
|
|
|
omap_board_config = nokia770_config;
|
|
|
|
omap_board_config_size = ARRAY_SIZE(nokia770_config);
|
|
|
|
+ omap_gpio_init();
|
|
|
|
omap_serial_init();
|
|
|
|
omap_dsp_init();
|
|
|
|
hwa742_dev_init();
|
|
|
|
+ ads7846_dev_init();
|
|
|
|
+ mipid_dev_init();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void __init omap_nokia770_map_io(void)
|
2007-05-23 16:54:34 +00:00
|
|
|
Index: linux-g/arch/arm/mach-omap1/mmu.c
|
|
|
|
===================================================================
|
2007-08-13 15:42:15 +00:00
|
|
|
--- linux-g.orig/arch/arm/mach-omap1/mmu.c 2007-08-13 13:54:01.000000000 +0200
|
|
|
|
+++ linux-g/arch/arm/mach-omap1/mmu.c 2007-08-13 16:23:15.000000000 +0200
|
2007-05-23 16:54:34 +00:00
|
|
|
@@ -29,6 +29,7 @@
|
|
|
|
#include <linux/kernel.h>
|
|
|
|
#include <linux/mm.h>
|
|
|
|
#include <linux/err.h>
|
|
|
|
+#include <linux/delay.h>
|
|
|
|
#include "mmu.h"
|
|
|
|
#include <asm/tlbflush.h>
|
|
|
|
|
|
|
|
Index: linux-g/drivers/cbus/tahvo-usb.c
|
|
|
|
===================================================================
|
2007-08-13 15:42:15 +00:00
|
|
|
--- linux-g.orig/drivers/cbus/tahvo-usb.c 2006-11-08 13:18:51.000000000 +0100
|
|
|
|
+++ linux-g/drivers/cbus/tahvo-usb.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -135,8 +135,8 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
if ((!(OTG_CTRL_REG & OTG_DRIVER_SEL)) &&
|
|
|
|
tu->otg.host && tu->otg.state == OTG_STATE_A_HOST) {
|
|
|
|
/* role is host */
|
|
|
|
- usb_bus_start_enum(tu->otg.host,
|
|
|
|
- tu->otg.host->otg_port);
|
|
|
|
+ //usb_bus_start_enum(tu->otg.host,
|
|
|
|
+ // tu->otg.host->otg_port);
|
|
|
|
}
|
|
|
|
OTG_IRQ_SRC_REG = DRIVER_SWITCH;
|
|
|
|
} else
|
|
|
|
Index: linux-g/drivers/i2c/chips/isp1301_omap.c
|
|
|
|
===================================================================
|
2007-08-13 15:42:15 +00:00
|
|
|
--- linux-g.orig/drivers/i2c/chips/isp1301_omap.c 2006-11-08 13:18:51.000000000 +0100
|
|
|
|
+++ linux-g/drivers/i2c/chips/isp1301_omap.c 2007-08-13 16:23:15.000000000 +0200
|
2007-05-23 16:54:34 +00:00
|
|
|
@@ -32,6 +32,7 @@
|
|
|
|
#include <linux/usb_gadget.h>
|
|
|
|
#include <linux/usb.h>
|
|
|
|
#include <linux/usb_otg.h>
|
|
|
|
+#include <linux/usb/otg.h>
|
|
|
|
#include <linux/i2c.h>
|
|
|
|
#include <linux/workqueue.h>
|
|
|
|
|
2007-08-13 15:42:15 +00:00
|
|
|
Index: linux-g/drivers/mtd/mtdchar.c
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/drivers/mtd/mtdchar.c 2006-11-08 13:18:55.000000000 +0100
|
|
|
|
+++ linux-g/drivers/mtd/mtdchar.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -622,6 +622,12 @@
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ case MEMSETOOBSEL:
|
|
|
|
+ {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
case MEMGETBADBLOCK:
|
|
|
|
{
|
|
|
|
loff_t offs;
|
|
|
|
Index: linux-g/drivers/mtd/mtdpart.c
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/drivers/mtd/mtdpart.c 2006-11-08 13:18:55.000000000 +0100
|
|
|
|
+++ linux-g/drivers/mtd/mtdpart.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -200,6 +200,11 @@
|
|
|
|
return -EINVAL;
|
|
|
|
instr->addr += part->offset;
|
|
|
|
ret = part->master->erase(part->master, instr);
|
|
|
|
+ if (ret) {
|
|
|
|
+ if (instr->fail_addr != 0xffffffff)
|
|
|
|
+ instr->fail_addr -= part->offset;
|
|
|
|
+ instr->addr -= part->offset;
|
|
|
|
+ }
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2007-05-23 16:54:34 +00:00
|
|
|
Index: linux-g/drivers/mtd/nand/omap-hw.c
|
|
|
|
===================================================================
|
2007-08-13 15:42:15 +00:00
|
|
|
--- linux-g.orig/drivers/mtd/nand/omap-hw.c 2006-11-08 13:18:55.000000000 +0100
|
|
|
|
+++ linux-g/drivers/mtd/nand/omap-hw.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -386,11 +386,6 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
return nand_read_reg8(NND_ACCESS);
|
|
|
|
}
|
|
|
|
|
|
|
|
-static void omap_nand_write_byte(struct mtd_info *mtd, u_char byte)
|
|
|
|
-{
|
|
|
|
- nand_write_reg8(NND_ACCESS, byte);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static int omap_nand_dev_ready(struct mtd_info *mtd)
|
|
|
|
{
|
|
|
|
u32 l;
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -425,9 +420,9 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
if (command == NAND_CMD_SEQIN) {
|
|
|
|
int readcmd;
|
|
|
|
|
|
|
|
- if (column >= mtd->oobblock) {
|
|
|
|
+ if (column >= mtd->writesize) {
|
|
|
|
/* OOB area */
|
|
|
|
- column -= mtd->oobblock;
|
|
|
|
+ column -= mtd->writesize;
|
|
|
|
readcmd = NAND_CMD_READOOB;
|
|
|
|
} else if (column < 256) {
|
|
|
|
/* First 256 bytes --> READ0 */
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -458,7 +453,7 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
struct nand_chip *this = mtd->priv;
|
|
|
|
|
|
|
|
if (command == NAND_CMD_READOOB) {
|
|
|
|
- column += mtd->oobblock;
|
|
|
|
+ column += mtd->writesize;
|
|
|
|
command = NAND_CMD_READ0;
|
|
|
|
}
|
|
|
|
switch (command) {
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -495,7 +490,8 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
int n;
|
|
|
|
struct nand_chip *this = mtd->priv;
|
|
|
|
|
|
|
|
- if (this->eccmode == NAND_ECC_HW12_2048)
|
2007-08-13 15:42:15 +00:00
|
|
|
+ /* Ex NAND_ECC_HW12_2048 */
|
|
|
|
+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048))
|
2007-05-23 16:54:34 +00:00
|
|
|
n = 4;
|
|
|
|
else
|
|
|
|
n = 1;
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -642,7 +638,8 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
int block_count = 0, i, r;
|
|
|
|
|
|
|
|
this = mtd->priv;
|
|
|
|
- if (this->eccmode == NAND_ECC_HW12_2048)
|
2007-08-13 15:42:15 +00:00
|
|
|
+ /* Ex NAND_ECC_HW12_2048 */
|
|
|
|
+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048))
|
2007-05-23 16:54:34 +00:00
|
|
|
block_count = 4;
|
|
|
|
else
|
|
|
|
block_count = 1;
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -672,12 +669,12 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
{
|
|
|
|
static const char *part_parsers[] = { "cmdlinepart", NULL };
|
|
|
|
struct mtd_partition *parts;
|
|
|
|
- const struct omap_flash_part_config *cfg;
|
2007-08-13 15:42:15 +00:00
|
|
|
+ const struct omap_flash_part_str_config *cfg;
|
2007-05-23 16:54:34 +00:00
|
|
|
char *part_str = NULL;
|
|
|
|
size_t part_str_len;
|
|
|
|
int c;
|
|
|
|
|
|
|
|
- cfg = omap_get_var_config(OMAP_TAG_FLASH_PART, &part_str_len);
|
|
|
|
+ cfg = omap_get_var_config(OMAP_TAG_FLASH_PART_STR, &part_str_len);
|
|
|
|
if (cfg != NULL) {
|
|
|
|
part_str = kmalloc(part_str_len + 1, GFP_KERNEL);
|
|
|
|
if (part_str == NULL)
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -794,19 +791,20 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
|
|
|
|
/* Used from chip select and nand_command() */
|
|
|
|
this->read_byte = omap_nand_read_byte;
|
|
|
|
- this->write_byte = omap_nand_write_byte;
|
|
|
|
|
2007-08-13 15:42:15 +00:00
|
|
|
- this->select_chip = omap_nand_select_chip;
|
|
|
|
- this->dev_ready = omap_nand_dev_ready;
|
|
|
|
- this->chip_delay = 0;
|
2007-05-23 16:54:34 +00:00
|
|
|
- this->eccmode = NAND_ECC_HW3_512;
|
2007-08-13 15:42:15 +00:00
|
|
|
- this->cmdfunc = omap_nand_command;
|
|
|
|
- this->write_buf = omap_nand_write_buf;
|
|
|
|
- this->read_buf = omap_nand_read_buf;
|
|
|
|
- this->verify_buf = omap_nand_verify_buf;
|
2007-05-23 16:54:34 +00:00
|
|
|
- this->calculate_ecc = omap_nand_calculate_ecc;
|
|
|
|
- this->correct_data = omap_nand_correct_data;
|
|
|
|
- this->enable_hwecc = omap_nand_enable_hwecc;
|
2007-08-13 15:42:15 +00:00
|
|
|
+ this->select_chip = omap_nand_select_chip;
|
|
|
|
+ this->dev_ready = omap_nand_dev_ready;
|
|
|
|
+ this->chip_delay = 0;
|
|
|
|
+ this->ecc.mode = NAND_ECC_HW;
|
|
|
|
+ this->ecc.bytes = 3;
|
|
|
|
+ this->ecc.size = 512;
|
|
|
|
+ this->cmdfunc = omap_nand_command;
|
|
|
|
+ this->write_buf = omap_nand_write_buf;
|
|
|
|
+ this->read_buf = omap_nand_read_buf;
|
|
|
|
+ this->verify_buf = omap_nand_verify_buf;
|
2007-05-23 16:54:34 +00:00
|
|
|
+ this->ecc.calculate = omap_nand_calculate_ecc;
|
2007-08-13 15:42:15 +00:00
|
|
|
+ this->ecc.correct = omap_nand_correct_data;
|
|
|
|
+ this->ecc.hwctl = omap_nand_enable_hwecc;
|
2007-05-23 16:54:34 +00:00
|
|
|
|
|
|
|
nand_write_reg(NND_SYSCFG, 0x1); /* Enable auto idle */
|
|
|
|
nand_write_reg(NND_PSC_CLK, 10);
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -822,11 +820,10 @@
|
2007-05-23 16:54:34 +00:00
|
|
|
l = nand_read_reg(NND_CTRL);
|
|
|
|
l |= 1 << 4; /* Set the A8 bit in CTRL reg */
|
|
|
|
nand_write_reg(NND_CTRL, l);
|
|
|
|
- this->eccmode = NAND_ECC_HW12_2048;
|
|
|
|
- this->eccsteps = 1;
|
|
|
|
- this->eccsize = 2048;
|
|
|
|
- this->eccbytes = 12;
|
2007-08-13 15:42:15 +00:00
|
|
|
- omap_mtd->eccsize = 2048;
|
|
|
|
+ this->ecc.mode = NAND_ECC_HW;
|
|
|
|
+ this->ecc.steps = 1;
|
2007-05-23 16:54:34 +00:00
|
|
|
+ this->ecc.size = 2048;
|
|
|
|
+ this->ecc.bytes = 12;
|
|
|
|
nand_write_reg(NND_ECC_SELECT, 6);
|
|
|
|
}
|
2007-08-13 15:42:15 +00:00
|
|
|
|
|
|
|
Index: linux-g/drivers/serial/8250.c
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/drivers/serial/8250.c 2006-11-08 13:18:59.000000000 +0100
|
|
|
|
+++ linux-g/drivers/serial/8250.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -44,6 +44,8 @@
|
|
|
|
#include <asm/io.h>
|
|
|
|
#include <asm/irq.h>
|
|
|
|
|
|
|
|
+#include <asm/arch/serial.h>
|
|
|
|
+
|
|
|
|
#include "8250.h"
|
|
|
|
|
|
|
|
/*
|
2007-05-23 21:18:58 +00:00
|
|
|
Index: linux-g/drivers/video/omap/omapfb_main.c
|
|
|
|
===================================================================
|
2007-08-13 15:42:15 +00:00
|
|
|
--- linux-g.orig/drivers/video/omap/omapfb_main.c 2007-08-13 13:54:01.000000000 +0200
|
|
|
|
+++ linux-g/drivers/video/omap/omapfb_main.c 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -110,7 +110,7 @@
|
2007-05-23 21:18:58 +00:00
|
|
|
|
|
|
|
#ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL
|
|
|
|
#ifdef CONFIG_ARCH_OMAP1
|
|
|
|
-extern struct lcd_ctrl_extif omap1_ext_if;
|
|
|
|
+extern struct lcd_ctrl_extif sossi_extif;
|
|
|
|
#else
|
|
|
|
extern struct lcd_ctrl_extif omap2_ext_if;
|
|
|
|
#endif
|
2007-08-13 15:42:15 +00:00
|
|
|
@@ -1658,7 +1658,7 @@
|
2007-05-23 21:18:58 +00:00
|
|
|
#ifdef CONFIG_ARCH_OMAP1
|
|
|
|
fbdev->int_ctrl = &omap1_int_ctrl;
|
|
|
|
#ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL
|
|
|
|
- fbdev->ext_if = &omap1_ext_if;
|
|
|
|
+ fbdev->ext_if = &sossi_extif;
|
|
|
|
#endif
|
|
|
|
#else /* OMAP2 */
|
|
|
|
fbdev->int_ctrl = &omap2_int_ctrl;
|
2007-08-13 15:42:15 +00:00
|
|
|
Index: linux-g/include/asm-arm/arch-omap/keypad.h
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/include/asm-arm/arch-omap/keypad.h 2006-11-08 13:19:11.000000000 +0100
|
|
|
|
+++ linux-g/include/asm-arm/arch-omap/keypad.h 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -14,7 +14,10 @@
|
|
|
|
int rows;
|
|
|
|
int cols;
|
|
|
|
int *keymap;
|
|
|
|
+ unsigned int keymapsize;
|
|
|
|
unsigned int rep:1;
|
|
|
|
+ unsigned long delay;
|
|
|
|
+ unsigned int dbounce:1;
|
|
|
|
/* specific to OMAP242x*/
|
|
|
|
unsigned int *row_gpios;
|
|
|
|
unsigned int *col_gpios;
|
|
|
|
Index: linux-g/include/asm-arm/arch-omap/serial.h
|
|
|
|
===================================================================
|
|
|
|
--- linux-g.orig/include/asm-arm/arch-omap/serial.h 2007-08-13 13:54:01.000000000 +0200
|
|
|
|
+++ linux-g/include/asm-arm/arch-omap/serial.h 2007-08-13 16:23:15.000000000 +0200
|
|
|
|
@@ -26,4 +26,20 @@
|
|
|
|
#define OMAP1510_BASE_BAUD (12000000/16)
|
|
|
|
#define OMAP16XX_BASE_BAUD (48000000/16)
|
|
|
|
|
|
|
|
+#define is_omap_port(p) ({int __ret = 0; \
|
|
|
|
+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \
|
|
|
|
+ p == IO_ADDRESS(OMAP_UART2_BASE) || \
|
|
|
|
+ p == IO_ADDRESS(OMAP_UART3_BASE)) \
|
|
|
|
+ __ret = 1; \
|
|
|
|
+ __ret; \
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+#define is_omap_port(p) ({int __ret = 0; \
|
|
|
|
+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \
|
|
|
|
+ p == IO_ADDRESS(OMAP_UART2_BASE) || \
|
|
|
|
+ p == IO_ADDRESS(OMAP_UART3_BASE)) \
|
|
|
|
+ __ret = 1; \
|
|
|
|
+ __ret; \
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
#endif
|