diff options
author | Koen Kooi <koen@openembedded.org> | 2010-05-09 10:54:01 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-05-10 17:24:41 +0200 |
commit | 1a733aa29a95816cc344bb38441338963f1e0180 (patch) | |
tree | bad752108628af4b7c6431a833b789815c751fde /recipes | |
parent | acd000615cb77c4805f43df177fbe08cd2244195 (diff) |
linux-omap-psp 2.6.32: rediff touchbook and beagleboard patches, tweak beagleboard defconfig
Diffstat (limited to 'recipes')
66 files changed, 1614 insertions, 346 deletions
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0001-Revert-omap3-beagle-Fix-compile-time-errors.patch b/recipes/linux/linux-omap-psp-2.6.32/0001-Revert-omap3-beagle-Fix-compile-time-errors.patch index 5e81a16357..c406af1a15 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0001-Revert-omap3-beagle-Fix-compile-time-errors.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0001-Revert-omap3-beagle-Fix-compile-time-errors.patch @@ -1,7 +1,7 @@ -From 6942ec9d19faef80770ae0f2302790d8ec73a9a7 Mon Sep 17 00:00:00 2001 +From 03e3ae2685bbd9586d520b0dd081593b814240b3 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Fri, 30 Apr 2010 11:12:24 +0200 -Subject: [PATCH 01/45] Revert "omap3: beagle: Fix compile-time errors" +Subject: [PATCH 01/43] Revert "omap3: beagle: Fix compile-time errors" This commit clashes with the other beagle patches we apply on top diff --git a/recipes/linux/linux-omap-psp-2.6.32/0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch b/recipes/linux/linux-omap-psp-2.6.32/0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch index da4fc189d7..f016e0edce 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch @@ -1,7 +1,7 @@ -From c5438f97d0ace3b414b13ef59a58427b9fd5b94b Mon Sep 17 00:00:00 2001 +From ad2b9548c700dc424209e543d10ab14c848895a5 Mon Sep 17 00:00:00 2001 From: Koen Kooi <k-kooi@ti.com> Date: Sat, 30 Jan 2010 15:49:15 +0100 -Subject: [PATCH 02/45] board-omap3touchbook: make it build against TI linux-omap 2.6.32-PSP +Subject: [PATCH 02/43] board-omap3touchbook: make it build against TI linux-omap 2.6.32-PSP --- arch/arm/mach-omap2/board-omap3touchbook.c | 11 +++++++++-- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch b/recipes/linux/linux-omap-psp-2.6.32/0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch index ba280ff546..0e7a8b2943 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch @@ -1,7 +1,7 @@ -From 48e1df47cf683e4640ec3ae403b2e6dea7432d0c Mon Sep 17 00:00:00 2001 +From 95d7fc0cb0c4367c378ed640d6bb49ab6dc100dc Mon Sep 17 00:00:00 2001 From: Steve Sakoman <sakoman@gmail.com> Date: Tue, 15 Dec 2009 15:34:29 -0800 -Subject: [PATCH 03/45] ARM: OMAP: add support for TCT Zippy to Beagle board file +Subject: [PATCH 03/43] ARM: OMAP: add support for TCT Zippy to Beagle board file Signed-off-by: Steve Sakoman <sakoman@gmail.com> --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch b/recipes/linux/linux-omap-psp-2.6.32/0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch index ab88739b73..f2ed1914f9 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch @@ -1,7 +1,7 @@ -From 97113a211c7fa07bc4fd34ea8fbe87551eec635d Mon Sep 17 00:00:00 2001 +From 7ca7040b3382fabbaa37dfda2c80cc4433b16d2e Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 12:40:24 -0800 -Subject: [PATCH 04/45] ARM: OMAP: Make beagle u-boot partition writable +Subject: [PATCH 04/43] ARM: OMAP: Make beagle u-boot partition writable --- arch/arm/mach-omap2/board-omap3beagle.c | 1 - diff --git a/recipes/linux/linux-omap-psp-2.6.32/0005-board-omap3-beagle-add-DSS2-support.patch b/recipes/linux/linux-omap-psp-2.6.32/0005-board-omap3-beagle-add-DSS2-support.patch index 01d95566ca..e9a1715c97 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0005-board-omap3-beagle-add-DSS2-support.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0005-board-omap3-beagle-add-DSS2-support.patch @@ -1,7 +1,7 @@ -From 48e9baa773af0d99e5f9121da26bb92a391e2853 Mon Sep 17 00:00:00 2001 +From 8a3d9bff79f71a2733607e409f820e79142592d5 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 10 Feb 2010 15:07:36 +0100 -Subject: [PATCH 05/45] board-omap3-beagle: add DSS2 support +Subject: [PATCH 05/43] board-omap3-beagle: add DSS2 support --- arch/arm/mach-omap2/board-omap3beagle.c | 130 ++++++++++++++++++++++++------- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch b/recipes/linux/linux-omap-psp-2.6.32/0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch deleted file mode 100644 index 4371aad924..0000000000 --- a/recipes/linux/linux-omap-psp-2.6.32/0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5be3bc924fbb66f7604763c617eecc4c5b009cb5 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <k-kooi@ti.com> -Date: Wed, 27 Jan 2010 21:57:13 +0100 -Subject: [PATCH 06/45] beagleboard: omap3_<foo>_rate_table -> omap35x_<foo>_rate_table - ---- - arch/arm/mach-omap2/board-omap3beagle.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 3b7f6ec..1caaa01 100644 ---- a/arch/arm/mach-omap2/board-omap3beagle.c -+++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -502,8 +502,8 @@ static struct platform_device keys_gpio = { - static void __init omap3_beagle_init_irq(void) - { - omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -- mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table, -- omap3_dsp_rate_table, omap3_l3_rate_table); -+ mt46h32m32lf6_sdrc_params, omap35x_mpu_rate_table, -+ omap35x_dsp_rate_table, omap35x_l3_rate_table); - omap_init_irq(); - #ifdef CONFIG_OMAP_32K_TIMER - omap2_gp_clockevent_set_gptimer(12); --- -1.6.6.1 - diff --git a/recipes/linux/linux-omap-psp-2.6.32/0007-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch b/recipes/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch index 83ada2b602..0a483cd44f 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0007-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch @@ -1,16 +1,17 @@ -From 81f13d0f20e50503eb6baef9bb28a3ed2210154a Mon Sep 17 00:00:00 2001 +From 9f69d9bbab1d24da77864b48dbc5d8d4db9f4cdf Mon Sep 17 00:00:00 2001 From: Koen Kooi <k-kooi@ti.com> -Date: Mon, 8 Feb 2010 16:30:59 +0100 -Subject: [PATCH 07/45] board-omap3beagle: prepare for DM3730 based BeagleboardXM +Date: Wed, 27 Jan 2010 21:57:13 +0100 +Subject: [PATCH 06/43] board-omap3beagle: prepare for DM3730 based BeagleboardXM * OPP changes copy/pasted from board-omap3evm.c * EHCI changes copy/pasted from Steve Kipisz' 2.6.33rcX work + * turn on power to camera on boot and add some comments --- - arch/arm/mach-omap2/board-omap3beagle.c | 57 ++++++++++++++++++++++++++---- - 1 files changed, 49 insertions(+), 8 deletions(-) + arch/arm/mach-omap2/board-omap3beagle.c | 62 +++++++++++++++++++++++++++---- + 1 files changed, 54 insertions(+), 8 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 1caaa01..accf80d 100644 +index 3b7f6ec..429dacb 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -53,6 +53,23 @@ @@ -37,16 +38,21 @@ index 1caaa01..accf80d 100644 #define GPMC_CS0_BASE 0x60 #define GPMC_CS_SIZE 0x30 -@@ -303,12 +320,23 @@ static int beagle_twl_gpio_setup(struct device *dev, +@@ -303,12 +320,28 @@ static int beagle_twl_gpio_setup(struct device *dev, * power switch and overcurrent detect */ - gpio_request(gpio + 1, "EHCI_nOC"); - gpio_direction_input(gpio + 1); + if (cpu_is_omap3630()) { ++ /* Power on DVI, Serial and PWR led */ + gpio_request(gpio + 1, "nDVI_PWR_EN"); + gpio_direction_output(gpio + 1, 0); + ++ /* Power on camera interface */ ++ gpio_request(gpio + 2, "CAM_EN"); ++ gpio_direction_output(gpio + 2, 1); ++ + /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */ + gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); @@ -66,13 +72,13 @@ index 1caaa01..accf80d 100644 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; -@@ -501,9 +529,22 @@ static struct platform_device keys_gpio = { +@@ -501,9 +534,22 @@ static struct platform_device keys_gpio = { static void __init omap3_beagle_init_irq(void) { - omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -- mt46h32m32lf6_sdrc_params, omap35x_mpu_rate_table, -- omap35x_dsp_rate_table, omap35x_l3_rate_table); +- mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table, +- omap3_dsp_rate_table, omap3_l3_rate_table); + if (cpu_is_omap3630()) + { + omap2_init_common_hw(mt46h32m32lf6_sdrc_params, diff --git a/recipes/linux/linux-omap-psp-2.6.32/0043-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch b/recipes/linux/linux-omap-psp-2.6.32/0007-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch index 3788a163b8..184ce18948 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0043-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0007-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch @@ -1,7 +1,7 @@ -From b6238a79746a5022969a5f780a6e51d794ab9c0c Mon Sep 17 00:00:00 2001 +From 32fb278553a4cd6126c1791d70aa33df12f73d90 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 3 May 2010 14:41:29 +0200 -Subject: [PATCH 43/45] ARM: OMAP: beagleboard: Add infrastructure to do fixups based on expansionboard name passed by u-boot +Subject: [PATCH 07/43] ARM: OMAP: beagleboard: Add infrastructure to do fixups based on expansionboard name passed by u-boot And add support for zippy2 --- @@ -9,7 +9,7 @@ And add support for zippy2 1 files changed, 78 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 8dfb864..cb2c9c8 100644 +index 429dacb..ac96551 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -75,6 +75,8 @@ static struct omap_opp * _omap37x_l3_rate_table = NULL; @@ -106,7 +106,7 @@ index 8dfb864..cb2c9c8 100644 .transceiver = true, .ocr_mask = 0x00100000, /* 3.3V */ }, -@@ -606,7 +647,7 @@ static void __init omap3beagle_flash_init(void) +@@ -601,7 +642,7 @@ static void __init omap3beagle_flash_init(void) } } @@ -115,7 +115,7 @@ index 8dfb864..cb2c9c8 100644 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, -@@ -626,6 +667,15 @@ static struct omap_board_mux board_mux[] __initdata = { +@@ -621,6 +662,15 @@ static struct omap_board_mux board_mux[] __initdata = { #define board_mux NULL #endif @@ -131,7 +131,7 @@ index 8dfb864..cb2c9c8 100644 static void __init omap3_beagle_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); -@@ -639,8 +689,24 @@ static void __init omap3_beagle_init(void) +@@ -634,8 +684,24 @@ static void __init omap3_beagle_init(void) /* REVISIT leave DVI powered down until it's needed ... */ gpio_direction_output(170, true); @@ -158,7 +158,7 @@ index 8dfb864..cb2c9c8 100644 usb_musb_init(); usb_ehci_init(&ehci_pdata); omap3beagle_flash_init(); -@@ -657,6 +723,8 @@ static void __init omap3_beagle_map_io(void) +@@ -652,6 +718,8 @@ static void __init omap3_beagle_map_io(void) omap2_map_common_io(); } diff --git a/recipes/linux/linux-omap-psp-2.6.32/0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch b/recipes/linux/linux-omap-psp-2.6.32/0008-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch index a8e351455e..be8110e4f1 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0008-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch @@ -1,7 +1,7 @@ -From 1608895c3901aa1a857fb931d56054dec120d232 Mon Sep 17 00:00:00 2001 +From dec5927ff1ccda36cc982509c9a9e92ff9d49af7 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 3 May 2010 21:38:34 +0200 -Subject: [PATCH 44/45] ARM: OMAP: beagleboard: pre-export GPIOs to userspace when using a Tincantools trainerboard +Subject: [PATCH 08/43] ARM: OMAP: beagleboard: pre-export GPIOs to userspace when using a Tincantools trainerboard This really needs a for loop, patches welcome --- @@ -9,10 +9,10 @@ This really needs a for loop, patches welcome 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index cb2c9c8..4dbb109 100644 +index ac96551..c9af202 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -706,7 +706,38 @@ static void __init omap3_beagle_init(void) +@@ -701,7 +701,38 @@ static void __init omap3_beagle_init(void) mmc[1].gpio_wp = 141; mmc[1].gpio_cd = 162; } diff --git a/recipes/linux/linux-omap-psp-2.6.32/0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch b/recipes/linux/linux-omap-psp-2.6.32/0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch deleted file mode 100644 index a1ffaeeba1..0000000000 --- a/recipes/linux/linux-omap-psp-2.6.32/0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e97c34409d2b503f695586f613a447799e98fea8 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <k-kooi@ti.com> -Date: Thu, 11 Feb 2010 20:23:01 +0100 -Subject: [PATCH 08/45] board-omap3beagle: turn on power to camera on boot and add some comments - ---- - arch/arm/mach-omap2/board-omap3beagle.c | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index accf80d..429dacb 100644 ---- a/arch/arm/mach-omap2/board-omap3beagle.c -+++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -321,9 +321,14 @@ static int beagle_twl_gpio_setup(struct device *dev, - */ - - if (cpu_is_omap3630()) { -+ /* Power on DVI, Serial and PWR led */ - gpio_request(gpio + 1, "nDVI_PWR_EN"); - gpio_direction_output(gpio + 1, 0); - -+ /* Power on camera interface */ -+ gpio_request(gpio + 2, "CAM_EN"); -+ gpio_direction_output(gpio + 2, 1); -+ - /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */ - gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); --- -1.6.6.1 - diff --git a/recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch b/recipes/linux/linux-omap-psp-2.6.32/0009-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch index 205cb7e311..fe9383a145 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0009-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch @@ -1,17 +1,17 @@ -From 5544b0a8c422e75c5d372232b494a4652008f048 Mon Sep 17 00:00:00 2001 +From 7305c83476fe90a1368f647b7a5e5eba924b6f55 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 3 May 2010 22:31:34 +0200 -Subject: [PATCH 45/45] ARM: OMAP: beagleboard: initialize ds1307 and eeprom only for zippy and zippy2 +Subject: [PATCH 09/43] ARM: OMAP: beagleboard: initialize ds1307 and eeprom only for zippy and zippy2 --- arch/arm/mach-omap2/board-omap3beagle.c | 39 +++++++++++++++++++++++++++--- 1 files changed, 35 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 4dbb109..dd830b1 100644 +index c9af202..b3c8cb7 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -501,24 +501,55 @@ static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = { +@@ -496,24 +496,55 @@ static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = { }, }; diff --git a/recipes/linux/linux-omap-psp-2.6.32/0042-ARM-OMAP-update-beagleboard-defconfig.patch b/recipes/linux/linux-omap-psp-2.6.32/0010-ARM-OMAP-update-beagleboard-defconfig.patch index 297e4c618c..977d000217 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0042-ARM-OMAP-update-beagleboard-defconfig.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0010-ARM-OMAP-update-beagleboard-defconfig.patch @@ -1,7 +1,7 @@ -From 6373a5aa34efdf0a938a585ded13ad111a1c2466 Mon Sep 17 00:00:00 2001 +From 98b6d38691e00f56a6428768eb042a8f42c2fe41 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Tue, 27 Apr 2010 10:51:15 +0200 -Subject: [PATCH 42/45] ARM: OMAP: update beagleboard defconfig +Subject: [PATCH 10/43] ARM: OMAP: update beagleboard defconfig --- arch/arm/configs/omap3_beagle_defconfig | 2514 +++++++++++++++++++++++++------ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0009-ASoC-enable-audio-capture-by-default-for-twl4030.patch b/recipes/linux/linux-omap-psp-2.6.32/0011-ASoC-enable-audio-capture-by-default-for-twl4030.patch index 869717f18a..d5038dcce9 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0009-ASoC-enable-audio-capture-by-default-for-twl4030.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0011-ASoC-enable-audio-capture-by-default-for-twl4030.patch @@ -1,7 +1,7 @@ -From e2bfc6c60fc749e939839a00abc0583bea9af857 Mon Sep 17 00:00:00 2001 +From a27b4854330f9f7430c757bd5b4476fb85bae6c6 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 12:45:20 -0800 -Subject: [PATCH 09/45] ASoC: enable audio capture by default for twl4030 +Subject: [PATCH 11/43] ASoC: enable audio capture by default for twl4030 --- sound/soc/codecs/twl4030.c | 4 ++-- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0010-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch b/recipes/linux/linux-omap-psp-2.6.32/0012-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch index e8b704e1c4..325cb366c2 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0010-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0012-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch @@ -1,7 +1,7 @@ -From 5a6b395ade97b7b4315615ad48b8a467e1214c96 Mon Sep 17 00:00:00 2001 +From 6ea180bb9b73b36b5b3ff47fdd1d3d0194ee03c1 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 31 Dec 2009 07:05:02 -0800 -Subject: [PATCH 10/45] MTD: NAND: omap2: proper fix for subpage read ECC errors +Subject: [PATCH 12/43] MTD: NAND: omap2: proper fix for subpage read ECC errors --- drivers/mtd/nand/omap2.c | 11 +++++++---- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0011-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch b/recipes/linux/linux-omap-psp-2.6.32/0013-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch index d8e4d72d96..329076b0bf 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0011-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0013-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch @@ -1,7 +1,7 @@ -From 42ca6429f4c2b385064c239dc9a3244efef625b0 Mon Sep 17 00:00:00 2001 +From 83006da4037e890d5c4eec9f5fe0e8d0ea4af44b Mon Sep 17 00:00:00 2001 From: Sudeep Basavaraj <sudeep.basavaraj@ti.com> Date: Tue, 5 Jan 2010 18:58:18 +0530 -Subject: [PATCH 11/45] OMAP3630:DSS2:Enable Pre-Multiplied Alpha Support +Subject: [PATCH 13/43] OMAP3630:DSS2:Enable Pre-Multiplied Alpha Support Enables dss to process color formats with pre-mulitplied alpha values. With this we can have alpha values defined for each pixel diff --git a/recipes/linux/linux-omap-psp-2.6.32/0012-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch b/recipes/linux/linux-omap-psp-2.6.32/0014-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch index 5d11373aa1..f8c939264d 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0012-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0014-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch @@ -1,7 +1,7 @@ -From d712e54a547b0800e6b482c43b5e6f8ca3f032de Mon Sep 17 00:00:00 2001 +From da46218c8e601d44ab125bd7dc27af93a8b21e5b Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Tue, 19 Jan 2010 21:19:15 -0800 -Subject: [PATCH 12/45] DSS2: add bootarg for selecting svideo or composite for tv output +Subject: [PATCH 14/43] DSS2: add bootarg for selecting svideo or composite for tv output also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp --- @@ -10,7 +10,7 @@ also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp 2 files changed, 31 insertions(+), 1 deletions(-) diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c -index 749a5a0..14aa721 100644 +index 1127e85..53fa54e 100644 --- a/drivers/video/omap2/dss/venc.c +++ b/drivers/video/omap2/dss/venc.c @@ -87,6 +87,11 @@ @@ -25,7 +25,7 @@ index 749a5a0..14aa721 100644 struct venc_config { u32 f_control; u32 vidout_ctrl; -@@ -409,6 +414,23 @@ static int venc_panel_probe(struct omap_dss_device *dssdev) +@@ -430,6 +435,23 @@ static int venc_panel_probe(struct omap_dss_device *dssdev) { dssdev->panel.timings = omap_dss_pal_timings; @@ -50,10 +50,10 @@ index 749a5a0..14aa721 100644 } diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c -index 340ab51..c2c9663 100644 +index ef29983..015831b 100644 --- a/drivers/video/omap2/omapfb/omapfb-main.c +++ b/drivers/video/omap2/omapfb/omapfb-main.c -@@ -1988,7 +1988,15 @@ static int omapfb_mode_to_timings(const char *mode_str, +@@ -1961,7 +1961,15 @@ static int omapfb_mode_to_timings(const char *mode_str, int r; #ifdef CONFIG_OMAP2_DSS_VENC diff --git a/recipes/linux/linux-omap-psp-2.6.32/0013-ISP-add-some-more-from-Leopard-imaging-patch.patch b/recipes/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch index 60824f6298..92041048fb 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0013-ISP-add-some-more-from-Leopard-imaging-patch.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch @@ -1,7 +1,7 @@ -From 4f99b5658cbee7a09fd4cb2887d0e42dc4c70371 Mon Sep 17 00:00:00 2001 +From 77eaef7dfa42ecf2fbf66e95bc1e4642bf52c989 Mon Sep 17 00:00:00 2001 From: Koen Kooi <k-kooi@ti.com> Date: Thu, 11 Feb 2010 21:34:00 +0100 -Subject: [PATCH 13/45] ISP: add some more from Leopard imaging patch +Subject: [PATCH 15/43] ISP: add some more from Leopard imaging patch --- drivers/media/video/isp/isppreview.c | 16 ++++++++- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0014-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch b/recipes/linux/linux-omap-psp-2.6.32/0016-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch index 263daa5592..ea032e2985 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0014-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0016-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch @@ -1,7 +1,7 @@ -From df2fe69fb08d6784975744c2723b33892526c60c Mon Sep 17 00:00:00 2001 +From 0f494c3545ebbc375a7241ede3aa0db33295bebe Mon Sep 17 00:00:00 2001 From: Steve Sakoman <sakoman@gmail.com> Date: Tue, 15 Dec 2009 14:59:42 -0800 -Subject: [PATCH 14/45] ARM: OMAP: Overo: Add support for second ethernet port +Subject: [PATCH 16/43] ARM: OMAP: Overo: Add support for second ethernet port Signed-off-by: Steve Sakoman <sakoman@gmail.com> --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0015-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch b/recipes/linux/linux-omap-psp-2.6.32/0017-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch index 535b524875..57253a9bb3 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0015-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0017-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch @@ -1,7 +1,7 @@ -From 25665d81b2b42e6ad9cb3a976af4ff792018b321 Mon Sep 17 00:00:00 2001 +From e6b2441d2d92a62cf30dfde9451bdaebf6a2cee0 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <sakoman@gmail.com> Date: Tue, 15 Dec 2009 15:17:44 -0800 -Subject: [PATCH 15/45] drivers: net: smsc911x: return ENODEV if device is not found +Subject: [PATCH 17/43] drivers: net: smsc911x: return ENODEV if device is not found Signed-off-by: Steve Sakoman <sakoman@gmail.com> --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0016-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch b/recipes/linux/linux-omap-psp-2.6.32/0018-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch index 68220b08ea..a90245abd3 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0016-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0018-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch @@ -1,7 +1,7 @@ -From 0a74491985cab287962c0243565e78600b86c894 Mon Sep 17 00:00:00 2001 +From 551a2a661a3b55820560a30fb19c6df10086b91f Mon Sep 17 00:00:00 2001 From: Steve Sakoman <sakoman@gmail.com> Date: Tue, 15 Dec 2009 15:24:10 -0800 -Subject: [PATCH 16/45] drivers: input: touchscreen: ads7846: return ENODEV if device is not found +Subject: [PATCH 18/43] drivers: input: touchscreen: ads7846: return ENODEV if device is not found Signed-off-by: Steve Sakoman <sakoman@gmail.com> --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0017-drivers-mfd-add-twl4030-madc-driver.patch b/recipes/linux/linux-omap-psp-2.6.32/0019-drivers-mfd-add-twl4030-madc-driver.patch index 2baefff94f..09c62a7478 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0017-drivers-mfd-add-twl4030-madc-driver.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0019-drivers-mfd-add-twl4030-madc-driver.patch @@ -1,7 +1,7 @@ -From 294e88638b891322998deb9154f4babd024732d3 Mon Sep 17 00:00:00 2001 +From c9ff40a9288c0cbac9d10b14ae05db1bdba71a53 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 14:19:34 -0800 -Subject: [PATCH 17/45] drivers: mfd: add twl4030 madc driver +Subject: [PATCH 19/43] drivers: mfd: add twl4030 madc driver --- drivers/mfd/Kconfig | 21 ++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0018-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch b/recipes/linux/linux-omap-psp-2.6.32/0020-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch index 3c858493a5..c92d46ab81 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0018-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0020-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch @@ -1,7 +1,7 @@ -From 3d9fb5ea6d899ad50dadd8ec0a4004077425916b Mon Sep 17 00:00:00 2001 +From 9b4c740531916992ba11be300250d51e2e2a1638 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 15:54:58 -0800 -Subject: [PATCH 18/45] ARM: OMAP: Add missing twl4030 madc header file +Subject: [PATCH 20/43] ARM: OMAP: Add missing twl4030 madc header file --- include/linux/i2c/twl4030-madc.h | 130 ++++++++++++++++++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch b/recipes/linux/linux-omap-psp-2.6.32/0021-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch index 42fff963a6..98a1b65d6e 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0021-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch @@ -1,7 +1,7 @@ -From c4ff1cf23fc3bf33b3f9b91591af7146f5391b3f Mon Sep 17 00:00:00 2001 +From 9957678090f6e4bee24dca76b668b4daec02d88c Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 14:27:15 -0800 -Subject: [PATCH 19/45] ARM: OMAP: Add twl4030 madc support to Overo +Subject: [PATCH 21/43] ARM: OMAP: Add twl4030 madc support to Overo --- arch/arm/mach-omap2/board-overo.c | 5 +++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0020-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch b/recipes/linux/linux-omap-psp-2.6.32/0022-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch index 7a62bf60ae..b77ebf1e18 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0020-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0022-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch @@ -1,17 +1,17 @@ -From 4721d7878b3bb28e83d245cd3014b11f6e289126 Mon Sep 17 00:00:00 2001 +From 1e7a9e815e97782f4aa69b27822fe1664faf7fd4 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 14:32:36 -0800 -Subject: [PATCH 20/45] ARM: OMAP: Add twl4030 madc support to Beagle +Subject: [PATCH 22/43] ARM: OMAP: Add twl4030 madc support to Beagle --- arch/arm/mach-omap2/board-omap3beagle.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 429dacb..8dfb864 100644 +index b3c8cb7..dd830b1 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -432,6 +432,10 @@ static struct twl4030_codec_data beagle_codec_data = { +@@ -473,6 +473,10 @@ static struct twl4030_codec_data beagle_codec_data = { .audio = &beagle_audio_data, }; @@ -22,7 +22,7 @@ index 429dacb..8dfb864 100644 static struct twl4030_platform_data beagle_twldata = { .irq_base = TWL4030_IRQ_BASE, .irq_end = TWL4030_IRQ_END, -@@ -440,6 +444,7 @@ static struct twl4030_platform_data beagle_twldata = { +@@ -481,6 +485,7 @@ static struct twl4030_platform_data beagle_twldata = { .usb = &beagle_usb_data, .gpio = &beagle_gpio_data, .codec = &beagle_codec_data, diff --git a/recipes/linux/linux-omap-psp-2.6.32/0021-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch b/recipes/linux/linux-omap-psp-2.6.32/0023-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch index 4b4160ce95..bb6bd7598b 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0021-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0023-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch @@ -1,7 +1,7 @@ -From 73457855345b6e0da83e1d452c4cb0cb28fbef34 Mon Sep 17 00:00:00 2001 +From b7fda334f7a394647422f58b91b4890dc72b1c30 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Tue, 19 Jan 2010 20:00:46 -0800 -Subject: [PATCH 21/45] netdev: rt73usb - add vendor/device ID for Ceiva Wireless PartNo 81726-00702 +Subject: [PATCH 23/43] netdev: rt73usb - add vendor/device ID for Ceiva Wireless PartNo 81726-00702 --- drivers/net/wireless/rt2x00/rt73usb.c | 2 ++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0022-mmc-don-t-display-single-block-read-console-messages.patch b/recipes/linux/linux-omap-psp-2.6.32/0024-mmc-don-t-display-single-block-read-console-messages.patch index 7869b6db84..20b6ca7be8 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0022-mmc-don-t-display-single-block-read-console-messages.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0024-mmc-don-t-display-single-block-read-console-messages.patch @@ -1,7 +1,7 @@ -From aa0048368802d454253b847df33a3ef191ed5f1b Mon Sep 17 00:00:00 2001 +From 7f87d1531cfdbf4fcd59bc8502e45d3aea8c8eba Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Mon, 4 Jan 2010 19:20:25 -0800 -Subject: [PATCH 22/45] mmc: don't display single block read console messages +Subject: [PATCH 24/43] mmc: don't display single block read console messages mmc: don't display single block read console messages --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0023-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch b/recipes/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch index d2001398d3..2272cb3312 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0023-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch @@ -1,7 +1,7 @@ -From 4740a7121cbdffcc3e0a7ff26cdf08bde85d7fc7 Mon Sep 17 00:00:00 2001 +From f715b7b9f49e4a65ba5370cb36ce6f2c7830d1bc Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Sun, 24 Jan 2010 09:33:56 -0800 -Subject: [PATCH 23/45] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test +Subject: [PATCH 25/43] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test otherwise it is not executed on systems that use non-twl regulators --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0024-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch b/recipes/linux/linux-omap-psp-2.6.32/0026-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch index 0d1e3a966d..8977495a67 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0024-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0026-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch @@ -1,7 +1,7 @@ -From 84a0b05b8149345c87181c74a63a27b0321f5e7f Mon Sep 17 00:00:00 2001 +From caa6d93d406fa836c8af84268f0ed7391434f1ee Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Sun, 14 Feb 2010 12:52:02 +0100 -Subject: [PATCH 24/45] board-overo: add PM code and sync with http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap3-2.6.32 +Subject: [PATCH 26/43] board-overo: add PM code and sync with http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap3-2.6.32 --- arch/arm/mach-omap2/board-overo.c | 274 ++++++++++++++++++++++++++++++++----- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0025-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch b/recipes/linux/linux-omap-psp-2.6.32/0027-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch index 8972bb0e04..0c494751cf 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0025-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0027-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch @@ -1,7 +1,7 @@ -From da8a517444cdf8b89e9beb9407dd2c7903393d61 Mon Sep 17 00:00:00 2001 +From f308badab37377503a387db2c0153c0a9c71ff7f Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 15 Feb 2010 14:20:51 +0100 -Subject: [PATCH 25/45] twl4030-madc: adjust for twl4030 -> twl api changes +Subject: [PATCH 27/43] twl4030-madc: adjust for twl4030 -> twl api changes --- drivers/mfd/twl4030-madc.c | 18 +++++++++--------- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0026-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch b/recipes/linux/linux-omap-psp-2.6.32/0028-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch index 38625ecd35..1905833e24 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0026-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0028-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch @@ -1,7 +1,7 @@ -From 6543717ed765f9f5cd981a88507f18b73e9d9c13 Mon Sep 17 00:00:00 2001 +From 821a796dba3b5f1745d3ff990b14995bd691a8e3 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 15 Feb 2010 14:38:00 +0100 -Subject: [PATCH 26/45] OMAP: DSS2: (Re)add support for Samsung lte430wq-f0c panel +Subject: [PATCH 28/43] OMAP: DSS2: (Re)add support for Samsung lte430wq-f0c panel --- drivers/video/omap2/displays/Kconfig | 6 + diff --git a/recipes/linux/linux-omap-psp-2.6.32/0027-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch b/recipes/linux/linux-omap-psp-2.6.32/0029-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch index ed17c2ec72..97aa09ceda 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0027-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0029-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch @@ -1,7 +1,7 @@ -From c5a8cc3beb2784fd3851d758ddc8e74b8e0c09ac Mon Sep 17 00:00:00 2001 +From d65c7d454ff43f8955f23f324a24adf7e2d4edff Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 17 Dec 2009 15:05:30 -0800 -Subject: [PATCH 27/45] OMAP: DSS2: Add support for LG Philips LB035Q02 panel +Subject: [PATCH 29/43] OMAP: DSS2: Add support for LG Philips LB035Q02 panel --- drivers/video/omap2/displays/Kconfig | 6 + diff --git a/recipes/linux/linux-omap-psp-2.6.32/0028-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch b/recipes/linux/linux-omap-psp-2.6.32/0030-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch index 6607ee37a3..5e842cfa6b 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0028-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0030-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch @@ -1,7 +1,7 @@ -From 103d5a963c4f05d0fa454551469ddef334cb9d23 Mon Sep 17 00:00:00 2001 +From c6c2fc6a66a56256bb2fe015fb07b062666ee246 Mon Sep 17 00:00:00 2001 From: Kishore Kadiyala <kishore.kadiyala@ti.com> Date: Wed, 17 Feb 2010 19:34:47 +0530 -Subject: [PATCH 28/45] Fix for bus width which improves SD card's peformance. +Subject: [PATCH 30/43] Fix for bus width which improves SD card's peformance. This patch fixes bus width which improves peformance for SD cards. OMAP-MMC controller's can support maximum bus width of '8'. diff --git a/recipes/linux/linux-omap-psp-2.6.32/0029-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch b/recipes/linux/linux-omap-psp-2.6.32/0031-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch index 8df95dd06e..11a418400d 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0029-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0031-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch @@ -1,7 +1,7 @@ -From 3381ab702c3798c039f294ed06e3da2e8f62009a Mon Sep 17 00:00:00 2001 +From d3c14324b23c6cef8452a9a6037b6ec2a6f07d6e Mon Sep 17 00:00:00 2001 From: Imre Deak <imre.deak@nokia.com> Date: Thu, 4 Feb 2010 21:38:02 +0200 -Subject: [PATCH 29/45] ARM: VFP: add support to sync the VFP state of the current thread +Subject: [PATCH 31/43] ARM: VFP: add support to sync the VFP state of the current thread ARM: VFP: add support to sync the VFP state of the current thread diff --git a/recipes/linux/linux-omap-psp-2.6.32/0030-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch b/recipes/linux/linux-omap-psp-2.6.32/0032-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch index 996d1bf950..8426ce3086 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0030-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0032-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch @@ -1,7 +1,7 @@ -From bdd0431478907155b3180a3c8e1cbee720bfe7ec Mon Sep 17 00:00:00 2001 +From 59c9e3b77e82affd2ab0233af06a47473f991996 Mon Sep 17 00:00:00 2001 From: Imre Deak <imre.deak@nokia.com> Date: Thu, 4 Feb 2010 21:38:30 +0200 -Subject: [PATCH 30/45] ARM: VFP: preserve the HW context when calling signal handlers +Subject: [PATCH 32/43] ARM: VFP: preserve the HW context when calling signal handlers ARM: VFP: preserve the HW context when calling signal handlers diff --git a/recipes/linux/linux-omap-psp-2.6.32/0031-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch b/recipes/linux/linux-omap-psp-2.6.32/0033-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch index 4c7f809c04..972976d27f 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0031-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0033-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch @@ -1,7 +1,7 @@ -From e46009db99b4f65a3173521d19e94aaa48e75a33 Mon Sep 17 00:00:00 2001 +From b9e50cb8ee8ad92d71b65bd71700be1894f9e543 Mon Sep 17 00:00:00 2001 From: Prabindh Sundareson <prabu@ti.com> Date: Wed, 3 Mar 2010 15:45:35 +0100 -Subject: [PATCH 31/45] Switch SGX clocks to 200MHz on DM37xx/OMAP36xx +Subject: [PATCH 33/43] Switch SGX clocks to 200MHz on DM37xx/OMAP36xx --- arch/arm/mach-omap2/clock34xx_data.c | 4 ++-- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0032-modedb.c-add-proper-720p60-mode.patch b/recipes/linux/linux-omap-psp-2.6.32/0034-modedb.c-add-proper-720p60-mode.patch index 35b792a35c..1d49fcd475 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0032-modedb.c-add-proper-720p60-mode.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0034-modedb.c-add-proper-720p60-mode.patch @@ -1,7 +1,7 @@ -From 434d6d660b3988cdb096292c8c0ec51de2eea723 Mon Sep 17 00:00:00 2001 +From fd8be8ca22b19d58202ef84cc27d0f14d2f59e2a Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Mon, 8 Mar 2010 14:38:31 +0100 -Subject: [PATCH 32/45] modedb.c: add proper 720p60 mode +Subject: [PATCH 34/43] modedb.c: add proper 720p60 mode --- drivers/video/modedb.c | 4 ++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0033-RTC-add-support-for-backup-battery-recharge.patch b/recipes/linux/linux-omap-psp-2.6.32/0035-RTC-add-support-for-backup-battery-recharge.patch index ee133c7892..ba689c459c 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0033-RTC-add-support-for-backup-battery-recharge.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0035-RTC-add-support-for-backup-battery-recharge.patch @@ -1,7 +1,7 @@ -From 25052ae67a0c5be9dea6f3e225b23dd3e7566d77 Mon Sep 17 00:00:00 2001 +From 02203232a3230c06a1bc939c92aac7e910c5d578 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Thu, 4 Feb 2010 12:26:22 -0800 -Subject: [PATCH 33/45] RTC: add support for backup battery recharge +Subject: [PATCH 35/43] RTC: add support for backup battery recharge --- drivers/rtc/rtc-twl.c | 25 +++++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0034-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch b/recipes/linux/linux-omap-psp-2.6.32/0036-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch index e64c68194d..dcf4ac6f12 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0034-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0036-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch @@ -1,7 +1,7 @@ -From ca92b0b90ed5ebd14a6ad29d9a0c858274f7f566 Mon Sep 17 00:00:00 2001 +From 1bd440f727d2ce1a9673489b776e38e1b4dd0521 Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Mon, 13 Oct 2008 20:32:16 +0100 -Subject: [PATCH 34/45] ARM: Add prompt for CONFIG_ALIGNMENT_TRAP +Subject: [PATCH 36/43] ARM: Add prompt for CONFIG_ALIGNMENT_TRAP This adds a prompt text for CONFIG_ALIGNMENT_TRAP, thus making it visible in make *config. diff --git a/recipes/linux/linux-omap-psp-2.6.32/0035-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch b/recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch index f6b1705257..713ab4600f 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0035-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch @@ -1,7 +1,7 @@ -From 7100b98fc3ad8bff74f3469ac5257c7c500c525c Mon Sep 17 00:00:00 2001 +From f1f418ef2fd457872e4ca7da1789bcfd8f97bca8 Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Sat, 28 Mar 2009 13:21:55 +0000 -Subject: [PATCH 35/45] ARM: Print warning on alignment trap in kernel mode +Subject: [PATCH 37/43] ARM: Print warning on alignment trap in kernel mode Signed-off-by: Mans Rullgard <mans@mansr.com> --- diff --git a/recipes/linux/linux-omap-psp-2.6.32/0036-ARM-Expose-some-CPU-control-registers-via-sysfs.patch b/recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Expose-some-CPU-control-registers-via-sysfs.patch index c7fa562ebe..e5670fc155 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0036-ARM-Expose-some-CPU-control-registers-via-sysfs.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Expose-some-CPU-control-registers-via-sysfs.patch @@ -1,7 +1,7 @@ -From eb05553047988e84a6be8d1548efbcb43ccbb13b Mon Sep 17 00:00:00 2001 +From bbc04eff26fcd9ecb75069a62a84fa49d83811b8 Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Tue, 10 Nov 2009 00:39:21 +0000 -Subject: [PATCH 36/45] ARM: Expose some CPU control registers via sysfs +Subject: [PATCH 38/43] ARM: Expose some CPU control registers via sysfs This creates sysfs files under /sys/devices/system/cpu/cpuN exposing the values of the control register, auxiliary control diff --git a/recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Add-option-to-allow-userspace-PLE-access.patch b/recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Add-option-to-allow-userspace-PLE-access.patch index 59a19546dd..e97d9d5117 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Add-option-to-allow-userspace-PLE-access.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Add-option-to-allow-userspace-PLE-access.patch @@ -1,7 +1,7 @@ -From 84296cfee5a95613be6dd32467b7c0766174d9f6 Mon Sep 17 00:00:00 2001 +From 7ba11a1ce9a6dc90dd17aeff30127217fa604ecf Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Tue, 10 Nov 2009 00:41:54 +0000 -Subject: [PATCH 37/45] ARM: Add option to allow userspace PLE access +Subject: [PATCH 39/43] ARM: Add option to allow userspace PLE access This adds a Kconfig option to allow userspace to access the L2 preload engine (PLE) found in Cortex-A8. diff --git a/recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Add-option-to-allow-userspace-access-to-performa.patch b/recipes/linux/linux-omap-psp-2.6.32/0040-ARM-Add-option-to-allow-userspace-access-to-performa.patch index 3f22c9d550..41a303662e 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Add-option-to-allow-userspace-access-to-performa.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0040-ARM-Add-option-to-allow-userspace-access-to-performa.patch @@ -1,7 +1,7 @@ -From fd47acba386ae20539816664f6be3fdc5602b93d Mon Sep 17 00:00:00 2001 +From 7a20711022052ffe2a563f83e8645712919234ba Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Tue, 10 Nov 2009 00:52:56 +0000 -Subject: [PATCH 38/45] ARM: Add option to allow userspace access to performance counters +Subject: [PATCH 40/43] ARM: Add option to allow userspace access to performance counters This adds an option to allow userspace access to the performance monitor registers of the Cortex-A8. diff --git a/recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Expose-some-PMON-registers-through-sysfs.patch b/recipes/linux/linux-omap-psp-2.6.32/0041-ARM-Expose-some-PMON-registers-through-sysfs.patch index c9abeffdb4..51c9a049c5 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Expose-some-PMON-registers-through-sysfs.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0041-ARM-Expose-some-PMON-registers-through-sysfs.patch @@ -1,7 +1,7 @@ -From 887cd41fff0c399086a06e38a734bc0f14006b82 Mon Sep 17 00:00:00 2001 +From b8ceea553dcf1d4657e3cb792ead9bdf03ab64e8 Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Sat, 28 Mar 2009 13:05:02 +0000 -Subject: [PATCH 39/45] ARM: Expose some PMON registers through sysfs +Subject: [PATCH 41/43] ARM: Expose some PMON registers through sysfs --- arch/arm/kernel/sysfs_v7.c | 11 +++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/0040-musb-allow-host-io-without-gadget-module.patch b/recipes/linux/linux-omap-psp-2.6.32/0042-musb-allow-host-io-without-gadget-module.patch index 1c19d6bbab..a8540c4ce5 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0040-musb-allow-host-io-without-gadget-module.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0042-musb-allow-host-io-without-gadget-module.patch @@ -1,7 +1,7 @@ -From e33724530848154c9302a720427bd46bf8a6700c Mon Sep 17 00:00:00 2001 +From f769159cae4d1ae42589d180ac8a376ac3ad687f Mon Sep 17 00:00:00 2001 From: Ajay Kumar Gupta <ajay.gupta@ti.com> Date: Wed, 14 Apr 2010 16:08:37 +0530 -Subject: [PATCH 40/45] musb: allow host io without gadget module +Subject: [PATCH 42/43] musb: allow host io without gadget module Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> --- @@ -10,7 +10,7 @@ Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> 2 files changed, 9 insertions(+), 31 deletions(-) diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c -index 7ed7f6a..649b689 100644 +index 98874c5..a448fa6 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -2101,10 +2101,12 @@ bad_config: diff --git a/recipes/linux/linux-omap-psp-2.6.32/0041-MTD-silence-ecc-errors-on-mtdblock0.patch b/recipes/linux/linux-omap-psp-2.6.32/0043-MTD-silence-ecc-errors-on-mtdblock0.patch index 7d7c3e4159..9fb0ec9687 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/0041-MTD-silence-ecc-errors-on-mtdblock0.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/0043-MTD-silence-ecc-errors-on-mtdblock0.patch @@ -1,7 +1,7 @@ -From 538a454d07c8524ebb5db6d47be9eac0e0292575 Mon Sep 17 00:00:00 2001 +From 9bd77da63888873c8ebb0c6a70835f2c432a0337 Mon Sep 17 00:00:00 2001 From: Steve Sakoman <steve@sakoman.com> Date: Mon, 26 Apr 2010 11:17:26 -0700 -Subject: [PATCH 41/45] MTD: silence ecc errors on mtdblock0 +Subject: [PATCH 43/43] MTD: silence ecc errors on mtdblock0 mtdblock0 is the x-load partition, which uses hw ecc this confuses linux, which uses sw ecc diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard/defconfig b/recipes/linux/linux-omap-psp-2.6.32/beagleboard/defconfig index a2aeee49b3..86ed6c980e 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/beagleboard/defconfig +++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard/defconfig @@ -267,7 +267,7 @@ CONFIG_OMAP_PACKAGE_CBB=y CONFIG_MACH_OMAP3_BEAGLE=y # CONFIG_MACH_OMAP_LDP is not set # CONFIG_MACH_OVERO is not set -CONFIG_MACH_OMAP3EVM=y +CONFIG_MACH_OMAP3EVM=n CONFIG_PMIC_TWL4030=y # CONFIG_MACH_OMAP3517EVM is not set # CONFIG_MACH_OMAP3_PANDORA is not set diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0001-ARM-OMAP-add-spi-platform-devices.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0001-ARM-OMAP-add-spi-platform-devices.patch index 70d9b0044a..8988fd8210 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0001-ARM-OMAP-add-spi-platform-devices.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0001-ARM-OMAP-add-spi-platform-devices.patch @@ -1,7 +1,7 @@ -From 512af40b0efa98d9a7a5596fe6b19600d89a58dd Mon Sep 17 00:00:00 2001 +From 0031d3fb2d067f4c46e434f5f5c6c14cef2a83a3 Mon Sep 17 00:00:00 2001 From: Tim Yamin <plasm@roo.me.uk> Date: Sat, 11 Apr 2009 13:05:21 -0700 -Subject: [PATCH 01/16] ARM: OMAP: add spi platform devices +Subject: [PATCH 01/17] ARM: OMAP: add spi platform devices --- arch/arm/mach-omap2/devices.c | 32 ++++++++++++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0002-MMA7455L-accelerometer-driver.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0002-MMA7455L-accelerometer-driver.patch index c6cf13c2cc..f9c7702e9e 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0002-MMA7455L-accelerometer-driver.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0002-MMA7455L-accelerometer-driver.patch @@ -1,7 +1,7 @@ -From f02cd8da4f4dc269b83128e2c42ab664e6619ef8 Mon Sep 17 00:00:00 2001 +From 0c804b06c04a14da575d592c89408537c21fb26b Mon Sep 17 00:00:00 2001 From: Tim Yamin <plasm@roo.me.uk> Date: Tue, 23 Mar 2010 09:52:10 +0100 -Subject: [PATCH 02/16] MMA7455L accelerometer driver +Subject: [PATCH 02/17] MMA7455L accelerometer driver --- drivers/input/misc/Kconfig | 9 + diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0003-bq27x00_battery-remove-error-message-output.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0003-bq27x00_battery-remove-error-message-output.patch index bd1a50b35f..f8b307ee9d 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0003-bq27x00_battery-remove-error-message-output.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0003-bq27x00_battery-remove-error-message-output.patch @@ -1,7 +1,7 @@ -From df5573b7c2ed7b0e31be60bddc6b9bc928e78bfe Mon Sep 17 00:00:00 2001 +From 6837800d92947d25e263bf041ebe7db4e804af68 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 11:41:17 +0100 -Subject: [PATCH 03/16] bq27x00_battery: remove error message output +Subject: [PATCH 03/17] bq27x00_battery: remove error message output --- drivers/power/bq27x00_battery.c | 5 ----- diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0004-bq27x00_battery-add-charged-gpio.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0004-bq27x00_battery-add-charged-gpio.patch index 6f871ce649..759525f283 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0004-bq27x00_battery-add-charged-gpio.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0004-bq27x00_battery-add-charged-gpio.patch @@ -1,7 +1,7 @@ -From e1869b08e330d50fd0b57cf0f9ee86eb24d83ec3 Mon Sep 17 00:00:00 2001 +From 829d500667448b7ea9465615261a988adc3aa645 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 11:42:45 +0100 -Subject: [PATCH 04/16] bq27x00_battery: add charged gpio +Subject: [PATCH 04/17] bq27x00_battery: add charged gpio --- drivers/power/bq27x00_battery.c | 21 +++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0005-adf7846-add-more-debugging.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0005-adf7846-add-more-debugging.patch index a9903ea942..f15e0a2e50 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0005-adf7846-add-more-debugging.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0005-adf7846-add-more-debugging.patch @@ -1,7 +1,7 @@ -From 0b859f934499c20b71b7c40fe356ab1c53bf7ade Mon Sep 17 00:00:00 2001 +From e00ae0c0fa35b4b67bbc905581c2c7bde0e29901 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 13:50:38 +0100 -Subject: [PATCH 05/16] adf7846: add more debugging +Subject: [PATCH 05/17] adf7846: add more debugging --- drivers/input/touchscreen/ads7846.c | 73 +++++++++++++++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0006-ads7846-read-max-mix-x-y-from-pdata.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0006-ads7846-read-max-mix-x-y-from-pdata.patch index fff70be27c..63a4ebbf7c 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0006-ads7846-read-max-mix-x-y-from-pdata.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0006-ads7846-read-max-mix-x-y-from-pdata.patch @@ -1,7 +1,7 @@ -From 8ccf65bc56ba2f71a4420754969b522fd86945a2 Mon Sep 17 00:00:00 2001 +From 5f227b8aa6083437e2907ca621159228a4a24d9a Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 13:50:45 +0100 -Subject: [PATCH 06/16] ads7846: read max/mix x/y from pdata +Subject: [PATCH 06/17] ads7846: read max/mix x/y from pdata --- drivers/input/touchscreen/ads7846.c | 5 +++-- diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0007-ads7846-add-settling-delay-to-pdata.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0007-ads7846-add-settling-delay-to-pdata.patch index 5994529edd..a69c7836b9 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0007-ads7846-add-settling-delay-to-pdata.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0007-ads7846-add-settling-delay-to-pdata.patch @@ -1,7 +1,7 @@ -From 68e4eb5c9690531fa04cc9e0621854b03369d78b Mon Sep 17 00:00:00 2001 +From 7330c695afad64eef62c525cb8e54913265a3b39 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 13:50:52 +0100 -Subject: [PATCH 07/16] ads7846: add settling delay to pdata +Subject: [PATCH 07/17] ads7846: add settling delay to pdata --- drivers/input/touchscreen/ads7846.c | 22 ++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch index db1d7a63ea..5d6ff3fbc2 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch @@ -1,7 +1,7 @@ -From b5fbb6c23770e496250e5cbdaad7b7b6120b86af Mon Sep 17 00:00:00 2001 +From 07396a332c4f3d6ed4ff498cb08d0338c98dc612 Mon Sep 17 00:00:00 2001 From: Tim Yamin <plasm@roo.me.uk> Date: Mon, 20 Apr 2009 20:29:11 -0700 -Subject: [PATCH 08/16] DSS2: OMAPFB: Translate X/Y coordinates for the video planes when rotating. +Subject: [PATCH 08/17] DSS2: OMAPFB: Translate X/Y coordinates for the video planes when rotating. When rotating the video planes, translate the X/Y coordinates such that a [0,0] from userspace always maps to the correct upper left corner of diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0010-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch index 58d084e3cf..5130598422 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0010-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch @@ -1,7 +1,7 @@ -From 7986ce08b1f7ed40c815620853fe76ce3deeb7c5 Mon Sep 17 00:00:00 2001 +From fc2e9ddb93cb026ed10900d794dd1db11191dc24 Mon Sep 17 00:00:00 2001 From: Tim Yamin <plasm@roo.me.uk> Date: Fri, 12 Mar 2010 13:57:38 +0100 -Subject: [PATCH 10/16] DSS2: Fix scaling checks when rotation is 90 or 270 degrees. +Subject: [PATCH 09/17] DSS2: Fix scaling checks when rotation is 90 or 270 degrees. --- drivers/video/omap2/dss/dispc.c | 25 +++++++++++++++++++------ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-fix-rotation-offsets.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-fix-rotation-offsets.patch deleted file mode 100644 index 89d5285688..0000000000 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-fix-rotation-offsets.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 15ef52dc7a6d92e50ed9437ca6ca4bdcbd62faa6 Mon Sep 17 00:00:00 2001 -From: Gregoire Gentil <gregoire@gentil.com> -Date: Wed, 31 Mar 2010 11:32:23 +0200 -Subject: [PATCH 09/16] DSS2: fix rotation offsets - ---- - drivers/video/omap2/omapfb/omapfb-main.c | 34 +++++++++++++++++++++++++---- - 1 files changed, 29 insertions(+), 5 deletions(-) - -diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c -index c2c9663..1b116b6 100644 ---- a/drivers/video/omap2/omapfb/omapfb-main.c -+++ b/drivers/video/omap2/omapfb/omapfb-main.c -@@ -859,12 +859,14 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, - u32 data_start_p; - void __iomem *data_start_v; - struct omap_overlay_info info; -- int xres, yres; -+ int xres, yres, xoff, yoff; - int screen_width; - int mirror; - int rotation = var->rotate; - int i; - -+ xoff = var->xoffset; -+ yoff = var->yoffset; - for (i = 0; i < ofbi->num_overlays; i++) { - if (ovl != ofbi->overlays[i]) - continue; -@@ -893,10 +895,32 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, - data_start_v = omapfb_get_region_vaddr(ofbi, 0); - } - -- if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) -- offset = calc_rotation_offset_vrfb(var, fix, 0); -- else -- offset = calc_rotation_offset_dma(var, fix, rotation); -+ if (ofbi->rotation == FB_ROTATE_CW || ofbi->rotation == FB_ROTATE_UD) { -+ if (var->yres < var->yres_virtual) { -+ if (var->yoffset) -+ yoff = 0; -+ else -+ yoff = var->yres_virtual - var->yres; -+ } -+ } -+ -+ if (ofbi->rotation == FB_ROTATE_CCW || ofbi->rotation == FB_ROTATE_UD) { -+ if (var->xres < var->xres_virtual) { -+ if (var->xoffset) -+ xoff = 0; -+ else -+ xoff = var->xres_virtual - var->xres; -+ } -+ } -+ -+ if (ofbi->rotation == FB_ROTATE_CW || ofbi->rotation == FB_ROTATE_CCW) { -+ offset = ((xoff * fix->line_length) >> 1) + -+ ((yoff * var->bits_per_pixel) >> 2); -+ } else -+ { -+ offset = yoff * fix->line_length + -+ ((xoff * var->bits_per_pixel) >> 3); -+ } - - data_start_p += offset; - data_start_v += offset; --- -1.6.6.1 - diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0011-add-touchbook-hid-driver.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0010-add-touchbook-hid-driver.patch index 7dca1ddeda..aa3b359c65 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0011-add-touchbook-hid-driver.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0010-add-touchbook-hid-driver.patch @@ -1,7 +1,7 @@ -From 935a7f21581403bd791729ae1cc1b49b10561fa6 Mon Sep 17 00:00:00 2001 +From 0f651f19bf9cfecbb76d6f0b251e3d8395f306b8 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 14:39:07 +0100 -Subject: [PATCH 11/16] add touchbook hid driver +Subject: [PATCH 10/17] add touchbook hid driver --- drivers/hid/Kconfig | 7 ++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0012-Make-backlight-controls-accessible-to-users.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0011-Make-backlight-controls-accessible-to-users.patch index 5f3e2336fe..c6d3678751 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0012-Make-backlight-controls-accessible-to-users.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0011-Make-backlight-controls-accessible-to-users.patch @@ -1,7 +1,7 @@ -From 94ea406045ee596951204736fd5bdf454c574343 Mon Sep 17 00:00:00 2001 +From b46a494e0c02450e412db221d75446671b6ef511 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregroire@gentil.com> Date: Fri, 12 Mar 2010 14:41:05 +0100 -Subject: [PATCH 12/16] Make backlight controls accessible to users +Subject: [PATCH 11/17] Make backlight controls accessible to users --- drivers/video/backlight/backlight.c | 2 +- diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0013-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0012-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch index b6da0dc5fb..24fb913221 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0013-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0012-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch @@ -1,7 +1,7 @@ -From 55eb032a9f3d9c2a46a0e4621e6704a00ba2ab46 Mon Sep 17 00:00:00 2001 +From 4c3ef06a333cf1f873a9a8de05af90959a5d1e68 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 15:04:58 +0100 -Subject: [PATCH 13/16] ads7846: don't error out when there's no pendown gpio +Subject: [PATCH 12/17] ads7846: don't error out when there's no pendown gpio --- drivers/input/touchscreen/ads7846.c | 7 ------- diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0014-ASoC-add-driver-for-omap3-touchbook.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0013-ASoC-add-driver-for-omap3-touchbook.patch index 4e39423869..2da7354e11 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0014-ASoC-add-driver-for-omap3-touchbook.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0013-ASoC-add-driver-for-omap3-touchbook.patch @@ -1,13 +1,13 @@ -From 0abfaf3d50f7df7b7dd9462d1822e856bf306bf5 Mon Sep 17 00:00:00 2001 +From 96ce6261efe4c194d9188e0f352803bcd92f1c59 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Wed, 31 Mar 2010 11:14:04 +0200 -Subject: [PATCH 14/16] ASoC: add driver for omap3-touchbook +Subject: [PATCH 13/17] ASoC: add driver for omap3-touchbook --- sound/soc/omap/Kconfig | 8 + sound/soc/omap/Makefile | 2 + - sound/soc/omap/omap3touchbook.c | 281 +++++++++++++++++++++++++++++++++++++++ - 3 files changed, 291 insertions(+), 0 deletions(-) + sound/soc/omap/omap3touchbook.c | 291 +++++++++++++++++++++++++++++++++++++++ + 3 files changed, 301 insertions(+), 0 deletions(-) create mode 100644 sound/soc/omap/omap3touchbook.c diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig @@ -50,10 +50,10 @@ index 19283e5..e3f172f 100644 obj-$(CONFIG_SND_OMAP_SOC_IGEP0020) += snd-soc-igep0020.o diff --git a/sound/soc/omap/omap3touchbook.c b/sound/soc/omap/omap3touchbook.c new file mode 100644 -index 0000000..27924e0 +index 0000000..c5e6eaa --- /dev/null +++ b/sound/soc/omap/omap3touchbook.c -@@ -0,0 +1,281 @@ +@@ -0,0 +1,291 @@ +/* + * omap3touchbook.c -- SoC audio for Touch Book + * @@ -160,6 +160,14 @@ index 0000000..27924e0 +/* Headset jack detection DAPM pins */ +static struct snd_soc_jack_pin hs_jack_pins[] = { + { ++ .pin = "Headset Stereo", ++ .mask = SND_JACK_HEADPHONE, ++ }, ++ { ++ .pin = "Headset Mic", ++ .mask = SND_JACK_HEADPHONE, ++ }, ++ { + .pin = "External Speakers", + .mask = SND_JACK_HEADPHONE, + .invert = 1, @@ -180,7 +188,7 @@ index 0000000..27924e0 +static const struct snd_soc_dapm_widget omap3touchbook_twl4030_dapm_widgets[] = { + SND_SOC_DAPM_SPK("External Speakers", NULL), + SND_SOC_DAPM_HP("Headset Stereo", NULL), -+ SND_SOC_DAPM_MIC("Headset Micro", NULL), ++ SND_SOC_DAPM_MIC("Headset Mic", NULL), + SND_SOC_DAPM_LINE("Line In", NULL), +}; + @@ -193,12 +201,13 @@ index 0000000..27924e0 + {"Headset Stereo", NULL, "HSOL"}, + {"Headset Stereo", NULL, "HSOR"}, + -+ /* Headset Micro: MAINMICL */ -+ {"Headset Micro", NULL, "MAINMIC"}, ++ /* Micro: HSMIC */ ++ {"HSMIC", NULL, "Headset Mic Bias"}, ++ {"Headset Mic Bias", NULL, "Headset Mic"}, + + /* Line In: AUXL, AUXR */ -+ {"Line In", NULL, "AUXL"}, -+ {"Line In", NULL, "AUXR"}, ++ {"AUXL", NULL, "Line In"}, ++ {"AUXR", NULL, "Line In"}, +}; + +static int omap3touchbook_twl4030_init(struct snd_soc_codec *codec) @@ -217,11 +226,12 @@ index 0000000..27924e0 + /* omap3touchbook connected pins */ + snd_soc_dapm_enable_pin(codec, "External Speakers"); + snd_soc_dapm_enable_pin(codec, "Headset Stereo"); -+ snd_soc_dapm_enable_pin(codec, "Headset Micro"); ++ snd_soc_dapm_enable_pin(codec, "Headset Mic"); + snd_soc_dapm_enable_pin(codec, "Line In"); + -+ /* TWL4030 not connected pins */ ++ /* omap3touchbook not connected pins */ + snd_soc_dapm_nc_pin(codec, "CARKITMIC"); ++ snd_soc_dapm_nc_pin(codec, "MAINMIC"); + snd_soc_dapm_nc_pin(codec, "SUBMIC"); + snd_soc_dapm_nc_pin(codec, "DIGIMIC0"); + snd_soc_dapm_nc_pin(codec, "DIGIMIC1"); diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-backlight-add-PWM-support.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0014-backlight-add-PWM-support.patch index 373ab7a443..d517f072b6 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-backlight-add-PWM-support.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0014-backlight-add-PWM-support.patch @@ -1,7 +1,7 @@ -From d24e10c10e57875a65451f46025623f0f77cefbe Mon Sep 17 00:00:00 2001 +From cc8cb0d0731c7a0517653e65c754051a69f34c3e Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Wed, 31 Mar 2010 11:14:04 +0200 -Subject: [PATCH 15/16] backlight: add PWM support +Subject: [PATCH 14/17] backlight: add PWM support --- drivers/video/backlight/backlight.c | 81 +++++++++++++++++++++++++++++++++++ diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-Forward-port-TWL4030-BCI-driver-from-2.6.29-to-2.6.3.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-Forward-port-TWL4030-BCI-driver-from-2.6.29-to-2.6.3.patch new file mode 100644 index 0000000000..562c459e1e --- /dev/null +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-Forward-port-TWL4030-BCI-driver-from-2.6.29-to-2.6.3.patch @@ -0,0 +1,1367 @@ +From c3a08f3d696866508ef2b5e2fd065b8295b3e1a8 Mon Sep 17 00:00:00 2001 +From: Tim Yamin <plasm@roo.me.uk> +Date: Sun, 9 May 2010 10:14:23 +0200 +Subject: [PATCH 15/17] Forward port TWL4030 BCI driver from 2.6.29 to 2.6.31 with AI enhancements. + +Signed-off-by: Tim Yamin <plasm@roo.me.uk> +--- + drivers/power/Kconfig | 7 + + drivers/power/Makefile | 1 + + drivers/power/twl4030_bci_battery.c | 1307 +++++++++++++++++++++++++++++++++++ + include/linux/i2c/twl.h | 1 + + 4 files changed, 1316 insertions(+), 0 deletions(-) + create mode 100644 drivers/power/twl4030_bci_battery.c + +diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig +index d4b3d67..8345b3f 100644 +--- a/drivers/power/Kconfig ++++ b/drivers/power/Kconfig +@@ -124,4 +124,11 @@ config CHARGER_PCF50633 + help + Say Y to include support for NXP PCF50633 Main Battery Charger. + ++config TWL4030_BCI_BATTERY ++ tristate "OMAP TWL4030 BCI Battery driver" ++ depends on TWL4030_CORE && TWL4030_MADC ++ help ++ Support for OMAP TWL4030 BCI Battery driver. ++ This driver can give support for TWL4030 Battery Charge Interface. ++ + endif # POWER_SUPPLY +diff --git a/drivers/power/Makefile b/drivers/power/Makefile +index 573597c..7801da7 100644 +--- a/drivers/power/Makefile ++++ b/drivers/power/Makefile +@@ -31,3 +31,4 @@ obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00_battery.o + obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o + obj-$(CONFIG_BATTERY_MAX17040) += max17040_battery.o + obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o ++obj-$(CONFIG_TWL4030_BCI_BATTERY) += twl4030_bci_battery.o +diff --git a/drivers/power/twl4030_bci_battery.c b/drivers/power/twl4030_bci_battery.c +new file mode 100644 +index 0000000..0876fc3 +--- /dev/null ++++ b/drivers/power/twl4030_bci_battery.c +@@ -0,0 +1,1307 @@ ++/* ++ * linux/drivers/power/twl4030_bci_battery.c ++ * ++ * OMAP2430/3430 BCI battery driver for Linux ++ * ++ * Copyright (C) 2008 Texas Instruments, Inc. ++ * Author: Texas Instruments, Inc. ++ * ++ * Copyright (C) 2010 Always Innovating ++ * Author: Tim Yamin <plasm@roo.me.uk> ++ * ++ * This package is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ++ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++ */ ++ ++/* Boot with automatic charge */ ++#define CHARGE_MODE 1 ++ ++#include <linux/init.h> ++#include <linux/module.h> ++#include <linux/device.h> ++#include <linux/interrupt.h> ++#include <linux/delay.h> ++#include <linux/platform_device.h> ++#include <linux/i2c/twl.h> ++#include <linux/power_supply.h> ++#include <linux/i2c/twl4030-madc.h> ++ ++#define T2_BATTERY_VOLT 0x04 ++#define T2_BATTERY_TEMP 0x06 ++#define T2_BATTERY_CUR 0x08 ++ ++/* charger constants */ ++#define NO_PW_CONN 0 ++#define AC_PW_CONN 0x01 ++#define USB_PW_CONN 0x02 ++ ++/* TWL4030_MODULE_USB */ ++#define REG_POWER_CTRL 0x0AC ++#define OTG_EN 0x020 ++#define REG_PHY_CLK_CTRL 0x0FE ++#define REG_PHY_CLK_CTRL_STS 0x0FF ++#define PHY_DPLL_CLK 0x01 ++ ++#define REG_BCICTL1 0x023 ++#define REG_BCICTL2 0x024 ++#define CGAIN 0x020 ++#define ITHEN 0x010 ++#define ITHSENS 0x007 ++ ++/* Boot BCI flag bits */ ++#define BCIAUTOWEN 0x020 ++#define CONFIG_DONE 0x010 ++#define CVENAC 0x004 ++#define BCIAUTOUSB 0x002 ++#define BCIAUTOAC 0x001 ++#define BCIMSTAT_MASK 0x03F ++ ++/* Boot BCI register */ ++#define REG_BOOT_BCI 0x007 ++#define REG_CTRL1 0x00 ++#define REG_SW1SELECT_MSB 0x07 ++#define SW1_CH9_SEL 0x02 ++#define REG_CTRL_SW1 0x012 ++#define SW1_TRIGGER 0x020 ++#define EOC_SW1 0x002 ++#define REG_GPCH9 0x049 ++#define REG_STS_HW_CONDITIONS 0x0F ++#define STS_VBUS 0x080 ++#define STS_CHG 0x02 ++#define REG_BCIMSTATEC 0x02 ++#define REG_BCIMFSTS4 0x010 ++#define REG_BCIMFSTS2 0x00E ++#define REG_BCIMFSTS3 0x00F ++#define REG_BCIMFSTS1 0x001 ++#define USBFASTMCHG 0x004 ++#define BATSTSPCHG 0x004 ++#define BATSTSMCHG 0x040 ++#define VBATOV4 0x020 ++#define VBATOV3 0x010 ++#define VBATOV2 0x008 ++#define VBATOV1 0x004 ++#define REG_BB_CFG 0x012 ++#define BBCHEN 0x010 ++ ++/* GPBR */ ++#define REG_GPBR1 0x0c ++#define MADC_HFCLK_EN 0x80 ++#define DEFAULT_MADC_CLK_EN 0x10 ++ ++/* Power supply charge interrupt */ ++#define REG_PWR_ISR1 0x00 ++#define REG_PWR_IMR1 0x01 ++#define REG_PWR_EDR1 0x05 ++#define REG_PWR_SIH_CTRL 0x007 ++ ++#define USB_PRES 0x004 ++#define CHG_PRES 0x002 ++ ++#define USB_PRES_RISING 0x020 ++#define USB_PRES_FALLING 0x010 ++#define CHG_PRES_RISING 0x008 ++#define CHG_PRES_FALLING 0x004 ++#define AC_STATEC 0x20 ++#define COR 0x004 ++ ++/* interrupt status registers */ ++#define REG_BCIISR1A 0x0 ++#define REG_BCIISR2A 0x01 ++ ++/* Interrupt flags bits BCIISR1 */ ++#define BATSTS_ISR1 0x080 ++#define VBATLVL_ISR1 0x001 ++ ++/* Interrupt mask registers for int1*/ ++#define REG_BCIIMR1A 0x002 ++#define REG_BCIIMR2A 0x003 ++ ++ /* Interrupt masks for BCIIMR1 */ ++#define BATSTS_IMR1 0x080 ++#define VBATLVL_IMR1 0x001 ++ ++/* Interrupt edge detection register */ ++#define REG_BCIEDR1 0x00A ++#define REG_BCIEDR2 0x00B ++#define REG_BCIEDR3 0x00C ++ ++/* BCIEDR2 */ ++#define BATSTS_EDRRISIN 0x080 ++#define BATSTS_EDRFALLING 0x040 ++ ++/* BCIEDR3 */ ++#define VBATLVL_EDRRISIN 0x02 ++ ++/* BCIIREF1 */ ++#define REG_BCIIREF1 0x027 ++#define REG_BCIIREF2 0x028 ++ ++/* BCIMFTH1 */ ++#define REG_BCIMFTH1 0x016 ++ ++/* Key */ ++#define KEY_IIREF 0xE7 ++#define KEY_FTH1 0xD2 ++#define REG_BCIMFKEY 0x011 ++ ++/* Step size and prescaler ratio */ ++#define TEMP_STEP_SIZE 147 ++#define TEMP_PSR_R 100 ++ ++#define VOLT_STEP_SIZE 588 ++#define VOLT_PSR_R 100 ++ ++#define CURR_STEP_SIZE 147 ++#define CURR_PSR_R1 44 ++#define CURR_PSR_R2 80 ++ ++#define BK_VOLT_STEP_SIZE 441 ++#define BK_VOLT_PSR_R 100 ++ ++#define ENABLE 1 ++#define DISABLE 1 ++ ++struct twl4030_bci_device_info { ++ struct device *dev; ++ ++ unsigned long update_time; ++ int voltage_uV; ++ int bk_voltage_uV; ++ int current_uA; ++ int temp_C; ++ int charge_rsoc; ++ int charge_status; ++ ++ struct power_supply bat; ++ struct power_supply bk_bat; ++ struct delayed_work twl4030_bci_monitor_work; ++ struct delayed_work twl4030_bk_bci_monitor_work; ++ ++ struct twl4030_bci_platform_data *pdata; ++}; ++ ++static int usb_charger_flag; ++static int LVL_1, LVL_2, LVL_3, LVL_4; ++ ++static int read_bci_val(u8 reg_1); ++static inline int clear_n_set(u8 mod_no, u8 clear, u8 set, u8 reg); ++static int twl4030charger_presence(void); ++ ++/* ++ * Report and clear the charger presence event. ++ */ ++static inline int twl4030charger_presence_evt(void) ++{ ++ int ret; ++ u8 chg_sts, set = 0, clear = 0; ++ ++ /* read charger power supply status */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &chg_sts, ++ REG_STS_HW_CONDITIONS); ++ if (ret) ++ return IRQ_NONE; ++ ++ if (chg_sts & STS_CHG) { /* If the AC charger have been connected */ ++ /* configuring falling edge detection for CHG_PRES */ ++ set = CHG_PRES_FALLING; ++ clear = CHG_PRES_RISING; ++ } else { /* If the AC charger have been disconnected */ ++ /* configuring rising edge detection for CHG_PRES */ ++ set = CHG_PRES_RISING; ++ clear = CHG_PRES_FALLING; ++ } ++ ++ /* Update the interrupt edge detection register */ ++ clear_n_set(TWL4030_MODULE_INT, clear, set, REG_PWR_EDR1); ++ ++ return 0; ++} ++ ++/* ++ * Interrupt service routine ++ * ++ * Attends to TWL 4030 power module interruptions events, specifically ++ * USB_PRES (USB charger presence) CHG_PRES (AC charger presence) events ++ * ++ */ ++static irqreturn_t twl4030charger_interrupt(int irq, void *_di) ++{ ++ struct twl4030_bci_device_info *di = _di; ++ ++#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 ++ ++ twl4030charger_presence_evt(); ++ power_supply_changed(&di->bat); ++ ++ return IRQ_HANDLED; ++} ++ ++/* ++ * This function handles the twl4030 battery presence interrupt ++ */ ++static int twl4030battery_presence_evt(void) ++{ ++ int ret; ++ u8 batstsmchg, batstspchg; ++ ++ /* check for the battery presence in main charge*/ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, ++ &batstsmchg, REG_BCIMFSTS3); ++ if (ret) ++ return ret; ++ ++ /* check for the battery presence in precharge */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_PRECHARGE, ++ &batstspchg, REG_BCIMFSTS1); ++ if (ret) ++ return ret; ++ ++ /* ++ * REVISIT: Physically inserting/removing the batt ++ * does not seem to generate an int on 3430ES2 SDP. ++ */ ++ if ((batstspchg & BATSTSPCHG) || (batstsmchg & BATSTSMCHG)) { ++ /* In case of the battery insertion event */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, BATSTS_EDRRISIN, ++ BATSTS_EDRFALLING, REG_BCIEDR2); ++ if (ret) ++ return ret; ++ } else { ++ /* In case of the battery removal event */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, BATSTS_EDRFALLING, ++ BATSTS_EDRRISIN, REG_BCIEDR2); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++/* ++ * This function handles the twl4030 battery voltage level interrupt. ++ */ ++static int twl4030battery_level_evt(void) ++{ ++ int ret; ++ u8 mfst; ++ ++ /* checking for threshold event */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, ++ &mfst, REG_BCIMFSTS2); ++ if (ret) ++ return ret; ++ ++ /* REVISIT could use a bitmap */ ++ if (mfst & VBATOV4) { ++ LVL_4 = 1; ++ LVL_3 = 0; ++ LVL_2 = 0; ++ LVL_1 = 0; ++ } else if (mfst & VBATOV3) { ++ LVL_4 = 0; ++ LVL_3 = 1; ++ LVL_2 = 0; ++ LVL_1 = 0; ++ } else if (mfst & VBATOV2) { ++ LVL_4 = 0; ++ LVL_3 = 0; ++ LVL_2 = 1; ++ LVL_1 = 0; ++ } else { ++ LVL_4 = 0; ++ LVL_3 = 0; ++ LVL_2 = 0; ++ LVL_1 = 1; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Interrupt service routine ++ * ++ * Attends to BCI interruptions events, ++ * specifically BATSTS (battery connection and removal) ++ * VBATOV (main battery voltage threshold) events ++ * ++ */ ++static irqreturn_t twl4030battery_interrupt(int irq, void *_di) ++{ ++ u8 isr1a_val, isr2a_val, clear_2a, clear_1a; ++ int ret; ++ ++#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 ++ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_INTERRUPTS, &isr1a_val, ++ REG_BCIISR1A); ++ if (ret) ++ return IRQ_NONE; ++ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_INTERRUPTS, &isr2a_val, ++ REG_BCIISR2A); ++ if (ret) ++ return IRQ_NONE; ++ ++ clear_2a = (isr2a_val & VBATLVL_ISR1) ? (VBATLVL_ISR1) : 0; ++ clear_1a = (isr1a_val & BATSTS_ISR1) ? (BATSTS_ISR1) : 0; ++ ++ /* cleaning BCI interrupt status flags */ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_INTERRUPTS, ++ clear_1a , REG_BCIISR1A); ++ if (ret) ++ return IRQ_NONE; ++ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_INTERRUPTS, ++ clear_2a , REG_BCIISR2A); ++ if (ret) ++ return IRQ_NONE; ++ ++ /* battery connetion or removal event */ ++ if (isr1a_val & BATSTS_ISR1) ++ twl4030battery_presence_evt(); ++ /* battery voltage threshold event*/ ++ else if (isr2a_val & VBATLVL_ISR1) ++ twl4030battery_level_evt(); ++ else ++ return IRQ_NONE; ++ ++ return IRQ_HANDLED; ++} ++ ++/* ++ * Enable/Disable hardware battery level event notifications. ++ */ ++static int twl4030battery_hw_level_en(int enable) ++{ ++ int ret; ++ ++ if (enable) { ++ /* unmask VBATOV interrupt for INT1 */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, VBATLVL_IMR1, ++ 0, REG_BCIIMR2A); ++ if (ret) ++ return ret; ++ ++ /* configuring interrupt edge detection for VBATOv */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, 0, ++ VBATLVL_EDRRISIN, REG_BCIEDR3); ++ if (ret) ++ return ret; ++ } else { ++ /* mask VBATOV interrupt for INT1 */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, 0, ++ VBATLVL_IMR1, REG_BCIIMR2A); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Enable/disable hardware battery presence event notifications. ++ */ ++static int twl4030battery_hw_presence_en(int enable) ++{ ++ int ret; ++ ++ if (enable) { ++ /* unmask BATSTS interrupt for INT1 */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, BATSTS_IMR1, ++ 0, REG_BCIIMR1A); ++ if (ret) ++ return ret; ++ ++ /* configuring interrupt edge for BATSTS */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, 0, ++ BATSTS_EDRRISIN | BATSTS_EDRFALLING, REG_BCIEDR2); ++ if (ret) ++ return ret; ++ } else { ++ /* mask BATSTS interrupt for INT1 */ ++ ret = clear_n_set(TWL4030_MODULE_INTERRUPTS, 0, ++ BATSTS_IMR1, REG_BCIIMR1A); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Enable/Disable AC Charge funtionality. ++ */ ++static int twl4030charger_ac_en(int enable, int automatic) ++{ ++ int ret; ++ ++ if (enable) { ++ /* forcing the field BCIAUTOAC (BOOT_BCI[0) to 1 */ ++ if(!automatic) { ++ ret = clear_n_set(TWL4030_MODULE_PM_MASTER, BCIAUTOAC | CVENAC, ++ (CONFIG_DONE | BCIAUTOWEN), ++ REG_BOOT_BCI); ++ } else { ++ ret = clear_n_set(TWL4030_MODULE_PM_MASTER, 0, ++ (CONFIG_DONE | BCIAUTOWEN | BCIAUTOAC | CVENAC), ++ REG_BOOT_BCI); ++ } ++ if (ret) ++ return ret; ++ } else { ++ /* forcing the field BCIAUTOAC (BOOT_BCI[0) to 0*/ ++ ret = clear_n_set(TWL4030_MODULE_PM_MASTER, BCIAUTOAC, ++ (CONFIG_DONE | BCIAUTOWEN), ++ REG_BOOT_BCI); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Enable/Disable USB Charge funtionality. ++ */ ++int twl4030charger_usb_en(int enable) ++{ ++ u8 value; ++ int ret; ++ unsigned long timeout; ++ ++ if (enable) { ++ /* Check for USB charger conneted */ ++ ret = twl4030charger_presence(); ++ if (ret < 0) ++ return ret; ++ ++ if (!(ret & USB_PW_CONN)) ++ return -ENXIO; ++ ++ /* forcing the field BCIAUTOUSB (BOOT_BCI[1]) to 1 */ ++ ret = clear_n_set(TWL4030_MODULE_PM_MASTER, 0, ++ (CONFIG_DONE | BCIAUTOWEN | BCIAUTOUSB), ++ REG_BOOT_BCI); ++ if (ret) ++ return ret; ++ ++ ret = clear_n_set(TWL4030_MODULE_USB, 0, PHY_DPLL_CLK, ++ REG_PHY_CLK_CTRL); ++ if (ret) ++ return ret; ++ ++ value = 0; ++ timeout = jiffies + msecs_to_jiffies(50); ++ ++ while ((!(value & PHY_DPLL_CLK)) && ++ time_before(jiffies, timeout)) { ++ udelay(10); ++ ret = twl_i2c_read_u8(TWL4030_MODULE_USB, &value, ++ REG_PHY_CLK_CTRL_STS); ++ if (ret) ++ return ret; ++ } ++ ++ /* OTG_EN (POWER_CTRL[5]) to 1 */ ++ ret = clear_n_set(TWL4030_MODULE_USB, 0, OTG_EN, ++ REG_POWER_CTRL); ++ if (ret) ++ return ret; ++ ++ mdelay(50); ++ ++ /* forcing USBFASTMCHG(BCIMFSTS4[2]) to 1 */ ++ ret = clear_n_set(TWL4030_MODULE_MAIN_CHARGE, 0, ++ USBFASTMCHG, REG_BCIMFSTS4); ++ if (ret) ++ return ret; ++ } else { ++ twl4030charger_presence(); ++ ret = clear_n_set(TWL4030_MODULE_PM_MASTER, BCIAUTOUSB, ++ (CONFIG_DONE | BCIAUTOWEN), REG_BOOT_BCI); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Return battery temperature ++ * Or < 0 on failure. ++ */ ++static int twl4030battery_temperature(struct twl4030_bci_device_info *di) ++{ ++ u8 val; ++ int temp, curr, volt, res, ret; ++ ++ /* Is a temperature table specified? */ ++ if (!di->pdata->tblsize) ++ return 0; ++ ++ /* Getting and calculating the thermistor voltage */ ++ ret = read_bci_val(T2_BATTERY_TEMP); ++ if (ret < 0) ++ return ret; ++ ++ volt = (ret * TEMP_STEP_SIZE) / TEMP_PSR_R; ++ ++ /* Getting and calculating the supply current in micro ampers */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &val, ++ REG_BCICTL2); ++ if (ret) ++ return 0; ++ ++ curr = ((val & ITHSENS) + 1) * 10; ++ ++ /* Getting and calculating the thermistor resistance in ohms*/ ++ res = volt * 1000 / curr; ++ ++ /*calculating temperature*/ ++ for (temp = 58; temp >= 0; temp--) { ++ int actual = di->pdata->battery_tmp_tbl[temp]; ++ if ((actual - res) >= 0) ++ break; ++ } ++ ++ /* Negative temperature */ ++ if (temp < 3) { ++ if (temp == 2) ++ temp = -1; ++ else if (temp == 1) ++ temp = -2; ++ else ++ temp = -3; ++ } ++ ++ return temp + 1; ++} ++ ++/* ++ * Return battery voltage ++ * Or < 0 on failure. ++ */ ++static int twl4030battery_voltage(void) ++{ ++ int volt = read_bci_val(T2_BATTERY_VOLT); ++ return (volt * VOLT_STEP_SIZE) / VOLT_PSR_R; ++} ++ ++/* ++ * Get latest battery voltage (using MADC) ++ * ++ * When the BCI is not charging, the BCI voltage registers are not ++ * updated and are 'frozen' but the data can be read through the ++ * MADC. ++ */ ++static int twl4030battery_voltage_madc(void) ++{ ++ struct twl4030_madc_request req; ++ ++ req.channels = (1 << 12); ++ req.do_avg = 0; ++ req.method = TWL4030_MADC_SW1; ++ req.active = 0; ++ req.func_cb = NULL; ++ twl4030_madc_conversion(&req); ++ ++ return (((int) req.rbuf[12]) * VOLT_STEP_SIZE) / VOLT_PSR_R; ++} ++ ++/* ++ * Return the battery current ++ * Or < 0 on failure. ++ */ ++static int twl4030battery_current(void) ++{ ++ int ret, curr = read_bci_val(T2_BATTERY_CUR); ++ u8 val; ++ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &val, ++ REG_BCICTL1); ++ if (ret) ++ return ret; ++ ++ if (val & CGAIN) /* slope of 0.44 mV/mA */ ++ return (curr * CURR_STEP_SIZE) / CURR_PSR_R1; ++ else /* slope of 0.88 mV/mA */ ++ return (curr * CURR_STEP_SIZE) / CURR_PSR_R2; ++} ++ ++/* ++ * Return the battery backup voltage ++ * Or < 0 on failure. ++ */ ++static int twl4030backupbatt_voltage(void) ++{ ++ struct twl4030_madc_request req; ++ int temp; ++ ++ req.channels = (1 << 9); ++ req.do_avg = 0; ++ req.method = TWL4030_MADC_SW1; ++ req.active = 0; ++ req.func_cb = NULL; ++ twl4030_madc_conversion(&req); ++ temp = (u16)req.rbuf[9]; ++ ++ return (temp * BK_VOLT_STEP_SIZE) / BK_VOLT_PSR_R; ++} ++ ++/* ++ * Returns an integer value, that means, ++ * NO_PW_CONN no power supply is connected ++ * AC_PW_CONN if the AC power supply is connected ++ * USB_PW_CONN if the USB power supply is connected ++ * AC_PW_CONN + USB_PW_CONN if USB and AC power supplies are both connected ++ * ++ * Or < 0 on failure. ++ */ ++static int twl4030charger_presence(void) ++{ ++ int ret; ++ u8 hwsts; ++ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &hwsts, ++ REG_STS_HW_CONDITIONS); ++ if (ret) { ++ pr_err("twl4030_bci: error reading STS_HW_CONDITIONS\n"); ++ return ret; ++ } ++ ++ ret = (hwsts & STS_CHG) ? AC_PW_CONN : NO_PW_CONN; ++ ret += (hwsts & STS_VBUS) ? USB_PW_CONN : NO_PW_CONN; ++ ++ if (ret & USB_PW_CONN) ++ usb_charger_flag = 1; ++ else ++ usb_charger_flag = 0; ++ ++ return ret; ++ ++} ++ ++/* ++ * Returns the main charge FSM status ++ * Or < 0 on failure. ++ */ ++static int twl4030bci_status(void) ++{ ++ int ret; ++ u8 status; ++ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, ++ &status, REG_BCIMSTATEC); ++ if (ret) { ++ pr_err("twl4030_bci: error reading BCIMSTATEC\n"); ++ return ret; ++ } ++ ++#ifdef DEBUG ++ printk("BCI DEBUG: BCIMSTATEC Charge state is 0x%x\n", status); ++#endif ++ return (int) (status & BCIMSTAT_MASK); ++} ++ ++static int read_bci_val(u8 reg) ++{ ++ int ret, temp; ++ u8 val; ++ ++ /* reading MSB */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &val, ++ reg + 1); ++ if (ret) ++ return ret; ++ ++ temp = ((int)(val & 0x03)) << 8; ++ ++ /* reading LSB */ ++ ret = twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &val, ++ reg); ++ if (ret) ++ return ret; ++ ++ return temp | val; ++} ++ ++/* ++ * Settup the twl4030 BCI module to enable backup ++ * battery charging. ++ */ ++static int twl4030backupbatt_voltage_setup(void) ++{ ++ int ret; ++ ++ /* Starting backup batery charge */ ++ ret = clear_n_set(TWL4030_MODULE_PM_RECEIVER, 0, BBCHEN, ++ REG_BB_CFG); ++ if (ret) ++ return ret; ++ ++ return 0; ++} ++ ++/* ++ * Settup the twl4030 BCI module to measure battery ++ * temperature ++ */ ++static int twl4030battery_temp_setup(void) ++{ ++#ifdef DEBUG ++ u8 i; ++#endif ++ u8 ret; ++ ++ /* Enabling thermistor current */ ++ ret = clear_n_set(TWL4030_MODULE_MAIN_CHARGE, 0, 0x1B, ++ REG_BCICTL1); ++ if (ret) ++ return ret; ++ ++#ifdef DEBUG ++ twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &ret, REG_BOOT_BCI); ++ printk("BCI DEBUG: BOOT_BCI Value is 0x%x\n", ret); ++ ++ twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &ret, REG_STS_HW_CONDITIONS); ++ printk("BCI DEBUG: STS_HW_CONDITIONS Value is 0x%x\n", ret); ++ ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &ret, REG_BCICTL1); ++ printk("BCI DEBUG: BCICTL1 Value is 0x%x\n", ret); ++ ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &ret, REG_BCICTL2); ++ printk("BCI DEBUG: BCICTL2 Value is 0x%x\n", ret); ++ ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &ret, 0x0); ++ printk("BCI DEBUG: BCIMDEN Value is 0x%x\n", ret); ++ ++ twl_i2c_read_u8(TWL4030_MODULE_INTBR, &ret, REG_GPBR1); ++ printk("BCI DEBUG: GPBR1 Value is 0x%x\n", ret); ++ ++ for(i = 0x0; i <= 0x32; i++) ++ { ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &ret, i); ++ printk("BCI DEBUG: BCI 0x%x Value is 0x%x\n", i, ret); ++ } ++#endif ++ ++ return 0; ++} ++ ++/* ++ * Sets and clears bits on an given register on a given module ++ */ ++static inline int clear_n_set(u8 mod_no, u8 clear, u8 set, u8 reg) ++{ ++ int ret; ++ u8 val = 0; ++ ++ /* Gets the initial register value */ ++ ret = twl_i2c_read_u8(mod_no, &val, reg); ++ if (ret) ++ return ret; ++ /* Clearing all those bits to clear */ ++ val &= ~(clear); ++ ++ /* Setting all those bits to set */ ++ val |= set; ++ ++ /* Update the register */ ++ ret = twl_i2c_write_u8(mod_no, val, reg); ++ if (ret) ++ return ret; ++ ++ return 0; ++} ++ ++static enum power_supply_property twl4030_bci_battery_props[] = { ++ POWER_SUPPLY_PROP_STATUS, ++ POWER_SUPPLY_PROP_ONLINE, ++ POWER_SUPPLY_PROP_VOLTAGE_NOW, ++ POWER_SUPPLY_PROP_CURRENT_NOW, ++ POWER_SUPPLY_PROP_CAPACITY, ++ POWER_SUPPLY_PROP_TEMP, ++}; ++ ++static enum power_supply_property twl4030_bk_bci_battery_props[] = { ++ POWER_SUPPLY_PROP_VOLTAGE_NOW, ++}; ++ ++static void ++twl4030_bk_bci_battery_read_status(struct twl4030_bci_device_info *di) ++{ ++ di->bk_voltage_uV = twl4030backupbatt_voltage(); ++} ++ ++static void twl4030_bk_bci_battery_work(struct work_struct *work) ++{ ++ struct twl4030_bci_device_info *di = container_of(work, ++ struct twl4030_bci_device_info, ++ twl4030_bk_bci_monitor_work.work); ++ ++ if(!di->pdata->no_backup_battery) ++ twl4030_bk_bci_battery_read_status(di); ++ schedule_delayed_work(&di->twl4030_bk_bci_monitor_work, 500); ++} ++ ++static void twl4030_bci_battery_read_status(struct twl4030_bci_device_info *di) ++{ ++ if(di->charge_status != POWER_SUPPLY_STATUS_DISCHARGING) { ++ di->temp_C = twl4030battery_temperature(di); ++ di->voltage_uV = twl4030battery_voltage(); ++ di->current_uA = twl4030battery_current(); ++ } ++} ++ ++static void ++twl4030_bci_battery_update_status(struct twl4030_bci_device_info *di) ++{ ++ if (power_supply_am_i_supplied(&di->bat)) ++ di->charge_status = POWER_SUPPLY_STATUS_CHARGING; ++ else ++ di->charge_status = POWER_SUPPLY_STATUS_DISCHARGING; ++ twl4030_bci_battery_read_status(di); ++} ++ ++static void twl4030_bci_battery_work(struct work_struct *work) ++{ ++ struct twl4030_bci_device_info *di = container_of(work, ++ struct twl4030_bci_device_info, twl4030_bci_monitor_work.work); ++ ++ twl4030_bci_battery_update_status(di); ++ schedule_delayed_work(&di->twl4030_bci_monitor_work, 100); ++} ++ ++ ++#define to_twl4030_bci_device_info(x) container_of((x), \ ++ struct twl4030_bci_device_info, bat); ++ ++static void twl4030_bci_battery_external_power_changed(struct power_supply *psy) ++{ ++ struct twl4030_bci_device_info *di = to_twl4030_bci_device_info(psy); ++ ++ cancel_delayed_work(&di->twl4030_bci_monitor_work); ++ schedule_delayed_work(&di->twl4030_bci_monitor_work, 0); ++} ++ ++#define to_twl4030_bk_bci_device_info(x) container_of((x), \ ++ struct twl4030_bci_device_info, bk_bat); ++ ++static ssize_t ++show_charge_current(struct device *dev, struct device_attribute *attr, char *buf) ++{ ++ u8 ctl; ++ int ret = read_bci_val(REG_BCIIREF1) & 0x1FF; ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &ctl, REG_BCICTL1); ++ ++ if (ctl & CGAIN) ++ ret |= 0x200; ++ ++#ifdef DEBUG ++ /* Dump debug */ ++ twl4030battery_temp_setup(); ++#endif ++ ++ return sprintf(buf, "%d\n", ret); ++} ++ ++static ssize_t ++set_charge_current(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) ++{ ++ unsigned long newCurrent; ++ int ret; ++ ++ ret = strict_strtoul(buf, 10, &newCurrent); ++ if (ret) ++ return -EINVAL; ++ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_MAIN_CHARGE, KEY_IIREF, REG_BCIMFKEY); ++ if (ret) ++ return ret; ++ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_MAIN_CHARGE, newCurrent & 0xff, REG_BCIIREF1); ++ if (ret) ++ return ret; ++ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_MAIN_CHARGE, KEY_IIREF, REG_BCIMFKEY); ++ if (ret) ++ return ret; ++ ++ ret = twl_i2c_write_u8(TWL4030_MODULE_MAIN_CHARGE, (newCurrent >> 8) & 0x1, REG_BCIIREF2); ++ if (ret) ++ return ret; ++ ++ /* Set software-controlled charge */ ++ twl4030charger_ac_en(ENABLE, 0); ++ ++ /* Set CGAIN = 0 or 1 */ ++ if(newCurrent > 511) { ++ u8 tmp; ++ ++ /* Set CGAIN = 1 -- need to wait until automatic charge turns off */ ++ while(!ret) { ++ clear_n_set(TWL4030_MODULE_MAIN_CHARGE, 0, CGAIN | 0x1B, REG_BCICTL1); ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &tmp, REG_BCICTL1); ++ ++ ret = tmp & CGAIN; ++ if(!ret) ++ mdelay(50); ++ } ++ } else { ++ u8 tmp; ++ ++ /* Set CGAIN = 0 -- need to wait until automatic charge turns off */ ++ while(!ret) { ++ clear_n_set(TWL4030_MODULE_MAIN_CHARGE, CGAIN, 0x1B, REG_BCICTL1); ++ twl_i2c_read_u8(TWL4030_MODULE_MAIN_CHARGE, &tmp, REG_BCICTL1); ++ ++ ret = !(tmp & CGAIN); ++ if(!ret) ++ mdelay(50); ++ } ++ } ++ ++ /* Set automatic charge (CGAIN = 0/1 persists) */ ++ twl4030charger_ac_en(ENABLE, 1); ++ ++ return count; ++} ++ ++static ssize_t ++show_voltage(struct device *dev, struct device_attribute *attr, char *buf) ++{ ++ return sprintf(buf, "%d\n", twl4030battery_voltage_madc()); ++} ++ ++static DEVICE_ATTR(charge_current, S_IRUGO | S_IWUGO, show_charge_current, set_charge_current); ++static DEVICE_ATTR(voltage_now_madc, S_IRUGO, show_voltage, NULL); ++ ++static int twl4030_bk_bci_battery_get_property(struct power_supply *psy, ++ enum power_supply_property psp, ++ union power_supply_propval *val) ++{ ++ struct twl4030_bci_device_info *di = to_twl4030_bk_bci_device_info(psy); ++ ++ switch (psp) { ++ case POWER_SUPPLY_PROP_VOLTAGE_NOW: ++ val->intval = di->bk_voltage_uV; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static int twl4030_bci_battery_get_property(struct power_supply *psy, ++ enum power_supply_property psp, ++ union power_supply_propval *val) ++{ ++ struct twl4030_bci_device_info *di; ++ int status = 0; ++ ++ di = to_twl4030_bci_device_info(psy); ++ ++ switch (psp) { ++ case POWER_SUPPLY_PROP_STATUS: ++ val->intval = di->charge_status; ++ return 0; ++ default: ++ break; ++ } ++ ++ switch (psp) { ++ case POWER_SUPPLY_PROP_VOLTAGE_NOW: ++ { ++ /* Get latest data from MADC -- not done periodically by ++ worker as this is more expensive, so only do it when we ++ are actually asked for the data... */ ++ if(di->charge_status == POWER_SUPPLY_STATUS_DISCHARGING) ++ val->intval = twl4030battery_voltage_madc(); ++ else ++ val->intval = di->voltage_uV; ++ ++ break; ++ } ++ case POWER_SUPPLY_PROP_CURRENT_NOW: ++ /* FIXME: Get from MADC */ ++ if(di->charge_status == POWER_SUPPLY_STATUS_DISCHARGING) ++ val->intval = 0; ++ else ++ val->intval = di->current_uA; ++ break; ++ case POWER_SUPPLY_PROP_TEMP: ++ val->intval = di->temp_C; ++ break; ++ case POWER_SUPPLY_PROP_ONLINE: ++ status = twl4030bci_status(); ++ if ((status & AC_STATEC) == AC_STATEC) ++ val->intval = POWER_SUPPLY_TYPE_MAINS; ++ else if (usb_charger_flag) ++ val->intval = POWER_SUPPLY_TYPE_USB; ++ else ++ val->intval = 0; ++ break; ++ case POWER_SUPPLY_PROP_CAPACITY: ++ /* Get latest data from MADC -- not done periodically by ++ worker as this is more expensive, so only do it when we ++ are actually asked for the data... */ ++ if(di->charge_status == POWER_SUPPLY_STATUS_DISCHARGING) ++ di->voltage_uV = twl4030battery_voltage_madc(); ++ ++ /* ++ * need to get the correct percentage value per the ++ * battery characteristics. Approx values for now. ++ */ ++ if (di->voltage_uV < 2894 || LVL_1) { ++ val->intval = 5; ++ LVL_1 = 0; ++ } else if ((di->voltage_uV < 3451 && di->voltage_uV > 2894) ++ || LVL_2) { ++ val->intval = 20; ++ LVL_2 = 0; ++ } else if ((di->voltage_uV < 3902 && di->voltage_uV > 3451) ++ || LVL_3) { ++ val->intval = 50; ++ LVL_3 = 0; ++ } else if ((di->voltage_uV < 3949 && di->voltage_uV > 3902) ++ || LVL_4) { ++ val->intval = 75; ++ LVL_4 = 0; ++ } else if (di->voltage_uV > 3949) ++ val->intval = 90; ++ break; ++ default: ++ return -EINVAL; ++ } ++ return 0; ++} ++ ++static char *twl4030_bci_supplied_to[] = { ++ "twl4030_bci_battery", ++}; ++ ++static int __init twl4030_bci_battery_probe(struct platform_device *pdev) ++{ ++ struct twl4030_bci_platform_data *pdata = pdev->dev.platform_data; ++ struct twl4030_bci_device_info *di; ++ int irq; ++ int ret; ++ ++ di = kzalloc(sizeof(*di), GFP_KERNEL); ++ if (!di) ++ return -ENOMEM; ++ ++ di->dev = &pdev->dev; ++ di->bat.name = "twl4030_bci_battery"; ++ di->bat.supplied_to = twl4030_bci_supplied_to; ++ di->bat.num_supplicants = ARRAY_SIZE(twl4030_bci_supplied_to); ++ di->bat.type = POWER_SUPPLY_TYPE_BATTERY; ++ di->bat.properties = twl4030_bci_battery_props; ++ di->bat.num_properties = ARRAY_SIZE(twl4030_bci_battery_props); ++ di->bat.get_property = twl4030_bci_battery_get_property; ++ di->bat.external_power_changed = ++ twl4030_bci_battery_external_power_changed; ++ ++ di->charge_status = POWER_SUPPLY_STATUS_UNKNOWN; ++ ++ di->bk_bat.name = "twl4030_bci_bk_battery"; ++ di->bk_bat.type = POWER_SUPPLY_TYPE_BATTERY; ++ di->bk_bat.properties = twl4030_bk_bci_battery_props; ++ di->bk_bat.num_properties = ARRAY_SIZE(twl4030_bk_bci_battery_props); ++ di->bk_bat.get_property = twl4030_bk_bci_battery_get_property; ++ di->bk_bat.external_power_changed = NULL; ++ di->pdata = pdata; ++ ++ /* Set up clocks */ ++ twl_i2c_write_u8(TWL4030_MODULE_INTBR, MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, REG_GPBR1); ++ ++ twl4030charger_ac_en(ENABLE, CHARGE_MODE); ++ twl4030charger_usb_en(ENABLE); ++ twl4030battery_hw_level_en(ENABLE); ++ twl4030battery_hw_presence_en(ENABLE); ++ ++ platform_set_drvdata(pdev, di); ++ ++ /* settings for temperature sensing */ ++ ret = twl4030battery_temp_setup(); ++ if (ret) ++ goto temp_setup_fail; ++ ++ /* enabling GPCH09 for read back battery voltage */ ++ if(!di->pdata->no_backup_battery) ++ { ++ ret = twl4030backupbatt_voltage_setup(); ++ if (ret) ++ goto voltage_setup_fail; ++ } ++ ++ /* REVISIT do we need to request both IRQs ?? */ ++ ++ /* request BCI interruption */ ++ irq = platform_get_irq(pdev, 1); ++ ret = request_irq(irq, twl4030battery_interrupt, ++ 0, pdev->name, NULL); ++ if (ret) { ++ dev_dbg(&pdev->dev, "could not request irq %d, status %d\n", ++ irq, ret); ++ goto batt_irq_fail; ++ } ++ ++ /* request Power interruption */ ++ irq = platform_get_irq(pdev, 0); ++ ret = request_irq(irq, twl4030charger_interrupt, ++ 0, pdev->name, di); ++ ++ if (ret) { ++ dev_dbg(&pdev->dev, "could not request irq %d, status %d\n", ++ irq, ret); ++ goto chg_irq_fail; ++ } ++ ++ ret = power_supply_register(&pdev->dev, &di->bat); ++ if (ret) { ++ dev_dbg(&pdev->dev, "failed to register main battery\n"); ++ goto batt_failed; ++ } ++ ++ INIT_DELAYED_WORK_DEFERRABLE(&di->twl4030_bci_monitor_work, ++ twl4030_bci_battery_work); ++ schedule_delayed_work(&di->twl4030_bci_monitor_work, 0); ++ ++ if(!pdata->no_backup_battery) ++ { ++ ret = power_supply_register(&pdev->dev, &di->bk_bat); ++ if (ret) { ++ dev_dbg(&pdev->dev, "failed to register backup battery\n"); ++ goto bk_batt_failed; ++ } ++ } ++ ++ ret = device_create_file(di->bat.dev, &dev_attr_voltage_now_madc); ++ ret = device_create_file(di->bat.dev, &dev_attr_charge_current); ++ if (ret) { ++ dev_err(&pdev->dev, "failed to create sysfs entries\n"); ++ goto bk_batt_failed; ++ } ++ ++ INIT_DELAYED_WORK_DEFERRABLE(&di->twl4030_bk_bci_monitor_work, ++ twl4030_bk_bci_battery_work); ++ schedule_delayed_work(&di->twl4030_bk_bci_monitor_work, 500); ++ ++ set_charge_current (NULL, NULL, "1023", 4); ++ return 0; ++ ++bk_batt_failed: ++ if(!pdata->no_backup_battery) ++ power_supply_unregister(&di->bat); ++batt_failed: ++ free_irq(irq, di); ++chg_irq_fail: ++ irq = platform_get_irq(pdev, 1); ++ free_irq(irq, NULL); ++batt_irq_fail: ++voltage_setup_fail: ++temp_setup_fail: ++ twl4030charger_ac_en(DISABLE, CHARGE_MODE); ++ twl4030charger_usb_en(DISABLE); ++ twl4030battery_hw_level_en(DISABLE); ++ twl4030battery_hw_presence_en(DISABLE); ++ kfree(di); ++ ++ return ret; ++} ++ ++static int __exit twl4030_bci_battery_remove(struct platform_device *pdev) ++{ ++ struct twl4030_bci_device_info *di = platform_get_drvdata(pdev); ++ int irq; ++ ++ twl4030charger_ac_en(DISABLE, CHARGE_MODE); ++ twl4030charger_usb_en(DISABLE); ++ twl4030battery_hw_level_en(DISABLE); ++ twl4030battery_hw_presence_en(DISABLE); ++ ++ irq = platform_get_irq(pdev, 0); ++ free_irq(irq, di); ++ ++ irq = platform_get_irq(pdev, 1); ++ free_irq(irq, NULL); ++ ++ flush_scheduled_work(); ++ power_supply_unregister(&di->bat); ++ power_supply_unregister(&di->bk_bat); ++ platform_set_drvdata(pdev, NULL); ++ kfree(di); ++ ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++static int twl4030_bci_battery_suspend(struct platform_device *pdev, ++ pm_message_t state) ++{ ++ struct twl4030_bci_device_info *di = platform_get_drvdata(pdev); ++ ++ di->charge_status = POWER_SUPPLY_STATUS_UNKNOWN; ++ cancel_delayed_work(&di->twl4030_bci_monitor_work); ++ cancel_delayed_work(&di->twl4030_bk_bci_monitor_work); ++ return 0; ++} ++ ++static int twl4030_bci_battery_resume(struct platform_device *pdev) ++{ ++ struct twl4030_bci_device_info *di = platform_get_drvdata(pdev); ++ ++ schedule_delayed_work(&di->twl4030_bci_monitor_work, 0); ++ schedule_delayed_work(&di->twl4030_bk_bci_monitor_work, 50); ++ return 0; ++} ++#else ++#define twl4030_bci_battery_suspend NULL ++#define twl4030_bci_battery_resume NULL ++#endif /* CONFIG_PM */ ++ ++static struct platform_driver twl4030_bci_battery_driver = { ++ .probe = twl4030_bci_battery_probe, ++ .remove = __exit_p(twl4030_bci_battery_remove), ++ .suspend = twl4030_bci_battery_suspend, ++ .resume = twl4030_bci_battery_resume, ++ .driver = { ++ .name = "twl4030_bci", ++ }, ++}; ++ ++MODULE_LICENSE("GPL"); ++MODULE_ALIAS("platform:twl4030_bci"); ++MODULE_AUTHOR("Texas Instruments Inc"); ++ ++static int __init twl4030_battery_init(void) ++{ ++ return platform_driver_register(&twl4030_bci_battery_driver); ++} ++module_init(twl4030_battery_init); ++ ++static void __exit twl4030_battery_exit(void) ++{ ++ platform_driver_unregister(&twl4030_bci_battery_driver); ++} ++module_exit(twl4030_battery_exit); ++ +diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h +index d975c5b..a3470ce 100644 +--- a/include/linux/i2c/twl.h ++++ b/include/linux/i2c/twl.h +@@ -442,6 +442,7 @@ struct twl4030_clock_init_data { + struct twl4030_bci_platform_data { + int *battery_tmp_tbl; + unsigned int tblsize; ++ bool no_backup_battery; + }; + + /* TWL4030_GPIO_MAX (18) GPIOs, with interrupts */ +-- +1.6.6.1 + diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch index 5c1fa3f962..0dc58abfc8 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch @@ -1,14 +1,14 @@ -From d0e8e774fdc82320822246fae3167302730bd7e8 Mon Sep 17 00:00:00 2001 +From 67a87638586acaf7907f94d2f0d3b09190c23880 Mon Sep 17 00:00:00 2001 From: Gregoire Gentil <gregoire@gentil.com> Date: Fri, 12 Mar 2010 11:49:16 +0100 -Subject: [PATCH 16/16] ARM: OMAP: omap3-touchbook: update boardfile +Subject: [PATCH 16/17] ARM: OMAP: omap3-touchbook: update boardfile --- - arch/arm/mach-omap2/board-omap3touchbook.c | 408 +++++++++++++++++++++------- - 1 files changed, 313 insertions(+), 95 deletions(-) + arch/arm/mach-omap2/board-omap3touchbook.c | 417 +++++++++++++++++++++------- + 1 files changed, 322 insertions(+), 95 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c -index fc3e03c..ec7830e 100644 +index fc3e03c..c22a3e3 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c @@ -1,7 +1,7 @@ @@ -213,10 +213,15 @@ index fc3e03c..ec7830e 100644 /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ static struct regulator_init_data touchbook_vmmc1 = { .constraints = { -@@ -283,6 +369,10 @@ static struct twl4030_codec_data touchbook_codec_data = { +@@ -283,6 +369,15 @@ static struct twl4030_codec_data touchbook_codec_data = { .audio = &touchbook_audio_data, }; ++static struct twl4030_bci_platform_data touchbook_bci_data = { ++ .tblsize = 0, ++ .no_backup_battery = 1, ++}; ++ +static struct twl4030_madc_platform_data touchbook_madc_data = { + .irq_line = 1, +}; @@ -224,7 +229,7 @@ index fc3e03c..ec7830e 100644 static struct twl4030_platform_data touchbook_twldata = { .irq_base = TWL4030_IRQ_BASE, .irq_end = TWL4030_IRQ_END, -@@ -291,6 +381,7 @@ static struct twl4030_platform_data touchbook_twldata = { +@@ -291,10 +386,15 @@ static struct twl4030_platform_data touchbook_twldata = { .usb = &touchbook_usb_data, .gpio = &touchbook_gpio_data, .codec = &touchbook_codec_data, @@ -232,7 +237,15 @@ index fc3e03c..ec7830e 100644 .vmmc1 = &touchbook_vmmc1, .vsim = &touchbook_vsim, .vdac = &touchbook_vdac, -@@ -310,10 +401,18 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = { + .vpll2 = &touchbook_vpll2, ++ ++ /* TouchBook BCI */ ++ .bci = &touchbook_bci_data, ++ .madc = &touchbook_madc_data, + }; + + static struct i2c_board_info __initdata touchbook_i2c_boardinfo[] = { +@@ -310,10 +410,18 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = { { I2C_BOARD_INFO("bq27200", 0x55), }, @@ -251,7 +264,7 @@ index fc3e03c..ec7830e 100644 /* Standard TouchBook bus */ omap_register_i2c_bus(1, 2600, touchbook_i2c_boardinfo, ARRAY_SIZE(touchbook_i2c_boardinfo)); -@@ -322,53 +421,16 @@ static int __init omap3_touchbook_i2c_init(void) +@@ -322,53 +430,16 @@ static int __init omap3_touchbook_i2c_init(void) omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo, ARRAY_SIZE(touchBook_i2c_boardinfo)); @@ -311,7 +324,7 @@ index fc3e03c..ec7830e 100644 static struct gpio_led gpio_leds[] = { { .name = "touchbook::usr0", -@@ -412,6 +474,7 @@ static struct gpio_keys_button gpio_buttons[] = { +@@ -412,6 +483,7 @@ static struct gpio_keys_button gpio_buttons[] = { .gpio = 183, .desc = "power", .wakeup = 1, @@ -319,7 +332,7 @@ index fc3e03c..ec7830e 100644 }, }; -@@ -428,23 +491,8 @@ static struct platform_device keys_gpio = { +@@ -428,23 +500,8 @@ static struct platform_device keys_gpio = { }, }; @@ -343,7 +356,7 @@ index fc3e03c..ec7830e 100644 omap2_init_common_hw(mt46h32m32lf6_sdrc_params, mt46h32m32lf6_sdrc_params, omap35x_mpu_rate_table, omap35x_dsp_rate_table, omap35x_l3_rate_table); -@@ -456,9 +504,9 @@ static void __init omap3_touchbook_init_irq(void) +@@ -456,9 +513,9 @@ static void __init omap3_touchbook_init_irq(void) } static struct platform_device *omap3_touchbook_devices[] __initdata = { @@ -354,7 +367,7 @@ index fc3e03c..ec7830e 100644 }; static void __init omap3touchbook_flash_init(void) -@@ -500,7 +548,7 @@ static void __init omap3touchbook_flash_init(void) +@@ -500,7 +557,7 @@ static void __init omap3touchbook_flash_init(void) } } @@ -363,7 +376,7 @@ index fc3e03c..ec7830e 100644 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, -@@ -512,6 +560,170 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { +@@ -512,6 +569,170 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { .reset_gpio_port[2] = -EINVAL }; @@ -534,7 +547,7 @@ index fc3e03c..ec7830e 100644 static void omap3_touchbook_poweroff(void) { int r; -@@ -525,33 +737,26 @@ static void omap3_touchbook_poweroff(void) +@@ -525,33 +746,26 @@ static void omap3_touchbook_poweroff(void) gpio_direction_output(TB_KILL_POWER_GPIO, 0); } @@ -575,7 +588,7 @@ index fc3e03c..ec7830e 100644 usb_musb_init(); usb_ehci_init(&ehci_pdata); omap3touchbook_flash_init(); -@@ -559,6 +764,17 @@ static void __init omap3_touchbook_init(void) +@@ -559,6 +773,17 @@ static void __init omap3_touchbook_init(void) /* Ensure SDRC pins are mux'd for self-refresh */ omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); @@ -593,7 +606,7 @@ index fc3e03c..ec7830e 100644 } static void __init omap3_touchbook_map_io(void) -@@ -567,6 +783,8 @@ static void __init omap3_touchbook_map_io(void) +@@ -567,6 +792,8 @@ static void __init omap3_touchbook_map_io(void) omap2_map_common_io(); } diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch index 48f61b5e93..8a06ead440 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch @@ -1,4 +1,4 @@ -From 0e43db0084633476e60f686627594042ca5cfe3a Mon Sep 17 00:00:00 2001 +From 1f36c057ab83a5c5e8162094fb52022edd5ba9b8 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Tue, 4 May 2010 09:01:21 +0200 Subject: [PATCH 17/17] ARM: OMAP: add 800MHz OPP and remove 125MHz one diff --git a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/defconfig b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/defconfig index 4165d4cf74..6f2b7bd989 100644 --- a/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/defconfig +++ b/recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.32 -# Tue May 4 08:42:43 2010 +# Mon May 10 12:50:28 2010 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -1489,6 +1489,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_DS2782 is not set CONFIG_BATTERY_BQ27x00=y # CONFIG_BATTERY_MAX17040 is not set +CONFIG_TWL4030_BCI_BATTERY=y CONFIG_HWMON=y # CONFIG_HWMON_VID is not set # CONFIG_HWMON_DEBUG_CHIP is not set @@ -1598,7 +1599,7 @@ CONFIG_MFD_CORE=y CONFIG_TWL4030_CORE=y # CONFIG_TWL4030_POWER is not set CONFIG_TWL4030_CODEC=y -# CONFIG_TWL4030_MADC is not set +CONFIG_TWL4030_MADC=y # CONFIG_MFD_TMIO is not set # CONFIG_MFD_T7L66XB is not set # CONFIG_MFD_TC6387XB is not set diff --git a/recipes/linux/linux-omap-psp_2.6.32.bb b/recipes/linux/linux-omap-psp_2.6.32.bb index 007c119494..11e261b7e5 100644 --- a/recipes/linux/linux-omap-psp_2.6.32.bb +++ b/recipes/linux/linux-omap-psp_2.6.32.bb @@ -17,46 +17,44 @@ SRC_URI = "git://arago-project.org/git/people/sriram/ti-psp-omap.git;protocol=gi file://0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch;patch=1 \ file://0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch;patch=1 \ file://0005-board-omap3-beagle-add-DSS2-support.patch;patch=1 \ - file://0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch;patch=1 \ - file://0007-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch;patch=1 \ - file://0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch;patch=1 \ - file://0009-ASoC-enable-audio-capture-by-default-for-twl4030.patch;patch=1 \ - file://0010-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch;patch=1 \ - file://0011-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch;patch=1 \ - file://0012-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch;patch=1 \ - file://0013-ISP-add-some-more-from-Leopard-imaging-patch.patch;patch=1 \ - file://0014-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch;patch=1 \ - file://0015-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch;patch=1 \ - file://0016-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch;patch=1 \ - file://0017-drivers-mfd-add-twl4030-madc-driver.patch;patch=1 \ - file://0018-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch;patch=1 \ - file://0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch;patch=1 \ - file://0020-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch;patch=1 \ - file://0021-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch;patch=1 \ - file://0022-mmc-don-t-display-single-block-read-console-messages.patch;patch=1 \ - file://0023-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch;patch=1 \ - file://0024-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch;patch=1 \ - file://0025-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch;patch=1 \ - file://0026-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch;patch=1 \ - file://0027-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch;patch=1 \ - file://0028-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch;patch=1 \ - file://0029-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch;patch=1 \ - file://0030-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch;patch=1 \ - file://0031-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch;patch=1 \ - file://0032-modedb.c-add-proper-720p60-mode.patch;patch=1 \ - file://0033-RTC-add-support-for-backup-battery-recharge.patch;patch=1 \ - file://0034-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch;patch=1 \ - file://0035-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch;patch=1 \ - file://0036-ARM-Expose-some-CPU-control-registers-via-sysfs.patch;patch=1 \ - file://0037-ARM-Add-option-to-allow-userspace-PLE-access.patch;patch=1 \ - file://0038-ARM-Add-option-to-allow-userspace-access-to-performa.patch;patch=1 \ - file://0039-ARM-Expose-some-PMON-registers-through-sysfs.patch;patch=1 \ - file://0040-musb-allow-host-io-without-gadget-module.patch;patch=1 \ - file://0041-MTD-silence-ecc-errors-on-mtdblock0.patch;patch=1 \ - file://0042-ARM-OMAP-update-beagleboard-defconfig.patch;patch=1 \ - file://0043-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch;patch=1 \ - file://0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch;patch=1 \ - file://0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch;patch=1 \ + file://0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch;patch=1 \ + file://0007-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch;patch=1 \ + file://0008-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch;patch=1 \ + file://0009-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch;patch=1 \ + file://0010-ARM-OMAP-update-beagleboard-defconfig.patch;patch=1 \ + file://0011-ASoC-enable-audio-capture-by-default-for-twl4030.patch;patch=1 \ + file://0012-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch;patch=1 \ + file://0013-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch;patch=1 \ + file://0014-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch;patch=1 \ + file://0015-ISP-add-some-more-from-Leopard-imaging-patch.patch;patch=1 \ + file://0016-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch;patch=1 \ + file://0017-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch;patch=1 \ + file://0018-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch;patch=1 \ + file://0019-drivers-mfd-add-twl4030-madc-driver.patch;patch=1 \ + file://0020-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch;patch=1 \ + file://0021-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch;patch=1 \ + file://0022-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch;patch=1 \ + file://0023-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch;patch=1 \ + file://0024-mmc-don-t-display-single-block-read-console-messages.patch;patch=1 \ + file://0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch;patch=1 \ + file://0026-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch;patch=1 \ + file://0027-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch;patch=1 \ + file://0028-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch;patch=1 \ + file://0029-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch;patch=1 \ + file://0030-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch;patch=1 \ + file://0031-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch;patch=1 \ + file://0032-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch;patch=1 \ + file://0033-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch;patch=1 \ + file://0034-modedb.c-add-proper-720p60-mode.patch;patch=1 \ + file://0035-RTC-add-support-for-backup-battery-recharge.patch;patch=1 \ + file://0036-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch;patch=1 \ + file://0037-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch;patch=1 \ + file://0038-ARM-Expose-some-CPU-control-registers-via-sysfs.patch;patch=1 \ + file://0039-ARM-Add-option-to-allow-userspace-PLE-access.patch;patch=1 \ + file://0040-ARM-Add-option-to-allow-userspace-access-to-performa.patch;patch=1 \ + file://0041-ARM-Expose-some-PMON-registers-through-sysfs.patch;patch=1 \ + file://0042-musb-allow-host-io-without-gadget-module.patch;patch=1 \ + file://0043-MTD-silence-ecc-errors-on-mtdblock0.patch;patch=1 \ file://defconfig" SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \ @@ -71,15 +69,15 @@ SRC_URI_append_omap3-touchbook = " \ file://0006-ads7846-read-max-mix-x-y-from-pdata.patch;patch=1 \ file://0007-ads7846-add-settling-delay-to-pdata.patch;patch=1 \ file://0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch;patch=1 \ - file://0009-DSS2-fix-rotation-offsets.patch;patch=1 \ - file://0010-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch;patch=1 \ - file://0011-add-touchbook-hid-driver.patch;patch=1 \ - file://0012-Make-backlight-controls-accessible-to-users.patch;patch=1 \ - file://0013-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch;patch=1 \ - file://0014-ASoC-add-driver-for-omap3-touchbook.patch;patch=1 \ - file://0015-backlight-add-PWM-support.patch;patch=1 \ + file://0009-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch;patch=1 \ + file://0010-add-touchbook-hid-driver.patch;patch=1 \ + file://0011-Make-backlight-controls-accessible-to-users.patch;patch=1 \ + file://0012-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch;patch=1 \ + file://0013-ASoC-add-driver-for-omap3-touchbook.patch;patch=1 \ + file://0014-backlight-add-PWM-support.patch;patch=1 \ + file://0015-Forward-port-TWL4030-BCI-driver-from-2.6.29-to-2.6.3.patch;patch=1 \ file://0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch;patch=1 \ -# file://0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch;patch=1 \ +# file://0017-ARM-OMAP-add-800MHz-OPP-and-remove-125MHz-one.patch;patch=1 \ " addtask quiltfixup before do_patch after do_unpack |