mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-11 03:25:54 +02:00
kernel3: updated to 2.6.42.20 (aka 3.2.20).
kernel3 is used for raspberry pi and pandaboard yet.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 2.6.42.18 Kernel Configuration
|
||||
# Linux/arm 2.6.42.20 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
@@ -122,10 +122,9 @@ CONFIG_PERF_USE_VMALLOC=y
|
||||
# CONFIG_PERF_EVENTS is not set
|
||||
# CONFIG_PERF_COUNTERS is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_SLUB=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
@@ -2734,28 +2733,6 @@ CONFIG_USB_CXACRU=m
|
||||
CONFIG_USB_UEAGLEATM=m
|
||||
CONFIG_USB_XUSBATM=m
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_USB_FUSB300 is not set
|
||||
# CONFIG_USB_R8A66597 is not set
|
||||
# CONFIG_USB_M66592 is not set
|
||||
# CONFIG_USB_NET2272 is not set
|
||||
# CONFIG_USB_DUMMY_HCD is not set
|
||||
# CONFIG_USB_ZERO is not set
|
||||
# CONFIG_USB_AUDIO is not set
|
||||
# CONFIG_USB_ETH is not set
|
||||
# CONFIG_USB_G_NCM is not set
|
||||
# CONFIG_USB_GADGETFS is not set
|
||||
# CONFIG_USB_FUNCTIONFS is not set
|
||||
# CONFIG_USB_FILE_STORAGE is not set
|
||||
# CONFIG_USB_MASS_STORAGE is not set
|
||||
# CONFIG_USB_G_SERIAL is not set
|
||||
# CONFIG_USB_MIDI_GADGET is not set
|
||||
# CONFIG_USB_G_PRINTER is not set
|
||||
# CONFIG_USB_CDC_COMPOSITE is not set
|
||||
# CONFIG_USB_G_ACM_MS is not set
|
||||
# CONFIG_USB_G_MULTI is not set
|
||||
# CONFIG_USB_G_HID is not set
|
||||
# CONFIG_USB_G_DBGP is not set
|
||||
# CONFIG_USB_G_WEBCAM is not set
|
||||
|
||||
#
|
||||
# OTG and related infrastructure
|
||||
@@ -3205,8 +3182,7 @@ CONFIG_SCHED_DEBUG=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
CONFIG_TIMER_STATS=y
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_SLUB_DEBUG_ON is not set
|
||||
# CONFIG_SLUB_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
|
||||
16
lfs/linux3
16
lfs/linux3
@@ -24,17 +24,17 @@
|
||||
|
||||
include Config
|
||||
|
||||
PATCHLEVEL = .19
|
||||
PATCHLEVEL = .20
|
||||
|
||||
VER = 2.6.42.19
|
||||
VER = 2.6.42.20
|
||||
|
||||
XVERS = 3.2.19
|
||||
XVERS = 3.2.20
|
||||
XVERSION = 2
|
||||
XPATCHLEVEL = 6
|
||||
XSUBLEVEL = 42
|
||||
XEXTRAVERSION = .19
|
||||
XEXTRAVERSION = .20
|
||||
|
||||
RPI_PATCHES = linux-3.2-bootc-5b84c25
|
||||
RPI_PATCHES = linux-3.2-bootc-6ab6087
|
||||
|
||||
THISAPP = linux-$(VER)
|
||||
DL_FILE = linux-$(XVERS).tar.bz2
|
||||
@@ -83,9 +83,8 @@ objects =$(DL_FILE) \
|
||||
$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
|
||||
rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz
|
||||
|
||||
$(DL_FILE)_MD5 = 64c732cb425eb8787b841d11309bb335
|
||||
rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = 0b2fac563b093465f5c6b3d571e57399
|
||||
|
||||
$(DL_FILE)_MD5 = bd0063a747c3ea0ecdcc85a512d9760a
|
||||
rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = fd87188cbd0b168a2b335db3d661ece9
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -174,6 +173,7 @@ ifeq "$(KCFG)" "-rpi"
|
||||
cd $(DIR_APP) && xzcat $(DIR_DL)/rpi-patches-$(RPI_PATCHES).patch.xz | patch -Np1
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.2-bcm2835-alsamixer.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.2-bcm2835-limit_volume.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.2-bcm2708-sdhci_patches.patch
|
||||
endif
|
||||
|
||||
ifeq "$(HEADERS)" "1"
|
||||
|
||||
138
src/patches/linux-3.2-bcm2708-sdhci_patches.patch
Normal file
138
src/patches/linux-3.2-bcm2708-sdhci_patches.patch
Normal file
@@ -0,0 +1,138 @@
|
||||
commit 872a8ff772ded51403bd8a46f80b1bf9706b76cd
|
||||
Author: Paul Walmsley <paul@pwsan.com>
|
||||
Date: Mon Mar 12 10:58:00 2012 -0600
|
||||
|
||||
mmc: use really long write timeout to deal with crappy cards
|
||||
|
||||
mmc: use really long write timeout to deal with crappy cards
|
||||
|
||||
Several people have noticed that crappy SD cards take much longer to
|
||||
complete multiple block writes than the 300ms that Linux specifies.
|
||||
Try to work around this by using a three second write timeout instead.
|
||||
|
||||
This is a generalized version of a patch from Chase Maupin
|
||||
<Chase.Maupin@ti.com>, whose patch description said:
|
||||
|
||||
* With certain SD cards timeouts like the following have been seen
|
||||
due to an improper calculation of the dto value:
|
||||
mmcblk0: error -110 transferring data, sector 4126233, nr 8,
|
||||
card status 0xc00
|
||||
* By removing the dto calculation and setting the timeout value
|
||||
to the maximum specified by the SD card specification part A2
|
||||
section 2.2.15 these timeouts can be avoided.
|
||||
* This change has been used by beagleboard users as well as the
|
||||
Texas Instruments SDK without a negative impact.
|
||||
* There are multiple discussion threads about this but the most
|
||||
relevant ones are:
|
||||
* http://talk.maemo.org/showthread.php?p=1000707#post1000707
|
||||
* http://www.mail-archive.com/linux-omap@vger.kernel.org/msg42213.html
|
||||
* Original proposal for this fix was done by Sukumar Ghoral of
|
||||
Texas Instruments
|
||||
* Tested using a Texas Instruments AM335x EVM
|
||||
|
||||
Signed-off-by: Paul Walmsley <paul@pwsan.com>
|
||||
Tested-by: Tony Lindgren <tony@atomide.com>
|
||||
Signed-off-by: Chris Ball <cjb@laptop.org>
|
||||
|
||||
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
|
||||
index d637982..a14ddf96 100644
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -396,10 +396,14 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
|
||||
|
||||
if (data->flags & MMC_DATA_WRITE)
|
||||
/*
|
||||
- * The limit is really 250 ms, but that is
|
||||
- * insufficient for some crappy cards.
|
||||
+ * The MMC spec "It is strongly recommended
|
||||
+ * for hosts to implement more than 500ms
|
||||
+ * timeout value even if the card indicates
|
||||
+ * the 250ms maximum busy length." Even the
|
||||
+ * previous value of 300ms is known to be
|
||||
+ * insufficient for some cards.
|
||||
*/
|
||||
- limit_us = 300000;
|
||||
+ limit_us = 3000000;
|
||||
else
|
||||
limit_us = 100000;
|
||||
|
||||
The folowing sdhci fixes rebased from rasperry pi github tree to kernel 3.2 to use
|
||||
actial firmware that run emmc slot at 50Mhz.
|
||||
Author: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
|
||||
|
||||
diff -Naur linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c
|
||||
--- linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c 2012-06-12 00:18:23.000000000 +0200
|
||||
+++ linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c 2012-06-14 09:33:42.448194435 +0200
|
||||
@@ -328,12 +328,7 @@
|
||||
|
||||
static unsigned int sdhci_bcm2708_get_max_clock(struct sdhci_host *host)
|
||||
{
|
||||
- return 100000000; // this value is in Hz (100MHz/4)
|
||||
-}
|
||||
-
|
||||
-static unsigned int sdhci_bcm2708_get_timeout_clock(struct sdhci_host *host)
|
||||
-{
|
||||
- return 100000; // this value is in kHz (100MHz/4)
|
||||
+ return BCM2708_EMMC_CLOCK_FREQ;
|
||||
}
|
||||
|
||||
/*****************************************************************************\
|
||||
@@ -1222,12 +1217,7 @@
|
||||
#else
|
||||
#error The BCM2708 SDHCI driver needs CONFIG_MMC_SDHCI_IO_ACCESSORS to be set
|
||||
#endif
|
||||
- //.enable_dma = NULL,
|
||||
- //.set_clock = NULL,
|
||||
.get_max_clock = sdhci_bcm2708_get_max_clock,
|
||||
- //.get_min_clock = NULL,
|
||||
- .get_timeout_clock = sdhci_bcm2708_get_timeout_clock,
|
||||
-
|
||||
.enable = sdhci_bcm2708_enable,
|
||||
.disable = sdhci_bcm2708_disable,
|
||||
.set_plat_power = sdhci_bcm2708_set_plat_power,
|
||||
diff -Naur linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c
|
||||
--- linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c 2012-06-14 09:33:42.000000000 +0200
|
||||
+++ linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c 2012-06-14 09:47:20.635695042 +0200
|
||||
@@ -1277,7 +1277,10 @@
|
||||
host->irq = platform_get_irq(pdev, 0);
|
||||
|
||||
host->quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION |
|
||||
- SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK;
|
||||
+ SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
|
||||
+ SDHCI_QUIRK_BROKEN_TIMEOUT_VAL |
|
||||
+ SDHCI_QUIRK_MISSING_CAPS |
|
||||
+ SDHCI_QUIRK_NO_HISPD_BIT;
|
||||
#ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
|
||||
host->flags = SDHCI_USE_PLATDMA;
|
||||
#endif
|
||||
diff -Naur linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c
|
||||
--- linux-3.2.20.org/drivers/mmc/host/sdhci-bcm2708.c 2012-06-14 10:03:31.000000000 +0200
|
||||
+++ linux-3.2.20/drivers/mmc/host/sdhci-bcm2708.c 2012-06-14 10:15:44.909133194 +0200
|
||||
@@ -71,6 +71,8 @@
|
||||
|
||||
#define BCM2708_SDHCI_SLEEP_TIMEOUT 1000 /* msecs */
|
||||
|
||||
+#define BCM2708_EMMC_CLOCK_FREQ 50000000
|
||||
+
|
||||
#define POWER_OFF 0
|
||||
#define POWER_LAZY_OFF 1
|
||||
#define POWER_ON 2
|
||||
|
||||
With the last revert Chris Boot has removed the UHS block at 3.3V
|
||||
so it is needed to readd it to use some cards (eg. Verbatim 8GB Class10)
|
||||
Author: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
|
||||
|
||||
diff -Naur linux-3.2.20.org/drivers/mmc/host/sdhci.c linux-3.2.20/drivers/mmc/host/sdhci.c
|
||||
--- linux-3.2.20.org/drivers/mmc/host/sdhci.c 2012-06-12 00:18:24.000000000 +0200
|
||||
+++ linux-3.2.20/drivers/mmc/host/sdhci.c 2012-06-14 12:47:25.435538000 +0200
|
||||
@@ -2930,6 +2930,10 @@
|
||||
if(host->ops->voltage_broken)
|
||||
ocr_avail |= MMC_VDD_29_30 | MMC_VDD_30_31;
|
||||
|
||||
+ /* No UHS Modes at 3.3V */
|
||||
+ mmc->caps &= ~(MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR104 |
|
||||
+ MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_DDR50 );
|
||||
+
|
||||
mmc->ocr_avail = ocr_avail;
|
||||
mmc->ocr_avail_sdio = ocr_avail;
|
||||
if (host->ocr_avail_sdio)
|
||||
Reference in New Issue
Block a user