[OE-core] [PATCH meta-ti] linux-3.0: use die-id for BeagleBoard-xM eth mac
Koen Kooi
koen at dominion.thruhere.net
Fri Sep 16 18:22:41 UTC 2011
please follow the README when sending patches, this is the wrong list
secondly, use the patches from the export/ directory, they have much less cruft in them
Op 16 sep. 2011 om 20:14 heeft Jason Kridner <jdk at ti.com> het volgende geschreven:
> Also removed broken ULCD driver and fixed a potential issued due to the dropped
> update_mode function in omap_vout_probe.
>
> Updated ulcd patches with touchscreen support should be coming shortly.
>
> Signed-off-by: Jason Kridner <jdk at ti.com>
> Cc: Joel A Fernandes <agnel.joel at gmail.com>
> Cc: Koen Kooi <koen at dominion.thruhere.net>
> ---
> ...add-cpu-id-register-to-MAC-address-helper.patch | 89 ++++++++++
> ...BeagleBoard-Fix-up-random-or-missing-MAC-.patch | 156 ++++++++++++++++++
> ...ix-build-break-caused-by-update_mode-remo.patch | 44 +++++
> ...ays-Add-support-for-ThreeFiveCorp-S9700-D.patch | 170 --------------------
> .../ulcd/0002-omap3-beagle-added-lcd-driver.patch | 72 --------
> ...d-Set-LCD-power-enable-GPIO-in-board-file.patch | 49 ------
> ...004-Make-fbset-show-correct-timing-values.patch | 40 -----
> ...lcd-Set-LCD-power-enable-GPIO-in-board-file.eml | 93 -----------
> recipes-kernel/linux/linux_3.0.bb | 9 +-
> 9 files changed, 293 insertions(+), 429 deletions(-)
> create mode 100644 recipes-kernel/linux/linux-3.0/beagle/0007-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
> create mode 100644 recipes-kernel/linux/linux-3.0/beagle/0008-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
> create mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
> delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch
> delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch
> delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch
> delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch
> delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/lcd-Set-LCD-power-enable-GPIO-in-board-file.eml
>
> diff --git a/recipes-kernel/linux/linux-3.0/beagle/0007-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch b/recipes-kernel/linux/linux-3.0/beagle/0007-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
> new file mode 100644
> index 0000000..6fe25fa
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-3.0/beagle/0007-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
> @@ -0,0 +1,89 @@
> +From 3a9fe52727626622058b1acce5e795ed01b63a13 Mon Sep 17 00:00:00 2001
> +From: Andy Green <andy at warmcat.com>
> +Date: Thu, 24 Mar 2011 21:27:29 +0000
> +Subject: [PATCH 1/2] OMAP2+: add cpu id register to MAC address helper
> +
> +Introduce a generic helper function that can set a MAC address using
> +data from the OMAP unique CPU ID register.
> +
> +For comparison purposes this produces a MAC address of
> +
> + 2e:40:70:f0:12:06
> +
> +for the ethernet device on my Panda.
> +
> +Note that this patch requires the fix patch for CPU ID register
> +indexes previously posted to linux-omap, otherwise the CPU ID is
> +misread on Panda by the existing function to do it. This patch
> +is already on linux-omap.
> +
> +"OMAP2+:Common CPU DIE ID reading code reads wrong registers for OMAP4430"
> +http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=b235e007831dbf57710e59cd4a120e2f374eecb9
> +
> +Signed-off-by: Andy Green <andy.green at linaro.org>
> +---
> + arch/arm/mach-omap2/id.c | 39 +++++++++++++++++++++++++++++++++
> + arch/arm/mach-omap2/include/mach/id.h | 1 +
> + 2 files changed, 40 insertions(+), 0 deletions(-)
> +
> +diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> +index 0ae02da..d306f26 100644
> +--- a/arch/arm/mach-omap2/id.c
> ++++ b/arch/arm/mach-omap2/id.c
> +@@ -576,3 +576,42 @@ void __init omap2_set_globals_tap(struct omap_globals *omap2_globals)
> + else
> + tap_prod_id = 0x0208;
> + }
> ++
> ++/*
> ++ * this uses the unique per-cpu info from the cpu fuses set at factory to
> ++ * generate a 6-byte MAC address. Two bits in the generated code are used
> ++ * to elaborate the generated address into four, so it can be used on multiple
> ++ * network interfaces.
> ++ */
> ++
> ++void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype)
> ++{
> ++ struct omap_die_id odi;
> ++ u32 tap = read_tap_reg(OMAP_TAP_IDCODE);
> ++
> ++ omap_get_die_id(&odi);
> ++
> ++ mac[0] = odi.id_2;
> ++ mac[1] = odi.id_2 >> 8;
> ++ mac[2] = odi.id_1;
> ++ mac[3] = odi.id_1 >> 8;
> ++ mac[4] = odi.id_1 >> 16;
> ++ mac[5] = odi.id_1 >> 24;
> ++
> ++ /* XOR other chip-specific data with ID */
> ++
> ++ tap ^= odi.id_3;
> ++
> ++ mac[0] ^= tap;
> ++ mac[1] ^= tap >> 8;
> ++ mac[2] ^= tap >> 16;
> ++ mac[3] ^= tap >> 24;
> ++
> ++ /* allow four MACs from this same basic data */
> ++
> ++ mac[1] = (mac[1] & ~0xc0) | ((subtype & 3) << 6);
> ++
> ++ /* mark it as not multicast and outside official 80211 MAC namespace */
> ++
> ++ mac[0] = (mac[0] & ~1) | 2;
> ++}
> +diff --git a/arch/arm/mach-omap2/include/mach/id.h b/arch/arm/mach-omap2/include/mach/id.h
> +index 02ed3aa..373313a 100644
> +--- a/arch/arm/mach-omap2/include/mach/id.h
> ++++ b/arch/arm/mach-omap2/include/mach/id.h
> +@@ -18,5 +18,6 @@ struct omap_die_id {
> + };
> +
> + void omap_get_die_id(struct omap_die_id *odi);
> ++void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype);
> +
> + #endif
> +--
> +1.7.4.1
> +
> diff --git a/recipes-kernel/linux/linux-3.0/beagle/0008-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch b/recipes-kernel/linux/linux-3.0/beagle/0008-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
> new file mode 100644
> index 0000000..1a3a895
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-3.0/beagle/0008-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
> @@ -0,0 +1,156 @@
> +From ef18c94dade18a25e2504c2527ce12c5e1bfafd4 Mon Sep 17 00:00:00 2001
> +From: Jason Kridner <jdk at ti.com>
> +Date: Thu, 15 Sep 2011 18:23:02 -0400
> +Subject: [PATCH] HACK: OMAP2+: BeagleBoard: Fix up random or missing MAC addresses for eth0 and wlan0
> +
> +This was borrowed from the Panda implementation at http://patches.linaro.org/777/
> +
> +This patch registers a network device notifier callback to set the mac
> +addresses for the onboard network assets of the BeagleBoard correctly, despite the
> +drivers involved have used a random or all-zeros MAC address.
> +
> +The technique was suggested by Alan Cox on lkml.
> +
> +It works by device path so it corrects the MAC addresses even if the
> +drivers are in modules loaded in an order that changes their interface
> +name from usual (eg, the onboard module might be "wlan1" if there is a
> +USB wireless stick plugged in and its module is inserted first.)
> +
> +Cc: Andy Green <andy at warmcat.com>
> +---
> + arch/arm/mach-omap2/board-omap3beagle.c | 90 +++++++++++++++++++++++++++++++
> + 1 files changed, 90 insertions(+), 0 deletions(-)
> +
> +diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
> +index 5e1d9f9..9712099 100644
> +--- a/arch/arm/mach-omap2/board-omap3beagle.c
> ++++ b/arch/arm/mach-omap2/board-omap3beagle.c
> +@@ -33,6 +33,8 @@
> +
> + #include <linux/regulator/machine.h>
> + #include <linux/i2c/twl.h>
> ++#include <linux/netdevice.h>
> ++#include <linux/if_ether.h>
> +
> + #include <mach/hardware.h>
> + #include <asm/mach-types.h>
> +@@ -42,6 +44,7 @@
> +
> + #include <plat/board.h>
> + #include <plat/common.h>
> ++#include <mach/id.h>
> + #include <video/omapdss.h>
> + #include <video/omap-panel-generic-dpi.h>
> + #include <plat/gpmc.h>
> +@@ -91,6 +94,90 @@ static struct {
> + .usr_button_gpio = 4,
> + };
> +
> ++/*
> ++ * This device path represents the onboard USB <-> Ethernet bridge
> ++ * on the BeagleBoard-xM which needs a random or all-zeros
> ++ * mac address replaced with a per-cpu stable generated one
> ++ */
> ++
> ++static const char * const xm_fixup_mac_device_paths[] = {
> ++ "usb1/1-2/1-2.1/1-2.1:1.0",
> ++};
> ++
> ++static int beagle_device_path_need_mac(struct device *dev)
> ++{
> ++ const char **try = (const char **) xm_fixup_mac_device_paths;
> ++ const char *path;
> ++ int count = ARRAY_SIZE(xm_fixup_mac_device_paths);
> ++ const char *p;
> ++ int len;
> ++ struct device *devn;
> ++
> ++ while (count--) {
> ++
> ++ p = *try + strlen(*try);
> ++ devn = dev;
> ++
> ++ while (devn) {
> ++
> ++ path = dev_name(devn);
> ++ len = strlen(path);
> ++
> ++ if ((p - *try) < len) {
> ++ devn = NULL;
> ++ continue;
> ++ }
> ++
> ++ p -= len;
> ++
> ++ if (strncmp(path, p, len)) {
> ++ devn = NULL;
> ++ continue;
> ++ }
> ++
> ++ devn = devn->parent;
> ++ if (p == *try)
> ++ return count;
> ++
> ++ if (devn != NULL && (p - *try) < 2)
> ++ devn = NULL;
> ++
> ++ p--;
> ++ if (devn != NULL && *p != '/')
> ++ devn = NULL;
> ++ }
> ++
> ++ try++;
> ++ }
> ++
> ++ return -ENOENT;
> ++}
> ++
> ++static int omap_beagle_netdev_event(struct notifier_block *this,
> ++ unsigned long event, void *ptr)
> ++{
> ++ struct net_device *dev = ptr;
> ++ struct sockaddr sa;
> ++ int n;
> ++
> ++ if (event != NETDEV_REGISTER)
> ++ return NOTIFY_DONE;
> ++
> ++ n = beagle_device_path_need_mac(dev->dev.parent);
> ++ if (n >= 0) {
> ++ sa.sa_family = dev->type;
> ++ omap2_die_id_to_ethernet_mac(sa.sa_data, n);
> ++ dev->netdev_ops->ndo_set_mac_address(dev, &sa);
> ++ }
> ++
> ++ return NOTIFY_DONE;
> ++}
> ++
> ++static struct notifier_block omap_beagle_netdev_notifier = {
> ++ .notifier_call = omap_beagle_netdev_event,
> ++ .priority = 1,
> ++};
> ++
> + static struct gpio omap3_beagle_rev_gpios[] __initdata = {
> + { 171, GPIOF_IN, "rev_id_0" },
> + { 172, GPIOF_IN, "rev_id_1" },
> +@@ -146,14 +233,17 @@ static void __init omap3_beagle_init_rev(void)
> + printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
> + omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
> + beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
> ++ register_netdevice_notifier(&omap_beagle_netdev_notifier);
> + break;
> + case 2:
> + printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
> + omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
> ++ register_netdevice_notifier(&omap_beagle_netdev_notifier);
> + break;
> + default:
> + printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
> + omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
> ++ register_netdevice_notifier(&omap_beagle_netdev_notifier);
> + }
> + }
> +
> +--
> +1.7.4.1
> +
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch b/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
> new file mode 100644
> index 0000000..ef78658
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
> @@ -0,0 +1,44 @@
> +From 297450b123610d5a4328b8f58cba405d16580ed6 Mon Sep 17 00:00:00 2001
> +From: archit taneja <archit at ti.com>
> +Date: Fri, 5 Aug 2011 07:19:21 +0000
> +Subject: [PATCH] OMAP_VOUT: Fix build break caused by update_mode removal in DSS2
> +
> +The DSS2 driver does not support the configuration of the update_mode of a
> +panel anymore. Remove the setting of update_mode done in omap_vout_probe().
> +Ignore configuration of TE since omap_vout driver doesn't support manual update
> +displays anyway.
> +
> +Signed-off-by: Archit Taneja <archit at ti.com>
> +Tested-by: Koen Kooi <koen at dominion.thruhere.net>
> +Signed-off-by: Vaibhav Hiremath <hvaibhav at ti.com>
> +---
> + drivers/media/video/omap/omap_vout.c | 13 -------------
> + 1 files changed, 0 insertions(+), 13 deletions(-)
> +
> +diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
> +index 4d07c58..d17d6b6 100644
> +--- a/drivers/media/video/omap/omap_vout.c
> ++++ b/drivers/media/video/omap/omap_vout.c
> +@@ -2557,19 +2557,6 @@ static int __init omap_vout_probe(struct platform_device *pdev)
> + "'%s' Display already enabled\n",
> + def_display->name);
> + }
> +- /* set the update mode */
> +- if (def_display->caps &
> +- OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
> +- if (dssdrv->enable_te)
> +- dssdrv->enable_te(def_display, 0);
> +- if (dssdrv->set_update_mode)
> +- dssdrv->set_update_mode(def_display,
> +- OMAP_DSS_UPDATE_MANUAL);
> +- } else {
> +- if (dssdrv->set_update_mode)
> +- dssdrv->set_update_mode(def_display,
> +- OMAP_DSS_UPDATE_AUTO);
> +- }
> + }
> + }
> +
> +--
> +1.7.4.1
> +
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch b/recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch
> deleted file mode 100644
> index 926398d..0000000
> --- a/recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch
> +++ /dev/null
> @@ -1,170 +0,0 @@
> -From 364e5e30ff9257f1bac68d7f30f3e7f51e8b1bfc Mon Sep 17 00:00:00 2001
> -From: Roger Monk <r-monk at ti.com>
> -Date: Wed, 10 Aug 2011 16:54:34 +0200
> -Subject: [PATCH 1/4] omap2-displays: Add support for ThreeFiveCorp S9700 Display
> -
> -* Add support for s9700rtwv35tr01b display panel
> - * This is used on BeagleBoardToys ULCD/-lite daugtercards
> -
> -Signed-off-by: Roger Monk <r-monk at ti.com>
> ----
> - drivers/video/omap2/displays/Kconfig | 6 +
> - drivers/video/omap2/displays/Makefile | 1 +
> - .../omap2/displays/panel-tfc-s9700rtwv35tr01b.c | 118 ++++++++++++++++++++
> - 3 files changed, 125 insertions(+), 0 deletions(-)
> - create mode 100644 drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -
> -diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
> -index 609a280..f8be2a8 100644
> ---- a/drivers/video/omap2/displays/Kconfig
> -+++ b/drivers/video/omap2/displays/Kconfig
> -@@ -30,6 +30,12 @@ config PANEL_NEC_NL8048HL11_01B
> - This NEC NL8048HL11-01B panel is TFT LCD
> - used in the Zoom2/3/3630 sdp boards.
> -
> -+config PANEL_TFCS9700RTWV35TR01B
> -+ tristate "TFC S9700RTWV35TR01B"
> -+ depends on OMAP2_DSS
> -+ help
> -+ LCD Panel used on BeagleboardToys 800x480 LCD Expansion Module
> -+
> - config PANEL_TAAL
> - tristate "Taal DSI Panel"
> - depends on OMAP2_DSS_DSI
> -diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
> -index 0f601ab..8abdf50 100644
> ---- a/drivers/video/omap2/displays/Makefile
> -+++ b/drivers/video/omap2/displays/Makefile
> -@@ -5,4 +5,5 @@ obj-$(CONFIG_PANEL_NEC_NL8048HL11_01B) += panel-nec-nl8048hl11-01b.o
> -
> - obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
> - obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
> -+obj-$(CONFIG_PANEL_TFCS9700RTWV35TR01B) += panel-tfc-s9700rtwv35tr01b.o
> - obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
> -diff --git a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -new file mode 100644
> -index 0000000..c2a1a19
> ---- /dev/null
> -+++ b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -@@ -0,0 +1,118 @@
> -+/*
> -+ * LCD panel driver for TFC S9700RTWV35TR-01B
> -+ *
> -+ * Copyright (C) 2011 Texas Instruments Inc
> -+ * Author: Roger Monk <r-monk at ti.com>
> -+ * From Original by : Vaibhav Hiremath <hvaibhav at ti.com>
> -+ *
> -+ * This program 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 program is distributed in the hope that it will be useful, but WITHOUT
> -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
> -+ * more details.
> -+ *
> -+ * You should have received a copy of the GNU General Public License along with
> -+ * this program. If not, see <http://www.gnu.org/licenses/>.
> -+ */
> -+
> -+#include <linux/module.h>
> -+#include <linux/delay.h>
> -+#include <linux/device.h>
> -+#include <linux/err.h>
> -+
> -+#include <video/omapdss.h>
> -+
> -+static struct omap_video_timings tfc_timings = {
> -+ .x_res = 800,
> -+ .y_res = 480,
> -+
> -+ .pixel_clock = 30000,
> -+
> -+ .hsw = 49,
> -+ .hfp = 41,
> -+ .hbp = 40,
> -+
> -+ .vsw = 4,
> -+ .vfp = 14,
> -+ .vbp = 29,
> -+};
> -+
> -+static int tfc_panel_probe(struct omap_dss_device *dssdev)
> -+{
> -+ dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
> -+ OMAP_DSS_LCD_IHS; // | OMAP_DSS_LCD_IEO; - TODO check this - doesn't work with this enabled
> -+ dssdev->panel.acb = 0x0;
> -+ dssdev->panel.timings = tfc_timings;
> -+
> -+ return 0;
> -+}
> -+
> -+static void tfc_panel_remove(struct omap_dss_device *dssdev)
> -+{
> -+}
> -+
> -+static int tfc_panel_enable(struct omap_dss_device *dssdev)
> -+{
> -+ int r = 0;
> -+
> -+ /* wait couple of vsyncs until enabling the LCD */
> -+ msleep(50);
> -+
> -+ if (dssdev->platform_enable)
> -+ r = dssdev->platform_enable(dssdev);
> -+
> -+ return r;
> -+}
> -+
> -+static void tfc_panel_disable(struct omap_dss_device *dssdev)
> -+{
> -+ if (dssdev->platform_disable)
> -+ dssdev->platform_disable(dssdev);
> -+
> -+ /* wait at least 5 vsyncs after disabling the LCD */
> -+
> -+ msleep(100);
> -+}
> -+
> -+static int tfc_panel_suspend(struct omap_dss_device *dssdev)
> -+{
> -+ tfc_panel_disable(dssdev);
> -+ return 0;
> -+}
> -+
> -+static int tfc_panel_resume(struct omap_dss_device *dssdev)
> -+{
> -+ return tfc_panel_enable(dssdev);
> -+}
> -+
> -+static struct omap_dss_driver tfc_s9700_driver = {
> -+ .probe = tfc_panel_probe,
> -+ .remove = tfc_panel_remove,
> -+
> -+ .enable = tfc_panel_enable,
> -+ .disable = tfc_panel_disable,
> -+ .suspend = tfc_panel_suspend,
> -+ .resume = tfc_panel_resume,
> -+
> -+ .driver = {
> -+ .name = "tfc_s9700_panel",
> -+ .owner = THIS_MODULE,
> -+ },
> -+};
> -+
> -+static int __init tfc_panel_drv_init(void)
> -+{
> -+ return omap_dss_register_driver(&tfc_s9700_driver);
> -+}
> -+
> -+static void __exit tfc_panel_drv_exit(void)
> -+{
> -+ omap_dss_unregister_driver(&tfc_s9700_driver);
> -+}
> -+
> -+module_init(tfc_panel_drv_init);
> -+module_exit(tfc_panel_drv_exit);
> -+MODULE_LICENSE("GPL");
> ---
> -1.6.6.1
> -
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch b/recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch
> deleted file mode 100644
> index a0d3b3c..0000000
> --- a/recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -From 6b0587615fd0099261d049be17f12eae9f92ae85 Mon Sep 17 00:00:00 2001
> -From: Jason Kridner <jkridner at beagleboard.org>
> -Date: Fri, 5 Aug 2011 18:07:09 +0000
> -Subject: [PATCH 2/4] omap3: beagle: added lcd driver
> -
> -This enables the tfc_s9700_panel by default. Needs to be extended to
> -redefine the driver name at boot time.
> ----
> - arch/arm/mach-omap2/board-omap3beagle.c | 25 +++++++++++++++++++++++++
> - 1 files changed, 25 insertions(+), 0 deletions(-)
> -
> -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
> -index 5e1d9f9..b525a5e 100644
> ---- a/arch/arm/mach-omap2/board-omap3beagle.c
> -+++ b/arch/arm/mach-omap2/board-omap3beagle.c
> -@@ -84,11 +84,13 @@ static struct {
> - int usb_pwr_level;
> - int reset_gpio;
> - int usr_button_gpio;
> -+ char *lcd_driver_name;
> - } beagle_config = {
> - .mmc1_gpio_wp = -EINVAL,
> - .usb_pwr_level = GPIOF_OUT_INIT_LOW,
> - .reset_gpio = 129,
> - .usr_button_gpio = 4,
> -+ .lcd_driver_name = "",
> - };
> -
> - static struct gpio omap3_beagle_rev_gpios[] __initdata = {
> -@@ -387,9 +389,28 @@ static struct omap_dss_device beagle_tv_device = {
> - .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
> - };
> -
> -+static int beagle_enable_lcd(struct omap_dss_device *dssdev)
> -+{
> -+ return 0;
> -+}
> -+
> -+static int beagle_disable_lcd(struct omap_dss_device *dssdev)
> -+{
> -+}
> -+
> -+static struct omap_dss_device beagle_lcd_device = {
> -+ .name = "lcd",
> -+ .driver_name = "",
> -+ .type = OMAP_DISPLAY_TYPE_DPI,
> -+ .phy.dpi.data_lines = 24,
> -+ .platform_enable = beagle_enable_lcd,
> -+ .platform_disable = beagle_disable_lcd,
> -+};
> -+
> - static struct omap_dss_device *beagle_dss_devices[] = {
> - &beagle_dvi_device,
> - &beagle_tv_device,
> -+ &beagle_lcd_device,
> - };
> -
> - static struct omap_dss_board_info beagle_dss_data = {
> -@@ -733,6 +754,10 @@ static void __init omap3_beagle_init(void)
> -
> - gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
> -
> -+ /* TODO: set lcd_driver_name by command line or device tree */
> -+ beagle_config.lcd_driver_name = "tfc_s9700_panel";
> -+ beagle_lcd_device.driver_name = beagle_config.lcd_driver_name;
> -+
> - platform_add_devices(omap3_beagle_devices,
> - ARRAY_SIZE(omap3_beagle_devices));
> - omap_display_init(&beagle_dss_data);
> ---
> -1.6.6.1
> -
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch b/recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch
> deleted file mode 100644
> index ccc510f..0000000
> --- a/recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -From 4b175ec2e08d1fa4a0bbaeb79ee2381164572fba Mon Sep 17 00:00:00 2001
> -From: Joel A Fernandes <agnel.joel at gmail.com>
> -Date: Thu, 18 Aug 2011 16:19:40 -0500
> -Subject: [PATCH 3/4] lcd: Set LCD power-enable GPIO in board file
> -
> -With this, the ULCD-lite display works with the 3.0 kernel
> -
> -v2 changes:
> -Fixed the beagle_config structure
> -
> -Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
> ----
> - arch/arm/mach-omap2/board-omap3beagle.c | 7 +++++++
> - 1 files changed, 7 insertions(+), 0 deletions(-)
> -
> -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
> -index b525a5e..6b0afda 100644
> ---- a/arch/arm/mach-omap2/board-omap3beagle.c
> -+++ b/arch/arm/mach-omap2/board-omap3beagle.c
> -@@ -85,12 +85,14 @@ static struct {
> - int reset_gpio;
> - int usr_button_gpio;
> - char *lcd_driver_name;
> -+ int lcd_pwren;
> - } beagle_config = {
> - .mmc1_gpio_wp = -EINVAL,
> - .usb_pwr_level = GPIOF_OUT_INIT_LOW,
> - .reset_gpio = 129,
> - .usr_button_gpio = 4,
> - .lcd_driver_name = "",
> -+ .lcd_pwren = 156
> - };
> -
> - static struct gpio omap3_beagle_rev_gpios[] __initdata = {
> -@@ -423,6 +425,11 @@ static void __init beagle_display_init(void)
> - {
> - int r;
> -
> -+ r = gpio_request_one(beagle_config.lcd_pwren, GPIOF_OUT_INIT_LOW,
> -+ "LCD power");
> -+ if (r < 0)
> -+ printk(KERN_ERR "Unable to get LCD power enable GPIO\n");
> -+
> - r = gpio_request_one(beagle_dvi_device.reset_gpio, GPIOF_OUT_INIT_LOW,
> - "DVI reset");
> - if (r < 0)
> ---
> -1.6.6.1
> -
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch b/recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch
> deleted file mode 100644
> index fb37e96..0000000
> --- a/recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -From 1d70480dca0c7648f5f51fad5ffb0e191212615a Mon Sep 17 00:00:00 2001
> -From: Joel A Fernandes <agnel.joel at gmail.com>
> -Date: Wed, 17 Aug 2011 00:28:49 -0500
> -Subject: [PATCH 4/4] Make fbset show correct timing values
> -
> -Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
> -Cc: "Monk, Roger" <r-monk at ti.com>
> ----
> - .../omap2/displays/panel-tfc-s9700rtwv35tr01b.c | 8 +++++++-
> - 1 files changed, 7 insertions(+), 1 deletions(-)
> -
> -diff --git a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -index c2a1a19..6afd4e3 100644
> ---- a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -+++ b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
> -@@ -88,6 +88,12 @@ static int tfc_panel_resume(struct omap_dss_device *dssdev)
> - return tfc_panel_enable(dssdev);
> - }
> -
> -+static void tfc_panel_get_timings(struct omap_dss_device *dssdev,
> -+ struct omap_video_timings *timings)
> -+{
> -+ *timings = dssdev->panel.timings;
> -+}
> -+
> - static struct omap_dss_driver tfc_s9700_driver = {
> - .probe = tfc_panel_probe,
> - .remove = tfc_panel_remove,
> -@@ -96,7 +102,7 @@ static struct omap_dss_driver tfc_s9700_driver = {
> - .disable = tfc_panel_disable,
> - .suspend = tfc_panel_suspend,
> - .resume = tfc_panel_resume,
> --
> -+ .get_timings = tfc_panel_get_timings,
> - .driver = {
> - .name = "tfc_s9700_panel",
> - .owner = THIS_MODULE,
> ---
> -1.6.6.1
> -
> diff --git a/recipes-kernel/linux/linux-3.0/ulcd/lcd-Set-LCD-power-enable-GPIO-in-board-file.eml b/recipes-kernel/linux/linux-3.0/ulcd/lcd-Set-LCD-power-enable-GPIO-in-board-file.eml
> deleted file mode 100644
> index b9190ca..0000000
> --- a/recipes-kernel/linux/linux-3.0/ulcd/lcd-Set-LCD-power-enable-GPIO-in-board-file.eml
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -Received: from dflp51.itg.ti.com (128.247.22.94) by dfle71.ent.ti.com
> - (128.247.5.62) with Microsoft SMTP Server id 14.1.323.3; Thu, 18 Aug 2011
> - 16:20:16 -0500
> -Received: from medina.ext.ti.com (medina.ext.ti.com [192.91.81.31]) by
> - dflp51.itg.ti.com (8.13.7/8.13.8) with ESMTP id p7ILKGO6027015; Thu, 18 Aug
> - 2011 16:20:16 -0500 (CDT)
> -Received: from psmtp.com (na3sys009amx237.postini.com [74.125.149.121]) by
> - medina.ext.ti.com (8.13.7/8.13.7) with SMTP id p7ILKEGV022138
> - (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 18
> - Aug 2011 16:20:15 -0500
> -Received: from mail-gw0-f44.google.com ([74.125.83.44]) (using TLSv1) by
> - na3sys009amx237.postini.com ([74.125.148.10]) with SMTP; Thu, 18 Aug 2011
> - 21:20:15 GMT
> -Received: by mail-gw0-f44.google.com with SMTP id 20so1795458gwb.17 for
> - <multiple recipients>; Thu, 18 Aug 2011 14:20:14 -0700 (PDT)
> -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
> - d=gmail.com; s=gamma;
> - h=from:to:cc:subject:date:message-id:x-mailer:to;
> - bh=mlO4rjFmkzRMnrhhsfu4anyqiGVR0mfhw8disZTMggI=;
> - b=XpmCdVu85QAFxt+f5UO9s0ydtoTSA6cX3WkfODm1HLusGTYtuKWP8bri6FZdV3OCHY
> - CurUDzbnIAGqr4lB6FaSbcLRBuId09NJZoxxAIiJn4m3b+AsvvqKnp+0UukUbvgVMGcE
> - TzKUD3ZN/ctVJueHCmGFhsOYJqW6ZC+IOwTok=
> -Received: by 10.236.176.67 with SMTP id a43mr1382161yhm.54.1313702414483;
> - Thu, 18 Aug 2011 14:20:14 -0700 (PDT)
> -Received: from localhost.localdomain (dragon.ti.com [192.94.94.33]) by
> - mx.google.com with ESMTPS id b24sm219554yhm.11.2011.08.18.14.20.12
> - (version=TLSv1/SSLv3 cipher=OTHER); Thu, 18 Aug 2011 14:20:13
> - -0700 (PDT)
> -From: Joel A Fernandes <agnel.joel at gmail.com>
> -To: <beagleboard at googlegroups.com>, <beagleboard at googlegroups.com>
> -CC: Joel A Fernandes <agnel.joel at gmail.com>, <jdk at ti.com>, <k-kooi at ti.com>,
> - "Coley, Gerald" <g-coley1 at ti.com>, "Monk, Roger" <r-monk at ti.com>, "Porter,
> - Matt" <mporter at ti.com>
> -Subject: [PATCH v2] lcd: Set LCD power-enable GPIO in board file
> -Date: Thu, 18 Aug 2011 16:19:40 -0500
> -Message-ID: <1313702380-6539-1-git-send-email-agnel.joel at gmail.com>
> -X-Mailer: git-send-email 1.7.1
> -X-pstn-neptune: 0/0/0.00/0
> -X-pstn-levels: (S:31.84097/99.90000 CV:99.9000 FC:95.5390 LC:95.5390 R:95.9108 P:95.9108 M:97.0282 C:98.6951 )
> -X-pstn-settings: 2 (0.5000:0.0750) s cv GT3 gt2 gt1 r p m
> -X-pstn-addresses: from <agnel.joel at gmail.com> [db-null]
> -Content-Type: text/plain
> -Return-Path: agnel.joel at gmail.com
> -X-MS-Exchange-Organization-AuthSource: DFLE71.ent.ti.com
> -X-MS-Exchange-Organization-AuthAs: Internal
> -X-MS-Exchange-Organization-AuthMechanism: 10
> -X-MS-Exchange-Organization-AVStamp-Mailbox: SYMANTEC;420610240;0;info
> -MIME-Version: 1.0
> -
> -With this, the ULCD-lite display works with the 3.0 kernel
> -
> -v2 changes:
> -Fixed the beagle_config structure
> -
> -Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
> ----
> - arch/arm/mach-omap2/board-omap3beagle.c | 7 +++++++
> - 1 files changed, 7 insertions(+), 0 deletions(-)
> -
> -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
> -index d49c1e2..08f06ff 100644
> ---- a/arch/arm/mach-omap2/board-omap3beagle.c
> -+++ b/arch/arm/mach-omap2/board-omap3beagle.c
> -@@ -90,12 +90,14 @@ static struct {
> - int reset_gpio;
> - int usr_button_gpio;
> - char *lcd_driver_name;
> -+ int lcd_pwren;
> - } beagle_config = {
> - .mmc1_gpio_wp = -EINVAL,
> - .usb_pwr_level = GPIOF_OUT_INIT_LOW,
> - .reset_gpio = 129,
> - .usr_button_gpio = 4,
> - .lcd_driver_name = "",
> -+ .lcd_pwren = 156
> - };
> -
> - static struct gpio omap3_beagle_rev_gpios[] __initdata = {
> -@@ -428,6 +430,11 @@ static void __init beagle_display_init(void)
> - {
> - int r;
> -
> -+ r = gpio_request_one(beagle_config.lcd_pwren, GPIOF_OUT_INIT_LOW,
> -+ "LCD power");
> -+ if (r < 0)
> -+ printk(KERN_ERR "Unable to get LCD power enable GPIO\n");
> -+
> - r = gpio_request_one(beagle_dvi_device.reset_gpio, GPIOF_OUT_INIT_LOW,
> - "DVI reset");
> - if (r < 0)
> ---
> -1.7.1
> -
> diff --git a/recipes-kernel/linux/linux_3.0.bb b/recipes-kernel/linux/linux_3.0.bb
> index 765c8de..871a698 100644
> --- a/recipes-kernel/linux/linux_3.0.bb
> +++ b/recipes-kernel/linux/linux_3.0.bb
> @@ -10,7 +10,7 @@ PV = "3.0.4"
> SRCREV_pn-${PN} = "04aa37b5f943920017ad094e776cd5514b1a9246"
>
> # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
> -MACHINE_KERNEL_PR_append = "c"
> +MACHINE_KERNEL_PR_append = "d"
>
> FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:"
>
> @@ -190,6 +190,8 @@ SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-3.0.y.git
> file://beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch \
> file://beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch \
> file://beagle/0006-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch \
> + file://beagle/0007-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch \
> + file://beagle/0008-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch \
> file://madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch \
> file://madc/0002-mfd-twl-core-enable-madc-clock.patch \
> \
> @@ -210,10 +212,7 @@ SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-3.0.y.git
> \
> file://sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch \
> \
> - file://ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch \
> - file://ulcd/0002-omap3-beagle-added-lcd-driver.patch \
> - file://ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch \
> - file://ulcd/0004-Make-fbset-show-correct-timing-values.patch \
> + file://ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch \
> \
> file://omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch \
> \
> --
> 1.7.4.1
>
More information about the Openembedded-core
mailing list