From 475f68cf286346501ffe455d39f7269c4aa87709 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 12 Jan 2009 16:23:21 +0100 Subject: linx-omap pm git: fix DSS2 patch, rediff beagle-cpufreq, add ECHI support --- ...-New-display-subsystem-driver-for-OMAP2-3.patch | 10 -- ...es-Steve-Kipisz-USB-EHCI-support.-He-star.patch | 146 +++++++++++++++++++++ packages/linux/linux-omap-pm/beagle-cpufreq.diff | 27 +++- packages/linux/linux-omap-pm/beagleboard/defconfig | 46 +++++-- packages/linux/linux-omap-pm/dss2.diff | 9 ++ packages/linux/linux-omap-pm_git.bb | 31 ++--- 6 files changed, 228 insertions(+), 41 deletions(-) create mode 100644 packages/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch create mode 100644 packages/linux/linux-omap-pm/dss2.diff (limited to 'packages/linux') diff --git a/packages/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch b/packages/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch index fda5191421..2c77fcc205 100644 --- a/packages/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch +++ b/packages/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch @@ -320,16 +320,6 @@ index 2465aea..cd7d9e2 100644 endmenu endif -diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile -index 1259846..2740497 100644 ---- a/arch/arm/plat-omap/Makefile -+++ b/arch/arm/plat-omap/Makefile -@@ -29,3 +29,5 @@ obj-$(CONFIG_OMAP_MMU_FWK) += mmu.o - # OMAP mailbox framework - obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o - -+# OMAP2/3 Display Subsystem -+obj-y += dss/ diff --git a/arch/arm/plat-omap/dss/Kconfig b/arch/arm/plat-omap/dss/Kconfig new file mode 100644 index 0000000..6b342df diff --git a/packages/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch b/packages/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch new file mode 100644 index 0000000000..d590f8ffb9 --- /dev/null +++ b/packages/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch @@ -0,0 +1,146 @@ +From f8f10f496bce396416d7156da876222c6ce8c341 Mon Sep 17 00:00:00 2001 +From: Steven Kipisz +Date: Wed, 9 Jan 2009 12:01:11 -0600 +Subject: [PATCH-USB] Omap3 beagleboard: add support for EHCI in revision C1 boards + +Signed-off-by: Jason Kridner +--- + arch/arm/mach-omap2/board-omap3beagle.c | 10 +--------- + arch/arm/mach-omap2/usb-ehci.c | 4 +--- + drivers/usb/host/ehci-omap.c | 26 ++++++++++++++++++++++++++ + 3 files changed, 28 insertions(+), 12 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c +index fe97bab..de81153 100644 +--- a/arch/arm/mach-omap2/board-omap3beagle.c ++++ b/arch/arm/mach-omap2/board-omap3beagle.c +@@ -140,15 +140,7 @@ 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); +- +- /* 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); +- +- /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ +- gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; ++ /* TODO: This needs to be modified to not rely on u-boot */ + + return 0; + } +diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c +index 489439d..2c6305b 100644 +--- a/arch/arm/mach-omap2/usb-ehci.c ++++ b/arch/arm/mach-omap2/usb-ehci.c +@@ -152,9 +152,7 @@ static void setup_ehci_io_mux(void) + void __init usb_ehci_init(void) + { + #if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_EHCI_HCD_MODULE) +- /* Setup Pin IO MUX for EHCI */ +- if (cpu_is_omap34xx()) +- setup_ehci_io_mux(); ++ /* TODO: Setup Pin IO MUX for EHCI - moved this temporarily to U-boot */ + + if (platform_device_register(&ehci_device) < 0) { + printk(KERN_ERR "Unable to register HS-USB (EHCI) device\n"); + +diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c +index 1b3266c..8472996 100644 +--- a/drivers/usb/host/ehci-omap.c ++++ b/drivers/usb/host/ehci-omap.c +@@ -48,16 +48,26 @@ + * to get the PHY state machine in working state + */ + #define EXTERNAL_PHY_RESET ++#ifdef CONFIG_MACH_OMAP3_BEAGLE ++#define EXT_PHY_RESET_GPIO_PORT2 (147) ++#else + #define EXT_PHY_RESET_GPIO_PORT1 (57) + #define EXT_PHY_RESET_GPIO_PORT2 (61) ++#endif + #define EXT_PHY_RESET_DELAY (10) + ++#define PHY_STP_PULLUP_ENABLE (0x10) ++#define PHY_STP_PULLUP_DISABLE (0x90) ++ ++ + /* ISSUE2: + * USBHOST supports External charge pump PHYs only + * Use the VBUS from Port1 to power VBUS of Port2 externally + * So use Port2 as the working ULPI port + */ ++#ifndef CONFIG_MACH_OMAP3_BEAGLE + #define VBUS_INTERNAL_CHARGEPUMP_HACK ++#endif + + #endif /* CONFIG_OMAP_EHCI_PHY_MODE */ + +@@ -225,14 +235,43 @@ static int omap_start_ehc(struct platform_device *dev, struct usb_hcd *hcd) + + #ifdef EXTERNAL_PHY_RESET + /* Refer: ISSUE1 */ ++#ifndef CONFIG_MACH_OMAP3_BEAGLE + gpio_request(EXT_PHY_RESET_GPIO_PORT1, "USB1 PHY reset"); + gpio_direction_output(EXT_PHY_RESET_GPIO_PORT1, 0); ++#endif + gpio_request(EXT_PHY_RESET_GPIO_PORT2, "USB2 PHY reset"); + gpio_direction_output(EXT_PHY_RESET_GPIO_PORT2, 0); ++ gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 0); + /* Hold the PHY in RESET for enough time till DIR is high */ + udelay(EXT_PHY_RESET_DELAY); + #endif + ++ /* ++ * The PHY register 0x7 - Interface Control register is ++ * configured to disable the integrated STP pull-up resistor ++ * used for interface protection. ++ * ++ * May not need to be here. ++ */ ++ omap_writel((0x7 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* interface reg */ ++ (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */ ++ (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */ ++ (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */ ++ (PHY_STP_PULLUP_DISABLE), ++ EHCI_INSNREG05_ULPI); ++ ++ while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<usbtll_fck_clk = clk_get(&dev->dev, USBHOST_TLL_FCLK); + if (IS_ERR(ehci_clocks->usbtll_fck_clk)) +@@ -307,7 +346,9 @@ static int omap_start_ehc(struct platform_device *dev, struct usb_hcd *hcd) + * Hold the PHY in RESET for enough time till PHY is settled and ready + */ + udelay(EXT_PHY_RESET_DELAY); ++#ifndef CONFIG_MACH_OMAP3_BEAGLE + gpio_set_value(EXT_PHY_RESET_GPIO_PORT1, 1); ++#endif + gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 1); + #endif + +@@ -393,7 +434,9 @@ static void omap_stop_ehc(struct platform_device *dev, struct usb_hcd *hcd) + + + #ifdef EXTERNAL_PHY_RESET ++#ifndef CONFIG_MACH_OMAP3_BEAGLE + gpio_free(EXT_PHY_RESET_GPIO_PORT1); ++#endif + gpio_free(EXT_PHY_RESET_GPIO_PORT2); + #endif + +-- +1.6.0.4.790.gaa14a diff --git a/packages/linux/linux-omap-pm/beagle-cpufreq.diff b/packages/linux/linux-omap-pm/beagle-cpufreq.diff index f56b27781d..95234a14a3 100644 --- a/packages/linux/linux-omap-pm/beagle-cpufreq.diff +++ b/packages/linux/linux-omap-pm/beagle-cpufreq.diff @@ -1,12 +1,14 @@ ---- /tmp/board-omap3beagle.c 2009-01-11 18:41:58.000000000 +0100 -+++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-01-11 18:47:03.000000000 +0100 -@@ -41,12 +41,71 @@ +--- /tmp/board-omap3beagle.c 2009-01-12 15:46:26.000000000 +0100 ++++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-01-12 15:46:28.000000000 +0100 +@@ -41,14 +41,73 @@ #include #include #include +#include #include #include + #include + #include +#include + @@ -72,7 +74,24 @@ #define GPMC_CS0_BASE 0x60 #define GPMC_CS_SIZE 0x30 -@@ -233,7 +292,8 @@ +@@ -142,7 +201,15 @@ + * power switch and overcurrent detect + */ + +- /* TODO: This needs to be modified to not rely on u-boot */ ++ gpio_request(gpio + 1, "EHCI_nOC"); ++ gpio_direction_input(gpio + 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); ++ ++ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ ++ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; + + return 0; + } +@@ -227,7 +294,8 @@ static void __init omap3_beagle_init_irq(void) { diff --git a/packages/linux/linux-omap-pm/beagleboard/defconfig b/packages/linux/linux-omap-pm/beagleboard/defconfig index dca0530276..4226f32b01 100644 --- a/packages/linux/linux-omap-pm/beagleboard/defconfig +++ b/packages/linux/linux-omap-pm/beagleboard/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.28-omap1 -# Sat Jan 10 09:55:48 2009 +# Linux kernel version: 2.6.28-rc8-omap1 +# Mon Jan 12 15:57:49 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -195,14 +195,22 @@ CONFIG_OMAP_MCBSP=y CONFIG_OMAP_32K_TIMER=y # CONFIG_OMAP3_DEBOBS is not set CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_TICK_GPTIMER=12 CONFIG_OMAP_DM_TIMER=y # CONFIG_OMAP_LL_DEBUG_UART1 is not set # CONFIG_OMAP_LL_DEBUG_UART2 is not set CONFIG_OMAP_LL_DEBUG_UART3=y # CONFIG_OMAP_PM_NONE is not set -CONFIG_OMAP_PM_NOOP=y -# CONFIG_OMAP_PM_SRF is not set +# CONFIG_OMAP_PM_NOOP is not set +CONFIG_OMAP_PM_SRF=y +CONFIG_OMAP2_DSS=y +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y +# CONFIG_OMAP2_DSS_RFBI is not set +CONFIG_OMAP2_DSS_VENC=y +# CONFIG_OMAP2_DSS_SDI is not set +CONFIG_OMAP2_DSS_DSI=y +CONFIG_OMAP2_DSS_USE_DSI_PLL=y +# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 CONFIG_ARCH_OMAP34XX=y CONFIG_ARCH_OMAP3430=y @@ -211,10 +219,11 @@ CONFIG_ARCH_OMAP3430=y # # CONFIG_MACH_OMAP_LDP is not set # CONFIG_MACH_OMAP_3430SDP is not set -# CONFIG_MACH_OMAP3EVM is not set +CONFIG_MACH_OMAP3EVM=y CONFIG_MACH_OMAP3_BEAGLE=y # CONFIG_MACH_OVERO is not set # CONFIG_MACH_OMAP3_PANDORA is not set +CONFIG_OMAP_TICK_GPTIMER=12 # # Boot options @@ -1326,9 +1335,9 @@ CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set @@ -1348,7 +1357,19 @@ CONFIG_FB=y # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set -# CONFIG_FB_OMAP is not set +CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14 +CONFIG_FB_OMAP2=y +CONFIG_FB_OMAP2_DEBUG=y +# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set +CONFIG_FB_OMAP2_NUM_FBS=3 + +# +# OMAP2/3 Display Device Drivers +# +CONFIG_PANEL_GENERIC=y +CONFIG_PANEL_SHARP_LS037V7DW01=y +# CONFIG_PANEL_N800 is not set +# CONFIG_CTRL_BLIZZARD is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set # @@ -1410,6 +1431,7 @@ CONFIG_SND_SOC=y CONFIG_SND_OMAP_SOC=y CONFIG_SND_OMAP_SOC_MCBSP=y CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y +# CONFIG_SND_OMAP_SOC_OMAP3EVM is not set # CONFIG_SND_SOC_ALL_CODECS is not set CONFIG_SND_SOC_TWL4030=y # CONFIG_SOUND_PRIME is not set @@ -1479,8 +1501,8 @@ CONFIG_USB_MON=y # # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_EHCI_HCD=y -# CONFIG_OMAP_EHCI_PHY_MODE is not set -CONFIG_OMAP_EHCI_TLL_MODE=y +CONFIG_OMAP_EHCI_PHY_MODE=y +# CONFIG_OMAP_EHCI_TLL_MODE is not set CONFIG_USB_EHCI_ROOT_HUB_TT=y # CONFIG_USB_EHCI_TT_NEWSCHED is not set # CONFIG_USB_ISP116X_HCD is not set diff --git a/packages/linux/linux-omap-pm/dss2.diff b/packages/linux/linux-omap-pm/dss2.diff new file mode 100644 index 0000000000..8d3d2fdca6 --- /dev/null +++ b/packages/linux/linux-omap-pm/dss2.diff @@ -0,0 +1,9 @@ +--- /tmp/Makefile 2009-01-12 15:50:04.000000000 +0100 ++++ git/arch/arm/plat-omap/Makefile 2009-01-12 15:50:25.000000000 +0100 +@@ -32,3 +32,6 @@ + obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o + obj-$(CONFIG_OMAP_PM_SRF) += omap-pm-srf.o \ + resource.o ++ ++# OMAP2/3 Display Subsystem ++obj-y += dss/ diff --git a/packages/linux/linux-omap-pm_git.bb b/packages/linux/linux-omap-pm_git.bb index f3af9dd61c..2eed0d600f 100644 --- a/packages/linux/linux-omap-pm_git.bb +++ b/packages/linux/linux-omap-pm_git.bb @@ -7,12 +7,12 @@ COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard| DEFAULT_PREFERENCE = "-1" -SRCREV = "b5d11429ffe91c26903ff206e4c7ce5dd3ec4806" +SRCREV = "24b64c62777f483bff45176accc187381e7cd7a7" -PV = "2.6.28-pm1+gitr${SRCREV}" -PR = "r6" +PV = "2.6.27+2.6.28rc8-pm1+gitr${SRCREV}" +PR = "r0" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;protocol=git;branch=pm-next \ +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;protocol=git;branch=pm-prev \ file://defconfig" SRC_URI_append = " \ @@ -31,19 +31,20 @@ SRC_URI_append = " \ file://0001-Implement-downsampling-with-debugs.patch;patch=1 \ file://twl-asoc-fix-record.diff;patch=1 \ file://tick-schedc-suppress-needless-timer-reprogramming.patch;patch=1 \ -# file://0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch;patch=1 \ -# file://0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch;patch=1 \ -# file://0003-DSS-Add-generic-DVI-panel.patch;patch=1 \ -# file://0004-DSS-support-for-Beagle-Board.patch;patch=1 \ -# file://0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch;patch=1 \ -# file://0006-DSS-Support-for-OMAP3-SDP-board.patch;patch=1 \ -# file://0007-DSS-Support-for-OMAP3-EVM-board.patch;patch=1 \ -# file://0008-DSS-Hacked-N810-support.patch;patch=1 \ -# file://0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch;patch=1 \ -# file://0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch;patch=1 \ -# file://0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch;patch=1 \ + file://0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch;patch=1 \ + file://0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch;patch=1 \ + file://0003-DSS-Add-generic-DVI-panel.patch;patch=1 \ + file://0004-DSS-support-for-Beagle-Board.patch;patch=1 \ + file://0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch;patch=1 \ + file://0007-DSS-Support-for-OMAP3-EVM-board.patch;patch=1 \ + file://0008-DSS-Hacked-N810-support.patch;patch=1 \ + file://0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch;patch=1 \ + file://0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch;patch=1 \ + file://0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch;patch=1 \ file://0001-ASoC-Add-support-for-OMAP3-EVM.patch;patch=1 \ file://beagle-cpufreq.diff;patch=1 \ + file://0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch;patch=1 \ + file://dss2.diff;patch=1 \ " -- cgit v1.2.3