mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-27 03:07:43 +02:00
kernel: updated omap and rpi kernel to 2.6.42.19 (aka 3.2.19).
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
|
||||
index 90485fc..7a92185 100644
|
||||
--- a/arch/arm/mach-omap2/board-omap4panda.c
|
||||
+++ b/arch/arm/mach-omap2/board-omap4panda.c
|
||||
@@ -583,7 +583,7 @@ static void omap4_panda_disable_dvi(struct omap_dss_device *dssdev)
|
||||
|
||||
/* Using generic display panel */
|
||||
static struct panel_generic_dpi_data omap4_dvi_panel = {
|
||||
- .name = "generic",
|
||||
+ .name = "dvi_720p",
|
||||
.platform_enable = omap4_panda_enable_dvi,
|
||||
.platform_disable = omap4_panda_disable_dvi,
|
||||
};
|
||||
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
|
||||
index 9c90f75..af8352f 100644
|
||||
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
|
||||
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
|
||||
@@ -232,7 +232,32 @@ static struct panel_config generic_dpi_panels[] = {
|
||||
.power_off_delay = 0,
|
||||
.name = "powertip_ph480272t",
|
||||
},
|
||||
-};
|
||||
+
|
||||
+ /* Vesa 720p 1280x768 */
|
||||
+ {
|
||||
+ {
|
||||
+ .x_res = 1280,
|
||||
+ .y_res = 768,
|
||||
+
|
||||
+ .pixel_clock = 71000,
|
||||
+
|
||||
+ .hfp = 128,
|
||||
+ .hsw = 64,
|
||||
+ .hbp = 192,
|
||||
+
|
||||
+ .vfp = 3,
|
||||
+ .vsw = 7,
|
||||
+ .vbp = 20,
|
||||
+ },
|
||||
+ .acbi = 0x0,
|
||||
+ .acb = 0x0,
|
||||
+ .config = OMAP_DSS_LCD_TFT,
|
||||
+ .power_on_delay = 0,
|
||||
+ .power_off_delay = 0,
|
||||
+ .name = "dvi_720p",
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
|
||||
struct panel_drv_data {
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
|
||||
index 58a58c7..bba0441 100644
|
||||
--- a/drivers/i2c/busses/i2c-omap.c
|
||||
+++ b/drivers/i2c/busses/i2c-omap.c
|
||||
@@ -276,7 +276,7 @@ static void omap_i2c_unidle(struct omap_i2c_dev *dev)
|
||||
|
||||
pm_runtime_get_sync(&pdev->dev);
|
||||
|
||||
- if (cpu_is_omap34xx()) {
|
||||
+ if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
|
||||
omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
|
||||
omap_i2c_write_reg(dev, OMAP_I2C_PSC_REG, dev->pscstate);
|
||||
omap_i2c_write_reg(dev, OMAP_I2C_SCLL_REG, dev->scllstate);
|
||||
@@ -493,7 +493,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
|
||||
OMAP_I2C_IE_AL) | ((dev->fifo_size) ?
|
||||
(OMAP_I2C_IE_RDR | OMAP_I2C_IE_XDR) : 0);
|
||||
omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, dev->iestate);
|
||||
- if (cpu_is_omap34xx()) {
|
||||
+ if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
|
||||
dev->pscstate = psc;
|
||||
dev->scllstate = scll;
|
||||
dev->sclhstate = sclh;
|
||||
@@ -1,21 +0,0 @@
|
||||
arch/arm/lib/uaccess_with_memcpy.c: In function 'pin_page_for_write':
|
||||
arch/arm/lib/uaccess_with_memcpy.c:45: error: implicit declaration of function 'kmap_atomic'
|
||||
arch/arm/lib/uaccess_with_memcpy.c:48: error: implicit declaration of function 'kunmap_atomic'
|
||||
make[2]: *** [arch/arm/lib/uaccess_with_memcpy.o] Error 1
|
||||
|
||||
Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
|
||||
|
||||
diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
|
||||
index 8b9b136..66945a6 100644
|
||||
--- a/arch/arm/lib/uaccess_with_memcpy.c
|
||||
+++ b/arch/arm/lib/uaccess_with_memcpy.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/uaccess.h>
|
||||
+#include <linux/highmem.h>
|
||||
#include <linux/rwsem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/sched.h>
|
||||
--
|
||||
1.7.6
|
||||
@@ -1,27 +0,0 @@
|
||||
diff -Naur linux-3.0.24.org/drivers/rtc/rtc-twl.c linux-3.0.24/drivers/rtc/rtc-twl.c
|
||||
--- linux-3.0.24.org/drivers/rtc/rtc-twl.c 2012-03-12 18:58:19.000000000 +0100
|
||||
+++ linux-3.0.24/drivers/rtc/rtc-twl.c 2012-03-20 23:24:52.213578926 +0100
|
||||
@@ -362,14 +362,6 @@
|
||||
int res;
|
||||
u8 rd_reg;
|
||||
|
||||
-#ifdef CONFIG_LOCKDEP
|
||||
- /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which
|
||||
- * we don't want and can't tolerate. Although it might be
|
||||
- * friendlier not to borrow this thread context...
|
||||
- */
|
||||
- local_irq_enable();
|
||||
-#endif
|
||||
-
|
||||
res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
|
||||
if (res)
|
||||
goto out;
|
||||
@@ -462,7 +454,7 @@
|
||||
if (ret < 0)
|
||||
goto out1;
|
||||
|
||||
- ret = request_irq(irq, twl_rtc_interrupt,
|
||||
+ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
|
||||
IRQF_TRIGGER_RISING,
|
||||
dev_name(&rtc->dev), rtc);
|
||||
if (ret < 0) {
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
|
||||
index 1269658..8ec6330 100644
|
||||
--- a/arch/arm/mach-omap2/board-omap4panda.c
|
||||
+++ b/arch/arm/mach-omap2/board-omap4panda.c
|
||||
@@ -377,6 +377,7 @@ static struct regulator_init_data omap4_panda_vusb = {
|
||||
static struct regulator_init_data omap4_panda_clk32kg = {
|
||||
.constraints = {
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
+ .always_on = true,
|
||||
},
|
||||
};
|
||||
|
||||
0
src/patches/linux-2.x-smsc95xx-add_mac_addr_param.patch
Executable file → Normal file
0
src/patches/linux-2.x-smsc95xx-add_mac_addr_param.patch
Executable file → Normal file
12
src/patches/linux-3.2-0001-panda-wlan-fix.patch
Normal file
12
src/patches/linux-3.2-0001-panda-wlan-fix.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
|
||||
index daa056e..fe03b09 100644
|
||||
--- a/arch/arm/mach-omap2/twl-common.c
|
||||
+++ b/arch/arm/mach-omap2/twl-common.c
|
||||
@@ -261,6 +261,7 @@ static struct regulator_init_data omap4_vusb_idata = {
|
||||
static struct regulator_init_data omap4_clk32kg_idata = {
|
||||
.constraints = {
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
+ .always_on = true,
|
||||
},
|
||||
};
|
||||
|
||||
51
src/patches/linux-3.2-0002-panda-i2c.patch
Normal file
51
src/patches/linux-3.2-0002-panda-i2c.patch
Normal file
@@ -0,0 +1,51 @@
|
||||
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
|
||||
index 7f47092..2a05d3d 100644
|
||||
--- a/arch/arm/mach-omap2/id.c
|
||||
+++ b/arch/arm/mach-omap2/id.c
|
||||
@@ -389,8 +389,10 @@ static void __init omap4_check_revision(void)
|
||||
omap_revision = OMAP4430_REV_ES2_1;
|
||||
break;
|
||||
case 4:
|
||||
- default:
|
||||
omap_revision = OMAP4430_REV_ES2_2;
|
||||
+ case 6:
|
||||
+ default:
|
||||
+ omap_revision = OMAP4430_REV_ES2_3;
|
||||
}
|
||||
break;
|
||||
case 0xb94e:
|
||||
@@ -403,7 +405,7 @@ static void __init omap4_check_revision(void)
|
||||
break;
|
||||
default:
|
||||
/* Unknown default to latest silicon rev as default */
|
||||
- omap_revision = OMAP4430_REV_ES2_2;
|
||||
+ omap_revision = OMAP4430_REV_ES2_3;
|
||||
}
|
||||
|
||||
pr_info("OMAP%04x ES%d.%d\n", omap_rev() >> 16,
|
||||
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
||||
index 7695e5d..71d3e36 100644
|
||||
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
||||
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
||||
@@ -2257,7 +2257,8 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
|
||||
};
|
||||
|
||||
static struct omap_i2c_dev_attr i2c_dev_attr = {
|
||||
- .flags = OMAP_I2C_FLAG_BUS_SHIFT_NONE,
|
||||
+ .flags = OMAP_I2C_FLAG_BUS_SHIFT_NONE |
|
||||
+ OMAP_I2C_FLAG_RESET_REGS_POSTIDLE,
|
||||
};
|
||||
|
||||
/* i2c1 */
|
||||
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
|
||||
index 408a12f..e279395 100644
|
||||
--- a/arch/arm/plat-omap/include/plat/cpu.h
|
||||
+++ b/arch/arm/plat-omap/include/plat/cpu.h
|
||||
@@ -391,6 +391,7 @@ IS_OMAP_TYPE(3517, 0x3517)
|
||||
#define OMAP4430_REV_ES2_0 (OMAP443X_CLASS | (0x20 << 8))
|
||||
#define OMAP4430_REV_ES2_1 (OMAP443X_CLASS | (0x21 << 8))
|
||||
#define OMAP4430_REV_ES2_2 (OMAP443X_CLASS | (0x22 << 8))
|
||||
+#define OMAP4430_REV_ES2_3 (OMAP443X_CLASS | (0x23 << 8))
|
||||
|
||||
#define OMAP446X_CLASS 0x44600044
|
||||
#define OMAP4460_REV_ES1_0 (OMAP446X_CLASS | (0x10 << 8))
|
||||
48
src/patches/linux-3.2-bcm2835-alsamixer.patch
Normal file
48
src/patches/linux-3.2-bcm2835-alsamixer.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
diff -Naur linux-3.2.19.org/sound/arm/bcm2835-ctl.c linux-3.2.19/sound/arm/bcm2835-ctl.c
|
||||
--- linux-3.2.19.org/sound/arm/bcm2835-ctl.c 2012-06-04 21:11:15.000000000 +0200
|
||||
+++ linux-3.2.19/sound/arm/bcm2835-ctl.c 2012-06-04 21:32:37.969298501 +0200
|
||||
@@ -33,6 +33,19 @@
|
||||
|
||||
#include "bcm2835.h"
|
||||
|
||||
+
|
||||
+/* functions to convert alsa to chip volume and back. */
|
||||
+int alsa2chip(int vol)
|
||||
+{
|
||||
+ return -((vol << 8) / 100);
|
||||
+}
|
||||
+
|
||||
+int chip2alsa(int vol)
|
||||
+{
|
||||
+ return -((vol * 100) >> 8);
|
||||
+}
|
||||
+
|
||||
+
|
||||
static int snd_bcm2835_ctl_info(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_info *uinfo)
|
||||
{
|
||||
@@ -64,7 +77,7 @@
|
||||
BUG_ON(!chip && !(chip->avail_substreams & AVAIL_SUBSTREAMS_MASK));
|
||||
|
||||
if (kcontrol->private_value == PCM_PLAYBACK_VOLUME)
|
||||
- ucontrol->value.integer.value[0] = chip->volume;
|
||||
+ ucontrol->value.integer.value[0] = chip2alsa(chip->volume);
|
||||
else if (kcontrol->private_value == PCM_PLAYBACK_MUTE)
|
||||
ucontrol->value.integer.value[0] = chip->mute;
|
||||
else if (kcontrol->private_value == PCM_PLAYBACK_DEVICE)
|
||||
@@ -85,13 +98,10 @@
|
||||
changed = 1;
|
||||
}
|
||||
if (changed
|
||||
- || (ucontrol->value.integer.value[0] != chip->volume)) {
|
||||
- int atten;
|
||||
+ || (ucontrol->value.integer.value[0] != chip2alsa(chip->volume))) {
|
||||
|
||||
- chip->volume = ucontrol->value.integer.value[0];
|
||||
+ chip->volume = alsa2chip(ucontrol->value.integer.value[0]);
|
||||
changed = 1;
|
||||
- atten = -((chip->volume << 8) / 100);
|
||||
- chip->volume = atten;
|
||||
}
|
||||
|
||||
} else if (kcontrol->private_value == PCM_PLAYBACK_MUTE) {
|
||||
12
src/patches/linux-3.2-bcm2835-limit_volume.patch
Normal file
12
src/patches/linux-3.2-bcm2835-limit_volume.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -Naur linux-3.2.19.org/sound/arm/bcm2835-ctl.c linux-3.2.19/sound/arm/bcm2835-ctl.c
|
||||
--- linux-3.2.19.org/sound/arm/bcm2835-ctl.c 2012-06-04 22:38:54.000000000 +0200
|
||||
+++ linux-3.2.19/sound/arm/bcm2835-ctl.c 2012-06-05 22:37:46.343725845 +0200
|
||||
@@ -53,7 +53,7 @@
|
||||
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
|
||||
uinfo->count = 1;
|
||||
uinfo->value.integer.min = -10240;
|
||||
- uinfo->value.integer.max = 2303;
|
||||
+ uinfo->value.integer.max = 400; /* 2303 */
|
||||
} else if (kcontrol->private_value == PCM_PLAYBACK_MUTE) {
|
||||
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
|
||||
uinfo->count = 1;
|
||||
1603
src/patches/linux-3.2-imq.patch
Normal file
1603
src/patches/linux-3.2-imq.patch
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user