aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Rini <tom_rini@mentor.com>2011-03-17 11:13:25 -0700
committerTom Rini <tom_rini@mentor.com>2011-03-17 11:13:25 -0700
commitb45c4ccfc40cbde0f5d1b9511320dea1726cb105 (patch)
treec42f0fad8bac713df5b377278f5d0e0654055e13
parent568e0abfc6cec940dfa9dbe83e7d91e68bfbc59c (diff)
parent02599c18956925b256c1f4c29785d2b033596890 (diff)
downloadopenembedded-b45c4ccfc40cbde0f5d1b9511320dea1726cb105.tar.gz
Merge branch '2011.03-maintenance' of git://dominion.thruhere.net/var/cache/git/openembedded into 2011.03-maintenance
-rw-r--r--conf/distro/angstrom-2008.1.conf3
-rw-r--r--conf/machine/dm368-evm.conf8
-rwxr-xr-xcontrib/angstrom/sort.sh18
-rw-r--r--recipes/images/beagleboard-validation-base-image.bb23
-rw-r--r--recipes/images/beagleboard-validation-e17-image.bb24
-rw-r--r--recipes/images/beagleboard-validation-gnome-image.bb33
-rw-r--r--recipes/linux/linux-davinci.inc2
-rw-r--r--recipes/linux/linux-davinci/dm365/defconfig (renamed from recipes/linux/linux-davinci/dm365-evm/defconfig)0
-rw-r--r--recipes/linux/linux-davinci_git.bb2
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0001-omap-Beagle-revision-detection.patch135
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0002-omap-Beagle-only-Cx-boards-use-pin-23-for-write-prot.patch35
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0003-omap-Beagle-no-gpio_wp-pin-connection-on-xM.patch33
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch42
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0005-omap3-beaglexm-fix-DVI-reset-GPIO.patch48
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0006-omap3-beaglexm-fix-power-on-of-DVI.patch92
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0007-beagleboard-hack-in-support-from-xM-rev-C.patch61
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch153
-rw-r--r--recipes/linux/linux-omap-psp_2.6.32.bb10
-rw-r--r--recipes/tasks/task-beagleboard-nand.bb8
-rw-r--r--recipes/tasks/task-beagleboard-validation.bb62
-rw-r--r--recipes/tasks/task-omap-drivers.bb35
-rw-r--r--recipes/ti/matrix-gui-common.inc5
-rw-r--r--recipes/ti/matrix-gui-e.inc5
-rw-r--r--recipes/ti/matrix-gui.inc5
-rw-r--r--recipes/ti/ti-pru-sw-examples_1.00.00.bb4
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0001-Enable-I2C-bus-switching.patch49
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch46
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0002-OMAP-Remove-omapfb.debug-y-from-Beagle-and-Overo-env.patch (renamed from recipes/u-boot/u-boot-git/beagleboard/0021-OMAP3-Beagle-Overo-remove-omapfb.debug-y-from-defaul.patch)21
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0002-OMAP3-add-board-revision-detection-for-Overo.patch187
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0003-OMAP3-update-Beagle-revision-detection-to-recognize-.patch165
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch89
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch69
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-Set-VAUX2-to-1.8V-for-EHCI-PHY-on-Beagle-Rev-C.patch143
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch111
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0005-OMAP3-add-entry-for-rev-3.1.2-check-and-display-max-.patch105
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch95
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-add-mpurate-boot-arg-for-overo-and-beagle.patch70
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-Add-DSS-driver-for-OMAP3.patch (renamed from recipes/u-boot/u-boot-git/beagleboard/0025-Add-DSS-driver-for-OMAP3.patch)396
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-detect-expansion-board-type-version-using-eepr.patch129
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0008-BeagleBoard-Added-userbutton-command.patch (renamed from recipes/u-boot/u-boot-git/beagleboard/0045-BeagleBoard-Added-userbutton-command.patch)31
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0008-OMAP3-Overo-enable-config-eeprom-to-set-u-boot-env-v.patch81
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-Overo-enable-input-on-MMC1_CLK-and-MMC3_CLK-pi.patch34
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch57
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0010-Enable-DSS-driver-for-Beagle.patch (renamed from recipes/u-boot/u-boot-git/beagleboard/0026-Enable-DSS-driver-for-Beagle.patch)81
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0010-OMAP3-Overo-set-CONFIG_SYS_I2C_SPEED-to-400Khz.patch25
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0011-Add-led-command.patch213
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0011-OMAP3-trim-excessively-long-delays-in-i2c-driver.patch52
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0012-BeagleBoard-Added-LED-driver.patch (renamed from recipes/u-boot/u-boot-git/beagleboard/0042-BeagleBoard-Added-LED-driver.patch)36
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0012-OMAP3-Overo-allow-expansion-boards-with-any-vendor-I.patch47
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-BeagleBoard-updated-default-configuration.patch184
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-Overo-change-address-of-expansion-eeprom-to-0x.patch25
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch42
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0014-OMAP3-board.c-don-t-attempt-to-set-up-second-RAM-ban.patch49
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0015-OMAP3-mem.c-enhance-the-RAM-test.patch52
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch29
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch26
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0016-env_nand.c-fail-gracefully-if-no-nand-is-present.patch27
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0017-OMAP3-add-definitions-to-support-sysinfo-cpu-and-cpu.patch68
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0018-OMAP3-sys_info-update-cpu-detection-for-36XX-37XX.patch196
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0019-OMAP3-clocks-update-clock-setup-for-36XX-37XX.patch826
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0020-OMAP3-beagle-add-support-for-Beagle-xM.patch137
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0022-OMAP3-beagle-implement-expansionboard-detection-base.patch157
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0023-beagleboard-display-message-about-I2C-errors-being-e.patch26
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0024-beagleboard-fix-TCT-expansionboard-IDs.patch27
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0027-beagleboardXM-don-t-set-mpurate-on-xM-in-bootargs.patch24
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0028-OMAP3-fix-and-clean-up-L2-cache-enable-disable-funct.patch112
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0029-OMAP3-convert-setup_auxcr-to-pure-asm.patch99
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0030-OMAP3-apply-Cortex-A8-errata-workarounds-only-on-aff.patch46
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0031-OMAP3-beagle-add-more-expansionboards-based-on-http-.patch61
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0032-OMAP3-beagle-set-mpurate-to-600-for-revB-and-revC1-3.patch29
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0033-OMAP3-beagle-prettify-expansionboard-message-a-bit.patch25
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0034-OMAP3-beagle-add-pinmux-for-Tincantools-Trainer-expa.patch53
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0035-OMAP3-Beagle-set-mpurate-to-1000-for-xM.patch24
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0036-OMAP3-Beagle-decrease-bootdelay-to-3-use-VGA-for-def.patch34
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0037-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch87
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0038-Added-configurations-for-xM-Rev-A-board.patch29
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0039-OMAP3-beagle-setenv-beaglerev-for-AxBx-Cx-xMA-for-be.patch42
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch126
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0041-OMAP3-Beagle-enable-support-for-second-and-third-mmc.patch55
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0043-Add-led-command.patch256
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0044-BeagleBoard-Enabled-LEDs.patch47
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0046-BeagleBoard-Add-CONFIG_SYS_MEMTEST_SCRATCH.patch35
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0047-BeagleBoard-Adjust-boot-command-on-USER-button.patch115
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0048-BeagleBoard-Enable-pullups-on-i2c2.patch46
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0049-BeagleBoard-Add-camera-to-default-bootargs.patch49
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0050-BeagleBoard-move-ramdisk-parameters.patch38
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0051-add-support-for-beagleboardtoys-expansionboards.patch74
-rw-r--r--recipes/u-boot/u-boot.inc3
-rw-r--r--recipes/u-boot/u-boot_git.bb82
89 files changed, 2111 insertions, 4529 deletions
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 0d7c45ddb0..ae1ed4cc0d 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -132,6 +132,9 @@ ANGSTROM_BLACKLIST_pn-fso-apm = "regular apmd is good enough"
ANGSTROM_BLACKLIST_pn-ipkg = "ipkg has been superseded by opkg"
+ANGSTROM_BLACKLIST_pn-bash-noemu = "doesn't work on the target"
+PREFERRED_PROVIDER_bash = "bash"
+
ANGSTROMLIBC ?= "glibc"
require conf/distro/include/angstrom.inc
diff --git a/conf/machine/dm368-evm.conf b/conf/machine/dm368-evm.conf
new file mode 100644
index 0000000000..f916b36e8a
--- /dev/null
+++ b/conf/machine/dm368-evm.conf
@@ -0,0 +1,8 @@
+#@TYPE: Machine
+#@NAME: DM368 CPUs on a Davinci DM368 EVM board
+#@DESCRIPTION: Machine configuration for the TI Davinci DM368 EVM board
+
+require conf/machine/include/davinci.inc
+require conf/machine/include/dm365.inc
+
+UBOOT_MACHINE = "davinci_dm365_evm_config"
diff --git a/contrib/angstrom/sort.sh b/contrib/angstrom/sort.sh
index 225ca08b81..b8d702be48 100755
--- a/contrib/angstrom/sort.sh
+++ b/contrib/angstrom/sort.sh
@@ -59,15 +59,15 @@ case "$arch" in
at91sam9263ek at91sam9g10ek at91sam9g20ek at91sam9g45ek at91sam9g45ekes
at91sam9rlek aximx50 aximx50v bd-neon c7x0 chumby chumby-falconwing cm-x270
cm-x300 da830-omapl137-evm da850-omapl138-evm davinci-dvevm davinci-sffsdr
- devkitidp-pxa255 dm355-evm dm355-leopard dm357-evm dm365-evm dm6446-evm
- dm6467-evm dm6467t-evm dns323 dockstar e680 ea3250 em-x270 er0100 eseries
- ghi270 gumstix gumstix-connex gumstix-custom-connex gumstix-custom-verdex
- gumstix-verdex h1910 h2200 h3900 h4000 h5000 hawkboard hipox htcalpine
- htcapache htcblueangel htchimalaya htcsable htctornado htcuniversal hx2000
- hx4700 imote2 ixp4xxle kixrp435 kuropro logicpd-pxa270 looxc550 lspro
- magician mainstone mh355 mp900c mtx-3 mtx-3a mv2120 mx21ads mx27ads n2100
- navman-icn330 netbook-pro neuros-osd neuros-osd2 nhk15 nokia770 nslu2le
- omap1510inn omap1610h2 omap1710h3 omap5912osk openrd-base openrd-client
+ devkitidp-pxa255 dm355-evm dm355-leopard dm357-evm dm365-evm dm368-evm
+ dm6446-evm dm6467-evm dm6467t-evm dns323 dockstar e680 ea3250 em-x270 er0100
+ eseries ghi270 gumstix gumstix-connex gumstix-custom-connex
+ gumstix-custom-verdex gumstix-verdex h1910 h2200 h3900 h4000 h5000 hawkboard
+ hipox htcalpine htcapache htcblueangel htchimalaya htcsable htctornado
+ htcuniversal hx2000 hx4700 imote2 ixp4xxle kixrp435 kuropro logicpd-pxa270
+ looxc550 lspro magician mainstone mh355 mp900c mtx-3 mtx-3a mv2120 mx21ads
+ mx27ads n2100 navman-icn330 netbook-pro neuros-osd neuros-osd2 nhk15 nokia770
+ nslu2le omap1510inn omap1610h2 omap1710h3 omap5912osk openrd-base openrd-client
palmld palmt650 palmt680 palmtc palmtt palmtt3 palmtt5 palmtx palmz31
palmz71 palmz72 poodle qemuarm rokre2 rokr-e2 rokre6 ronetix-pm9261
ronetix-pm9263 sgh-i900 sheevaplug spitz stamp9g20evb topas910 tosa
diff --git a/recipes/images/beagleboard-validation-base-image.bb b/recipes/images/beagleboard-validation-base-image.bb
new file mode 100644
index 0000000000..d8eca157e7
--- /dev/null
+++ b/recipes/images/beagleboard-validation-base-image.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Validation image"
+
+inherit image
+
+export IMAGE_BASENAME = "validation-base-image"
+
+IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+ROOTFS_POSTPROCESS_COMMAND += 'install_linguas; '
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_LOGIN_MANAGER = "shadow"
+IMAGE_SPLASH = "psplash-angstrom"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+IMAGE_INSTALL += " \
+ task-omap-drivers \
+ task-base-extended \
+ task-beagleboard-validation-base \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ ${IMAGE_SPLASH} \
+"
+
diff --git a/recipes/images/beagleboard-validation-e17-image.bb b/recipes/images/beagleboard-validation-e17-image.bb
new file mode 100644
index 0000000000..40db0ee939
--- /dev/null
+++ b/recipes/images/beagleboard-validation-e17-image.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Validation image with e17 desktop"
+
+inherit image
+
+export IMAGE_BASENAME = "validation-e17-image"
+
+IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+ROOTFS_POSTPROCESS_COMMAND += 'install_linguas; '
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_LOGIN_MANAGER = "shadow"
+IMAGE_SPLASH = "psplash-angstrom"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+IMAGE_INSTALL += " \
+ task-omap-drivers \
+ task-base-extended \
+ task-beagleboard-validation-base \
+ task-beagleboard-validation-gui \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ ${IMAGE_SPLASH} \
+"
+
diff --git a/recipes/images/beagleboard-validation-gnome-image.bb b/recipes/images/beagleboard-validation-gnome-image.bb
new file mode 100644
index 0000000000..f82c6ca346
--- /dev/null
+++ b/recipes/images/beagleboard-validation-gnome-image.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Validation image based on the GNOME desktop"
+
+inherit image
+
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-video-fbdev \
+ xf86-video-sisusb \
+ xf86-input-keyboard \
+"
+
+export IMAGE_BASENAME = "validation-GNOME-image"
+
+IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+ROOTFS_POSTPROCESS_COMMAND += 'install_linguas; '
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_LOGIN_MANAGER = "shadow"
+IMAGE_SPLASH = "psplash-angstrom"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+IMAGE_INSTALL += " \
+ task-omap-drivers \
+ task-base-extended \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ ${IMAGE_SPLASH} \
+ angstrom-task-gnome \
+ angstrom-gdm-autologin-hack \
+ bash-sh \
+"
+
diff --git a/recipes/linux/linux-davinci.inc b/recipes/linux/linux-davinci.inc
index a1233d4fc0..6ee5752796 100644
--- a/recipes/linux/linux-davinci.inc
+++ b/recipes/linux/linux-davinci.inc
@@ -8,7 +8,7 @@ require multi-kernel.inc
SRC_URI = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \
file://defconfig"
-COMPATIBLE_MACHINE = "(dm6446-evm|dm6467-evm|dm6467t-evm|dm355-evm|dm365-evm)"
+COMPATIBLE_MACHINE = "(dm6446-evm|dm6467-evm|dm6467t-evm|dm355-evm|dm365-evm|dm386-evm)"
S = "${WORKDIR}/git"
diff --git a/recipes/linux/linux-davinci/dm365-evm/defconfig b/recipes/linux/linux-davinci/dm365/defconfig
index 3a294fd7bc..3a294fd7bc 100644
--- a/recipes/linux/linux-davinci/dm365-evm/defconfig
+++ b/recipes/linux/linux-davinci/dm365/defconfig
diff --git a/recipes/linux/linux-davinci_git.bb b/recipes/linux/linux-davinci_git.bb
index e25a15ab16..13e2f61b84 100644
--- a/recipes/linux/linux-davinci_git.bb
+++ b/recipes/linux/linux-davinci_git.bb
@@ -3,7 +3,7 @@ require multi-kernel.inc
DESCRIPTION = "Linux kernel for DaVinci processors"
KERNEL_IMAGETYPE = "uImage"
-COMPATIBLE_MACHINE = "(dm355-evm|dm365-evm|dm6446-evm|dm6467-evm|dm6467t-evm|omapl137|omapl138|dm355-leopard|davinci-sffsdr|hawkboard)"
+COMPATIBLE_MACHINE = "(dm355-evm|dm365-evm|dm6446-evm|dm6467-evm|dm6467t-evm|omapl137|omapl138|dm355-leopard|davinci-sffsdr|hawkboard|dm368-evm)"
DEFAULT_PREFERENCE = "1"
DEFAULT_PREFERENCE_dm365 = "-1"
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0001-omap-Beagle-revision-detection.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0001-omap-Beagle-revision-detection.patch
new file mode 100644
index 0000000000..f29c9a6d1c
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0001-omap-Beagle-revision-detection.patch
@@ -0,0 +1,135 @@
+From 325afc09116e11e28265b648ef33d8c0306c61f1 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Thu, 23 Sep 2010 18:22:47 -0700
+Subject: [PATCH 01/10] omap: Beagle: revision detection
+
+Due to the omap3530 ES3.0 Silicon being used on both the
+B5/B6 and C1/2/3 Beagle we can't use the cpu_is_omap34xx()
+routines to differentiate the Beagle Boards.
+
+However gpio pins 171,172,173 where setup for this prupose, so
+lets use them.
+
+Changes:
+for older U-Boot's, use omap_mux_init_gpio()
+keep Beagle Rev in board-omap3beagle.c
+gpio_free on gpio request failure
+
+Tested on Beagle Revisions: B5, C2, C4, and xMA
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+Acked-by: Jarkko Nikula <jhnikula@gmail.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 88 +++++++++++++++++++++++++++++++
+ 1 files changed, 88 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 2677b41..7ca2b3b 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -175,6 +175,93 @@ static void __init omap3beagle_ks8851_init(void)
+ static inline void __init omap3beagle_ks8851_init(void) { return; }
+ #endif
+
++/*
++ * OMAP3 Beagle revision
++ * Run time detection of Beagle revision is done by reading GPIO.
++ * GPIO ID -
++ * AXBX = GPIO173, GPIO172, GPIO171: 1 1 1
++ * C1_3 = GPIO173, GPIO172, GPIO171: 1 1 0
++ * C4 = GPIO173, GPIO172, GPIO171: 1 0 1
++ * XM = GPIO173, GPIO172, GPIO171: 0 0 0
++ */
++enum {
++ OMAP3BEAGLE_BOARD_UNKN = 0,
++ OMAP3BEAGLE_BOARD_AXBX,
++ OMAP3BEAGLE_BOARD_C1_3,
++ OMAP3BEAGLE_BOARD_C4,
++ OMAP3BEAGLE_BOARD_XM,
++};
++
++static u8 omap3_beagle_version;
++
++static u8 omap3_beagle_get_rev(void)
++{
++ return omap3_beagle_version;
++}
++
++static void __init omap3_beagle_init_rev(void)
++{
++ int ret;
++ u16 beagle_rev = 0;
++
++ omap_mux_init_gpio(171, OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_gpio(172, OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_gpio(173, OMAP_PIN_INPUT_PULLUP);
++
++ ret = gpio_request(171, "rev_id_0");
++ if (ret < 0)
++ goto fail0;
++
++ ret = gpio_request(172, "rev_id_1");
++ if (ret < 0)
++ goto fail1;
++
++ ret = gpio_request(173, "rev_id_2");
++ if (ret < 0)
++ goto fail2;
++
++ gpio_direction_input(171);
++ gpio_direction_input(172);
++ gpio_direction_input(173);
++
++ beagle_rev = gpio_get_value(171) | (gpio_get_value(172) << 1)
++ | (gpio_get_value(173) << 2);
++
++ switch (beagle_rev) {
++ case 7:
++ printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
++ break;
++ case 6:
++ printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
++ break;
++ case 5:
++ printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
++ break;
++ case 0:
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
++ break;
++ default:
++ printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
++ }
++
++ return;
++
++fail2:
++ gpio_free(172);
++fail1:
++ gpio_free(171);
++fail0:
++ printk(KERN_ERR "Unable to get revision detection GPIO pins\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
++
++ return;
++}
++
+ static struct mtd_partition omap3beagle_nand_partitions[] = {
+ /* All the partition sizes are listed in terms of NAND block size */
+ {
+@@ -853,6 +940,7 @@ static int __init cameraboard_setup(char *str)
+ static void __init omap3_beagle_init(void)
+ {
+ omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
++ omap3_beagle_init_rev();
+ omap3_beagle_i2c_init();
+
+ if (cpu_is_omap3630()) {
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0002-omap-Beagle-only-Cx-boards-use-pin-23-for-write-prot.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0002-omap-Beagle-only-Cx-boards-use-pin-23-for-write-prot.patch
new file mode 100644
index 0000000000..f8512867ee
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0002-omap-Beagle-only-Cx-boards-use-pin-23-for-write-prot.patch
@@ -0,0 +1,35 @@
+From 34d88746a9aa4aedb67e32579e559cbeb91de20f Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Thu, 23 Sep 2010 18:22:48 -0700
+Subject: [PATCH 02/10] omap: Beagle: only Cx boards use pin 23 for write protect
+
+system_rev comes from u-boot and is a constant 0x20, so
+Bx boards also fall in this 'if' and will get setup with the
+wrong gpio_wp pin. Switch to using the Beagle revision routine
+to correcly set pin 23 only for C1/2/3 and C4 Boards. Bx boards
+will then use the correct default pin setting.
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+Acked-by: Jarkko Nikula <jhnikula@gmail.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 7ca2b3b..beb877c 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -444,7 +444,8 @@ static struct gpio_led gpio_leds[];
+ static int beagle_twl_gpio_setup(struct device *dev,
+ unsigned gpio, unsigned ngpio)
+ {
+- if (system_rev >= 0x20 && system_rev <= 0x34301000) {
++ if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
++ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
+ omap_mux_init_gpio(23, OMAP_PIN_INPUT);
+ mmc[0].gpio_wp = 23;
+ } else {
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0003-omap-Beagle-no-gpio_wp-pin-connection-on-xM.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0003-omap-Beagle-no-gpio_wp-pin-connection-on-xM.patch
new file mode 100644
index 0000000000..d7d3fefed4
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0003-omap-Beagle-no-gpio_wp-pin-connection-on-xM.patch
@@ -0,0 +1,33 @@
+From 037ef3add42d61dcd86438dc4b9378f154caa426 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Thu, 23 Sep 2010 18:22:48 -0700
+Subject: [PATCH 03/10] omap: Beagle: no gpio_wp pin connection on xM
+
+The omap3630 based BeagleBoard xM uses a MicroSD card slot with
+no write protection.
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+Acked-by: Jarkko Nikula <jhnikula@gmail.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index beb877c..247a426 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -444,7 +444,9 @@ static struct gpio_led gpio_leds[];
+ static int beagle_twl_gpio_setup(struct device *dev,
+ unsigned gpio, unsigned ngpio)
+ {
+- if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ mmc[0].gpio_wp = -EINVAL;
++ } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
+ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
+ omap_mux_init_gpio(23, OMAP_PIN_INPUT);
+ mmc[0].gpio_wp = 23;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch
new file mode 100644
index 0000000000..e646d3ebae
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch
@@ -0,0 +1,42 @@
+From 62db06de896c221cfa2231a53a933d6b3e81d66d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@beagleboard.org>
+Date: Tue, 11 Jan 2011 17:13:35 +0000
+Subject: [PATCH 04/10] omap3: beaglexm: fix EHCI power up GPIO dir
+
+EHCI enable power pin is inverted (active high) in comparison
+to vanilla beagle which is active low. Handle this case conditionally.
+
+Without this fix, Beagle XM 4 port EHCI will not function and no
+networking will be available
+
+[nm@ti.com: split up, added descriptive changelogs]
+Signed-off-by: Nishanth Menon <nm@ti.com>
+Signed-off-by: Koen Kooi <koen@beagleboard.org>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 247a426..7cfa2c8 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -487,6 +487,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+ }
+
++ /*
++ * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
++ * high / others active low)
++ */
++ gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
++ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
++ else
++ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0005-omap3-beaglexm-fix-DVI-reset-GPIO.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0005-omap3-beaglexm-fix-DVI-reset-GPIO.patch
new file mode 100644
index 0000000000..6e6ab41b36
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0005-omap3-beaglexm-fix-DVI-reset-GPIO.patch
@@ -0,0 +1,48 @@
+From 3d93d0b8974c867db70cb4a8681615113ac6113d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@beagleboard.org>
+Date: Tue, 11 Jan 2011 17:13:36 +0000
+Subject: [PATCH 05/10] omap3: beaglexm: fix DVI reset GPIO
+
+GPIO reset line for Beagle XM is different from vanilla beagle
+so we populate it as part of gpio update routine.
+
+This in part fixes the issue of display not functioning on beagle XM
+platform.
+
+[nm@ti.com: split up, added descriptive changelogs]
+Signed-off-by: Nishanth Menon <nm@ti.com>
+Signed-off-by: Koen Kooi <koen@beagleboard.org>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 7cfa2c8..939de5a 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -336,7 +336,7 @@ static struct omap_dss_device beagle_dvi_device = {
+ .name = "dvi",
+ .driver_name = "generic_panel",
+ .phy.dpi.data_lines = 24,
+- .reset_gpio = 170,
++ .reset_gpio = -EINVAL,
+ .platform_enable = beagle_enable_dvi,
+ .platform_disable = beagle_disable_dvi,
+ };
+@@ -497,6 +497,12 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ else
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+
++ /* DVI reset GPIO is different between beagle revisions */
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
++ beagle_dvi_device.reset_gpio = 129;
++ else
++ beagle_dvi_device.reset_gpio = 170;
++
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0006-omap3-beaglexm-fix-power-on-of-DVI.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0006-omap3-beaglexm-fix-power-on-of-DVI.patch
new file mode 100644
index 0000000000..ba74284b90
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0006-omap3-beaglexm-fix-power-on-of-DVI.patch
@@ -0,0 +1,92 @@
+From 7ad849e3d54d897614a74ad225392bd243e07d2e Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@beagleboard.org>
+Date: Wed, 12 Jan 2011 00:23:29 +0000
+Subject: [PATCH 06/10] omap3: beaglexm: fix power on of DVI
+
+TFP410 DVI chip is used to provide display out.
+This chip is controlled by 2 lines:
+LDO which supplies the power is controlled over gpio + 2
+and the enable of the chip itself is done over gpio + 1
+NOTE: the LDO is necessary for LED, serial blocks as well.
+
+gpio + 1 was used to sense USB overcurrent in vanilla beagle.
+
+Without this fix, the display would not function as the LDO
+remains shut down.
+
+[nm@ti.com: split up, added descriptive changelogs]
+Signed-off-by: Nishanth Menon <nm@ti.com>
+Signed-off-by: Koen Kooi <koen@beagleboard.org>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 40 +++++++++++++++++++++++++++++++
+ 1 files changed, 40 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 939de5a..9880c5c 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -444,6 +444,8 @@ static struct gpio_led gpio_leds[];
+ static int beagle_twl_gpio_setup(struct device *dev,
+ unsigned gpio, unsigned ngpio)
+ {
++ int r;
++
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
+ mmc[0].gpio_wp = -EINVAL;
+ } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
+@@ -465,6 +467,17 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ * power switch and overcurrent detect
+ */
+
++ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
++ r = gpio_request(gpio + 1, "EHCI_nOC");
++ if (!r) {
++ r = gpio_direction_input(gpio + 1);
++ if (r)
++ gpio_free(gpio + 1);
++ }
++ if (r)
++ pr_err("%s: unable to configure EHCI_nOC\n", __func__);
++ }
++
+ if (cpu_is_omap3630()) {
+ /* Power on DVI, Serial and PWR led */
+ gpio_request(gpio + 1, "nDVI_PWR_EN");
+@@ -506,6 +519,33 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+
++ /*
++ * gpio + 1 on Xm controls the TFP410's enable line (active low)
++ * gpio + 2 control varies depending on the board rev as follows:
++ * P7/P8 revisions(prototype): Camera EN
++ * A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
++ */
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ r = gpio_request(gpio + 1, "nDVI_PWR_EN");
++ if (!r) {
++ r = gpio_direction_output(gpio + 1, 0);
++ if (r)
++ gpio_free(gpio + 1);
++ }
++ if (r)
++ pr_err("%s: unable to configure nDVI_PWR_EN\n",
++ __func__);
++ r = gpio_request(gpio + 2, "DVI_LDO_EN");
++ if (!r) {
++ r = gpio_direction_output(gpio + 2, 1);
++ if (r)
++ gpio_free(gpio + 2);
++ }
++ if (r)
++ pr_err("%s: unable to configure DVI_LDO_EN\n",
++ __func__);
++ }
++
+ return 0;
+ }
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0007-beagleboard-hack-in-support-from-xM-rev-C.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0007-beagleboard-hack-in-support-from-xM-rev-C.patch
new file mode 100644
index 0000000000..0181f15208
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0007-beagleboard-hack-in-support-from-xM-rev-C.patch
@@ -0,0 +1,61 @@
+From b241e679f550f38062923eb7800a5c57a41fe95d Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Thu, 10 Mar 2011 13:15:38 +0100
+Subject: [PATCH 07/10] beagleboard: hack in support from xM rev C
+
+Based on patch by Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 20 ++++++++++++++++----
+ 1 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 9880c5c..4bde54b 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -182,7 +182,9 @@ static inline void __init omap3beagle_ks8851_init(void) { return; }
+ * AXBX = GPIO173, GPIO172, GPIO171: 1 1 1
+ * C1_3 = GPIO173, GPIO172, GPIO171: 1 1 0
+ * C4 = GPIO173, GPIO172, GPIO171: 1 0 1
+- * XM = GPIO173, GPIO172, GPIO171: 0 0 0
++ * XMA = GPIO173, GPIO172, GPIO171: 0 0 0
++ * XMB = GPIO173, GPIO172, GPIO171: 0 0 1
++ * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
+ */
+ enum {
+ OMAP3BEAGLE_BOARD_UNKN = 0,
+@@ -190,6 +192,7 @@ enum {
+ OMAP3BEAGLE_BOARD_C1_3,
+ OMAP3BEAGLE_BOARD_C4,
+ OMAP3BEAGLE_BOARD_XM,
++ OMAP3BEAGLE_BOARD_XMC,
+ };
+
+ static u8 omap3_beagle_version;
+@@ -241,12 +244,21 @@ static void __init omap3_beagle_init_rev(void)
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
+ break;
+ case 0:
+- printk(KERN_INFO "OMAP3 Beagle Rev: xM\n");
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM A\n");
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
+ break;
++ case 1:
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM B\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
++ break;
++ case 2:
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
++ break;
+ default:
+- printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
+- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
++ printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd, "
++ "assuming xM C or newer\n", beagle_rev);
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
+ }
+
+ return;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch
new file mode 100644
index 0000000000..513a1019c2
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch
@@ -0,0 +1,153 @@
+From 8bd3ffb5755c49aaffecb20b9bd43f955ac26251 Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Wed, 16 Mar 2011 09:21:06 -0500
+Subject: [PATCH 08/10] omap3: beagle: cleaned up board revision conditions
+
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 70 ++++++++++++++-----------------
+ 1 files changed, 32 insertions(+), 38 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 4bde54b..664a9c6 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -191,7 +191,7 @@ enum {
+ OMAP3BEAGLE_BOARD_AXBX,
+ OMAP3BEAGLE_BOARD_C1_3,
+ OMAP3BEAGLE_BOARD_C4,
+- OMAP3BEAGLE_BOARD_XM,
++ OMAP3BEAGLE_BOARD_XMAB,
+ OMAP3BEAGLE_BOARD_XMC,
+ };
+
+@@ -245,11 +245,11 @@ static void __init omap3_beagle_init_rev(void)
+ break;
+ case 0:
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM A\n");
+- omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMAB;
+ break;
+ case 1:
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM B\n");
+- omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMAB;
+ break;
+ case 2:
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
+@@ -458,13 +458,18 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ {
+ int r;
+
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ switch(omap3_beagle_get_rev())
++ {
++ case OMAP3BEAGLE_BOARD_XMAB:
++ case OMAP3BEAGLE_BOARD_XMC:
+ mmc[0].gpio_wp = -EINVAL;
+- } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
+- (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
++ break;
++ case OMAP3BEAGLE_BOARD_C1_3:
++ case OMAP3BEAGLE_BOARD_C4:
+ omap_mux_init_gpio(23, OMAP_PIN_INPUT);
+ mmc[0].gpio_wp = 23;
+- } else {
++ break;
++ default:
+ omap_mux_init_gpio(29, OMAP_PIN_INPUT);
+ }
+ /* gpio + 0 is "mmc0_cd" (input/IRQ) */
+@@ -479,7 +484,8 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ * power switch and overcurrent detect
+ */
+
+- if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
++ if ((omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMAB) &&
++ (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC)) {
+ r = gpio_request(gpio + 1, "EHCI_nOC");
+ if (!r) {
+ r = gpio_direction_input(gpio + 1);
+@@ -490,54 +496,41 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ pr_err("%s: unable to configure EHCI_nOC\n", __func__);
+ }
+
+- 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);
+- }
+- else {
+- 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, 0);
+- }
+-
+ /*
+- * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
++ * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, xM Ax/Bx active
+ * high / others active low)
+ */
+ gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMAB)
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
+ else
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+
+ /* DVI reset GPIO is different between beagle revisions */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
+- beagle_dvi_device.reset_gpio = 129;
+- else
++ switch(omap3_beagle_get_rev())
++ {
++ case OMAP3BEAGLE_BOARD_AXBX:
++ case OMAP3BEAGLE_BOARD_C1_3:
++ case OMAP3BEAGLE_BOARD_C4:
+ beagle_dvi_device.reset_gpio = 170;
++ break;
++ case OMAP3BEAGLE_BOARD_XMAB:
++ case OMAP3BEAGLE_BOARD_XMC:
++ default:
++ beagle_dvi_device.reset_gpio = 129;
++ }
+
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+
+ /*
+- * gpio + 1 on Xm controls the TFP410's enable line (active low)
++ * gpio + 1 on xM controls the TFP410's enable line (active low)
+ * gpio + 2 control varies depending on the board rev as follows:
+ * P7/P8 revisions(prototype): Camera EN
+ * A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
+ */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMAB) ||
++ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)) {
+ r = gpio_request(gpio + 1, "nDVI_PWR_EN");
+ if (!r) {
+ r = gpio_direction_output(gpio + 1, 0);
+@@ -1013,7 +1006,8 @@ static void __init omap3_beagle_init(void)
+ omap3_beagle_init_rev();
+ omap3_beagle_i2c_init();
+
+- if (cpu_is_omap3630()) {
++ if ((omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMAB) &&
++ (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC)) {
+ gpio_buttons[0].gpio = 4;
+ }
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp_2.6.32.bb b/recipes/linux/linux-omap-psp_2.6.32.bb
index 78fb7c423b..b392fc072f 100644
--- a/recipes/linux/linux-omap-psp_2.6.32.bb
+++ b/recipes/linux/linux-omap-psp_2.6.32.bb
@@ -9,7 +9,7 @@ COMPATIBLE_MACHINE = "am3517-crane|beagleboard|omap3evm|am3517-evm|dm37x-evm|am3
SRCREV = "5fc29e7b2a76a64a739f857858ef0b98294aa155"
# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
-MACHINE_KERNEL_PR_append = "+gitr${SRCREV}"
+MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
SRC_URI = "git://arago-project.org/git/projects/linux-omap3.git;protocol=http;branch=master \
file://0001-Added-Crane-Board-support.patch \
@@ -141,6 +141,14 @@ SRC_URI = "git://arago-project.org/git/projects/linux-omap3.git;protocol=http;br
file://defconfig"
SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
+ file://beagleboard-xmc/0001-omap-Beagle-revision-detection.patch \
+ file://beagleboard-xmc/0002-omap-Beagle-only-Cx-boards-use-pin-23-for-write-prot.patch \
+ file://beagleboard-xmc/0003-omap-Beagle-no-gpio_wp-pin-connection-on-xM.patch \
+ file://beagleboard-xmc/0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch \
+ file://beagleboard-xmc/0005-omap3-beaglexm-fix-DVI-reset-GPIO.patch \
+ file://beagleboard-xmc/0006-omap3-beaglexm-fix-power-on-of-DVI.patch \
+ file://beagleboard-xmc/0007-beagleboard-hack-in-support-from-xM-rev-C.patch \
+ file://beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch \
"
SRC_URI_append_omap3-touchbook = " \
diff --git a/recipes/tasks/task-beagleboard-nand.bb b/recipes/tasks/task-beagleboard-nand.bb
index 1c12f2c1c2..edf62b5aa9 100644
--- a/recipes/tasks/task-beagleboard-nand.bb
+++ b/recipes/tasks/task-beagleboard-nand.bb
@@ -1,5 +1,7 @@
DESCRIPTION = "Task for putting an X11 desktop in NAND"
+PR = "r1"
+
inherit task
ECONFIG ?= "places e-wm-config-angstrom e-wm-config-angstrom-widescreen e-wm-config-default"
@@ -29,7 +31,11 @@ RDEPENDS_${PN} = "\
picodlp-control \
network-manager-applet \
gnome-bluetooth \
-"
+bc e2fsprogs-mke2fs util-linux-ng-fdisk \
+util-linux-ng-sfdisk dosfstools beagleboard-test-scripts sox \
+alsa-utils-aplay ti-dsplink-examples i2c-tools memtester cpuburn-neon \
+evtest devmem2 matrix-gui mtd-utils mplayer x11vnc \
+angstrom-x11vnc-xinit"
# Install all kernel modules
RRECOMMENDS_${PN} += " \
diff --git a/recipes/tasks/task-beagleboard-validation.bb b/recipes/tasks/task-beagleboard-validation.bb
new file mode 100644
index 0000000000..9edb26bd27
--- /dev/null
+++ b/recipes/tasks/task-beagleboard-validation.bb
@@ -0,0 +1,62 @@
+inherit task
+
+PV = "1.1"
+PR = "r4"
+
+PACKAGE_ARCH = "all"
+ALLOW_EMPTY = "1"
+
+ECONFIG ?= "places e-wm-config-angstrom"
+EMENU ?= "e-wm-menu"
+
+PACKAGES =+ "task-beagleboard-validation-base task-beagleboard-validation-gui task-beagleboard-validation-gui-extras"
+
+RDEPENDS_task-beagleboard-validation-base = "\
+ task-base-extended \
+ task-omap-drivers \
+ bc \
+ e2fsprogs-mke2fs \
+ util-linux-ng-fdisk util-linux-ng-sfdisk \
+ dosfstools \
+ beagleboard-test-scripts \
+ sox \
+ alsa-utils-aplay \
+ ti-dsplink-examples \
+ i2c-tools \
+ memtester \
+ cpuburn-neon \
+ evtest \
+ devmem2 \
+ mtd-utils \
+ mplayer \
+ nmap iperf \
+ powertop oprofile \
+ angstrom-led-config \
+ cron ntpdate \
+ picodlp-control \
+ openssh-scp openssh-ssh \
+ nodejs \
+"
+
+
+RDEPENDS_task-beagleboard-validation-gui = " \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ angstrom-zeroconf-audio \
+ gpe-scap \
+ mime-support e-wm ${ECONFIG} ${EMENU} \
+ xterm \
+ hicolor-icon-theme gnome-icon-theme \
+ synergy \
+ angstrom-gnome-icon-theme-enable \
+ network-manager-applet \
+ gnome-bluetooth \
+ x11vnc angstrom-x11vnc-xinit \
+"
+
+RDEPENDS_task-beagleboard-validation-gui-extras = "\
+ matrix-gui \
+ midori \
+"
+
diff --git a/recipes/tasks/task-omap-drivers.bb b/recipes/tasks/task-omap-drivers.bb
new file mode 100644
index 0000000000..fe29344269
--- /dev/null
+++ b/recipes/tasks/task-omap-drivers.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Task for extra drivers for Texas Instruments OMAP chips"
+
+PR = "r2"
+
+inherit task
+
+RDEPENDS_${PN} = "\
+ rt73-firmware \
+ zd1211-firmware \
+ linux-firmware-wl12xx \
+ rfkill \
+ cpufrequtils \
+ "
+
+RRECOMMENDS_${PN} = "\
+ \
+ kernel-module-bluetooth \
+ kernel-module-hci-usb \
+ kernel-module-hci-uart \
+ \
+ kernel-module-wl12xx \
+ kernel-module-wl12xx-sdio \
+ kernel-module-wl12xx-spi \
+ \
+ kernel-module-wl1271 \
+ kernel-module-wl1271-sdio \
+ kernel-module-wl1271-spi \
+ kernel-module-btwilink \
+ \
+ kernel-module-rt73usb \
+ kernel-module-rt2x00usb \
+ kernel-module-zd1211rw \
+ \
+ omap3-sgx-modules \
+ "
diff --git a/recipes/ti/matrix-gui-common.inc b/recipes/ti/matrix-gui-common.inc
index c0edbfd485..486cb8df13 100644
--- a/recipes/ti/matrix-gui-common.inc
+++ b/recipes/ti/matrix-gui-common.inc
@@ -4,11 +4,12 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r7"
+INC_PR = "r8"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x)"
-PLATFORM_dm365 = "dm365"
+PLATFORM_dm365-evm = "dm365"
+PLATFORM_dm368-evm = "dm368"
PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
diff --git a/recipes/ti/matrix-gui-e.inc b/recipes/ti/matrix-gui-e.inc
index ba8012c466..e19b5b975f 100644
--- a/recipes/ti/matrix-gui-e.inc
+++ b/recipes/ti/matrix-gui-e.inc
@@ -4,11 +4,12 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r21"
+INC_PR = "r22"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x)"
-PLATFORM_dm365 = "dm365"
+PLATFORM_dm365-evm = "dm365"
+PLATFORM_dm368-evm = "dm368"
PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
diff --git a/recipes/ti/matrix-gui.inc b/recipes/ti/matrix-gui.inc
index 82ec6ab1e3..240e695c95 100644
--- a/recipes/ti/matrix-gui.inc
+++ b/recipes/ti/matrix-gui.inc
@@ -4,11 +4,12 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r19"
+INC_PR = "r20"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x)"
-PLATFORM_dm365 = "dm365"
+PLATFORM_dm365-evm = "dm365"
+PLATFORM_dm368-evm = "dm368"
PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
diff --git a/recipes/ti/ti-pru-sw-examples_1.00.00.bb b/recipes/ti/ti-pru-sw-examples_1.00.00.bb
index f5fa8d5233..45a01eb7b2 100644
--- a/recipes/ti/ti-pru-sw-examples_1.00.00.bb
+++ b/recipes/ti/ti-pru-sw-examples_1.00.00.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://gforge.ti.com/gf/project/pru_sw/"
LICENSE = "BSD"
DEPENDS += "ti-pru-sw-app-loader ti-pru-sw-edma-library"
RDEPENDS += "ti-pru-sw-edma-driver kernel-module-uio-pru"
-PR = "r2+svnr${SRCPV}"
+PR = "r4+svnr${SRCPV}"
COMPATIBLE_MACHINE = "omapl138"
@@ -14,7 +14,7 @@ S = "${WORKDIR}/trunk"
do_compile () {
make -C ${S}/example_apps \
- CC=${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc \
+ CC="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" \
BINDIR_APPLICATIONS="${S}/example_apps/bin" \
BINDIR_FW="${S}/example_apps/bin" \
UTILS_DIR="${S}/utils"
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0001-Enable-I2C-bus-switching.patch b/recipes/u-boot/u-boot-git/beagleboard/0001-Enable-I2C-bus-switching.patch
deleted file mode 100644
index 551e44a67a..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0001-Enable-I2C-bus-switching.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 5b5eb18bfb80fa9595eb258a911a94f2807e7497 Mon Sep 17 00:00:00 2001
-From: Syed Mohammed Khasim <khasim@ti.com>
-Date: Mon, 18 Jan 2010 18:11:14 +0530
-Subject: [PATCH 01/50] Enable I2C bus switching
-
-OMAP3 supports Multiple I2C channels, this patch allows
-us to use i2c dev <bus no> command to switch between busses.
-
-Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
-Acked-by: Heiko Schocher <hs@denx.de>
-(cherry picked from commit 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9)
----
- drivers/i2c/omap24xx_i2c.c | 5 +++++
- include/configs/omap3_beagle.h | 6 ++++++
- 2 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
-index ff18991..e8c8184 100644
---- a/drivers/i2c/omap24xx_i2c.c
-+++ b/drivers/i2c/omap24xx_i2c.c
-@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)
-
- return 0;
- }
-+
-+int i2c_get_bus_num(void)
-+{
-+ return (int) current_bus;
-+}
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 08d79ac..d522c77 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -100,6 +100,12 @@
- /* DDR - I use Micron DDR */
- #define CONFIG_OMAP3_MICRON_DDR 1
-
-+/* Enable Multi Bus support for I2C */
-+#define CONFIG_I2C_MULTI_BUS 1
-+
-+/* Probe all devices */
-+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}
-+
- /* USB */
- #define CONFIG_MUSB_UDC 1
- #define CONFIG_USB_OMAP3 1
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch b/recipes/u-boot/u-boot-git/beagleboard/0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch
new file mode 100644
index 0000000000..7e88d7045a
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch
@@ -0,0 +1,46 @@
+From 7b250f8be3b8c496796dcdc954c9e5959cefea2c Mon Sep 17 00:00:00 2001
+From: Bob Feretich <bob.feretich@rafresearch.com>
+Date: Thu, 24 Feb 2011 13:16:44 +0000
+Subject: [PATCH 01/16] OMAP3 Beagle Pin Mux initialization glitch fix
+
+The below patch reverses the order of two segments in the board file.
+Output pins need to have their values initialized, before they are
+exposed to the logic outside the chip.
+
+Signed-off-by: Bob Feretich <bob.feretich@rafresearch.com>
+Cc: Wolfgang Denk <wd@denx.de>
+---
+ board/ti/beagle/beagle.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index c066d6e..929461c 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -239,17 +239,17 @@ int misc_init_r(void)
+ twl4030_power_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
+
+- /* Configure GPIOs to output */
+- writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
+- writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
+- GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
+-
+- /* Set GPIOs */
++ /* Set GPIO states before they are made outputs */
+ writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
+ &gpio6_base->setdataout);
+ writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
+ GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
+
++ /* Configure GPIOs to output */
++ writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
++ writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
++ GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
++
+ dieid_num_r();
+
+ return 0;
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0021-OMAP3-Beagle-Overo-remove-omapfb.debug-y-from-defaul.patch b/recipes/u-boot/u-boot-git/beagleboard/0002-OMAP-Remove-omapfb.debug-y-from-Beagle-and-Overo-env.patch
index f3cd169b90..707cc79005 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/0021-OMAP3-Beagle-Overo-remove-omapfb.debug-y-from-defaul.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/0002-OMAP-Remove-omapfb.debug-y-from-Beagle-and-Overo-env.patch
@@ -1,18 +1,21 @@
-From 0fd26c84173c9a589c6cd9c0db6d2200e769134b Mon Sep 17 00:00:00 2001
+From 0588da9057fddb5f6a6a04aedd7e0a79eb39e9e5 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
-Date: Thu, 25 Mar 2010 06:54:47 -0700
-Subject: [PATCH 21/50] OMAP3: Beagle, Overo: remove omapfb.debug=y from default env
+Date: Thu, 30 Dec 2010 07:19:44 +0000
+Subject: [PATCH 02/16] OMAP: Remove omapfb.debug=y from Beagle and Overo env settings
+The kernel DSS2 code is mature now, and keeping this setting hurts performance
+
+Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
include/configs/omap3_beagle.h | 2 --
include/configs/omap3_overo.h | 2 --
2 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 1370a29..8bedf7d 100644
+index 5cfa4cb..8b580ef 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
-@@ -200,7 +200,6 @@
+@@ -203,7 +203,6 @@
"mpurate=${mpurate} " \
"vram=${vram} " \
"omapfb.mode=dvi:${dvimode} " \
@@ -20,7 +23,7 @@ index 1370a29..8bedf7d 100644
"omapdss.def_disp=${defaultdisplay} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype}\0" \
-@@ -208,7 +207,6 @@
+@@ -211,7 +210,6 @@
"mpurate=${mpurate} " \
"vram=${vram} " \
"omapfb.mode=dvi:${dvimode} " \
@@ -29,10 +32,10 @@ index 1370a29..8bedf7d 100644
"root=${nandroot} " \
"rootfstype=${nandrootfstype}\0" \
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
-index 27b5476..118e886 100644
+index 1b3d439..06a28f6 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
-@@ -163,7 +163,6 @@
+@@ -169,7 +169,6 @@
"mpurate=${mpurate} " \
"vram=${vram} " \
"omapfb.mode=dvi:${dvimode} " \
@@ -40,7 +43,7 @@ index 27b5476..118e886 100644
"omapdss.def_disp=${defaultdisplay} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype}\0" \
-@@ -171,7 +170,6 @@
+@@ -177,7 +176,6 @@
"mpurate=${mpurate} " \
"vram=${vram} " \
"omapfb.mode=dvi:${dvimode} " \
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0002-OMAP3-add-board-revision-detection-for-Overo.patch b/recipes/u-boot/u-boot-git/beagleboard/0002-OMAP3-add-board-revision-detection-for-Overo.patch
deleted file mode 100644
index e7c3cec18e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0002-OMAP3-add-board-revision-detection-for-Overo.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From 8cea9443be01ccc2525ff1de17b0dddd7c27984e Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Wed, 10 Feb 2010 14:40:56 -0800
-Subject: [PATCH 02/50] OMAP3: add board revision detection for Overo
-
----
- board/overo/overo.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++
- board/overo/overo.h | 43 +++++++++++++++++++++---
- 2 files changed, 127 insertions(+), 6 deletions(-)
-
-diff --git a/board/overo/overo.c b/board/overo/overo.c
-index e85be7d..3df1a12 100644
---- a/board/overo/overo.c
-+++ b/board/overo/overo.c
-@@ -61,11 +61,101 @@ int board_init(void)
- }
-
- /*
-+ * Routine: get_sdio2_config
-+ * Description: Return information about the wifi module connection
-+ * Returns 0 if the module connects though a level translator
-+ * Returns 1 if the module connects directly
-+ */
-+int get_sdio2_config(void) {
-+ int sdio_direct;
-+
-+ if (!omap_request_gpio(130) && !omap_request_gpio(139)){
-+
-+ omap_set_gpio_direction(130, 0);
-+ omap_set_gpio_direction(139, 1);
-+
-+ sdio_direct = 1;
-+ omap_set_gpio_dataout(130, 0);
-+ if (omap_get_gpio_datain(139) == 0) {
-+ omap_set_gpio_dataout(130, 1);
-+ if (omap_get_gpio_datain(139) == 1)
-+ sdio_direct = 0;
-+ }
-+
-+ omap_free_gpio(130);
-+ omap_free_gpio(139);
-+ } else {
-+ printf("Error: unable to acquire sdio2 clk GPIOs\n");
-+ sdio_direct=-1;
-+ }
-+
-+ return sdio_direct;
-+}
-+
-+/*
-+ * Routine: get_board_revision
-+ * Description: Returns the board revision
-+ */
-+int get_board_revision(void) {
-+ int revision;
-+
-+ if (!omap_request_gpio(126) && !omap_request_gpio(127) &&
-+ !omap_request_gpio(128) && !omap_request_gpio(129)){
-+
-+ omap_set_gpio_direction(126, 1);
-+ omap_set_gpio_direction(127, 1);
-+ omap_set_gpio_direction(128, 1);
-+ omap_set_gpio_direction(129, 1);
-+
-+ revision = 0;
-+ if (omap_get_gpio_datain(126) == 0)
-+ revision += 1;
-+ if (omap_get_gpio_datain(127) == 0)
-+ revision += 2;
-+ if (omap_get_gpio_datain(128) == 0)
-+ revision += 4;
-+ if (omap_get_gpio_datain(129) == 0)
-+ revision += 8;
-+
-+ omap_free_gpio(126);
-+ omap_free_gpio(127);
-+ omap_free_gpio(128);
-+ omap_free_gpio(129);
-+ } else {
-+ printf("Error: unable to acquire board revision GPIOs\n");
-+ revision=-1;
-+ }
-+
-+ return revision;
-+}
-+
-+/*
- * Routine: misc_init_r
- * Description: Configure board specific parts
- */
- int misc_init_r(void)
- {
-+ printf("Board revision: ");
-+ switch (get_board_revision()) {
-+ case 0:
-+ case 1:
-+ switch (get_sdio2_config()) {
-+ case 0:
-+ printf(" 0\n");
-+ MUX_OVERO_SDIO2_TRANSCEIVER();
-+ break;
-+ case 1:
-+ printf(" 1\n");
-+ MUX_OVERO_SDIO2_DIRECT();
-+ break;
-+ default:
-+ printf(" unknown\n");
-+ }
-+ break;
-+ default:
-+ printf(" unsupported\n");
-+ }
-+
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-
-diff --git a/board/overo/overo.h b/board/overo/overo.h
-index 1873523..e120e09 100644
---- a/board/overo/overo.h
-+++ b/board/overo/overo.h
-@@ -206,12 +206,12 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MMC1_DAT1), (IEN | PTU | EN | M0)) /*MMC1_DAT1*/\
- MUX_VAL(CP(MMC1_DAT2), (IEN | PTU | EN | M0)) /*MMC1_DAT2*/\
- MUX_VAL(CP(MMC1_DAT3), (IEN | PTU | EN | M0)) /*MMC1_DAT3*/\
-- MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | EN | M0)) /*MMC1_DAT4*/\
-- MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M0)) /*MMC1_DAT5*/\
-- MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M0)) /*MMC1_DAT6*/\
-- MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M0)) /*MMC1_DAT7*/\
-+ MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | EN | M4)) /*GPIO_126*/\
-+ MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M4)) /*GPIO_127*/\
-+ MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M4)) /*GPIO_128*/\
-+ MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M4)) /*GPIO_129*/\
- /*Wireless LAN */\
-- MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M4)) /*GPIO_130*/\
- MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
- MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
- MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
-@@ -220,7 +220,7 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT0*/\
- MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT1*/\
- MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M1)) /*MMC2_DIR_CMD*/\
-- MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M1)) /*MMC2_CLKIN*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139*/\
- /*Bluetooth*/\
- MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M1)) /*UART2_CTS*/\
- MUX_VAL(CP(MCBSP3_DR), (IDIS | PTD | DIS | M1)) /*UART2_RTS*/\
-@@ -387,5 +387,36 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(SDRC_CKE0), (IDIS | PTU | EN | M0)) /*sdrc_cke0*/\
- MUX_VAL(CP(SDRC_CKE1), (IDIS | PTU | EN | M0)) /*sdrc_cke1*/
-
-+#define MUX_OVERO_SDIO2_DIRECT() \
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
-+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
-+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
-+ MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M0)) /*MMC2_DAT4*/\
-+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M0)) /*MMC2_DAT5*/\
-+ MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M0)) /*MMC2_DAT6*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M0)) /*MMC2_DAT7*/\
-+ MUX_VAL(CP(MMC1_DAT4), (IEN | PTD | EN | M4)) /*GPIO_126*/\
-+ MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M4)) /*GPIO_127*/\
-+ MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M4)) /*GPIO_128*/\
-+ MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M4)) /*GPIO_129*/
-+
-+#define MUX_OVERO_SDIO2_TRANSCEIVER() \
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
-+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
-+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
-+ MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M1)) /*MMC2_DIR_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M1)) /*MMC2_CLKIN*/\
-+ MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | EN | M4)) /*GPIO_126*/\
-+ MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M4)) /*GPIO_127*/\
-+ MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M4)) /*GPIO_128*/\
-+ MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M4)) /*GPIO_129*/
-
- #endif
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0003-OMAP3-update-Beagle-revision-detection-to-recognize-.patch b/recipes/u-boot/u-boot-git/beagleboard/0003-OMAP3-update-Beagle-revision-detection-to-recognize-.patch
deleted file mode 100644
index 1d943cb08f..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0003-OMAP3-update-Beagle-revision-detection-to-recognize-.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From fae6228e203436ce0d82ce32da769bd91206865f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Wed, 10 Feb 2010 14:51:48 -0800
-Subject: [PATCH 03/50] OMAP3: update Beagle revision detection to recognize C4 boards
-
----
- board/ti/beagle/beagle.c | 77 +++++++++++++++++++++++++++-------------------
- board/ti/beagle/beagle.h | 7 +++-
- 2 files changed, 51 insertions(+), 33 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 3b4c9e7..ba16dd7 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -38,7 +38,7 @@
- #include <asm/mach-types.h>
- #include "beagle.h"
-
--static int beagle_revision_c;
-+static int beagle_revision;
-
- /*
- * Routine: board_init
-@@ -60,41 +60,38 @@ int board_init(void)
- /*
- * Routine: beagle_get_revision
- * Description: Return the revision of the BeagleBoard this code is running on.
-- * If it is a revision Ax/Bx board, this function returns 0,
-- * on a revision C board you will get a 1.
- */
- int beagle_get_revision(void)
- {
-- return beagle_revision_c;
-+ return beagle_revision;
- }
-
- /*
- * Routine: beagle_identify
-- * Description: Detect if we are running on a Beagle revision Ax/Bx or
-- * Cx. This can be done by GPIO_171. If this is low, we are
-- * running on a revision C board.
-+ * Description: Detect if we are running on a Beagle revision Ax/Bx,
-+ * C1/2/3, C4 or D. This can be done by reading
-+ * the level of GPIO173, GPIO172 and GPIO171. This should
-+ * result in
-+ * GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
-+ * GPIO173, GPIO172, GPIO171: 1 1 0 => C1/2/3
-+ * GPIO173, GPIO172, GPIO171: 1 0 1 => C4
-+ * GPIO173, GPIO172, GPIO171: 0 0 0 => D
- */
- void beagle_identify(void)
- {
-- beagle_revision_c = 0;
-- if (!omap_request_gpio(171)) {
-- unsigned int val;
--
-- omap_set_gpio_direction(171, 1);
-- val = omap_get_gpio_datain(171);
-- omap_free_gpio(171);
--
-- if (val)
-- beagle_revision_c = 0;
-- else
-- beagle_revision_c = 1;
-- }
--
-- printf("Board revision ");
-- if (beagle_revision_c)
-- printf("C\n");
-- else
-- printf("Ax/Bx\n");
-+ omap_request_gpio(171);
-+ omap_request_gpio(172);
-+ omap_request_gpio(173);
-+ omap_set_gpio_direction(171, 1);
-+ omap_set_gpio_direction(172, 1);
-+ omap_set_gpio_direction(173, 1);
-+
-+ beagle_revision = omap_get_gpio_datain(173) << 2 |
-+ omap_get_gpio_datain(172) << 1 |
-+ omap_get_gpio_datain(171);
-+ omap_free_gpio(171);
-+ omap_free_gpio(172);
-+ omap_free_gpio(173);
- }
-
- /*
-@@ -106,9 +103,31 @@ int misc_init_r(void)
- struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
- struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
-
-+ beagle_identify();
-+
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-
-+ printf("Board revision ");
-+ switch (beagle_revision) {
-+ case REVISION_AXBX:
-+ printf("Ax/Bx\n");
-+ break;
-+ case REVISION_CX:
-+ printf("C1/C2/C3\n");
-+ MUX_BEAGLE_C();
-+ break;
-+ case REVISION_C4:
-+ printf("C4\n");
-+ MUX_BEAGLE_C();
-+ break;
-+ case REVISION_D:
-+ printf("D\n");
-+ break;
-+ default:
-+ printf("unknown 0x%02x\n", beagle_revision);
-+ }
-+
- /* Configure GPIOs to output */
- writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
- writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
-@@ -120,8 +139,6 @@ int misc_init_r(void)
- writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
- GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
-
-- beagle_identify();
--
- dieid_num_r();
-
- return 0;
-@@ -136,8 +153,4 @@ int misc_init_r(void)
- void set_muxconf_regs(void)
- {
- MUX_BEAGLE();
--
-- if (beagle_revision_c) {
-- MUX_BEAGLE_C();
-- }
- }
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index 7fe6275..d95fd78 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -34,6 +34,11 @@ const omap3_sysinfo sysinfo = {
- };
-
- #define BOARD_REVISION_MASK (0x1 << 11)
-+/* BeagleBoard revisions */
-+#define REVISION_AXBX 0x7
-+#define REVISION_CX 0x6
-+#define REVISION_C4 0x5
-+#define REVISION_D 0x0
-
- /*
- * IEN - Input Enable
-@@ -264,7 +269,7 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(HDQ_SIO), (IDIS | PTU | EN | M4)) /*GPIO_170*/\
- MUX_VAL(CP(MCSPI1_CLK), (IEN | PTU | EN | M4)) /*GPIO_171*/\
- MUX_VAL(CP(MCSPI1_SIMO), (IEN | PTU | EN | M4)) /*GPIO_172*/\
-- MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTD | DIS | M0)) /*McSPI1_SOMI*/\
-+ MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTU | EN | M4)) /*GPIO_173*/\
- MUX_VAL(CP(MCSPI1_CS0), (IEN | PTD | EN | M0)) /*McSPI1_CS0*/\
- MUX_VAL(CP(MCSPI1_CS1), (IDIS | PTD | EN | M0)) /*McSPI1_CS1*/\
- MUX_VAL(CP(MCSPI1_CS2), (IDIS | PTD | DIS | M4)) /*GPIO_176*/\
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch b/recipes/u-boot/u-boot-git/beagleboard/0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch
new file mode 100644
index 0000000000..a68859e81a
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch
@@ -0,0 +1,89 @@
+From 58ca6009d4101e5fd45ef9df22aa360d1662e9e9 Mon Sep 17 00:00:00 2001
+From: Alexander Holler <holler@ahsoftware.de>
+Date: Mon, 24 Jan 2011 13:08:49 +0000
+Subject: [PATCH 03/16] omap3_beagle: enable the use of a plain text file named uEnv.txt instead of boot.scr
+
+Using the new env import command it is possible to use plain text files instead
+of script-images. Plain text files are much easier to handle.
+
+E.g. If your boot.scr contains the following:
+-----------------------------------
+setenv dvimode 1024x768-16@60
+run loaduimage
+run mmcboot
+-----------------------------------
+you could create a file named uEnv.txt and use that instead of boot.scr:
+-----------------------------------
+dvimode=1024x768-16@60
+uenvcmd=run loaduimage; run mmcboot
+-----------------------------------
+The variable uenvcmd (if existent) will be executed (using run) after uEnv.txt
+was loaded. If uenvcmd doesn't exist the default boot sequence will be started,
+therefore you could just use
+-----------------------------------
+dvimode=1024x768-16@60
+-----------------------------------
+as uEnv.txt because loaduimage and mmcboot is part of the default boot sequence.
+---
+Changes for v2:
+ - Eliminated else redundant clause that would be ignored if boot
+ succeeds.
+
+Changes for v3:
+ - Removed boot.scr
+
+Changes for v4:
+ - Removed comment about boot.scr being supported.
+---
+ include/configs/omap3_beagle.h | 28 ++++++++++++++++------------
+ 1 files changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index 8b580ef..c85537c 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -213,9 +213,9 @@
+ "omapdss.def_disp=${defaultdisplay} " \
+ "root=${nandroot} " \
+ "rootfstype=${nandrootfstype}\0" \
+- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
+- "bootscript=echo Running bootscript from mmc ...; " \
+- "source ${loadaddr}\0" \
++ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
++ "importbootenv=echo Importing environment from mmc ...; " \
++ "env import -t $loadaddr $filesize\0" \
+ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
+ "mmcboot=echo Booting from mmc ...; " \
+ "run mmcargs; " \
+@@ -227,15 +227,19 @@
+
+ #define CONFIG_BOOTCOMMAND \
+ "if mmc rescan ${mmcdev}; then " \
+- "if run loadbootscript; then " \
+- "run bootscript; " \
+- "else " \
+- "if run loaduimage; then " \
+- "run mmcboot; " \
+- "else run nandboot; " \
+- "fi; " \
+- "fi; " \
+- "else run nandboot; fi"
++ "echo SD/MMC found on device ${mmcdev};" \
++ "if run loadbootenv; then " \
++ "run importbootenv;" \
++ "fi;" \
++ "if test -n $uenvcmd; then " \
++ "echo Running uenvcmd ...;" \
++ "run uenvcmd;" \
++ "fi;" \
++ "if run loaduimage; then " \
++ "run mmcboot;" \
++ "fi;" \
++ "fi;" \
++ "run nandboot;" \
+
+ #define CONFIG_AUTO_COMPLETE 1
+ /*
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch b/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch
new file mode 100644
index 0000000000..4840d8697d
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch
@@ -0,0 +1,69 @@
+From 6859e4b88c405ed40c898d259227f158da5f867a Mon Sep 17 00:00:00 2001
+From: Steve Kipisz <s-kipisz2@ti.com>
+Date: Thu, 5 Aug 2010 10:36:07 -0500
+Subject: [PATCH 04/16] OMAP3: BeagleBoard: Enable pullups on i2c2.
+
+This allows the reading of EEPROMS on the expansion bus without adding
+external pull-ups.
+---
+v2 updates
+ * Updated per http://patchwork.ozlabs.org/patch/71997/
+ * Added description
+ * Used OMAP34XX_CTRL_BASE
+ * Used structure and writel to perform write
+
+v3 updates
+ * Included v3 in the subject line
+ * Fixed structure name typo that got messed up in generating patch
+ * Removed some extraneous blank lines
+
+v4 updates
+ * Fixed typo in typecast
+---
+ arch/arm/include/asm/arch-omap3/omap3.h | 14 ++++++++++++++
+ board/ti/beagle/beagle.c | 4 ++++
+ 2 files changed, 18 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/include/asm/arch-omap3/omap3.h b/arch/arm/include/asm/arch-omap3/omap3.h
+index 3957c79..cc2b541 100644
+--- a/arch/arm/include/asm/arch-omap3/omap3.h
++++ b/arch/arm/include/asm/arch-omap3/omap3.h
+@@ -50,6 +50,20 @@
+ /* CONTROL */
+ #define OMAP34XX_CTRL_BASE (OMAP34XX_L4_IO_BASE + 0x2000)
+
++#ifndef __ASSEMBLY__
++/* Signal Integrity Parameter Control Registers */
++struct control_prog_io {
++ unsigned char res[0x408];
++ unsigned int io2; /* 0x408 */
++ unsigned char res2[0x38];
++ unsigned int io0; /* 0x444 */
++ unsigned int io1; /* 0x448 */
++};
++#endif /* __ASSEMBLY__ */
++
++/* Bit definition for CONTROL_PROG_IO1 */
++#define PRG_I2C2_PULLUPRESX 0x00000001
++
+ /* UART */
+ #define OMAP34XX_UART1 (OMAP34XX_L4_IO_BASE + 0x6a000)
+ #define OMAP34XX_UART2 (OMAP34XX_L4_IO_BASE + 0x6c000)
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 929461c..9d03b24 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -148,6 +148,10 @@ int misc_init_r(void)
+ {
+ struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
+ struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
++ struct control_prog_io *prog_io_base = (struct control_prog_io *)OMAP34XX_CTRL_BASE;
++
++ /* Enable i2c2 pullup resisters */
++ writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1);
+
+ switch (get_board_revision()) {
+ case REVISION_AXBX:
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-Set-VAUX2-to-1.8V-for-EHCI-PHY-on-Beagle-Rev-C.patch b/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-Set-VAUX2-to-1.8V-for-EHCI-PHY-on-Beagle-Rev-C.patch
deleted file mode 100644
index a344f481de..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0004-OMAP3-Set-VAUX2-to-1.8V-for-EHCI-PHY-on-Beagle-Rev-C.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From a1a4ba7a5fce36522a994cb06d6d76931964578c Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Wed, 10 Feb 2010 15:23:19 -0800
-Subject: [PATCH 04/50] OMAP3: Set VAUX2 to 1.8V for EHCI PHY on Beagle Rev C4 boards
-
----
- board/ti/beagle/beagle.c | 5 +++++
- drivers/power/twl4030.c | 45 +++++++++++++++++++++++++--------------------
- include/twl4030.h | 15 +++++++++++++++
- 3 files changed, 45 insertions(+), 20 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index ba16dd7..b4ea7e6 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -120,6 +120,11 @@ int misc_init_r(void)
- case REVISION_C4:
- printf("C4\n");
- MUX_BEAGLE_C();
-+ /* Set VAUX2 to 1.8V for EHCI PHY */
-+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
-+ TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
-+ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
-+ TWL4030_PM_RECEIVER_DEV_GRP_P1);
- break;
- case REVISION_D:
- printf("D\n");
-diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c
-index eb066cb..f354834 100644
---- a/drivers/power/twl4030.c
-+++ b/drivers/power/twl4030.c
-@@ -59,57 +59,62 @@ void twl4030_power_reset_init(void)
- }
- }
-
--
--/*
-- * Power Init
-- */
--#define DEV_GRP_P1 0x20
--#define VAUX3_VSEL_28 0x03
--#define DEV_GRP_ALL 0xE0
--#define VPLL2_VSEL_18 0x05
--#define VDAC_VSEL_18 0x03
--
- void twl4030_power_init(void)
- {
- unsigned char byte;
-
- /* set VAUX3 to 2.8V */
-- byte = DEV_GRP_P1;
-+ byte = TWL4030_PM_RECEIVER_DEV_GRP_P1;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VAUX3_DEV_GRP);
-- byte = VAUX3_VSEL_28;
-+ byte = TWL4030_PM_RECEIVER_VAUX3_VSEL_28;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VAUX3_DEDICATED);
-
- /* set VPLL2 to 1.8V */
-- byte = DEV_GRP_ALL;
-+ byte = TWL4030_PM_RECEIVER_DEV_GRP_ALL;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VPLL2_DEV_GRP);
-- byte = VPLL2_VSEL_18;
-+ byte = TWL4030_PM_RECEIVER_VPLL2_VSEL_18;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VPLL2_DEDICATED);
-
- /* set VDAC to 1.8V */
-- byte = DEV_GRP_P1;
-+ byte = TWL4030_PM_RECEIVER_DEV_GRP_P1;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VDAC_DEV_GRP);
-- byte = VDAC_VSEL_18;
-+ byte = TWL4030_PM_RECEIVER_VDAC_VSEL_18;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VDAC_DEDICATED);
- }
-
--#define VMMC1_VSEL_30 0x02
--
- void twl4030_power_mmc_init(void)
- {
- unsigned char byte;
-
-- byte = DEV_GRP_P1;
-+ byte = TWL4030_PM_RECEIVER_DEV_GRP_P1;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VMMC1_DEV_GRP);
-
- /* 3 Volts */
-- byte = VMMC1_VSEL_30;
-+ byte = TWL4030_PM_RECEIVER_VMMC1_VSEL_30;
- twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
- TWL4030_PM_RECEIVER_VMMC1_DEDICATED);
- }
-+
-+/*
-+ * Generic function to select Device Group and Voltage
-+ */
-+void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
-+ u8 dev_grp, u8 dev_grp_sel)
-+{
-+ /* Select the Device Group */
-+ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
-+ dev_grp);
-+
-+ /* Select the Voltage */
-+ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
-+ vsel_reg);
-+}
-+
-+
-diff --git a/include/twl4030.h b/include/twl4030.h
-index 2b2f5ae..cc99403 100644
---- a/include/twl4030.h
-+++ b/include/twl4030.h
-@@ -471,6 +471,21 @@
- #define TWL4030_USB_PHY_CLK_CTRL_STS 0xFF
-
- /*
-+ * Voltage Selection in PM Receiver Module
-+ */
-+#define TWL4030_PM_RECEIVER_VAUX2_VSEL_18 0x05
-+#define TWL4030_PM_RECEIVER_VAUX3_VSEL_28 0x03
-+#define TWL4030_PM_RECEIVER_VPLL2_VSEL_18 0x05
-+#define TWL4030_PM_RECEIVER_VDAC_VSEL_18 0x03
-+#define TWL4030_PM_RECEIVER_VMMC1_VSEL_30 0x02
-+
-+/*
-+ * Device Selection in PM Receiver Module
-+ */
-+#define TWL4030_PM_RECEIVER_DEV_GRP_P1 0x20
-+#define TWL4030_PM_RECEIVER_DEV_GRP_ALL 0xE0
-+
-+/*
- * Convience functions to read and write from TWL4030
- *
- * chip_no is the i2c address, it must be one of the chip addresses
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch b/recipes/u-boot/u-boot-git/beagleboard/0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch
new file mode 100644
index 0000000000..0e8dd84030
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch
@@ -0,0 +1,111 @@
+From d2d1669e4e2d4eeb996305278c6e4df0b1e04a8d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 3 Nov 2010 14:48:31 +0100
+Subject: [PATCH 05/16] ARMV7: OMAP3: BeagleBoard: add xM rev B to ID table
+
+Patch was updated by Jason Kridner <jkridner@beagleboard.org>:
+* Use tabs to match style of other board revisions
+* Only include board revisions that exist
+* Default to the same configuration as the latest revision, but
+ without setting 'beaglerev'
+---
+v2 Changes
+ * Updated with feedback from http://patchwork.ozlabs.org/patch/71995/
+ * Removed setting of mpurate based on board revision
+ * Set mpurate to auto in default environment variables
+
+Cc: Koen Kooi <koen@dominion.thruhere.net>
+---
+ board/ti/beagle/beagle.c | 22 +++++++++++++++++-----
+ board/ti/beagle/beagle.h | 3 ++-
+ include/configs/omap3_beagle.h | 2 +-
+ 3 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 9d03b24..87a952e 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -157,18 +157,15 @@ int misc_init_r(void)
+ case REVISION_AXBX:
+ printf("Beagle Rev Ax/Bx\n");
+ setenv("beaglerev", "AxBx");
+- setenv("mpurate", "600");
+ break;
+ case REVISION_CX:
+ printf("Beagle Rev C1/C2/C3\n");
+ setenv("beaglerev", "Cx");
+- setenv("mpurate", "600");
+ MUX_BEAGLE_C();
+ break;
+ case REVISION_C4:
+ printf("Beagle Rev C4\n");
+ setenv("beaglerev", "C4");
+- setenv("mpurate", "720");
+ MUX_BEAGLE_C();
+ /* Set VAUX2 to 1.8V for EHCI PHY */
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
+@@ -176,10 +173,19 @@ int misc_init_r(void)
+ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
+ TWL4030_PM_RECEIVER_DEV_GRP_P1);
+ break;
+- case REVISION_XM:
++ case REVISION_XM_A:
+ printf("Beagle xM Rev A\n");
+ setenv("beaglerev", "xMA");
+- setenv("mpurate", "1000");
++ MUX_BEAGLE_XM();
++ /* Set VAUX2 to 1.8V for EHCI PHY */
++ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
++ TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
++ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
++ TWL4030_PM_RECEIVER_DEV_GRP_P1);
++ break;
++ case REVISION_XM_B:
++ printf("Beagle xM Rev B\n");
++ setenv("beaglerev", "xMB");
+ MUX_BEAGLE_XM();
+ /* Set VAUX2 to 1.8V for EHCI PHY */
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
+@@ -189,6 +195,12 @@ int misc_init_r(void)
+ break;
+ default:
+ printf("Beagle unknown 0x%02x\n", get_board_revision());
++ MUX_BEAGLE_XM();
++ /* Set VAUX2 to 1.8V for EHCI PHY */
++ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
++ TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
++ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
++ TWL4030_PM_RECEIVER_DEV_GRP_P1);
+ }
+
+ switch (get_expansion_id()) {
+diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
+index b22b653..b0e26e5 100644
+--- a/board/ti/beagle/beagle.h
++++ b/board/ti/beagle/beagle.h
+@@ -37,7 +37,8 @@ const omap3_sysinfo sysinfo = {
+ #define REVISION_AXBX 0x7
+ #define REVISION_CX 0x6
+ #define REVISION_C4 0x5
+-#define REVISION_XM 0x0
++#define REVISION_XM_A 0x0
++#define REVISION_XM_B 0x1
+
+ /*
+ * IEN - Input Enable
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index c85537c..51e14d0 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -190,7 +190,7 @@
+ "loadaddr=0x82000000\0" \
+ "usbtty=cdc_acm\0" \
+ "console=ttyS2,115200n8\0" \
+- "mpurate=500\0" \
++ "mpurate=auto\0" \
+ "vram=12M\0" \
+ "dvimode=1024x768MR-16@60\0" \
+ "defaultdisplay=dvi\0" \
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0005-OMAP3-add-entry-for-rev-3.1.2-check-and-display-max-.patch b/recipes/u-boot/u-boot-git/beagleboard/0005-OMAP3-add-entry-for-rev-3.1.2-check-and-display-max-.patch
deleted file mode 100644
index f00f3fe763..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0005-OMAP3-add-entry-for-rev-3.1.2-check-and-display-max-.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 13ed8be9848adff30bcfdcbe16bce3d2c6bb02f1 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Wed, 3 Feb 2010 12:26:30 -0800
-Subject: [PATCH 05/50] OMAP3: add entry for rev 3.1.2, check and display max cpu clock for rev > 3.0
-
----
- cpu/arm_cortexa8/omap3/sys_info.c | 24 ++++++++++++++++++++++--
- include/asm-arm/arch-omap3/cpu.h | 8 +++++++-
- include/asm-arm/arch-omap3/omap3.h | 3 ++-
- 3 files changed, 31 insertions(+), 4 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/sys_info.c b/cpu/arm_cortexa8/omap3/sys_info.c
-index 08fb32e..e227f67 100644
---- a/cpu/arm_cortexa8/omap3/sys_info.c
-+++ b/cpu/arm_cortexa8/omap3/sys_info.c
-@@ -39,7 +39,10 @@ static char *rev_s[CPU_3XX_MAX_REV] = {
- "2.0",
- "2.1",
- "3.0",
-- "3.1"};
-+ "3.1",
-+ "UNKNOWN",
-+ "UNKNOWN",
-+ "3.1.2"};
-
- /*****************************************************************
- * dieid_num_r(void) - read and set die ID
-@@ -104,6 +107,16 @@ u32 get_cpu_rev(void)
- }
- }
-
-+/*****************************************************************
-+ * get_sku_id(void) - read sku_id to get info on max clock rate
-+ *****************************************************************/
-+u32 get_sku_id(void)
-+{
-+ struct ctrl_id *id_base = (struct ctrl_id *)OMAP34XX_ID_L4_IO_BASE;
-+ return (readl(&id_base->sku_id) & SKUID_CLK_MASK);
-+}
-+
-+
- /****************************************************
- * is_mem_sdr() - return 1 if mem type in use is SDR
- ****************************************************/
-@@ -291,9 +304,16 @@ int print_cpuinfo (void)
- sec_s = "?";
- }
-
-- printf("OMAP%s-%s ES%s, CPU-OPP2 L3-165MHz\n",
-+ printf("OMAP%s-%s ES%s, CPU-OPP2, L3-165MHz, ",
- cpu_s, sec_s, rev_s[get_cpu_rev()]);
-
-+ printf("Max clock-");
-+ if ((get_cpu_rev() >= CPU_3XX_ES31) && (get_sku_id() == SKUID_CLK_720MHZ))
-+ printf("720Mhz\n");
-+ else printf("600Mhz\n");
-+
-+
-+
- return 0;
- }
- #endif /* CONFIG_DISPLAY_CPUINFO */
-diff --git a/include/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h
-index aa8de32..f769571 100644
---- a/include/asm-arm/arch-omap3/cpu.h
-+++ b/include/asm-arm/arch-omap3/cpu.h
-@@ -72,7 +72,8 @@ struct ctrl_id {
- u8 res1[0x4];
- u32 idcode; /* 0x04 */
- u32 prod_id; /* 0x08 */
-- u8 res2[0x0C];
-+ u32 sku_id; /* 0x0c */
-+ u8 res2[0x08];
- u32 die_id_0; /* 0x18 */
- u32 die_id_1; /* 0x1C */
- u32 die_id_2; /* 0x20 */
-@@ -89,6 +90,11 @@ struct ctrl_id {
- #define HS_DEVICE 0x2
- #define GP_DEVICE 0x3
-
-+/* device speed */
-+#define SKUID_CLK_MASK 0xf
-+#define SKUID_CLK_600MHZ 0x0
-+#define SKUID_CLK_720MHZ 0x8
-+
- #define GPMC_BASE (OMAP34XX_GPMC_BASE)
- #define GPMC_CONFIG_CS0 0x60
- #define GPMC_CONFIG_CS0_BASE (GPMC_BASE + GPMC_CONFIG_CS0)
-diff --git a/include/asm-arm/arch-omap3/omap3.h b/include/asm-arm/arch-omap3/omap3.h
-index 12815f6..1349b8b 100644
---- a/include/asm-arm/arch-omap3/omap3.h
-+++ b/include/asm-arm/arch-omap3/omap3.h
-@@ -176,7 +176,8 @@ struct gpio {
- #define CPU_3XX_ES21 2
- #define CPU_3XX_ES30 3
- #define CPU_3XX_ES31 4
--#define CPU_3XX_MAX_REV (CPU_3XX_ES31 + 1)
-+#define CPU_3XX_ES312 7
-+#define CPU_3XX_MAX_REV 8
-
- #define CPU_3XX_ID_SHIFT 28
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch b/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch
new file mode 100644
index 0000000000..1d16cf7a95
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch
@@ -0,0 +1,95 @@
+From 40cdd86d6040714f79e81bb813596748490aa948 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 3 Nov 2010 14:39:15 +0100
+Subject: [PATCH 06/16] OMAP3: BeagleBoard: add more expansionboard IDs
+
+Information on configurations pulled from
+http://www.elinux.org/BeagleBoardPinMux#Vendor_and_Device_IDs
+
+Boards added:
+* Added BeagleBoardToys WiFi, VGA and LCD boards
+* Added KBADC Beagle FPGA board
+* Added Brainmux LCDog and LCDog Touch
+* Added Liquidware BeagleTouch
+---
+v2 updates
+ * Removed unused definitions
+ * Added BeagleBoardToys board configurations
+ * Made definition names consistent as VENDOR_BOARD
+---
+ board/ti/beagle/beagle.c | 30 +++++++++++++++++++++++++++++-
+ board/ti/beagle/beagle.h | 12 ++++++++++++
+ 2 files changed, 41 insertions(+), 1 deletions(-)
+
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 87a952e..97e9e12 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -48,7 +48,12 @@
+ #define TINCANTOOLS_TRAINER 0x04000100
+ #define TINCANTOOLS_SHOWDOG 0x03000100
+ #define KBADC_BEAGLEFPGA 0x01000600
+-
++#define LW_BEAGLETOUCH 0x01000700
++#define BRAINMUX_LCDOG 0x01000800
++#define BRAINMUX_LCDOGTOUCH 0x02000800
++#define BBTOYS_WIFI 0x01000B00
++#define BBTOYS_VGA 0x02000B00
++#define BBTOYS_LCD 0x03000B00
+ #define BEAGLE_NO_EEPROM 0xffffffff
+
+ DECLARE_GLOBAL_DATA_PTR;
+@@ -239,6 +244,29 @@ int misc_init_r(void)
+ MUX_KBADC_BEAGLEFPGA();
+ setenv("buddy", "beaglefpga");
+ break;
++ case LW_BEAGLETOUCH:
++ printf("Recognized Liquidware BeagleTouch board\n");
++ setenv("buddy", "beagletouch");
++ break;
++ case BRAINMUX_LCDOG:
++ printf("Recognized Brainmux LCDog board\n");
++ setenv("buddy", "lcdog");
++ break;
++ case BRAINMUX_LCDOGTOUCH:
++ printf("Recognized Brainmux LCDog Touch board\n");
++ setenv("buddy", "lcdogtouch");
++ break;
++ case BBTOYS_WIFI:
++ printf("Recognized BeagleBoardToys WiFi board\n");
++ MUX_BBTOYS_WIFI()
++ setenv("buddy", "bbtoys-wifi");
++ break;;
++ case BBTOYS_VGA:
++ printf("Recognized BeagleBoardToys VGA board\n");
++ break;;
++ case BBTOYS_LCD:
++ printf("Recognized BeagleBoardToys LCD board\n");
++ break;;
+ case BEAGLE_NO_EEPROM:
+ printf("No EEPROM on expansion board\n");
+ setenv("buddy", "none");
+diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
+index b0e26e5..0f21790 100644
+--- a/board/ti/beagle/beagle.h
++++ b/board/ti/beagle/beagle.h
+@@ -458,4 +458,16 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(MCBSP1_DR), (IEN | PTU | EN | M1)) /*MCSPI4_SOMI*/\
+ MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTU | DIS | M1)) /*MCSPI4_CS0*/
+
++#define MUX_BBTOYS_WIFI() \
++ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
++ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
++ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
++ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
++ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
++ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
++ MUX_VAL(CP(MMC2_DAT4), (IDIS | PTU | EN | M4)) /*GPIO_136 FM_EN/BT_WU*/\
++ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137 WLAN_IRQ*/\
++ MUX_VAL(CP(MMC2_DAT6), (IDIS | PTU | EN | M4)) /*GPIO_138 BT_EN*/\
++ MUX_VAL(CP(MMC2_DAT7), (IDIS | PTU | EN | M4)) /*GPIO_139 WLAN_EN*/
++
+ #endif
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-add-mpurate-boot-arg-for-overo-and-beagle.patch b/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-add-mpurate-boot-arg-for-overo-and-beagle.patch
deleted file mode 100644
index 5fbc0754b7..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0006-OMAP3-add-mpurate-boot-arg-for-overo-and-beagle.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From b03bad6826a2f3a0a03f6cdd5682e0a628fff851 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Wed, 3 Feb 2010 14:39:14 -0800
-Subject: [PATCH 06/50] OMAP3: add mpurate boot arg for overo and beagle
-
-allows one to set the omap clock rate via "setenv mpurate 720" for example
----
- include/configs/omap3_beagle.h | 3 +++
- include/configs/omap3_overo.h | 3 +++
- 2 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index d522c77..35ae8af 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -187,6 +187,7 @@
- "loadaddr=0x82000000\0" \
- "usbtty=cdc_acm\0" \
- "console=ttyS2,115200n8\0" \
-+ "mpurate=500\0" \
- "vram=12M\0" \
- "dvimode=1024x768MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-@@ -195,6 +196,7 @@
- "nandroot=/dev/mtdblock4 rw\0" \
- "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
-+ "mpurate=${mpurate} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
-@@ -202,6 +204,7 @@
- "root=${mmcroot} " \
- "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
-+ "mpurate=${mpurate} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
-diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
-index a43500b..113c6df 100644
---- a/include/configs/omap3_overo.h
-+++ b/include/configs/omap3_overo.h
-@@ -151,6 +151,7 @@
- #define CONFIG_EXTRA_ENV_SETTINGS \
- "loadaddr=0x82000000\0" \
- "console=ttyS2,115200n8\0" \
-+ "mpurate=500\0" \
- "vram=12M\0" \
- "dvimode=1024x768MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-@@ -159,6 +160,7 @@
- "nandroot=/dev/mtdblock4 rw\0" \
- "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
-+ "mpurate=${mpurate} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
-@@ -166,6 +168,7 @@
- "root=${mmcroot} " \
- "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
-+ "mpurate=${mpurate} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0025-Add-DSS-driver-for-OMAP3.patch b/recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-Add-DSS-driver-for-OMAP3.patch
index 7a33bed6c3..a1b3b0e28f 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/0025-Add-DSS-driver-for-OMAP3.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-Add-DSS-driver-for-OMAP3.patch
@@ -1,7 +1,7 @@
-From afa9025604773b90831cb93a5c80db8d2b8eed4b Mon Sep 17 00:00:00 2001
+From 8a249fc1c57ab01a78996e33e74a71757a9448b1 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Tue, 12 Jan 2010 23:57:28 +0530
-Subject: [PATCH 25/50] Add DSS driver for OMAP3
+Subject: [PATCH 07/16] OMAP3: Add DSS driver for OMAP3
Supports dynamic panel configuration
Supports dynamic tv standard selection
@@ -11,169 +11,27 @@ Incorporated DSS register access using structures.
Previous discussions are here
http://www.mail-archive.com/u-boot@lists.denx.de/msg27150.html
+---
+v2 updates:
+ * Enable panel output for BeagleBoard
+ * BeagleBoard: Update DVI-D orange screen frequencies for xM
Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
---
- drivers/video/Makefile | 1 +
- drivers/video/omap3_dss.c | 130 ++++++++++++++++++++++++++++
- include/asm-arm/arch-omap3/dss.h | 173 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 304 insertions(+), 0 deletions(-)
+ arch/arm/include/asm/arch-omap3/dss.h | 173 +++++++++++++++++++++++++++++++++
+ board/ti/beagle/beagle.c | 22 ++++
+ board/ti/beagle/beagle.h | 26 +++++
+ drivers/video/Makefile | 2 +
+ drivers/video/omap3_dss.c | 130 +++++++++++++++++++++++++
+ 5 files changed, 353 insertions(+), 0 deletions(-)
+ create mode 100644 arch/arm/include/asm/arch-omap3/dss.h
create mode 100644 drivers/video/omap3_dss.c
- create mode 100644 include/asm-arm/arch-omap3/dss.h
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index a5e339a..44d7ae8 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -38,6 +38,7 @@ COBJS-$(CONFIG_SED156X) += sed156x.o
- COBJS-$(CONFIG_VIDEO_SM501) += sm501.o
- COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o
- COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
-+COBJS-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o
- COBJS-y += videomodes.o
-
- COBJS := $(COBJS-y)
-diff --git a/drivers/video/omap3_dss.c b/drivers/video/omap3_dss.c
-new file mode 100644
-index 0000000..69c705a
---- /dev/null
-+++ b/drivers/video/omap3_dss.c
-@@ -0,0 +1,130 @@
-+/*
-+ * (C) Copyright 2010
-+ * Texas Instruments, <www.ti.com>
-+ * Syed Mohammed Khasim <khasim@ti.com>
-+ *
-+ * Referred to Linux DSS driver files for OMAP3
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation's version 2 of
-+ * the License.
-+ *
-+ * 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, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <common.h>
-+#include <asm/io.h>
-+#include <asm/arch/dss.h>
-+
-+/*
-+ * Configure VENC for a given Mode (NTSC / PAL)
-+ */
-+void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
-+ u32 height, u32 width)
-+{
-+ struct venc_regs *venc = (struct venc_regs *) OMAP3_VENC_BASE;
-+ struct dss_regs *dss = (struct dss_regs *) OMAP3_DSS_BASE;
-+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
-+
-+ writel(venc_cfg->status, &venc->status);
-+ writel(venc_cfg->f_control, &venc->f_control);
-+ writel(venc_cfg->vidout_ctrl, &venc->vidout_ctrl);
-+ writel(venc_cfg->sync_ctrl, &venc->sync_ctrl);
-+ writel(venc_cfg->llen, &venc->llen);
-+ writel(venc_cfg->flens, &venc->flens);
-+ writel(venc_cfg->hfltr_ctrl, &venc->hfltr_ctrl);
-+ writel(venc_cfg->cc_carr_wss_carr, &venc->cc_carr_wss_carr);
-+ writel(venc_cfg->c_phase, &venc->c_phase);
-+ writel(venc_cfg->gain_u, &venc->gain_u);
-+ writel(venc_cfg->gain_v, &venc->gain_v);
-+ writel(venc_cfg->gain_y, &venc->gain_y);
-+ writel(venc_cfg->black_level, &venc->black_level);
-+ writel(venc_cfg->blank_level, &venc->blank_level);
-+ writel(venc_cfg->x_color, &venc->x_color);
-+ writel(venc_cfg->m_control, &venc->m_control);
-+ writel(venc_cfg->bstamp_wss_data, &venc->bstamp_wss_data);
-+ writel(venc_cfg->s_carr, &venc->s_carr);
-+ writel(venc_cfg->line21, &venc->line21);
-+ writel(venc_cfg->ln_sel, &venc->ln_sel);
-+ writel(venc_cfg->l21__wc_ctl, &venc->l21__wc_ctl);
-+ writel(venc_cfg->htrigger_vtrigger, &venc->htrigger_vtrigger);
-+ writel(venc_cfg->savid__eavid, &venc->savid__eavid);
-+ writel(venc_cfg->flen__fal, &venc->flen__fal);
-+ writel(venc_cfg->lal__phase_reset, &venc->lal__phase_reset);
-+ writel(venc_cfg->hs_int_start_stop_x,
-+ &venc->hs_int_start_stop_x);
-+ writel(venc_cfg->hs_ext_start_stop_x,
-+ &venc->hs_ext_start_stop_x);
-+ writel(venc_cfg->vs_int_start_x, &venc->vs_int_start_x);
-+ writel(venc_cfg->vs_int_stop_x__vs_int_start_y,
-+ &venc->vs_int_stop_x__vs_int_start_y);
-+ writel(venc_cfg->vs_int_stop_y__vs_ext_start_x,
-+ &venc->vs_int_stop_y__vs_ext_start_x);
-+ writel(venc_cfg->vs_ext_stop_x__vs_ext_start_y,
-+ &venc->vs_ext_stop_x__vs_ext_start_y);
-+ writel(venc_cfg->vs_ext_stop_y, &venc->vs_ext_stop_y);
-+ writel(venc_cfg->avid_start_stop_x, &venc->avid_start_stop_x);
-+ writel(venc_cfg->avid_start_stop_y, &venc->avid_start_stop_y);
-+ writel(venc_cfg->fid_int_start_x__fid_int_start_y,
-+ &venc->fid_int_start_x__fid_int_start_y);
-+ writel(venc_cfg->fid_int_offset_y__fid_ext_start_x,
-+ &venc->fid_int_offset_y__fid_ext_start_x);
-+ writel(venc_cfg->fid_ext_start_y__fid_ext_offset_y,
-+ &venc->fid_ext_start_y__fid_ext_offset_y);
-+ writel(venc_cfg->tvdetgp_int_start_stop_x,
-+ &venc->tvdetgp_int_start_stop_x);
-+ writel(venc_cfg->tvdetgp_int_start_stop_y,
-+ &venc->tvdetgp_int_start_stop_y);
-+ writel(venc_cfg->gen_ctrl, &venc->gen_ctrl);
-+ writel(venc_cfg->output_control, &venc->output_control);
-+ writel(venc_cfg->dac_b__dac_c, &venc->dac_b__dac_c);
-+
-+ /* Configure DSS for VENC Settings */
-+ writel(VENC_DSS_CONFIG, &dss->control);
-+
-+ /* Configure height and width for Digital out */
-+ writel(((height << DIG_LPP_SHIFT) | width), &dispc->size_dig);
-+}
-+
-+/*
-+ * Configure Panel Specific Parameters
-+ */
-+void omap3_dss_panel_config(const struct panel_config *panel_cfg)
-+{
-+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
-+
-+ writel(panel_cfg->timing_h, &dispc->timing_h);
-+ writel(panel_cfg->timing_v, &dispc->timing_v);
-+ writel(panel_cfg->pol_freq, &dispc->pol_freq);
-+ writel(panel_cfg->divisor, &dispc->divisor);
-+ writel(panel_cfg->lcd_size, &dispc->size_lcd);
-+ writel((panel_cfg->load_mode << FRAME_MODE_SHIFT), &dispc->config);
-+ writel(((panel_cfg->panel_type << TFTSTN_SHIFT) |
-+ (panel_cfg->data_lines << DATALINES_SHIFT)), &dispc->control);
-+ writel(panel_cfg->panel_color, &dispc->default_color0);
-+}
-+
-+/*
-+ * Enable LCD and DIGITAL OUT in DSS
-+ */
-+void omap3_dss_enable(void)
-+{
-+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
-+ u32 l = 0;
-+
-+ l = readl(&dispc->control);
-+ l |= DISPC_ENABLE;
-+ writel(l, &dispc->control);
-+}
-diff --git a/include/asm-arm/arch-omap3/dss.h b/include/asm-arm/arch-omap3/dss.h
+diff --git a/arch/arm/include/asm/arch-omap3/dss.h b/arch/arm/include/asm/arch-omap3/dss.h
new file mode 100644
index 0000000..e5e3b0d
--- /dev/null
-+++ b/include/asm-arm/arch-omap3/dss.h
++++ b/arch/arm/include/asm/arch-omap3/dss.h
@@ -0,0 +1,173 @@
+/*
+ * (C) Copyright 2010
@@ -348,6 +206,230 @@ index 0000000..e5e3b0d
+void omap3_dss_enable(void);
+
+#endif /* DSS_H */
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 97e9e12..56e7afc 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -146,6 +146,27 @@ unsigned int get_expansion_id(void)
+ }
+
+ /*
++ * Configure DSS to display background color on DVID
++ * Configure VENC to display color bar on S-Video
++ */
++void display_init(void)
++{
++ omap3_dss_venc_config(&venc_config_std_tv, VENC_HEIGHT, VENC_WIDTH);
++ switch (get_board_revision()) {
++ case REVISION_AXBX:
++ case REVISION_CX:
++ case REVISION_C4:
++ omap3_dss_panel_config(&dvid_cfg);
++ break;
++ case REVISION_XM_A:
++ case REVISION_XM_B:
++ default:
++ omap3_dss_panel_config(&dvid_cfg_xm);
++ break;
++ }
++}
++
++/*
+ * Routine: misc_init_r
+ * Description: Configure board specific parts
+ */
+@@ -282,6 +303,7 @@ int misc_init_r(void)
+
+ twl4030_power_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
++ display_init();
+
+ /* Set GPIO states before they are made outputs */
+ writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
+diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
+index 0f21790..48228dc 100644
+--- a/board/ti/beagle/beagle.h
++++ b/board/ti/beagle/beagle.h
+@@ -470,4 +470,30 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(MMC2_DAT6), (IDIS | PTU | EN | M4)) /*GPIO_138 BT_EN*/\
+ MUX_VAL(CP(MMC2_DAT7), (IDIS | PTU | EN | M4)) /*GPIO_139 WLAN_EN*/
+
++/*
++ * Configure Timings for DVI D
++ */
++static const struct panel_config dvid_cfg = {
++ .timing_h = 0x0ff03f31, /* Horizantal timing */
++ .timing_v = 0x01400504, /* Vertical timing */
++ .pol_freq = 0x00007028, /* Pol Freq */
++ .divisor = 0x00010006, /* 72Mhz Pixel Clock */
++ .lcd_size = 0x02ff03ff, /* 1024x768 */
++ .panel_type = 0x01, /* TFT */
++ .data_lines = 0x03, /* 24 Bit RGB */
++ .load_mode = 0x02, /* Frame Mode */
++ .panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
++};
++
++static const struct panel_config dvid_cfg_xm = {
++ .timing_h = 0x1a4024c9, /* Horizantal timing */
++ .timing_v = 0x02c00509, /* Vertical timing */
++ .pol_freq = 0x00007028, /* Pol Freq */
++ .divisor = 0x00010001, /* 96MHz Pixel Clock */
++ .lcd_size = 0x02ff03ff, /* 1024x768 */
++ .panel_type = 0x01, /* TFT */
++ .data_lines = 0x03, /* 24 Bit RGB */
++ .load_mode = 0x02, /* Frame Mode */
++ .panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
++};
+ #endif
+diff --git a/drivers/video/Makefile b/drivers/video/Makefile
+index 2c53a6f..6baa7ca 100644
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -41,6 +41,8 @@ COBJS-$(CONFIG_SED156X) += sed156x.o
+ COBJS-$(CONFIG_VIDEO_SM501) += sm501.o
+ COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o videomodes.o
+ COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
++COBJS-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o
++COBJS-y += videomodes.o
+
+ COBJS := $(COBJS-y)
+ SRCS := $(COBJS:.o=.c)
+diff --git a/drivers/video/omap3_dss.c b/drivers/video/omap3_dss.c
+new file mode 100644
+index 0000000..69c705a
+--- /dev/null
++++ b/drivers/video/omap3_dss.c
+@@ -0,0 +1,130 @@
++/*
++ * (C) Copyright 2010
++ * Texas Instruments, <www.ti.com>
++ * Syed Mohammed Khasim <khasim@ti.com>
++ *
++ * Referred to Linux DSS driver files for OMAP3
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation's version 2 of
++ * the License.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <asm/io.h>
++#include <asm/arch/dss.h>
++
++/*
++ * Configure VENC for a given Mode (NTSC / PAL)
++ */
++void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
++ u32 height, u32 width)
++{
++ struct venc_regs *venc = (struct venc_regs *) OMAP3_VENC_BASE;
++ struct dss_regs *dss = (struct dss_regs *) OMAP3_DSS_BASE;
++ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
++
++ writel(venc_cfg->status, &venc->status);
++ writel(venc_cfg->f_control, &venc->f_control);
++ writel(venc_cfg->vidout_ctrl, &venc->vidout_ctrl);
++ writel(venc_cfg->sync_ctrl, &venc->sync_ctrl);
++ writel(venc_cfg->llen, &venc->llen);
++ writel(venc_cfg->flens, &venc->flens);
++ writel(venc_cfg->hfltr_ctrl, &venc->hfltr_ctrl);
++ writel(venc_cfg->cc_carr_wss_carr, &venc->cc_carr_wss_carr);
++ writel(venc_cfg->c_phase, &venc->c_phase);
++ writel(venc_cfg->gain_u, &venc->gain_u);
++ writel(venc_cfg->gain_v, &venc->gain_v);
++ writel(venc_cfg->gain_y, &venc->gain_y);
++ writel(venc_cfg->black_level, &venc->black_level);
++ writel(venc_cfg->blank_level, &venc->blank_level);
++ writel(venc_cfg->x_color, &venc->x_color);
++ writel(venc_cfg->m_control, &venc->m_control);
++ writel(venc_cfg->bstamp_wss_data, &venc->bstamp_wss_data);
++ writel(venc_cfg->s_carr, &venc->s_carr);
++ writel(venc_cfg->line21, &venc->line21);
++ writel(venc_cfg->ln_sel, &venc->ln_sel);
++ writel(venc_cfg->l21__wc_ctl, &venc->l21__wc_ctl);
++ writel(venc_cfg->htrigger_vtrigger, &venc->htrigger_vtrigger);
++ writel(venc_cfg->savid__eavid, &venc->savid__eavid);
++ writel(venc_cfg->flen__fal, &venc->flen__fal);
++ writel(venc_cfg->lal__phase_reset, &venc->lal__phase_reset);
++ writel(venc_cfg->hs_int_start_stop_x,
++ &venc->hs_int_start_stop_x);
++ writel(venc_cfg->hs_ext_start_stop_x,
++ &venc->hs_ext_start_stop_x);
++ writel(venc_cfg->vs_int_start_x, &venc->vs_int_start_x);
++ writel(venc_cfg->vs_int_stop_x__vs_int_start_y,
++ &venc->vs_int_stop_x__vs_int_start_y);
++ writel(venc_cfg->vs_int_stop_y__vs_ext_start_x,
++ &venc->vs_int_stop_y__vs_ext_start_x);
++ writel(venc_cfg->vs_ext_stop_x__vs_ext_start_y,
++ &venc->vs_ext_stop_x__vs_ext_start_y);
++ writel(venc_cfg->vs_ext_stop_y, &venc->vs_ext_stop_y);
++ writel(venc_cfg->avid_start_stop_x, &venc->avid_start_stop_x);
++ writel(venc_cfg->avid_start_stop_y, &venc->avid_start_stop_y);
++ writel(venc_cfg->fid_int_start_x__fid_int_start_y,
++ &venc->fid_int_start_x__fid_int_start_y);
++ writel(venc_cfg->fid_int_offset_y__fid_ext_start_x,
++ &venc->fid_int_offset_y__fid_ext_start_x);
++ writel(venc_cfg->fid_ext_start_y__fid_ext_offset_y,
++ &venc->fid_ext_start_y__fid_ext_offset_y);
++ writel(venc_cfg->tvdetgp_int_start_stop_x,
++ &venc->tvdetgp_int_start_stop_x);
++ writel(venc_cfg->tvdetgp_int_start_stop_y,
++ &venc->tvdetgp_int_start_stop_y);
++ writel(venc_cfg->gen_ctrl, &venc->gen_ctrl);
++ writel(venc_cfg->output_control, &venc->output_control);
++ writel(venc_cfg->dac_b__dac_c, &venc->dac_b__dac_c);
++
++ /* Configure DSS for VENC Settings */
++ writel(VENC_DSS_CONFIG, &dss->control);
++
++ /* Configure height and width for Digital out */
++ writel(((height << DIG_LPP_SHIFT) | width), &dispc->size_dig);
++}
++
++/*
++ * Configure Panel Specific Parameters
++ */
++void omap3_dss_panel_config(const struct panel_config *panel_cfg)
++{
++ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
++
++ writel(panel_cfg->timing_h, &dispc->timing_h);
++ writel(panel_cfg->timing_v, &dispc->timing_v);
++ writel(panel_cfg->pol_freq, &dispc->pol_freq);
++ writel(panel_cfg->divisor, &dispc->divisor);
++ writel(panel_cfg->lcd_size, &dispc->size_lcd);
++ writel((panel_cfg->load_mode << FRAME_MODE_SHIFT), &dispc->config);
++ writel(((panel_cfg->panel_type << TFTSTN_SHIFT) |
++ (panel_cfg->data_lines << DATALINES_SHIFT)), &dispc->control);
++ writel(panel_cfg->panel_color, &dispc->default_color0);
++}
++
++/*
++ * Enable LCD and DIGITAL OUT in DSS
++ */
++void omap3_dss_enable(void)
++{
++ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
++ u32 l = 0;
++
++ l = readl(&dispc->control);
++ l |= DISPC_ENABLE;
++ writel(l, &dispc->control);
++}
--
1.6.6.1
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-detect-expansion-board-type-version-using-eepr.patch b/recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-detect-expansion-board-type-version-using-eepr.patch
deleted file mode 100644
index 8ff0e93c3e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0007-OMAP3-detect-expansion-board-type-version-using-eepr.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From f1ad90ae5fd07257ea42aa771e16a7798cd440bb Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Fri, 12 Feb 2010 12:17:48 -0800
-Subject: [PATCH 07/50] OMAP3: detect expansion board type/version using eeprom contents
-
----
- board/overo/overo.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 92 insertions(+), 0 deletions(-)
-
-diff --git a/board/overo/overo.c b/board/overo/overo.c
-index 3df1a12..2838a1f 100644
---- a/board/overo/overo.c
-+++ b/board/overo/overo.c
-@@ -39,6 +39,31 @@
- #include <asm/mach-types.h>
- #include "overo.h"
-
-+static struct {
-+ unsigned int device_vendor;
-+ unsigned char revision;
-+ unsigned char content;
-+ unsigned char data[6];
-+} expansion_config;
-+
-+#define TWL4030_I2C_BUS 0
-+
-+#define EXPANSION_EEPROM_I2C_BUS 2
-+#define EXPANSION_EEPROM_I2C_ADDRESS 0x50
-+
-+#define GUMSTIX_VENDORID 0x0200
-+
-+#define GUMSTIX_SUMMIT 0x01000200
-+#define GUMSTIX_TOBI 0x02000200
-+#define GUMSTIX_TOBI_DUO 0x03000200
-+#define GUMSTIX_PALO35 0x04000200
-+#define GUMSTIX_PALO43 0x05000200
-+#define GUMSTIX_CHESTNUT43 0x06000200
-+#define GUMSTIX_PINTO 0x07000200
-+
-+#define GUMSTIX_NO_EEPROM 0xfffffffe
-+#define GUMSTIX_UNKNOWN 0xffffffff
-+
- #if defined(CONFIG_CMD_NET)
- static void setup_net_chip(void);
- #endif
-@@ -130,6 +155,31 @@ int get_board_revision(void) {
- }
-
- /*
-+ * Routine: get_expansion_id
-+ * Description: This function checks for expansion board by checking I2C
-+ * bus 2 for the availability of an AT24C01B serial EEPROM.
-+ * returns the device_vendor field from the EEPROM
-+ */
-+unsigned int get_expansion_id(void)
-+{
-+ i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS);
-+
-+ /* return GUMSTIX_NO_EEPROM if eeprom doesn't respond */
-+ if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1)
-+ return GUMSTIX_NO_EEPROM;
-+
-+ /* read configuration data */
-+ i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config,
-+ sizeof(expansion_config));
-+
-+ if ( (expansion_config.device_vendor & 0xffff) != GUMSTIX_VENDORID )
-+ return GUMSTIX_UNKNOWN;
-+ else
-+ return expansion_config.device_vendor;
-+}
-+
-+
-+/*
- * Routine: misc_init_r
- * Description: Configure board specific parts
- */
-@@ -156,6 +206,48 @@ int misc_init_r(void)
- printf(" unsupported\n");
- }
-
-+ switch (get_expansion_id()) {
-+ case GUMSTIX_SUMMIT:
-+ printf("Recognized Summit expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ setenv("defaultdisplay", "dvi");
-+ break;
-+ case GUMSTIX_TOBI:
-+ printf("Recognized Tobi expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ setenv("defaultdisplay", "dvi");
-+ break;
-+ case GUMSTIX_TOBI_DUO:
-+ printf("Recognized Tobi Duo expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ break;
-+ case GUMSTIX_PALO35:
-+ printf("Recognized Palo 35 expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ setenv("defaultdisplay", "lcd35");
-+ break;
-+ case GUMSTIX_PALO43:
-+ printf("Recognized Palo 43 expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ setenv("defaultdisplay", "lcd43");
-+ break;
-+ case GUMSTIX_CHESTNUT43:
-+ printf("Recognized Chestnut 43 expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ setenv("defaultdisplay", "lcd43");
-+ break;
-+ case GUMSTIX_PINTO:
-+ printf("Recognized Pinto expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.data);
-+ break;
-+ case GUMSTIX_NO_EEPROM:
-+ printf("No EEPROM on expansion board\n");
-+ break;
-+ case GUMSTIX_UNKNOWN:
-+ printf("Unrecognized expansion board\n");
-+ }
-+
-+ i2c_set_bus_num(TWL4030_I2C_BUS);
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0045-BeagleBoard-Added-userbutton-command.patch b/recipes/u-boot/u-boot-git/beagleboard/0008-BeagleBoard-Added-userbutton-command.patch
index d454d73c16..411bb7b7f7 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/0045-BeagleBoard-Added-userbutton-command.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/0008-BeagleBoard-Added-userbutton-command.patch
@@ -1,7 +1,7 @@
-From f5146ac9d3af9c9cd4f4bc940c343d3ef75ac6f0 Mon Sep 17 00:00:00 2001
+From 31110e039b1982590df08c66e53924f454e3e3f1 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 21 Jul 2010 07:41:25 -0500
-Subject: [PATCH 45/50] BeagleBoard: Added userbutton command
+Subject: [PATCH 08/16] BeagleBoard: Added userbutton command
Based on commit f1099c7c43caf5bac3bf6a65aa266fade4747072
Author: Greg Turner <gregturner@ti.com>
@@ -19,26 +19,29 @@ Based on commit f1099c7c43caf5bac3bf6a65aa266fade4747072
* Flipped polarity of the return value to avoid confusion. Success (0)
is when the button is pressed. Failure (1) is when the button is NOT
pressed.
+* Used latest revision getting function.
+* Used latest macros for board revision.
---
- board/ti/beagle/beagle.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 54 insertions(+), 0 deletions(-)
+ board/ti/beagle/beagle.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index a6a4961..66df719 100644
+index 56e7afc..04e4259 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
-@@ -40,6 +40,7 @@
+@@ -38,6 +38,7 @@
#include <asm/arch/gpio.h>
#include <asm/mach-types.h>
#include "beagle.h"
+#include <command.h>
- static struct {
- unsigned int device_vendor;
-@@ -290,3 +291,56 @@ void set_muxconf_regs(void)
- MUX_BEAGLE();
+ #define TWL4030_I2C_BUS 0
+ #define EXPANSION_EEPROM_I2C_BUS 1
+@@ -339,3 +340,57 @@ int board_mmc_init(bd_t *bis)
+ return 0;
}
-
+ #endif
++
+/*
+ * This command returns the status of the user button on beagle xM
+ * Input - none
@@ -54,13 +57,14 @@ index a6a4961..66df719 100644
+ * pass address parameter as argv[0] (aka command name),
+ * and all remaining args
+ */
-+ switch (beagle_revision) {
++ switch (get_board_revision()) {
+ case REVISION_AXBX:
+ case REVISION_CX:
+ case REVISION_C4:
+ gpio = 7;
+ break;
-+ case REVISION_XM:
++ case REVISION_XM_A:
++ case REVISION_XM_B:
+ default:
+ gpio = 4;
+ break;
@@ -91,7 +95,6 @@ index a6a4961..66df719 100644
+ "Return the status of the BeagleBoard USER button",
+ ""
+);
-+
--
1.6.6.1
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0008-OMAP3-Overo-enable-config-eeprom-to-set-u-boot-env-v.patch b/recipes/u-boot/u-boot-git/beagleboard/0008-OMAP3-Overo-enable-config-eeprom-to-set-u-boot-env-v.patch
deleted file mode 100644
index 0f847256f0..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0008-OMAP3-Overo-enable-config-eeprom-to-set-u-boot-env-v.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 831504a9514c2cb4b1dc8c9a261fd4d1a037235f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 16 Feb 2010 09:58:01 -0800
-Subject: [PATCH 08/50] OMAP3: Overo: enable config eeprom to set u-boot env variable
-
----
- board/overo/overo.c | 21 +++++++++++++--------
- 1 files changed, 13 insertions(+), 8 deletions(-)
-
-diff --git a/board/overo/overo.c b/board/overo/overo.c
-index 2838a1f..f6093d2 100644
---- a/board/overo/overo.c
-+++ b/board/overo/overo.c
-@@ -43,7 +43,9 @@ static struct {
- unsigned int device_vendor;
- unsigned char revision;
- unsigned char content;
-- unsigned char data[6];
-+ unsigned char fab_revision[8];
-+ unsigned char env_var[16];
-+ unsigned char env_setting[64];
- } expansion_config;
-
- #define TWL4030_I2C_BUS 0
-@@ -209,36 +211,36 @@ int misc_init_r(void)
- switch (get_expansion_id()) {
- case GUMSTIX_SUMMIT:
- printf("Recognized Summit expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- setenv("defaultdisplay", "dvi");
- break;
- case GUMSTIX_TOBI:
- printf("Recognized Tobi expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- setenv("defaultdisplay", "dvi");
- break;
- case GUMSTIX_TOBI_DUO:
- printf("Recognized Tobi Duo expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- break;
- case GUMSTIX_PALO35:
- printf("Recognized Palo 35 expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- setenv("defaultdisplay", "lcd35");
- break;
- case GUMSTIX_PALO43:
- printf("Recognized Palo 43 expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- setenv("defaultdisplay", "lcd43");
- break;
- case GUMSTIX_CHESTNUT43:
- printf("Recognized Chestnut 43 expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- setenv("defaultdisplay", "lcd43");
- break;
- case GUMSTIX_PINTO:
- printf("Recognized Pinto expansion board (rev %d %s)\n",
-- expansion_config.revision, expansion_config.data);
-+ expansion_config.revision, expansion_config.fab_revision);
- break;
- case GUMSTIX_NO_EEPROM:
- printf("No EEPROM on expansion board\n");
-@@ -247,6 +249,9 @@ int misc_init_r(void)
- printf("Unrecognized expansion board\n");
- }
-
-+ if (expansion_config.content == 1)
-+ setenv(expansion_config.env_var, expansion_config.env_setting);
-+
- i2c_set_bus_num(TWL4030_I2C_BUS);
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-Overo-enable-input-on-MMC1_CLK-and-MMC3_CLK-pi.patch b/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-Overo-enable-input-on-MMC1_CLK-and-MMC3_CLK-pi.patch
deleted file mode 100644
index 1cadd80363..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-Overo-enable-input-on-MMC1_CLK-and-MMC3_CLK-pi.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 500787d2999e23cf185808f611af61745c2746a3 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 16 Feb 2010 10:00:45 -0800
-Subject: [PATCH 09/50] OMAP3: Overo: enable input on MMC1_CLK and MMC3_CLK pinmux
-
----
- board/overo/overo.h | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/board/overo/overo.h b/board/overo/overo.h
-index e120e09..ff936dd 100644
---- a/board/overo/overo.h
-+++ b/board/overo/overo.h
-@@ -200,7 +200,7 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MCBSP2_DR), (IEN | PTD | DIS | M0)) /*McBSP2_DR*/\
- MUX_VAL(CP(MCBSP2_DX), (IDIS | PTD | DIS | M0)) /*McBSP2_DX*/\
- /*Expansion card */\
-- MUX_VAL(CP(MMC1_CLK), (IDIS | PTU | EN | M0)) /*MMC1_CLK*/\
-+ MUX_VAL(CP(MMC1_CLK), (IEN | PTU | EN | M0)) /*MMC1_CLK*/\
- MUX_VAL(CP(MMC1_CMD), (IEN | PTU | EN | M0)) /*MMC1_CMD*/\
- MUX_VAL(CP(MMC1_DAT0), (IEN | PTU | EN | M0)) /*MMC1_DAT0*/\
- MUX_VAL(CP(MMC1_DAT1), (IEN | PTU | EN | M0)) /*MMC1_DAT1*/\
-@@ -301,7 +301,7 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(SYS_OFF_MODE), (IEN | PTD | DIS | M0)) /*SYS_OFF_MODE*/\
- MUX_VAL(CP(SYS_CLKOUT1), (IEN | PTD | DIS | M0)) /*SYS_CLKOUT1*/\
- MUX_VAL(CP(SYS_CLKOUT2), (IEN | PTU | EN | M4)) /*GPIO_186*/\
-- MUX_VAL(CP(ETK_CLK_ES2), (IDIS | PTU | EN | M2)) /*MMC3_CLK*/\
-+ MUX_VAL(CP(ETK_CLK_ES2), (IEN | PTU | EN | M2)) /*MMC3_CLK*/\
- MUX_VAL(CP(ETK_CTL_ES2), (IEN | PTU | EN | M2)) /*MMC3_CMD*/\
- MUX_VAL(CP(ETK_D0_ES2), (IEN | PTU | EN | M4)) /*GPIO_14*/\
- MUX_VAL(CP(ETK_D1_ES2), (IEN | PTD | EN | M4)) /*GPIO_15 - X_GATE*/\
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch b/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch
new file mode 100644
index 0000000000..7da18afa76
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch
@@ -0,0 +1,57 @@
+From ca7179112840cdca717ac0c958a9ab226d1bdf25 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 22 Nov 2010 11:51:32 +0100
+Subject: [PATCH 09/16] OMAP3: beagle: pass expansionboard name in bootargs
+
+---
+ include/configs/omap3_beagle.h | 13 +++++++++++++
+ 1 files changed, 13 insertions(+), 0 deletions(-)
+
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index 51e14d0..9d569a5 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -191,6 +191,7 @@
+ "usbtty=cdc_acm\0" \
+ "console=ttyS2,115200n8\0" \
+ "mpurate=auto\0" \
++ "buddy=none "\
+ "vram=12M\0" \
+ "dvimode=1024x768MR-16@60\0" \
+ "defaultdisplay=dvi\0" \
+@@ -201,6 +202,7 @@
+ "nandrootfstype=jffs2\0" \
+ "mmcargs=setenv bootargs console=${console} " \
+ "mpurate=${mpurate} " \
++ "buddy=${buddy} "\
+ "vram=${vram} " \
+ "omapfb.mode=dvi:${dvimode} " \
+ "omapdss.def_disp=${defaultdisplay} " \
+@@ -208,6 +210,7 @@
+ "rootfstype=${mmcrootfstype}\0" \
+ "nandargs=setenv bootargs console=${console} " \
+ "mpurate=${mpurate} " \
++ "buddy=${buddy} "\
+ "vram=${vram} " \
+ "omapfb.mode=dvi:${dvimode} " \
+ "omapdss.def_disp=${defaultdisplay} " \
+@@ -216,6 +219,16 @@
+ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
+ "importbootenv=echo Importing environment from mmc ...; " \
+ "env import -t $loadaddr $filesize\0" \
++ "ramargs=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "mpurate=${mpurate} " \
++ "buddy=${buddy} "\
++ "vram=${vram} " \
++ "omapfb.mode=dvi:${dvimode} " \
++ "omapdss.def_disp=${defaultdisplay} " \
++ "root=${ramroot} " \
++ "rootfstype=${ramrootfstype}\0" \
++ "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
+ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
+ "mmcboot=echo Booting from mmc ...; " \
+ "run mmcargs; " \
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0026-Enable-DSS-driver-for-Beagle.patch b/recipes/u-boot/u-boot-git/beagleboard/0010-Enable-DSS-driver-for-Beagle.patch
index de25493829..8766d89b0a 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/0026-Enable-DSS-driver-for-Beagle.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/0010-Enable-DSS-driver-for-Beagle.patch
@@ -1,49 +1,23 @@
-From 89a879905e59c837626b6a9425bcc27b097e02ad Mon Sep 17 00:00:00 2001
+From 2226921518eebb215ddadce09efb35b99a9db8ac Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Sun, 11 Apr 2010 17:44:39 +0200
-Subject: [PATCH 26/50] Enable DSS driver for Beagle
+Subject: [PATCH 10/16] Enable DSS driver for Beagle
Configures DSS to display color bar on Svideo
Configures DSS to display background color on DVID
Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
---
- board/ti/beagle/beagle.c | 12 ++++++
- board/ti/beagle/beagle.h | 75 ++++++++++++++++++++++++++++++++++++++++
- include/configs/omap3_beagle.h | 1 +
- 3 files changed, 88 insertions(+), 0 deletions(-)
+ board/ti/beagle/beagle.c | 1 +
+ board/ti/beagle/beagle.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 7cb6d1f..eb57b5a 100644
+index 04e4259..7c80a97 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
-@@ -141,6 +141,16 @@ unsigned int get_expansion_id(void)
- }
-
- /*
-+ * Configure DSS to display background color on DVID
-+ * Configure VENC to display color bar on S-Video
-+ */
-+void display_init(void)
-+{
-+ omap3_dss_venc_config(&venc_config_std_tv, VENC_HEIGHT, VENC_WIDTH);
-+ omap3_dss_panel_config(&dvid_cfg);
-+}
-+
-+/*
- * Routine: misc_init_r
- * Description: Configure board specific parts
- */
-@@ -188,6 +198,7 @@ int misc_init_r(void)
-
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-+ display_init();
-
- switch (beagle_revision) {
- case REVISION_AXBX:
-@@ -233,6 +244,7 @@ int misc_init_r(void)
- GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
+@@ -318,6 +318,7 @@ int misc_init_r(void)
+ GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
dieid_num_r();
+ omap3_dss_enable();
@@ -51,7 +25,7 @@ index 7cb6d1f..eb57b5a 100644
return 0;
}
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index ec4f831..69f9398 100644
+index 48228dc..bdf2a6f 100644
--- a/board/ti/beagle/beagle.h
+++ b/board/ti/beagle/beagle.h
@@ -23,6 +23,8 @@
@@ -63,11 +37,10 @@ index ec4f831..69f9398 100644
const omap3_sysinfo sysinfo = {
DDR_STACKED,
"OMAP3 Beagle board",
-@@ -433,4 +435,77 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
- MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
+@@ -471,6 +473,64 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(MMC2_DAT7), (IDIS | PTU | EN | M4)) /*GPIO_139 WLAN_EN*/
-+/*
+ /*
+ * Display Configuration
+ */
+
@@ -126,33 +99,9 @@ index ec4f831..69f9398 100644
+};
+
+/*
-+ * Configure Timings for DVI D
-+ */
-+static const struct panel_config dvid_cfg = {
-+ .timing_h = 0x0ff03f31, /* Horizantal timing */
-+ .timing_v = 0x01400504, /* Vertical timing */
-+ .pol_freq = 0x00007028, /* Pol Freq */
-+ .divisor = 0x00010006, /* 72Mhz Pixel Clock */
-+ .lcd_size = 0x02ff03ff, /* 1024x768 */
-+ .panel_type = 0x01, /* TFT */
-+ .data_lines = 0x03, /* 24 Bit RGB */
-+ .load_mode = 0x02, /* Frame Mode */
-+ .panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
-+};
-+
- #endif
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 8bedf7d..52d727a 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -137,6 +137,7 @@
- #define CONFIG_CMD_I2C /* I2C serial bus support */
- #define CONFIG_CMD_MMC /* MMC support */
- #define CONFIG_CMD_NAND /* NAND support */
-+#define CONFIG_VIDEO_OMAP3 /* DSS Support */
-
- #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
- #undef CONFIG_CMD_FPGA /* FPGA configuration Support */
+ * Configure Timings for DVI D
+ */
+ static const struct panel_config dvid_cfg = {
--
1.6.6.1
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0010-OMAP3-Overo-set-CONFIG_SYS_I2C_SPEED-to-400Khz.patch b/recipes/u-boot/u-boot-git/beagleboard/0010-OMAP3-Overo-set-CONFIG_SYS_I2C_SPEED-to-400Khz.patch
deleted file mode 100644
index b6a32bba85..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0010-OMAP3-Overo-set-CONFIG_SYS_I2C_SPEED-to-400Khz.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6ced8e0d859ea9cddbc2ec4a94a4c7394f1ee4c5 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 16 Feb 2010 10:03:14 -0800
-Subject: [PATCH 10/50] OMAP3: Overo: set CONFIG_SYS_I2C_SPEED to 400Khz
-
----
- include/configs/omap3_overo.h | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
-index 113c6df..27b5476 100644
---- a/include/configs/omap3_overo.h
-+++ b/include/configs/omap3_overo.h
-@@ -112,7 +112,7 @@
-
- #define CONFIG_SYS_NO_FLASH
- #define CONFIG_HARD_I2C 1
--#define CONFIG_SYS_I2C_SPEED 100000
-+#define CONFIG_SYS_I2C_SPEED 400000
- #define CONFIG_SYS_I2C_SLAVE 1
- #define CONFIG_SYS_I2C_BUS 0
- #define CONFIG_SYS_I2C_BUS_SELECT 1
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0011-Add-led-command.patch b/recipes/u-boot/u-boot-git/beagleboard/0011-Add-led-command.patch
new file mode 100644
index 0000000000..e51ee5e2f4
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0011-Add-led-command.patch
@@ -0,0 +1,213 @@
+From e3e94bd49df4b4588cc5c95392b872eadb531fc4 Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Thu, 20 May 2010 05:41:26 -0500
+Subject: [PATCH 11/16] Add 'led' command
+
+This patch allows any board implementing the coloured LED API
+to control the LEDs from the console.
+
+led [green | yellow | red | all ] [ on | off ]
+
+or
+
+led [ 1 | 2 | 3 | all ] [ on | off ]
+
+Adds configuration item CONFIG_CMD_LED enabling the command.
+
+Partially based on patch from Ulf Samuelsson:
+http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.
+
+Updated based on feedback:
+http://www.mail-archive.com/u-boot@lists.denx.de/msg41847.html
+https://groups.google.com/d/topic/beagleboard/8Wf1HiK_QBo/discussion
+* Fixed a handful of style issues.
+* Significantly reduced the number of #ifdefs and redundant code
+* Converted redundant code into loops test against a structure
+* Made use of cmd_usage()
+* Introduced a str_onoff() function, but haven't yet put it in common
+* Eliminated trailing newline
+
+v2 updates
+ * Test every LED in case "all" is used. Previously, the code broke from
+ the loop after setting the state of only one LED.
+ * Corrected swapped on/off in structure definition
+ * Removed trailing white space
+---
+ common/Makefile | 1 +
+ common/cmd_led.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 153 insertions(+), 0 deletions(-)
+ create mode 100644 common/cmd_led.c
+
+diff --git a/common/Makefile b/common/Makefile
+index 048df0c..29a0ead 100644
+--- a/common/Makefile
++++ b/common/Makefile
+@@ -105,6 +105,7 @@ COBJS-$(CONFIG_CMD_IRQ) += cmd_irq.o
+ COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
+ COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
+ COBJS-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
++COBJS-$(CONFIG_CMD_LED) += cmd_led.o
+ COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o
+ COBJS-y += cmd_load.o
+ COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
+diff --git a/common/cmd_led.c b/common/cmd_led.c
+new file mode 100644
+index 0000000..7f02fe6
+--- /dev/null
++++ b/common/cmd_led.c
+@@ -0,0 +1,152 @@
++/*
++ * (C) Copyright 2010
++ * Jason Kridner <jkridner@beagleboard.org>
++ *
++ * Based on cmd_led.c patch from:
++ * http://www.mail-archive.com/u-boot@lists.denx.de/msg06873.html
++ * (C) Copyright 2008
++ * Ulf Samuelsson <ulf.samuelsson@atmel.com>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <config.h>
++#include <command.h>
++#include <status_led.h>
++
++struct led_tbl_s {
++ char *string; /* String for use in the command */
++ led_id_t mask; /* Mask used for calling __led_set() */
++ void (*off)(void); /* Optional fucntion for turning LED off */
++ void (*on)(void); /* Optional fucntion for turning LED on */
++};
++
++typedef struct led_tbl_s led_tbl_t;
++
++static const led_tbl_t led_commands[] = {
++#ifdef CONFIG_BOARD_SPECIFIC_LED
++#ifdef STATUS_LED_BIT
++ { "0", STATUS_LED_BIT, NULL, NULL },
++#endif
++#ifdef STATUS_LED_BIT1
++ { "1", STATUS_LED_BIT1, NULL, NULL },
++#endif
++#ifdef STATUS_LED_BIT2
++ { "2", STATUS_LED_BIT2, NULL, NULL },
++#endif
++#ifdef STATUS_LED_BIT3
++ { "3", STATUS_LED_BIT3, NULL, NULL },
++#endif
++#endif
++#ifdef STATUS_LED_GREEN
++ { "green", STATUS_LED_GREEN, green_LED_off, green_LED_on },
++#endif
++#ifdef STATUS_LED_YELLOW
++ { "yellow", STATUS_LED_YELLOW, yellow_LED_off, yellow_LED_on },
++#endif
++#ifdef STATUS_LED_RED
++ { "red", STATUS_LED_RED, red_LED_off, red_LED_on },
++#endif
++#ifdef STATUS_LED_BLUE
++ { "blue", STATUS_LED_BLUE, blue_LED_off, blue_LED_on },
++#endif
++ { NULL, 0, NULL, NULL }
++};
++
++int str_onoff (char *var)
++{
++ if (strcmp(var, "off") == 0) {
++ return 0;
++ }
++ if (strcmp(var, "on") == 0) {
++ return 1;
++ }
++ return -1;
++}
++
++int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
++{
++ int state, i;
++
++ /* Validate arguments */
++ if ((argc != 3)) {
++ return cmd_usage(cmdtp);
++ }
++
++ state = str_onoff(argv[2]);
++ if (state < 0) {
++ return cmd_usage(cmdtp);
++ }
++
++ for (i = 0; led_commands[i].string; i++) {
++ if ((strcmp("all", argv[1]) == 0) ||
++ (strcmp(led_commands[i].string, argv[1]) == 0)) {
++ if (led_commands[i].on) {
++ if (state) {
++ led_commands[i].on();
++ } else {
++ led_commands[i].off();
++ }
++ } else {
++ __led_set(led_commands[i].mask, state);
++ }
++ }
++ }
++
++ /* If we ran out of matches, print Usage */
++ if (!led_commands[i].string && !(strcmp("all", argv[1]) == 0)) {
++ return cmd_usage(cmdtp);
++ }
++
++ return 0;
++}
++
++U_BOOT_CMD(
++ led, 3, 1, do_led,
++ "led\t- ["
++#ifdef CONFIG_BOARD_SPECIFIC_LED
++#ifdef STATUS_LED_BIT
++ "0|"
++#endif
++#ifdef STATUS_LED_BIT1
++ "1|"
++#endif
++#ifdef STATUS_LED_BIT2
++ "2|"
++#endif
++#ifdef STATUS_LED_BIT3
++ "3|"
++#endif
++#endif
++#ifdef STATUS_LED_GREEN
++ "green|"
++#endif
++#ifdef STATUS_LED_YELLOW
++ "yellow|"
++#endif
++#ifdef STATUS_LED_RED
++ "red|"
++#endif
++#ifdef STATUS_LED_BLUE
++ "blue|"
++#endif
++ "all] [on|off]\n",
++ "led [led_name] [on|off] sets or clears led(s)\n"
++);
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0011-OMAP3-trim-excessively-long-delays-in-i2c-driver.patch b/recipes/u-boot/u-boot-git/beagleboard/0011-OMAP3-trim-excessively-long-delays-in-i2c-driver.patch
deleted file mode 100644
index 63a7295423..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0011-OMAP3-trim-excessively-long-delays-in-i2c-driver.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From f054db5f2a8eedbeaf8c6045d0bbafde5aca3efc Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 16 Feb 2010 10:04:30 -0800
-Subject: [PATCH 11/50] OMAP3: trim excessively long delays in i2c driver
-
----
- drivers/i2c/omap24xx_i2c.c | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
-index e8c8184..0af230d 100644
---- a/drivers/i2c/omap24xx_i2c.c
-+++ b/drivers/i2c/omap24xx_i2c.c
-@@ -148,7 +148,7 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value)
- if (status & I2C_STAT_XRDY) {
- /* Important: have to use byte access */
- writeb (regoffset, &i2c_base->data);
-- udelay (20000);
-+ udelay (2000);
- if (readw (&i2c_base->stat) & I2C_STAT_NACK) {
- i2c_error = 1;
- }
-@@ -160,7 +160,7 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value)
- /* free bus, otherwise we can't use a combined transction */
- writew (0, &i2c_base->con);
- while (readw (&i2c_base->stat) || (readw (&i2c_base->con) & I2C_CON_MST)) {
-- udelay (10000);
-+ udelay (1000);
- /* Have to clear pending interrupt to clear I2C_STAT */
- writew (0xFFFF, &i2c_base->stat);
- }
-@@ -181,7 +181,7 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value)
- #else
- *value = readw (&i2c_base->data);
- #endif
-- udelay (20000);
-+ udelay (2000);
- } else {
- i2c_error = 1;
- }
-@@ -190,7 +190,7 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value)
- writew (I2C_CON_EN, &i2c_base->con);
- while (readw (&i2c_base->stat)
- || (readw (&i2c_base->con) & I2C_CON_MST)) {
-- udelay (10000);
-+ udelay (1000);
- writew (0xFFFF, &i2c_base->stat);
- }
- }
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0042-BeagleBoard-Added-LED-driver.patch b/recipes/u-boot/u-boot-git/beagleboard/0012-BeagleBoard-Added-LED-driver.patch
index c1a0a563ed..01897aff26 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/0042-BeagleBoard-Added-LED-driver.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/0012-BeagleBoard-Added-LED-driver.patch
@@ -1,28 +1,29 @@
-From bb88a9c0ffa5b6006d689635028177be4ce83104 Mon Sep 17 00:00:00 2001
+From 35271d72072841c16687ffd51f08ec65cdac3b3e Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Thu, 20 May 2010 06:14:01 -0500
-Subject: [PATCH 42/50] BeagleBoard: Added LED driver
+Subject: [PATCH 12/16] BeagleBoard: Added LED driver
Added LED driver using status_led. USR0 is set to monitor the boot
status. USR1 is set to be the green LED.
-(cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)
-(cherry picked from commit 21c574d9e20f86ab757f5efdd9146e6607f2faba)
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
+Included adding configuration and command to the default configuration.
+
+v2 updates
+ * Fixed USR0/USR1 to be LED 0/1 respectively
---
board/ti/beagle/Makefile | 4 ++-
- board/ti/beagle/beagle.c | 8 ++++
+ board/ti/beagle/beagle.c | 7 ++++
board/ti/beagle/led.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 102 insertions(+), 1 deletions(-)
+ 3 files changed, 101 insertions(+), 1 deletions(-)
create mode 100644 board/ti/beagle/led.c
diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
-index f797112..4cc675c 100644
+index 3b4aaac..d9f445f 100644
--- a/board/ti/beagle/Makefile
+++ b/board/ti/beagle/Makefile
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
- LIB = $(obj)lib$(BOARD).a
+ LIB = $(obj)lib$(BOARD).o
-COBJS := beagle.o
+COBJS-y := $(BOARD).o
@@ -33,7 +34,7 @@ index f797112..4cc675c 100644
OBJS := $(addprefix $(obj),$(COBJS))
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index cdba3dd..a6a4961 100644
+index 7c80a97..905b151 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -30,6 +30,9 @@
@@ -45,8 +46,8 @@ index cdba3dd..a6a4961 100644
+#endif
#include <twl4030.h>
#include <asm/io.h>
- #include <asm/arch/mux.h>
-@@ -83,6 +86,10 @@ int board_init(void)
+ #include <asm/arch/mmc_host_def.h>
+@@ -80,6 +83,10 @@ int board_init(void)
/* boot param addr */
gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
@@ -57,14 +58,9 @@ index cdba3dd..a6a4961 100644
return 0;
}
-@@ -282,3 +289,4 @@ void set_muxconf_regs(void)
- {
- MUX_BEAGLE();
- }
-+
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
new file mode 100644
-index 0000000..df26552
+index 0000000..fe80e19
--- /dev/null
+++ b/board/ti/beagle/led.c
@@ -0,0 +1,91 @@
@@ -97,8 +93,8 @@ index 0000000..df26552
+static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
+
+/* GPIO pins for the LEDs */
-+#define BEAGLE_LED_USR0 149
-+#define BEAGLE_LED_USR1 150
++#define BEAGLE_LED_USR0 150
++#define BEAGLE_LED_USR1 149
+
+#ifdef STATUS_LED_GREEN
+void green_LED_off (void)
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0012-OMAP3-Overo-allow-expansion-boards-with-any-vendor-I.patch b/recipes/u-boot/u-boot-git/beagleboard/0012-OMAP3-Overo-allow-expansion-boards-with-any-vendor-I.patch
deleted file mode 100644
index cd25031c9e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0012-OMAP3-Overo-allow-expansion-boards-with-any-vendor-I.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 2c02d9b024b58bbea920d3d6c40d62b30e448f60 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Fri, 26 Feb 2010 12:40:26 -0800
-Subject: [PATCH 12/50] OMAP3: Overo: allow expansion boards with any vendor ID
-
----
- board/overo/overo.c | 10 +++-------
- 1 files changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/board/overo/overo.c b/board/overo/overo.c
-index f6093d2..ec186ec 100644
---- a/board/overo/overo.c
-+++ b/board/overo/overo.c
-@@ -63,8 +63,7 @@ static struct {
- #define GUMSTIX_CHESTNUT43 0x06000200
- #define GUMSTIX_PINTO 0x07000200
-
--#define GUMSTIX_NO_EEPROM 0xfffffffe
--#define GUMSTIX_UNKNOWN 0xffffffff
-+#define GUMSTIX_NO_EEPROM 0xffffffff
-
- #if defined(CONFIG_CMD_NET)
- static void setup_net_chip(void);
-@@ -174,10 +173,7 @@ unsigned int get_expansion_id(void)
- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config,
- sizeof(expansion_config));
-
-- if ( (expansion_config.device_vendor & 0xffff) != GUMSTIX_VENDORID )
-- return GUMSTIX_UNKNOWN;
-- else
-- return expansion_config.device_vendor;
-+ return expansion_config.device_vendor;
- }
-
-
-@@ -245,7 +241,7 @@ int misc_init_r(void)
- case GUMSTIX_NO_EEPROM:
- printf("No EEPROM on expansion board\n");
- break;
-- case GUMSTIX_UNKNOWN:
-+ default:
- printf("Unrecognized expansion board\n");
- }
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-BeagleBoard-updated-default-configuration.patch b/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-BeagleBoard-updated-default-configuration.patch
new file mode 100644
index 0000000000..9c9a3fd4b7
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-BeagleBoard-updated-default-configuration.patch
@@ -0,0 +1,184 @@
+From da8fa305fd10331958cd18c9c27c9e062b886fc4 Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Wed, 21 Jul 2010 07:41:25 -0500
+Subject: [PATCH 13/16] OMAP3: BeagleBoard: updated default configuration
+
+* Decrease bootdelay to 3, use VGA for default resolution
+* Add CONFIG_SYS_MEMTEST_SCRATCH to point to a scratch memory area.
+* Add camera to default bootargs
+* Move ramdisk parameters. This will make it easier to reprogram the ramdisk size.
+* Improved boot env var setting
+ * Enabled evaluation of expressions with 'setexpr'
+ * Made room for a 64MB ramdisk by moving from 0x81600000 to 0x81000000
+ * Removed expression from 'ramroot' that wouldn't be evaluated
+ * Doubled console I/O buffer size from 256 to 512
+ * Doubled maximum command arguments size from 16 to 32
+* Enable multibus support for I2C
+* Added USER button switch from uEnv.txt to user.txt
+* Enable LEDs
+ Added LED driver using status_led. USR0 is set to monitor
+ the boot status. USR1 is set to be the GREEN LED.
+---
+ include/configs/omap3_beagle.h | 62 ++++++++++++++++++++++++++++++++-------
+ 1 files changed, 51 insertions(+), 11 deletions(-)
+
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index 9d569a5..73d4d4e 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -108,9 +108,27 @@
+ #define CONFIG_OMAP_HSMMC 1
+ #define CONFIG_DOS_PARTITION 1
+
++/* Status LED */
++#define CONFIG_STATUS_LED 1
++#define CONFIG_BOARD_SPECIFIC_LED 1
++#define STATUS_LED_BIT 0x01
++#define STATUS_LED_STATE STATUS_LED_ON
++#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
++#define STATUS_LED_BIT1 0x02
++#define STATUS_LED_STATE1 STATUS_LED_ON
++#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2)
++#define STATUS_LED_BOOT STATUS_LED_BIT
++#define STATUS_LED_GREEN STATUS_LED_BIT1
++
+ /* DDR - I use Micron DDR */
+ #define CONFIG_OMAP3_MICRON_DDR 1
+
++/* Enable Multi Bus support for I2C */
++#define CONFIG_I2C_MULTI_BUS 1
++
++/* Probe all devices */
++#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}
++
+ /* USB */
+ #define CONFIG_MUSB_UDC 1
+ #define CONFIG_USB_OMAP3 1
+@@ -138,6 +156,9 @@
+ #define CONFIG_CMD_I2C /* I2C serial bus support */
+ #define CONFIG_CMD_MMC /* MMC support */
+ #define CONFIG_CMD_NAND /* NAND support */
++#define CONFIG_CMD_LED /* LED support */
++#define CONFIG_VIDEO_OMAP3 /* DSS Support */
++#define CONFIG_CMD_SETEXPR /* Evaluate expressions */
+
+ #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
+ #undef CONFIG_CMD_FPGA /* FPGA configuration Support */
+@@ -184,45 +205,56 @@
+ /* partition */
+
+ /* Environment information */
+-#define CONFIG_BOOTDELAY 10
++#define CONFIG_BOOTDELAY 3
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "loadaddr=0x82000000\0" \
++ "loadaddr=0x80200000\0" \
++ "rdaddr=0x81000000\0" \
+ "usbtty=cdc_acm\0" \
+ "console=ttyS2,115200n8\0" \
+ "mpurate=auto\0" \
+ "buddy=none "\
++ "optargs=\0" \
++ "camera=lbcm3m1\0" \
+ "vram=12M\0" \
+- "dvimode=1024x768MR-16@60\0" \
++ "dvimode=640x480MR-16@60\0" \
+ "defaultdisplay=dvi\0" \
+ "mmcdev=0\0" \
+ "mmcroot=/dev/mmcblk0p2 rw\0" \
+ "mmcrootfstype=ext3 rootwait\0" \
+ "nandroot=/dev/mtdblock4 rw\0" \
+ "nandrootfstype=jffs2\0" \
++ "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \
++ "ramrootfstype=ext2\0" \
+ "mmcargs=setenv bootargs console=${console} " \
++ "${optargs} " \
+ "mpurate=${mpurate} " \
+ "buddy=${buddy} "\
++ "camera=${camera} "\
+ "vram=${vram} " \
+ "omapfb.mode=dvi:${dvimode} " \
+ "omapdss.def_disp=${defaultdisplay} " \
+ "root=${mmcroot} " \
+ "rootfstype=${mmcrootfstype}\0" \
+ "nandargs=setenv bootargs console=${console} " \
++ "${optargs} " \
+ "mpurate=${mpurate} " \
+ "buddy=${buddy} "\
++ "camera=${camera} "\
+ "vram=${vram} " \
+ "omapfb.mode=dvi:${dvimode} " \
+ "omapdss.def_disp=${defaultdisplay} " \
+ "root=${nandroot} " \
+ "rootfstype=${nandrootfstype}\0" \
+- "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
++ "bootenv=uEnv.txt\0" \
++ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
+ "importbootenv=echo Importing environment from mmc ...; " \
+ "env import -t $loadaddr $filesize\0" \
+ "ramargs=setenv bootargs console=${console} " \
+ "${optargs} " \
+ "mpurate=${mpurate} " \
+ "buddy=${buddy} "\
++ "camera=${camera} "\
+ "vram=${vram} " \
+ "omapfb.mode=dvi:${dvimode} " \
+ "omapdss.def_disp=${defaultdisplay} " \
+@@ -237,11 +269,18 @@
+ "run nandargs; " \
+ "nand read ${loadaddr} 280000 400000; " \
+ "bootm ${loadaddr}\0" \
++ "ramboot=echo Booting from ramdisk ...; " \
++ "run ramargs; " \
++ "bootm ${loadaddr}\0" \
+
+ #define CONFIG_BOOTCOMMAND \
+ "if mmc rescan ${mmcdev}; then " \
++ "if userbutton; then " \
++ "setenv bootenv user.txt;" \
++ "fi;" \
+ "echo SD/MMC found on device ${mmcdev};" \
+ "if run loadbootenv; then " \
++ "echo Loaded environment from ${bootenv};" \
+ "run importbootenv;" \
+ "fi;" \
+ "if test -n $uenvcmd; then " \
+@@ -252,7 +291,7 @@
+ "run mmcboot;" \
+ "fi;" \
+ "fi;" \
+- "run nandboot;" \
++ "run nandboot;"
+
+ #define CONFIG_AUTO_COMPLETE 1
+ /*
+@@ -262,18 +301,19 @@
+ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
+ #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
+ #define CONFIG_SYS_PROMPT "OMAP3 beagleboard.org # "
+-#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
++#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
+ /* Print Buffer Size */
+ #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
+ sizeof(CONFIG_SYS_PROMPT) + 16)
+-#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
++#define CONFIG_SYS_MAXARGS 32 /* max number of command args */
+ /* Boot Argument Buffer Size */
+ #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE)
+
+-#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */
+- /* works on */
+-#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \
+- 0x01F00000) /* 31MB */
++#define CONFIG_SYS_ALT_MEMTEST 1
++#define CONFIG_SYS_MEMTEST_START (0x82000000) /* memtest */
++ /* defaults */
++#define CONFIG_SYS_MEMTEST_END (0x87FFFFFF) /* 128MB */
++#define CONFIG_SYS_MEMTEST_SCRATCH (0x81000000) /* dummy address */
+
+ #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */
+ /* load address */
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-Overo-change-address-of-expansion-eeprom-to-0x.patch b/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-Overo-change-address-of-expansion-eeprom-to-0x.patch
deleted file mode 100644
index cfff25879b..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0013-OMAP3-Overo-change-address-of-expansion-eeprom-to-0x.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 90119d705d2c56254d4b27efb8e8c61e62f014c1 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Fri, 26 Feb 2010 12:42:30 -0800
-Subject: [PATCH 13/50] OMAP3: Overo: change address of expansion eeprom to 0x51 so as to not conflict with EDID address
-
----
- board/overo/overo.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/board/overo/overo.c b/board/overo/overo.c
-index ec186ec..f96e7ff 100644
---- a/board/overo/overo.c
-+++ b/board/overo/overo.c
-@@ -51,7 +51,7 @@ static struct {
- #define TWL4030_I2C_BUS 0
-
- #define EXPANSION_EEPROM_I2C_BUS 2
--#define EXPANSION_EEPROM_I2C_ADDRESS 0x50
-+#define EXPANSION_EEPROM_I2C_ADDRESS 0x51
-
- #define GUMSTIX_VENDORID 0x0200
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch b/recipes/u-boot/u-boot-git/beagleboard/0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch
new file mode 100644
index 0000000000..e01092afe1
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch
@@ -0,0 +1,42 @@
+From abc09e8f0b8e02dbfec8bb3c2e024ef9f1bdf4f0 Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Tue, 8 Mar 2011 20:42:01 -0600
+Subject: [PATCH 14/16] Corrected LED name match finding avoiding extraneous Usage printouts
+
+---
+ common/cmd_led.c | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/common/cmd_led.c b/common/cmd_led.c
+index 7f02fe6..ca2227f 100644
+--- a/common/cmd_led.c
++++ b/common/cmd_led.c
+@@ -83,7 +83,7 @@ int str_onoff (char *var)
+
+ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+ {
+- int state, i;
++ int state, i, match = 0;
+
+ /* Validate arguments */
+ if ((argc != 3)) {
+@@ -98,6 +98,7 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+ for (i = 0; led_commands[i].string; i++) {
+ if ((strcmp("all", argv[1]) == 0) ||
+ (strcmp(led_commands[i].string, argv[1]) == 0)) {
++ match = 1;
+ if (led_commands[i].on) {
+ if (state) {
+ led_commands[i].on();
+@@ -111,7 +112,7 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+ }
+
+ /* If we ran out of matches, print Usage */
+- if (!led_commands[i].string && !(strcmp("all", argv[1]) == 0)) {
++ if (!match) {
+ return cmd_usage(cmdtp);
+ }
+
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0014-OMAP3-board.c-don-t-attempt-to-set-up-second-RAM-ban.patch b/recipes/u-boot/u-boot-git/beagleboard/0014-OMAP3-board.c-don-t-attempt-to-set-up-second-RAM-ban.patch
deleted file mode 100644
index a092ca25ec..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0014-OMAP3-board.c-don-t-attempt-to-set-up-second-RAM-ban.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 7f50d09f9a00b7f2a392a5b0b9f2f19a96a90c16 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:04:50 -0700
-Subject: [PATCH 14/50] OMAP3: board.c: don't attempt to set up second RAM bank, assume x-load has already done this
-
----
- cpu/arm_cortexa8/omap3/board.c | 19 +++++++++----------
- 1 files changed, 9 insertions(+), 10 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
-index 7b78fa4..0126152 100644
---- a/cpu/arm_cortexa8/omap3/board.c
-+++ b/cpu/arm_cortexa8/omap3/board.c
-@@ -232,6 +232,7 @@ void s_init(void)
-
- per_clocks_enable();
-
-+ /* FIXME: u-boot's sdrc setup is broken */
- if (!in_sdram)
- sdrc_init();
- }
-@@ -281,16 +282,14 @@ int dram_init(void)
- {
- DECLARE_GLOBAL_DATA_PTR;
- unsigned int size0 = 0, size1 = 0;
--
-- /*
-- * If a second bank of DDR is attached to CS1 this is
-- * where it can be started. Early init code will init
-- * memory on CS0.
-- */
-- if ((sysinfo.mtype == DDR_COMBO) || (sysinfo.mtype == DDR_STACKED)) {
-- do_sdrc_init(CS1, NOT_EARLY);
-- make_cs1_contiguous();
-- }
-+ struct sdrc *sdrc_base = (struct sdrc *)OMAP34XX_SDRC_BASE;
-+ struct sdrc_actim *sdrc_actim_base = (struct sdrc_actim *)SDRC_ACTIM_CTRL1_BASE;
-+
-+ /* x-load sets up the second bank but */
-+ /* doesn't test to see if it is there */
-+ /* do so now, disable if not present */
-+ if (!mem_ok(CS1))
-+ writel(0, &sdrc_base->cs[1].mcfg);
-
- size0 = get_sdr_cs_size(CS0);
- size1 = get_sdr_cs_size(CS1);
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0015-OMAP3-mem.c-enhance-the-RAM-test.patch b/recipes/u-boot/u-boot-git/beagleboard/0015-OMAP3-mem.c-enhance-the-RAM-test.patch
deleted file mode 100644
index 92e2331cb4..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0015-OMAP3-mem.c-enhance-the-RAM-test.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 379ff04432ffdef234c2f85b1801cf7df2d3d5ee Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:06:49 -0700
-Subject: [PATCH 15/50] OMAP3: mem.c: enhance the RAM test
-
----
- cpu/arm_cortexa8/omap3/mem.c | 28 +++++++++++++++-------------
- 1 files changed, 15 insertions(+), 13 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
-index dfb7e4c..b828097 100644
---- a/cpu/arm_cortexa8/omap3/mem.c
-+++ b/cpu/arm_cortexa8/omap3/mem.c
-@@ -106,21 +106,23 @@ void make_cs1_contiguous(void)
- *******************************************************/
- u32 mem_ok(u32 cs)
- {
-- u32 val1, val2, addr;
-+ u32 i, val1, val2, addr, size;
- u32 pattern = 0x12345678;
-
-- addr = OMAP34XX_SDRC_CS0 + get_sdr_cs_offset(cs);
--
-- writel(0x0, addr + 0x400); /* clear pos A */
-- writel(pattern, addr); /* pattern to pos B */
-- writel(0x0, addr + 4); /* remove pattern off the bus */
-- val1 = readl(addr + 0x400); /* get pos A value */
-- val2 = readl(addr); /* get val2 */
-+ size = get_sdr_cs_offset(cs);
-+ addr = OMAP34XX_SDRC_CS0 + size;
-+
-+ for (i = 0; i < size; i+=1024) {
-+ writel(pattern - i, addr + i);
-+ }
-
-- if ((val1 != 0) || (val2 != pattern)) /* see if pos A val changed */
-- return 0;
-- else
-- return 1;
-+ for (i = 0; i < size; i+=1024) {
-+ val1 = readl(addr + i);
-+ if (val1 != (pattern - i)) {
-+ return 0;
-+ }
-+ }
-+ return 1;
- }
-
- /********************************************************
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch b/recipes/u-boot/u-boot-git/beagleboard/0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch
new file mode 100644
index 0000000000..2db0810b08
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch
@@ -0,0 +1,29 @@
+From 1a88890580917571811950eabd877cccdb643cb1 Mon Sep 17 00:00:00 2001
+From: Alexander Holler <holler@ahsoftware.de>
+Date: Thu, 17 Feb 2011 22:37:57 +0000
+Subject: [PATCH 15/16] omap3_beagle: Switch default console from ttyS2 to ttyO2
+
+Linux kernels >= 2.6.36 are using ttyOn instead ttySn for the
+serials on OMAPs.
+
+Signed-off-by: Alexander Holler <holler@ahsoftware.de>
+---
+ include/configs/omap3_beagle.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index 73d4d4e..de572e8 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -211,7 +211,7 @@
+ "loadaddr=0x80200000\0" \
+ "rdaddr=0x81000000\0" \
+ "usbtty=cdc_acm\0" \
+- "console=ttyS2,115200n8\0" \
++ "console=ttyO2,115200n8\0" \
+ "mpurate=auto\0" \
+ "buddy=none "\
+ "optargs=\0" \
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch b/recipes/u-boot/u-boot-git/beagleboard/0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch
new file mode 100644
index 0000000000..bdcdeb40b8
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch
@@ -0,0 +1,26 @@
+From 03757f19b4affb531d1606e468e0411acd8d57cb Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jkridner@beagleboard.org>
+Date: Wed, 9 Mar 2011 18:48:19 -0600
+Subject: [PATCH 16/16] BeagleBoard: Load kernel via MMC ext2, not fat
+
+---
+ include/configs/omap3_beagle.h | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
+index de572e8..3a102e5 100644
+--- a/include/configs/omap3_beagle.h
++++ b/include/configs/omap3_beagle.h
+@@ -261,7 +261,8 @@
+ "root=${ramroot} " \
+ "rootfstype=${ramrootfstype}\0" \
+ "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
+- "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
++ "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
++ "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} /boot/uImage\0" \
+ "mmcboot=echo Booting from mmc ...; " \
+ "run mmcargs; " \
+ "bootm ${loadaddr}\0" \
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0016-env_nand.c-fail-gracefully-if-no-nand-is-present.patch b/recipes/u-boot/u-boot-git/beagleboard/0016-env_nand.c-fail-gracefully-if-no-nand-is-present.patch
deleted file mode 100644
index d0209ae0d0..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0016-env_nand.c-fail-gracefully-if-no-nand-is-present.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a9b4ba0446bd55d98243de2f3e3a747f8842811f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:12:16 -0700
-Subject: [PATCH 16/50] env_nand.c: fail gracefully if no nand is present
-
----
- common/env_nand.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/common/env_nand.c b/common/env_nand.c
-index a15a950..325f112 100644
---- a/common/env_nand.c
-+++ b/common/env_nand.c
-@@ -268,6 +268,10 @@ int readenv (size_t offset, u_char * buf)
-
- u_char *char_ptr;
-
-+ /* fail if no nand detected */
-+ if (nand_info[0].type == 0)
-+ return 1;
-+
- blocksize = nand_info[0].erasesize;
- len = min(blocksize, CONFIG_ENV_SIZE);
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0017-OMAP3-add-definitions-to-support-sysinfo-cpu-and-cpu.patch b/recipes/u-boot/u-boot-git/beagleboard/0017-OMAP3-add-definitions-to-support-sysinfo-cpu-and-cpu.patch
deleted file mode 100644
index 917eca3faf..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0017-OMAP3-add-definitions-to-support-sysinfo-cpu-and-cpu.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 4c1682016b61262456acb9386ef69d0da4243db9 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:15:29 -0700
-Subject: [PATCH 17/50] OMAP3: add definitions to support sysinfo cpu and cpu family detection
-
----
- include/asm-arm/arch-omap3/cpu.h | 6 ------
- include/asm-arm/arch-omap3/omap3.h | 29 +++++++++++++++++++++++++++++
- 2 files changed, 29 insertions(+), 6 deletions(-)
-
-diff --git a/include/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h
-index f769571..d9eec7e 100644
---- a/include/asm-arm/arch-omap3/cpu.h
-+++ b/include/asm-arm/arch-omap3/cpu.h
-@@ -60,12 +60,6 @@ struct ctrl {
- #endif /* __ASSEMBLY__ */
- #endif /* __KERNEL_STRICT_NAMES */
-
--/* cpu type */
--#define OMAP3503 0x5c00
--#define OMAP3515 0x1c00
--#define OMAP3525 0x4c00
--#define OMAP3530 0x0c00
--
- #ifndef __KERNEL_STRICT_NAMES
- #ifndef __ASSEMBLY__
- struct ctrl_id {
-diff --git a/include/asm-arm/arch-omap3/omap3.h b/include/asm-arm/arch-omap3/omap3.h
-index 1349b8b..3957c79 100644
---- a/include/asm-arm/arch-omap3/omap3.h
-+++ b/include/asm-arm/arch-omap3/omap3.h
-@@ -184,4 +184,33 @@ struct gpio {
- #define WIDTH_8BIT 0x0000
- #define WIDTH_16BIT 0x1000 /* bit pos for 16 bit in gpmc */
-
-+/*
-+ * Hawkeye values
-+ */
-+#define HAWKEYE_OMAP34XX 0xb7ae
-+#define HAWKEYE_AM35XX 0xb868
-+#define HAWKEYE_OMAP36XX 0xb891
-+
-+#define HAWKEYE_SHIFT 12
-+
-+/*
-+ * Define CPU families
-+ */
-+#define CPU_OMAP34XX 0x3400 /* OMAP34xx/OMAP35 devices */
-+#define CPU_AM35XX 0x3500 /* AM35xx devices */
-+#define CPU_OMAP36XX 0x3600 /* OMAP36xx devices */
-+
-+/*
-+ * Control status register values corresponding to cpu variants
-+ */
-+#define OMAP3503 0x5c00
-+#define OMAP3515 0x1c00
-+#define OMAP3525 0x4c00
-+#define OMAP3530 0x0c00
-+
-+#define AM3505 0x5c00
-+#define AM3517 0x1c00
-+
-+#define OMAP3730 0x0c00
-+
- #endif
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0018-OMAP3-sys_info-update-cpu-detection-for-36XX-37XX.patch b/recipes/u-boot/u-boot-git/beagleboard/0018-OMAP3-sys_info-update-cpu-detection-for-36XX-37XX.patch
deleted file mode 100644
index a3bfb8fd25..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0018-OMAP3-sys_info-update-cpu-detection-for-36XX-37XX.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From f8a42576fac8349ae8ff9d6673b229f6b3103798 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:17:59 -0700
-Subject: [PATCH 18/50] OMAP3 sys_info: update cpu detection for 36XX/37XX
-
----
- cpu/arm_cortexa8/omap3/sys_info.c | 137 ++++++++++++++++++++++++++++---------
- 1 files changed, 105 insertions(+), 32 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/sys_info.c b/cpu/arm_cortexa8/omap3/sys_info.c
-index e227f67..e32a846 100644
---- a/cpu/arm_cortexa8/omap3/sys_info.c
-+++ b/cpu/arm_cortexa8/omap3/sys_info.c
-@@ -79,32 +79,72 @@ u32 get_cpu_type(void)
- }
-
- /******************************************
-- * get_cpu_rev(void) - extract version info
-+ * get_cpu_id(void) - extract cpu id
-+ * returns 0 for ES1.0, cpuid otherwise
- ******************************************/
--u32 get_cpu_rev(void)
-+u32 get_cpu_id(void)
- {
-- u32 cpuid = 0;
- struct ctrl_id *id_base;
-+ u32 cpuid = 0;
-
- /*
- * On ES1.0 the IDCODE register is not exposed on L4
- * so using CPU ID to differentiate between ES1.0 and > ES1.0.
- */
- __asm__ __volatile__("mrc p15, 0, %0, c0, c0, 0":"=r"(cpuid));
-- if ((cpuid & 0xf) == 0x0)
-- return CPU_3XX_ES10;
-- else {
-+ if ((cpuid & 0xf) == 0x0) {
-+ return 0;
-+ } else {
- /* Decode the IDs on > ES1.0 */
- id_base = (struct ctrl_id *) OMAP34XX_ID_L4_IO_BASE;
-
-- cpuid = (readl(&id_base->idcode) >> CPU_3XX_ID_SHIFT) & 0xf;
-+ cpuid = readl(&id_base->idcode);
-+ }
-
-- /* Some early ES2.0 seem to report ID 0, fix this */
-- if(cpuid == 0)
-- cpuid = CPU_3XX_ES20;
-+ return cpuid;
-+}
-
-- return cpuid;
-+/******************************************
-+ * get_cpu_family(void) - extract cpu info
-+ ******************************************/
-+u32 get_cpu_family(void)
-+{
-+ u16 hawkeye;
-+ u32 cpu_family;
-+ u32 cpuid = get_cpu_id();
-+
-+ if (cpuid == 0)
-+ return CPU_OMAP34XX;
-+
-+ hawkeye = (cpuid >> HAWKEYE_SHIFT) & 0xffff;
-+ switch(hawkeye) {
-+ case HAWKEYE_OMAP34XX:
-+ cpu_family = CPU_OMAP34XX;
-+ break;
-+ case HAWKEYE_AM35XX:
-+ cpu_family = CPU_AM35XX;
-+ break;
-+ case HAWKEYE_OMAP36XX:
-+ cpu_family = CPU_OMAP36XX;
-+ break;
-+ default:
-+ cpu_family = CPU_OMAP34XX;
- }
-+
-+ return cpu_family;
-+}
-+
-+/******************************************
-+ * get_cpu_rev(void) - extract version info
-+ ******************************************/
-+u32 get_cpu_rev(void)
-+{
-+ u32 cpuid = get_cpu_id();
-+
-+ if (cpuid == 0)
-+ return CPU_3XX_ES10;
-+ else
-+ return (cpuid >> CPU_3XX_ID_SHIFT) & 0xf;
- }
-
- /*****************************************************************
-@@ -267,24 +307,57 @@ u32 get_device_type(void)
- */
- int print_cpuinfo (void)
- {
-- char *cpu_s, *sec_s;
--
-- switch (get_cpu_type()) {
-- case OMAP3503:
-- cpu_s = "3503";
-- break;
-- case OMAP3515:
-- cpu_s = "3515";
-+ char *cpu_family_s, *cpu_s, *sec_s;
-+
-+ switch(get_cpu_family()) {
-+ case CPU_OMAP34XX:
-+ cpu_family_s = "OMAP";
-+ switch (get_cpu_type()) {
-+ case OMAP3503:
-+ cpu_s = "3503";
-+ break;
-+ case OMAP3515:
-+ cpu_s = "3515";
-+ break;
-+ case OMAP3525:
-+ cpu_s = "3525";
-+ break;
-+ case OMAP3530:
-+ cpu_s = "3530";
-+ break;
-+ default:
-+ cpu_s = "35XX";
-+ break;
-+ }
- break;
-- case OMAP3525:
-- cpu_s = "3525";
-+ case CPU_AM35XX:
-+ cpu_family_s = "AM";
-+ switch (get_cpu_type()) {
-+ case AM3505:
-+ cpu_s = "3505";
-+ break;
-+ case AM3517:
-+ cpu_s = "3517";
-+ break;
-+ default:
-+ cpu_s = "35XX";
-+ break;
-+ }
- break;
-- case OMAP3530:
-- cpu_s = "3530";
-+ case CPU_OMAP36XX:
-+ cpu_family_s = "OMAP";
-+ switch (get_cpu_type()) {
-+ case OMAP3730:
-+ cpu_s = "3630/3730";
-+ break;
-+ default:
-+ cpu_s = "36XX/37XX";
-+ break;
-+ }
- break;
- default:
-+ cpu_family_s = "OMAP";
- cpu_s = "35XX";
-- break;
- }
-
- switch (get_device_type()) {
-@@ -304,16 +377,16 @@ int print_cpuinfo (void)
- sec_s = "?";
- }
-
-- printf("OMAP%s-%s ES%s, CPU-OPP2, L3-165MHz, ",
-- cpu_s, sec_s, rev_s[get_cpu_rev()]);
-+ printf("%s%s-%s ES%s, CPU-OPP2, L3-165MHz, ",
-+ cpu_family_s, cpu_s, sec_s, rev_s[get_cpu_rev()]);
-
-- printf("Max clock-");
-- if ((get_cpu_rev() >= CPU_3XX_ES31) && (get_sku_id() == SKUID_CLK_720MHZ))
-- printf("720Mhz\n");
-- else printf("600Mhz\n");
-+ if (get_cpu_family() == CPU_OMAP34XX)
-+ if ((get_cpu_rev() >= CPU_3XX_ES31) &&
-+ (get_sku_id() == SKUID_CLK_720MHZ))
-+ printf("Max clock-720Mhz\n");
-+ else printf("Max clock-600Mhz\n");
-+ else printf("\n");
-
--
--
- return 0;
- }
- #endif /* CONFIG_DISPLAY_CPUINFO */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0019-OMAP3-clocks-update-clock-setup-for-36XX-37XX.patch b/recipes/u-boot/u-boot-git/beagleboard/0019-OMAP3-clocks-update-clock-setup-for-36XX-37XX.patch
deleted file mode 100644
index 03d0674b54..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0019-OMAP3-clocks-update-clock-setup-for-36XX-37XX.patch
+++ /dev/null
@@ -1,826 +0,0 @@
-From 276236da04d67dfad61ccab5d4700613ae8527f9 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:20:56 -0700
-Subject: [PATCH 19/50] OMAP3: clocks: update clock setup for 36XX/37XX
-
----
- cpu/arm_cortexa8/omap3/clock.c | 559 +++++++++++++++++++++--------
- cpu/arm_cortexa8/omap3/lowlevel_init.S | 69 ++++
- include/asm-arm/arch-omap3/clocks.h | 17 +
- include/asm-arm/arch-omap3/clocks_omap3.h | 27 ++
- 4 files changed, 525 insertions(+), 147 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c
-index 6330c9e..538a183 100644
---- a/cpu/arm_cortexa8/omap3/clock.c
-+++ b/cpu/arm_cortexa8/omap3/clock.c
-@@ -47,17 +47,12 @@ u32 get_osc_clk_speed(void)
- struct s32ktimer *s32k_base = (struct s32ktimer *)SYNC_32KTIMER_BASE;
-
- val = readl(&prm_base->clksrc_ctrl);
--
- if (val & SYSCLKDIV_2)
- cdiv = 2;
-- else if (val & SYSCLKDIV_1)
-- cdiv = 1;
- else
-- /*
-- * Should never reach here! (Assume divider as 1)
-- */
- cdiv = 1;
-
-+
- /* enable timer2 */
- val = readl(&prcm_base->clksel_wkup) | CLKSEL_GPT1;
-
-@@ -67,7 +62,6 @@ u32 get_osc_clk_speed(void)
- /* Enable I and F Clocks for GPT1 */
- val = readl(&prcm_base->iclken_wkup) | EN_GPT1 | EN_32KSYNC;
- writel(val, &prcm_base->iclken_wkup);
--
- val = readl(&prcm_base->fclken_wkup) | EN_GPT1;
- writel(val, &prcm_base->fclken_wkup);
-
-@@ -87,13 +81,10 @@ u32 get_osc_clk_speed(void)
-
- /* wait for 40 cycles */
- while (readl(&s32k_base->s32k_cr) < (start + 20)) ;
-+
- cend = readl(&gpt1_base->tcrr); /* get end sys_clk count */
- cdiff = cend - cstart; /* get elapsed ticks */
--
-- if (cdiv == 2)
-- {
-- cdiff *= 2;
-- }
-+ cdiff *= cdiv;
-
- /* based on number of ticks assign speed */
- if (cdiff > 19000)
-@@ -135,65 +126,25 @@ void get_sys_clkin_sel(u32 osc_clk, u32 *sys_clkin_sel)
- }
- }
-
-+/*
-+ * OMAP3530 specific functions
-+ */
-+
- /******************************************************************************
-- * prcm_init() - inits clocks for PRCM as defined in clocks.h
-- * called from SRAM, or Flash (using temp SRAM stack).
-+ * Initialize CORE DPLL for OMAP34x/35x
- *****************************************************************************/
--void prcm_init(void)
-+static void dpll3_init_34xx(u32 sil_index, u32 clk_index)
- {
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_core_dpll_param();
- void (*f_lock_pll) (u32, u32, u32, u32);
- int xip_safe, p0, p1, p2, p3;
-- u32 osc_clk = 0, sys_clkin_sel;
-- u32 clk_index, sil_index = 0;
-- struct prm *prm_base = (struct prm *)PRM_BASE;
-- struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-- dpll_param *dpll_param_p;
--
-- f_lock_pll = (void *) ((u32) &_end_vect - (u32) &_start +
-- SRAM_VECT_CODE);
-
- xip_safe = is_running_in_sram();
-
-- /*
-- * Gauge the input clock speed and find out the sys_clkin_sel
-- * value corresponding to the input clock.
-- */
-- osc_clk = get_osc_clk_speed();
-- get_sys_clkin_sel(osc_clk, &sys_clkin_sel);
-+ /* Moving to the right sysclk and ES rev base */
-+ ptr = ptr + (3 * clk_index) + sil_index;
-
-- /* set input crystal speed */
-- sr32(&prm_base->clksel, 0, 3, sys_clkin_sel);
--
-- /* If the input clock is greater than 19.2M always divide/2 */
-- if (sys_clkin_sel > 2) {
-- /* input clock divider */
-- sr32(&prm_base->clksrc_ctrl, 6, 2, 2);
-- clk_index = sys_clkin_sel / 2;
-- } else {
-- /* input clock divider */
-- sr32(&prm_base->clksrc_ctrl, 6, 2, 1);
-- clk_index = sys_clkin_sel;
-- }
--
-- /*
-- * The DPLL tables are defined according to sysclk value and
-- * silicon revision. The clk_index value will be used to get
-- * the values for that input sysclk from the DPLL param table
-- * and sil_index will get the values for that SysClk for the
-- * appropriate silicon rev.
-- */
-- if (get_cpu_rev())
-- sil_index = 1;
--
-- /* Unlock MPU DPLL (slows things down, and needed later) */
-- sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOW_POWER_BYPASS);
-- wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu, LDELAY);
--
-- /* Getting the base address of Core DPLL param table */
-- dpll_param_p = (dpll_param *) get_core_dpll_param();
--
-- /* Moving it to the right sysclk and ES rev base */
-- dpll_param_p = dpll_param_p + 3 * clk_index + sil_index;
- if (xip_safe) {
- /*
- * CORE DPLL
-@@ -208,34 +159,38 @@ void prcm_init(void)
- * work. write another value and then default value.
- */
-
-- /* m3x2 */
-- sr32(&prcm_base->clksel1_emu, 16, 5, CORE_M3X2 + 1);
-- /* m3x2 */
-+ /* CM_CLKSEL1_EMU[DIV_DPLL3] */
-+ sr32(&prcm_base->clksel1_emu, 16, 5, (CORE_M3X2 + 1)) ;
- sr32(&prcm_base->clksel1_emu, 16, 5, CORE_M3X2);
-- /* Set M2 */
-- sr32(&prcm_base->clksel1_pll, 27, 2, dpll_param_p->m2);
-- /* Set M */
-- sr32(&prcm_base->clksel1_pll, 16, 11, dpll_param_p->m);
-- /* Set N */
-- sr32(&prcm_base->clksel1_pll, 8, 7, dpll_param_p->n);
-- /* 96M Src */
-+
-+ /* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
-+ sr32(&prcm_base->clksel1_pll, 27, 5, ptr->m2);
-+
-+ /* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
-+ sr32(&prcm_base->clksel1_pll, 16, 11, ptr->m);
-+
-+ /* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
-+ sr32(&prcm_base->clksel1_pll, 8, 7, ptr->n);
-+
-+ /* Source is the CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
- sr32(&prcm_base->clksel1_pll, 6, 1, 0);
-- /* ssi */
-+
-+ /* SSI */
- sr32(&prcm_base->clksel_core, 8, 4, CORE_SSI_DIV);
-- /* fsusb */
-+ /* FSUSB */
- sr32(&prcm_base->clksel_core, 4, 2, CORE_FUSB_DIV);
-- /* l4 */
-+ /* L4 */
- sr32(&prcm_base->clksel_core, 2, 2, CORE_L4_DIV);
-- /* l3 */
-+ /* L3 */
- sr32(&prcm_base->clksel_core, 0, 2, CORE_L3_DIV);
-- /* gfx */
-- sr32(&prcm_base->clksel_gfx, 0, 3, GFX_DIV);
-- /* reset mgr */
-+ /* GFX */
-+ sr32(&prcm_base->clksel_gfx, 0, 3, GFX_DIV);
-+ /* RESET MGR */
- sr32(&prcm_base->clksel_wkup, 1, 2, WKUP_RSM);
-- /* FREQSEL */
-- sr32(&prcm_base->clken_pll, 4, 4, dpll_param_p->fsel);
-- /* lock mode */
-- sr32(&prcm_base->clken_pll, 0, 3, PLL_LOCK);
-+ /* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
-+ sr32(&prcm_base->clken_pll, 4, 4, ptr->fsel);
-+ /* LOCK MODE */
-+ sr32(&prcm_base->clken_pll, 0, 3, PLL_LOCK);
-
- wait_on_value(ST_CORE_CLK, 1, &prcm_base->idlest_ckgen,
- LDELAY);
-@@ -244,102 +199,411 @@ void prcm_init(void)
- * if running from flash, jump to small relocated code
- * area in SRAM.
- */
-+ f_lock_pll = (void *) ((u32) &_end_vect - (u32) &_start +
-+ SRAM_VECT_CODE);
-+
- p0 = readl(&prcm_base->clken_pll);
- sr32(&p0, 0, 3, PLL_FAST_RELOCK_BYPASS);
-- sr32(&p0, 4, 4, dpll_param_p->fsel); /* FREQSEL */
-+ /* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
-+ sr32(&p0, 4, 4, ptr->fsel);
-
- p1 = readl(&prcm_base->clksel1_pll);
-- sr32(&p1, 27, 2, dpll_param_p->m2); /* Set M2 */
-- sr32(&p1, 16, 11, dpll_param_p->m); /* Set M */
-- sr32(&p1, 8, 7, dpll_param_p->n); /* Set N */
-- sr32(&p1, 6, 1, 0); /* set source for 96M */
-+ /* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
-+ sr32(&p1, 27, 5, ptr->m2);
-+ /* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
-+ sr32(&p1, 16, 11, ptr->m);
-+ /* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
-+ sr32(&p1, 8, 7, ptr->n);
-+ /* Source is the CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
-+ sr32(&p1, 6, 1, 0);
-
- p2 = readl(&prcm_base->clksel_core);
-- sr32(&p2, 8, 4, CORE_SSI_DIV); /* ssi */
-- sr32(&p2, 4, 2, CORE_FUSB_DIV); /* fsusb */
-- sr32(&p2, 2, 2, CORE_L4_DIV); /* l4 */
-- sr32(&p2, 0, 2, CORE_L3_DIV); /* l3 */
-+ /* SSI */
-+ sr32(&p2, 8, 4, CORE_SSI_DIV);
-+ /* FSUSB */
-+ sr32(&p2, 4, 2, CORE_FUSB_DIV);
-+ /* L4 */
-+ sr32(&p2, 2, 2, CORE_L4_DIV);
-+ /* L3 */
-+ sr32(&p2, 0, 2, CORE_L3_DIV);
-
- p3 = (u32)&prcm_base->idlest_ckgen;
-
- (*f_lock_pll) (p0, p1, p2, p3);
- }
-+}
-
-- /* PER DPLL */
-- sr32(&prcm_base->clken_pll, 16, 3, PLL_STOP);
-- wait_on_value(ST_PERIPH_CLK, 0, &prcm_base->idlest_ckgen, LDELAY);
--
-- /* Getting the base address to PER DPLL param table */
--
-- /* Set N */
-- dpll_param_p = (dpll_param *) get_per_dpll_param();
-+/******************************************************************************
-+ * Initialize PER DPLL for OMAP34x/35x
-+ *****************************************************************************/
-+static void dpll4_init_34xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_per_dpll_param();
-
- /* Moving it to the right sysclk base */
-- dpll_param_p = dpll_param_p + clk_index;
-+ ptr = ptr + clk_index;
-+
-+ /* EN_PERIPH_DPLL: CM_CLKEN_PLL[16:18] */
-+ sr32(&prcm_base->clken_pll, 16, 3, PLL_STOP);
-+ wait_on_value(ST_PERIPH_CLK, 0, &prcm_base->idlest_ckgen, LDELAY);
-
- /*
- * Errata 1.50 Workaround for OMAP3 ES1.0 only
- * If using default divisors, write default divisor + 1
- * and then the actual divisor value
- */
-- sr32(&prcm_base->clksel1_emu, 24, 5, PER_M6X2 + 1); /* set M6 */
-- sr32(&prcm_base->clksel1_emu, 24, 5, PER_M6X2); /* set M6 */
-- sr32(&prcm_base->clksel_cam, 0, 5, PER_M5X2 + 1); /* set M5 */
-- sr32(&prcm_base->clksel_cam, 0, 5, PER_M5X2); /* set M5 */
-- sr32(&prcm_base->clksel_dss, 0, 5, PER_M4X2 + 1); /* set M4 */
-- sr32(&prcm_base->clksel_dss, 0, 5, PER_M4X2); /* set M4 */
-- sr32(&prcm_base->clksel_dss, 8, 5, PER_M3X2 + 1); /* set M3 */
-- sr32(&prcm_base->clksel_dss, 8, 5, PER_M3X2); /* set M3 */
-- sr32(&prcm_base->clksel3_pll, 0, 5, dpll_param_p->m2 + 1); /* set M2 */
-- sr32(&prcm_base->clksel3_pll, 0, 5, dpll_param_p->m2); /* set M2 */
-+ /* M6 */
-+ sr32(&prcm_base->clksel1_emu, 24, 5, (PER_M6X2 + 1));
-+ sr32(&prcm_base->clksel1_emu, 24, 5, PER_M6X2);
-+ /* M5 */
-+ sr32(&prcm_base->clksel_cam, 0, 5, (PER_M5X2 + 1));
-+ sr32(&prcm_base->clksel_cam, 0, 5, PER_M5X2);
-+ /* M4 */
-+ sr32(&prcm_base->clksel_dss, 0, 5, (PER_M4X2 + 1));
-+ sr32(&prcm_base->clksel_dss, 0, 5, PER_M4X2);
-+ /* M3 */
-+ sr32(&prcm_base->clksel_dss, 8, 5, (PER_M3X2 + 1));
-+ sr32(&prcm_base->clksel_dss, 8, 5, PER_M3X2);
-+ /* M2 (DIV_96M): CM_CLKSEL3_PLL[0:4] */
-+ sr32(&prcm_base->clksel3_pll, 0, 5, (ptr->m2 + 1));
-+ sr32(&prcm_base->clksel3_pll, 0, 5, ptr->m2);
- /* Workaround end */
-
-- sr32(&prcm_base->clksel2_pll, 8, 11, dpll_param_p->m); /* set m */
-- sr32(&prcm_base->clksel2_pll, 0, 7, dpll_param_p->n); /* set n */
-- sr32(&prcm_base->clken_pll, 20, 4, dpll_param_p->fsel); /* FREQSEL */
-- sr32(&prcm_base->clken_pll, 16, 3, PLL_LOCK); /* lock mode */
-+ /* M (PERIPH_DPLL_MULT): CM_CLKSEL2_PLL[8:18] */
-+ sr32(&prcm_base->clksel2_pll, 8, 11, ptr->m);
-+
-+ /* N (PERIPH_DPLL_DIV): CM_CLKSEL2_PLL[0:6] */
-+ sr32(&prcm_base->clksel2_pll, 0, 7, ptr->n);
-+
-+ /* FREQSEL (PERIPH_DPLL_FREQSEL): CM_CLKEN_PLL[20:23] */
-+ sr32(&prcm_base->clken_pll, 20, 4, ptr->fsel);
-+
-+ /* LOCK MODE (EN_PERIPH_DPLL): CM_CLKEN_PLL[16:18] */
-+ sr32(&prcm_base->clken_pll, 16, 3, PLL_LOCK);
- wait_on_value(ST_PERIPH_CLK, 2, &prcm_base->idlest_ckgen, LDELAY);
-+}
-
-- /* Getting the base address to MPU DPLL param table */
-- dpll_param_p = (dpll_param *) get_mpu_dpll_param();
-+static void mpu_init_34xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_mpu_dpll_param();
-
-- /* Moving it to the right sysclk and ES rev base */
-- dpll_param_p = dpll_param_p + 3 * clk_index + sil_index;
-+ /* Moving to the right sysclk and ES rev base */
-+ ptr = ptr + (3 * clk_index) + sil_index;
-
- /* MPU DPLL (unlocked already) */
-
-- /* Set M2 */
-- sr32(&prcm_base->clksel2_pll_mpu, 0, 5, dpll_param_p->m2);
-- /* Set M */
-- sr32(&prcm_base->clksel1_pll_mpu, 8, 11, dpll_param_p->m);
-- /* Set N */
-- sr32(&prcm_base->clksel1_pll_mpu, 0, 7, dpll_param_p->n);
-- /* FREQSEL */
-- sr32(&prcm_base->clken_pll_mpu, 4, 4, dpll_param_p->fsel);
-- /* lock mode */
-- sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOCK);
-- wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu, LDELAY);
--
-- /* Getting the base address to IVA DPLL param table */
-- dpll_param_p = (dpll_param *) get_iva_dpll_param();
--
-- /* Moving it to the right sysclk and ES rev base */
-- dpll_param_p = dpll_param_p + 3 * clk_index + sil_index;
--
-- /* IVA DPLL (set to 12*20=240MHz) */
-+ /* M2 (MPU_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_MPU[0:4] */
-+ sr32(&prcm_base->clksel2_pll_mpu, 0, 5, ptr->m2);
-+
-+ /* M (MPU_DPLL_MULT) : CM_CLKSEL2_PLL_MPU[8:18] */
-+ sr32(&prcm_base->clksel1_pll_mpu, 8, 11, ptr->m);
-+
-+ /* N (MPU_DPLL_DIV) : CM_CLKSEL2_PLL_MPU[0:6] */
-+ sr32(&prcm_base->clksel1_pll_mpu, 0, 7, ptr->n);
-+
-+ /* FREQSEL (MPU_DPLL_FREQSEL) : CM_CLKEN_PLL_MPU[4:7] */
-+ sr32(&prcm_base->clken_pll_mpu, 4, 4, ptr->fsel);
-+}
-+
-+static void iva_init_34xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_iva_dpll_param();
-+
-+ /* Moving to the right sysclk and ES rev base */
-+ ptr = ptr + (3 * clk_index) + sil_index;
-+
-+ /* IVA DPLL */
-+ /* EN_IVA2_DPLL : CM_CLKEN_PLL_IVA2[0:2] */
- sr32(&prcm_base->clken_pll_iva2, 0, 3, PLL_STOP);
- wait_on_value(ST_IVA2_CLK, 0, &prcm_base->idlest_pll_iva2, LDELAY);
-- /* set M2 */
-- sr32(&prcm_base->clksel2_pll_iva2, 0, 5, dpll_param_p->m2);
-- /* set M */
-- sr32(&prcm_base->clksel1_pll_iva2, 8, 11, dpll_param_p->m);
-- /* set N */
-- sr32(&prcm_base->clksel1_pll_iva2, 0, 7, dpll_param_p->n);
-- /* FREQSEL */
-- sr32(&prcm_base->clken_pll_iva2, 4, 4, dpll_param_p->fsel);
-- /* lock mode */
-+
-+ /* M2 (IVA2_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_IVA2[0:4] */
-+ sr32(&prcm_base->clksel2_pll_iva2, 0, 5, ptr->m2);
-+
-+ /* M (IVA2_DPLL_MULT) : CM_CLKSEL1_PLL_IVA2[8:18] */
-+ sr32(&prcm_base->clksel1_pll_iva2, 8, 11, ptr->m);
-+
-+ /* N (IVA2_DPLL_DIV) : CM_CLKSEL1_PLL_IVA2[0:6] */
-+ sr32(&prcm_base->clksel1_pll_iva2, 0, 7, ptr->n);
-+
-+ /* FREQSEL (IVA2_DPLL_FREQSEL) : CM_CLKEN_PLL_IVA2[4:7] */
-+ sr32(&prcm_base->clken_pll_iva2, 4, 4, ptr->fsel);
-+
-+ /* LOCK MODE (EN_IVA2_DPLL) : CM_CLKEN_PLL_IVA2[0:2] */
- sr32(&prcm_base->clken_pll_iva2, 0, 3, PLL_LOCK);
-+
- wait_on_value(ST_IVA2_CLK, 1, &prcm_base->idlest_pll_iva2, LDELAY);
-+}
-+
-+/*
-+ * OMAP3630 specific functions
-+ */
-+
-+/******************************************************************************
-+ * Initialize PER DPLL for OMAP36x/37x
-+ *****************************************************************************/
-+static void dpll3_init_36xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_36x_core_dpll_param();
-+ void (*f_lock_pll) (u32, u32, u32, u32);
-+ int xip_safe, p0, p1, p2, p3;
-+
-+ xip_safe = is_running_in_sram();
-+
-+ /* Moving it to the right sysclk base */
-+ ptr += clk_index;
-+
-+ if (xip_safe) {
-+ /* CORE DPLL */
-+
-+ /* Select relock bypass: CM_CLKEN_PLL[0:2] */
-+ sr32(&prcm_base->clken_pll, 0, 3, PLL_FAST_RELOCK_BYPASS);
-+ wait_on_value(ST_CORE_CLK, 0, &prcm_base->idlest_ckgen,
-+ LDELAY);
-+
-+ /* CM_CLKSEL1_EMU[DIV_DPLL3] */
-+ sr32(&prcm_base->clksel1_emu, 16, 5, CORE_M3X2);
-+
-+ /* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
-+ sr32(&prcm_base->clksel1_pll, 27, 5, ptr->m2);
-+
-+ /* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
-+ sr32(&prcm_base->clksel1_pll, 16, 11, ptr->m);
-+
-+ /* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
-+ sr32(&prcm_base->clksel1_pll, 8, 7, ptr->n);
-+
-+ /* Source is the CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
-+ sr32(&prcm_base->clksel1_pll, 6, 1, 0);
-+
-+ /* SSI */
-+ sr32(&prcm_base->clksel_core, 8, 4, CORE_SSI_DIV);
-+ /* FSUSB */
-+ sr32(&prcm_base->clksel_core, 4, 2, CORE_FUSB_DIV);
-+ /* L4 */
-+ sr32(&prcm_base->clksel_core, 2, 2, CORE_L4_DIV);
-+ /* L3 */
-+ sr32(&prcm_base->clksel_core, 0, 2, CORE_L3_DIV);
-+ /* GFX */
-+ sr32(&prcm_base->clksel_gfx, 0, 3, GFX_DIV);
-+ /* RESET MGR */
-+ sr32(&prcm_base->clksel_wkup, 1, 2, WKUP_RSM);
-+ /* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
-+ sr32(&prcm_base->clken_pll, 4, 4, ptr->fsel);
-+ /* LOCK MODE */
-+ sr32(&prcm_base->clken_pll, 0, 3, PLL_LOCK);
-+
-+ wait_on_value(ST_CORE_CLK, 1, &prcm_base->idlest_ckgen,
-+ LDELAY);
-+ } else if (is_running_in_flash()) {
-+ /*
-+ * if running from flash, jump to small relocated code
-+ * area in SRAM.
-+ */
-+ f_lock_pll = (void *) ((u32) &_end_vect - (u32) &_start +
-+ SRAM_VECT_CODE);
-+
-+ p0 = readl(&prcm_base->clken_pll);
-+ sr32(&p0, 0, 3, PLL_FAST_RELOCK_BYPASS);
-+ /* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
-+ sr32(&p0, 4, 4, ptr->fsel);
-+
-+ p1 = readl(&prcm_base->clksel1_pll);
-+ /* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
-+ sr32(&p1, 27, 5, ptr->m2);
-+ /* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
-+ sr32(&p1, 16, 11, ptr->m);
-+ /* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
-+ sr32(&p1, 8, 7, ptr->n);
-+ /* Source is the CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
-+ sr32(&p1, 6, 1, 0);
-+
-+ p2 = readl(&prcm_base->clksel_core);
-+ /* SSI */
-+ sr32(&p2, 8, 4, CORE_SSI_DIV);
-+ /* FSUSB */
-+ sr32(&p2, 4, 2, CORE_FUSB_DIV);
-+ /* L4 */
-+ sr32(&p2, 2, 2, CORE_L4_DIV);
-+ /* L3 */
-+ sr32(&p2, 0, 2, CORE_L3_DIV);
-+
-+ p3 = (u32)&prcm_base->idlest_ckgen;
-+
-+ (*f_lock_pll) (p0, p1, p2, p3);
-+ }
-+}
-+
-+static void dpll4_init_36xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ struct dpll_per_36x_param *ptr;
-+
-+ ptr = (struct dpll_per_36x_param *)get_36x_per_dpll_param();
-+
-+ /* Moving it to the right sysclk base */
-+ ptr += clk_index;
-+
-+ /* EN_PERIPH_DPLL: CM_CLKEN_PLL[16:18] */
-+ sr32(&prcm_base->clken_pll, 16, 3, PLL_STOP);
-+ wait_on_value(ST_PERIPH_CLK, 0, &prcm_base->idlest_ckgen, LDELAY);
-+
-+ /* M6 (DIV_DPLL4): CM_CLKSEL1_EMU[24:29] */
-+ sr32(&prcm_base->clksel1_emu, 24, 6, ptr->m6);
-+
-+ /* M5 (CLKSEL_CAM): CM_CLKSEL1_EMU[0:5] */
-+ sr32(&prcm_base->clksel_cam, 0, 6, ptr->m5);
-+
-+ /* M4 (CLKSEL_DSS1): CM_CLKSEL_DSS[0:5] */
-+ sr32(&prcm_base->clksel_dss, 0, 6, ptr->m4);
-+
-+ /* M3 (CLKSEL_DSS1): CM_CLKSEL_DSS[8:13] */
-+ sr32(&prcm_base->clksel_dss, 8, 6, ptr->m3);
-+
-+ /* M2 (DIV_96M): CM_CLKSEL3_PLL[0:4] */
-+ sr32(&prcm_base->clksel3_pll, 0, 5, ptr->m2);
-+
-+ /* M (PERIPH_DPLL_MULT): CM_CLKSEL2_PLL[8:19] */
-+ sr32(&prcm_base->clksel2_pll, 8, 12, ptr->m);
-+
-+ /* N (PERIPH_DPLL_DIV): CM_CLKSEL2_PLL[0:6] */
-+ sr32(&prcm_base->clksel2_pll, 0, 7, ptr->n);
-+
-+ /* M2DIV (CLKSEL_96M): CM_CLKSEL_CORE[12:13] */
-+ sr32(&prcm_base->clksel_core, 12, 2, ptr->m2div);
-+
-+ /* LOCK MODE (EN_PERIPH_DPLL): CM_CLKEN_PLL[16:18] */
-+ sr32(&prcm_base->clken_pll, 16, 3, PLL_LOCK);
-+ wait_on_value(ST_PERIPH_CLK, 2, &prcm_base->idlest_ckgen, LDELAY);
-+}
-+
-+static void mpu_init_36xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *) get_36x_mpu_dpll_param();
-+
-+ /* Moving to the right sysclk */
-+ ptr += clk_index;
-+
-+ /* MPU DPLL (unlocked already */
-+
-+ /* M2 (MPU_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_MPU[0:4] */
-+ sr32(&prcm_base->clksel2_pll_mpu, 0, 5, ptr->m2);
-+
-+ /* M (MPU_DPLL_MULT) : CM_CLKSEL2_PLL_MPU[8:18] */
-+ sr32(&prcm_base->clksel1_pll_mpu, 8, 11, ptr->m);
-+
-+ /* N (MPU_DPLL_DIV) : CM_CLKSEL2_PLL_MPU[0:6] */
-+ sr32(&prcm_base->clksel1_pll_mpu, 0, 7, ptr->n);
-+}
-+
-+static void iva_init_36xx(u32 sil_index, u32 clk_index)
-+{
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+ dpll_param *ptr = (dpll_param *)get_36x_iva_dpll_param();
-+
-+ /* Moving to the right sysclk */
-+ ptr += clk_index;
-+
-+ /* IVA DPLL */
-+ /* EN_IVA2_DPLL : CM_CLKEN_PLL_IVA2[0:2] */
-+ sr32(&prcm_base->clken_pll_iva2, 0, 3, PLL_STOP);
-+ wait_on_value(ST_IVA2_CLK, 0, &prcm_base->idlest_pll_iva2, LDELAY);
-+
-+ /* M2 (IVA2_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_IVA2[0:4] */
-+ sr32(&prcm_base->clksel2_pll_iva2, 0, 5, ptr->m2);
-+
-+ /* M (IVA2_DPLL_MULT) : CM_CLKSEL1_PLL_IVA2[8:18] */
-+ sr32(&prcm_base->clksel1_pll_iva2, 8, 11, ptr->m);
-+
-+ /* N (IVA2_DPLL_DIV) : CM_CLKSEL1_PLL_IVA2[0:6] */
-+ sr32(&prcm_base->clksel1_pll_iva2, 0, 7, ptr->n);
-+
-+ /* LOCK (MODE (EN_IVA2_DPLL) : CM_CLKEN_PLL_IVA2[0:2] */
-+ sr32(&prcm_base->clken_pll_iva2, 0, 3, PLL_LOCK);
-+
-+ wait_on_value(ST_IVA2_CLK, 1, &prcm_base->idlest_pll_iva2, LDELAY);
-+}
-+
-+/******************************************************************************
-+ * prcm_init() - inits clocks for PRCM as defined in clocks.h
-+ * called from SRAM, or Flash (using temp SRAM stack).
-+ *****************************************************************************/
-+void prcm_init(void)
-+{
-+ u32 osc_clk = 0, sys_clkin_sel;
-+ u32 clk_index, sil_index = 0;
-+ struct prm *prm_base = (struct prm *)PRM_BASE;
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-+
-+ /*
-+ * Gauge the input clock speed and find out the sys_clkin_sel
-+ * value corresponding to the input clock.
-+ */
-+ osc_clk = get_osc_clk_speed();
-+ get_sys_clkin_sel(osc_clk, &sys_clkin_sel);
-+
-+ /* set input crystal speed */
-+ sr32(&prm_base->clksel, 0, 3, sys_clkin_sel);
-+
-+ /* If the input clock is greater than 19.2M always divide/2 */
-+ if (sys_clkin_sel > 2) {
-+ /* input clock divider */
-+ sr32(&prm_base->clksrc_ctrl, 6, 2, 2);
-+ clk_index = sys_clkin_sel / 2;
-+ } else {
-+ /* input clock divider */
-+ sr32(&prm_base->clksrc_ctrl, 6, 2, 1);
-+ clk_index = sys_clkin_sel;
-+ }
-+
-+ if (get_cpu_family() == CPU_OMAP36XX) {
-+ /* Unlock MPU DPLL (slows things down, and needed later) */
-+ sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOW_POWER_BYPASS);
-+ wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu,
-+ LDELAY);
-+
-+ dpll3_init_36xx(0, clk_index);
-+ dpll4_init_36xx(0, clk_index);
-+ iva_init_36xx(0, clk_index);
-+ mpu_init_36xx(0, clk_index);
-+
-+ /* Lock MPU DPLL to set frequency */
-+ sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOCK);
-+ wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu,
-+ LDELAY);
-+ } else {
-+ /*
-+ * The DPLL tables are defined according to sysclk value and
-+ * silicon revision. The clk_index value will be used to get
-+ * the values for that input sysclk from the DPLL param table
-+ * and sil_index will get the values for that SysClk for the
-+ * appropriate silicon rev.
-+ */
-+ if (((get_cpu_family() == CPU_OMAP34XX)
-+ && (get_cpu_rev() >= CPU_3XX_ES20)) ||
-+ (get_cpu_family() == CPU_AM35XX))
-+ sil_index = 1;
-+
-+ /* Unlock MPU DPLL (slows things down, and needed later) */
-+ sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOW_POWER_BYPASS);
-+ wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu,
-+ LDELAY);
-+
-+ dpll3_init_34xx(sil_index, clk_index);
-+ dpll4_init_34xx(sil_index, clk_index);
-+ iva_init_34xx(sil_index, clk_index);
-+ mpu_init_34xx(sil_index, clk_index);
-+
-+ /* Lock MPU DPLL to set frequency */
-+ sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOCK);
-+ wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu,
-+ LDELAY);
-+ }
-
- /* Set up GPTimers to sys_clk source only */
- sr32(&prcm_base->clksel_per, 0, 8, 0xff);
-@@ -414,3 +678,4 @@ void per_clocks_enable(void)
-
- sdelay(1000);
- }
-+
-diff --git a/cpu/arm_cortexa8/omap3/lowlevel_init.S b/cpu/arm_cortexa8/omap3/lowlevel_init.S
-index 73063ec..061d75f 100644
---- a/cpu/arm_cortexa8/omap3/lowlevel_init.S
-+++ b/cpu/arm_cortexa8/omap3/lowlevel_init.S
-@@ -359,3 +359,72 @@ per_dpll_param:
- get_per_dpll_param:
- adr r0, per_dpll_param
- mov pc, lr
-+
-+/*
-+ * Tables for 36x/37x devices
-+ *
-+ */
-+mpu_36x_dpll_param:
-+/* 12MHz */
-+.word 50, 0, 0, 1
-+/* 13MHz */
-+.word 600, 12, 0, 1
-+/* 19.2MHz */
-+.word 125, 3, 0, 1
-+/* 26MHz */
-+.word 300, 12, 0, 1
-+/* 38.4MHz */
-+.word 125, 7, 0, 1
-+
-+iva_36x_dpll_param:
-+/* 12MHz */
-+.word 130, 2, 0, 1
-+/* 13MHz */
-+.word 40, 0, 0, 1
-+/* 19.2MHz */
-+.word 325, 11, 0, 1
-+/* 26MHz */
-+.word 20, 0, 0, 1
-+/* 38.4MHz */
-+.word 325, 23, 0, 1
-+
-+core_36x_dpll_param:
-+/* 12MHz */
-+.word 100, 2, 0, 1
-+/* 13MHz */
-+.word 400, 12, 0, 1
-+/* 19.2MHz */
-+.word 375, 17, 0, 1
-+/* 26MHz */
-+.word 200, 12, 0, 1
-+/* 38.4MHz */
-+.word 375, 35, 0, 1
-+
-+per_36x_dpll_param:
-+/* SYSCLK M N M2 M3 M4 M5 M6 m2DIV */
-+.word 12000, 360, 4, 9, 16, 5, 4, 3, 1
-+.word 13000, 864, 12, 9, 16, 9, 4, 3, 1
-+.word 19200, 360, 7, 9, 16, 5, 4, 3, 1
-+.word 26000, 432, 12, 9, 16, 9, 4, 3, 1
-+.word 38400, 360, 15, 9, 16, 5, 4, 3, 1
-+
-+.globl get_36x_mpu_dpll_param
-+get_36x_mpu_dpll_param:
-+ adr r0, mpu_36x_dpll_param
-+ mov pc, lr
-+
-+.globl get_36x_iva_dpll_param
-+get_36x_iva_dpll_param:
-+ adr r0, iva_36x_dpll_param
-+ mov pc, lr
-+
-+.globl get_36x_core_dpll_param
-+get_36x_core_dpll_param:
-+ adr r0, core_36x_dpll_param
-+ mov pc, lr
-+
-+.globl get_36x_per_dpll_param
-+get_36x_per_dpll_param:
-+ adr r0, per_36x_dpll_param
-+ mov pc, lr
-+
-diff --git a/include/asm-arm/arch-omap3/clocks.h b/include/asm-arm/arch-omap3/clocks.h
-index 71a0cb6..a5f2d08 100644
---- a/include/asm-arm/arch-omap3/clocks.h
-+++ b/include/asm-arm/arch-omap3/clocks.h
-@@ -51,12 +51,29 @@ typedef struct {
- unsigned int m2;
- } dpll_param;
-
-+struct dpll_per_36x_param {
-+ unsigned int sys_clk;
-+ unsigned int m;
-+ unsigned int n;
-+ unsigned int m2;
-+ unsigned int m3;
-+ unsigned int m4;
-+ unsigned int m5;
-+ unsigned int m6;
-+ unsigned int m2div;
-+};
-+
- /* Following functions are exported from lowlevel_init.S */
- extern dpll_param *get_mpu_dpll_param(void);
- extern dpll_param *get_iva_dpll_param(void);
- extern dpll_param *get_core_dpll_param(void);
- extern dpll_param *get_per_dpll_param(void);
-
-+extern dpll_param *get_36x_mpu_dpll_param(void);
-+extern dpll_param *get_36x_iva_dpll_param(void);
-+extern dpll_param *get_36x_core_dpll_param(void);
-+extern dpll_param *get_36x_per_dpll_param(void);
-+
- extern void *_end_vect, *_start;
-
- #endif
-diff --git a/include/asm-arm/arch-omap3/clocks_omap3.h b/include/asm-arm/arch-omap3/clocks_omap3.h
-index 661407b..30ef690 100644
---- a/include/asm-arm/arch-omap3/clocks_omap3.h
-+++ b/include/asm-arm/arch-omap3/clocks_omap3.h
-@@ -282,4 +282,31 @@
- #define PER_FSEL_38P4 0x07
- #define PER_M2_38P4 0x09
-
-+/* 36XX PER DPLL */
-+
-+#define PER_36XX_M_12 0x1B0
-+#define PER_36XX_N_12 0x05
-+#define PER_36XX_FSEL_12 0x07
-+#define PER_36XX_M2_12 0x09
-+
-+#define PER_36XX_M_13 0x360
-+#define PER_36XX_N_13 0x0C
-+#define PER_36XX_FSEL_13 0x03
-+#define PER_36XX_M2_13 0x09
-+
-+#define PER_36XX_M_19P2 0x1C2
-+#define PER_36XX_N_19P2 0x09
-+#define PER_36XX_FSEL_19P2 0x07
-+#define PER_36XX_M2_19P2 0x09
-+
-+#define PER_36XX_M_26 0x1B0
-+#define PER_36XX_N_26 0x0C
-+#define PER_36XX_FSEL_26 0x07
-+#define PER_36XX_M2_26 0x09
-+
-+#define PER_36XX_M_38P4 0x1C2
-+#define PER_36XX_N_38P4 0x13
-+#define PER_36XX_FSEL_38P4 0x07
-+#define PER_36XX_M2_38P4 0x09
-+
- #endif /* endif _CLOCKS_OMAP3_H_ */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0020-OMAP3-beagle-add-support-for-Beagle-xM.patch b/recipes/u-boot/u-boot-git/beagleboard/0020-OMAP3-beagle-add-support-for-Beagle-xM.patch
deleted file mode 100644
index 0e21282268..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0020-OMAP3-beagle-add-support-for-Beagle-xM.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 8a8738a7d042a80ddef68a9683d7dda77bed8765 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Tue, 23 Mar 2010 09:21:49 -0700
-Subject: [PATCH 20/50] OMAP3: beagle: add support for Beagle xM
-
----
- board/ti/beagle/beagle.c | 23 +++++++++++++++--------
- board/ti/beagle/beagle.h | 34 ++++++++++++++++++++++++++++++----
- include/configs/omap3_beagle.h | 1 +
- 3 files changed, 46 insertions(+), 12 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index b4ea7e6..d357588 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -75,7 +75,7 @@ int beagle_get_revision(void)
- * GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
- * GPIO173, GPIO172, GPIO171: 1 1 0 => C1/2/3
- * GPIO173, GPIO172, GPIO171: 1 0 1 => C4
-- * GPIO173, GPIO172, GPIO171: 0 0 0 => D
-+ * GPIO173, GPIO172, GPIO171: 0 0 0 => XM
- */
- void beagle_identify(void)
- {
-@@ -108,29 +108,36 @@ int misc_init_r(void)
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-
-- printf("Board revision ");
- switch (beagle_revision) {
- case REVISION_AXBX:
-- printf("Ax/Bx\n");
-+ printf("Beagle Rev Ax/Bx\n");
- break;
- case REVISION_CX:
-- printf("C1/C2/C3\n");
-+ printf("Beagle Rev C1/C2/C3\n");
- MUX_BEAGLE_C();
- break;
- case REVISION_C4:
-- printf("C4\n");
-+ printf("Beagle Rev C4\n");
- MUX_BEAGLE_C();
- /* Set VAUX2 to 1.8V for EHCI PHY */
- twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
- TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
- TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
- TWL4030_PM_RECEIVER_DEV_GRP_P1);
-+ setenv("mpurate", "720");
- break;
-- case REVISION_D:
-- printf("D\n");
-+ case REVISION_XM:
-+ printf("Beagle xM Rev A\n");
-+ MUX_BEAGLE_XM();
-+ /* Set VAUX2 to 1.8V for EHCI PHY */
-+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
-+ TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
-+ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
-+ TWL4030_PM_RECEIVER_DEV_GRP_P1);
-+ setenv("mpurate", "720");
- break;
- default:
-- printf("unknown 0x%02x\n", beagle_revision);
-+ printf("Beagle unknown 0x%02x\n", beagle_revision);
- }
-
- /* Configure GPIOs to output */
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index d95fd78..fd06d46 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -38,7 +38,7 @@ const omap3_sysinfo sysinfo = {
- #define REVISION_AXBX 0x7
- #define REVISION_CX 0x6
- #define REVISION_C4 0x5
--#define REVISION_D 0x0
-+#define REVISION_XM 0x0
-
- /*
- * IEN - Input Enable
-@@ -379,11 +379,37 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(SDRC_CKE1), (IDIS | PTU | EN | M0)) /*sdrc_cke1*/
-
- #define MUX_BEAGLE_C() \
-- MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
-- MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
-- MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
-+ MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
-+ MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
-+ MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
- MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M0)) /*UART2_CTS*/\
- MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
- MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/
-
-+#define MUX_BEAGLE_XM() \
-+ MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
-+ MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
-+ MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
-+ MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M0)) /*UART2_CTS*/\
-+ MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
-+ MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/\
-+ MUX_VAL(CP(DSS_DATA0), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA1), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA2), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA3), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA4), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA5), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
-+ MUX_VAL(CP(DSS_DATA18), (IDIS | PTD | DIS | M3)) /*DSS_DATA0*/\
-+ MUX_VAL(CP(DSS_DATA19), (IDIS | PTD | DIS | M3)) /*DSS_DATA1*/\
-+ MUX_VAL(CP(DSS_DATA20), (IDIS | PTD | DIS | M3)) /*DSS_DATA2*/\
-+ MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M3)) /*DSS_DATA3*/\
-+ MUX_VAL(CP(DSS_DATA22), (IDIS | PTD | DIS | M3)) /*DSS_DATA4*/\
-+ MUX_VAL(CP(DSS_DATA23), (IDIS | PTD | DIS | M3)) /*DSS_DATA5*/\
-+ MUX_VAL(CP(SYS_BOOT0), (IDIS | PTD | DIS | M3)) /*DSS_DATA18*/\
-+ MUX_VAL(CP(SYS_BOOT1), (IDIS | PTD | DIS | M3)) /*DSS_DATA19*/\
-+ MUX_VAL(CP(SYS_BOOT3), (IDIS | PTD | DIS | M3)) /*DSS_DATA20*/\
-+ MUX_VAL(CP(SYS_BOOT4), (IDIS | PTD | DIS | M3)) /*DSS_DATA21*/\
-+ MUX_VAL(CP(SYS_BOOT5), (IDIS | PTD | DIS | M3)) /*DSS_DATA22*/\
-+ MUX_VAL(CP(SYS_BOOT6), (IDIS | PTD | DIS | M3)) /*DSS_DATA23*/
-+
- #endif
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 35ae8af..1370a29 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -162,6 +162,7 @@
- /*
- * Board NAND Info.
- */
-+#define CONFIG_SYS_NAND_QUIET_TEST 1
- #define CONFIG_NAND_OMAP_GPMC
- #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */
- /* to access nand */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0022-OMAP3-beagle-implement-expansionboard-detection-base.patch b/recipes/u-boot/u-boot-git/beagleboard/0022-OMAP3-beagle-implement-expansionboard-detection-base.patch
deleted file mode 100644
index abd25a3e2e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0022-OMAP3-beagle-implement-expansionboard-detection-base.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From b48754f4c77924a9351867e17e2f09fbe5a83b82 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 25 Mar 2010 16:07:23 +0100
-Subject: [PATCH 22/50] OMAP3: beagle: implement expansionboard detection based on board/overo.c code
-
----
- board/ti/beagle/beagle.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++
- board/ti/beagle/beagle.h | 25 +++++++++++++-
- 2 files changed, 101 insertions(+), 2 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index d357588..8c5b88c 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -38,6 +38,31 @@
- #include <asm/mach-types.h>
- #include "beagle.h"
-
-+static struct {
-+ unsigned int device_vendor;
-+ unsigned char revision;
-+ unsigned char content;
-+ unsigned char fab_revision[8];
-+ unsigned char env_var[16];
-+ unsigned char env_setting[64];
-+} expansion_config;
-+
-+#define TWL4030_I2C_BUS 0
-+
-+#define EXPANSION_EEPROM_I2C_BUS 1
-+#define EXPANSION_EEPROM_I2C_ADDRESS 0x50
-+
-+#define TINCANTOOLS_VENDORID 0x0100
-+#define GUMSTIX_VENDORID 0x0200
-+#define SPECIALCOMP_VENDORID 0x0300
-+
-+#define TINCANTOOLS_ZIPPY 0x01000100
-+#define TINCANTOOLS_ZIPPY2 0x02000100
-+#define TINCANTOOLS_TRAINER 0x03000100
-+#define TINCANTOOLS_SHOWDOG 0x04000100
-+
-+#define BEAGLE_NO_EEPROM 0xffffffff
-+
- static int beagle_revision;
-
- /*
-@@ -95,6 +120,27 @@ void beagle_identify(void)
- }
-
- /*
-+ * Routine: get_expansion_id
-+ * Description: This function checks for expansion board by checking I2C
-+ * bus 2 for the availability of an AT24C01B serial EEPROM.
-+ * returns the device_vendor field from the EEPROM
-+ */
-+unsigned int get_expansion_id(void)
-+{
-+ i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS);
-+
-+ /* return BEAGLE_NO_EEPROM if eeprom doesn't respond */
-+ if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1)
-+ return BEAGLE_NO_EEPROM;
-+
-+ /* read configuration data */
-+ i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config,
-+ sizeof(expansion_config));
-+
-+ return expansion_config.device_vendor;
-+}
-+
-+/*
- * Routine: misc_init_r
- * Description: Configure board specific parts
- */
-@@ -104,6 +150,38 @@ int misc_init_r(void)
- struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
-
- beagle_identify();
-+ switch (get_expansion_id()) {
-+ case TINCANTOOLS_ZIPPY:
-+ printf("Recognized Tincantools Zippy expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.fab_revision);
-+ MUX_TINCANTOOLS_ZIPPY();
-+ break;
-+ case TINCANTOOLS_ZIPPY2:
-+ printf("Recognized Tincantools Zippy2 expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.fab_revision);
-+ MUX_TINCANTOOLS_ZIPPY();
-+ break;
-+ case TINCANTOOLS_TRAINER:
-+ printf("Recognized Tincantools Trainer expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.fab_revision);
-+ break;
-+ case TINCANTOOLS_SHOWDOG:
-+ printf("Recognized Tincantools Showdow expansion board (rev %d %s)\n",
-+ expansion_config.revision, expansion_config.fab_revision);
-+ /* Place holder for DSS2 definition for showdog lcd */
-+ setenv("defaultdisplay", "showdoglcd");
-+ break;
-+ case BEAGLE_NO_EEPROM:
-+ printf("No EEPROM on expansion board\n");
-+ break;
-+ default:
-+ printf("Unrecognized expansion board: %x\n", expansion_config.device_vendor);
-+ }
-+
-+ if (expansion_config.content == 1)
-+ setenv(expansion_config.env_var, expansion_config.env_setting);
-+
-+ i2c_set_bus_num(TWL4030_I2C_BUS);
-
- twl4030_power_init();
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index fd06d46..ec4f831 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -260,8 +260,8 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(HSUSB0_DATA7), (IEN | PTD | DIS | M0)) /*HSUSB0_DATA7*/\
- MUX_VAL(CP(I2C1_SCL), (IEN | PTU | EN | M0)) /*I2C1_SCL*/\
- MUX_VAL(CP(I2C1_SDA), (IEN | PTU | EN | M0)) /*I2C1_SDA*/\
-- MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/\
-- MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/\
-+ MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M0)) /*I2C2_SCL*/\
-+ MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M0)) /*I2C2_SDA*/\
- MUX_VAL(CP(I2C3_SCL), (IEN | PTU | EN | M0)) /*I2C3_SCL*/\
- MUX_VAL(CP(I2C3_SDA), (IEN | PTU | EN | M0)) /*I2C3_SDA*/\
- MUX_VAL(CP(I2C4_SCL), (IEN | PTU | EN | M0)) /*I2C4_SCL*/\
-@@ -412,4 +412,25 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(SYS_BOOT5), (IDIS | PTD | DIS | M3)) /*DSS_DATA22*/\
- MUX_VAL(CP(SYS_BOOT6), (IDIS | PTD | DIS | M3)) /*DSS_DATA23*/
-
-+#define MUX_TINCANTOOLS_ZIPPY() \
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
-+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
-+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
-+ MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M1)) /*MMC2_DIR_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M1)) /*MMC2_CLKIN*/\
-+ MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTU | EN | M1)) /*MCSPI4_CLK*/\
-+ MUX_VAL(CP(MCBSP1_FSR), (IEN | PTU | EN | M4)) /*GPIO_157*/\
-+ MUX_VAL(CP(MCBSP1_DX), (IEN | PTD | EN | M1)) /*MCSPI4_SIMO*/\
-+ MUX_VAL(CP(MCBSP1_DR), (IEN | PTD | DIS | M1)) /*MCSPI4_SOMI*/\
-+ MUX_VAL(CP(MCBSP1_FSX), (IEN | PTD | EN | M1)) /*MCSPI4_CS0*/\
-+ MUX_VAL(CP(MCBSP1_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_162*/\
-+ MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
-+ MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
-+ MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
-+
- #endif
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0023-beagleboard-display-message-about-I2C-errors-being-e.patch b/recipes/u-boot/u-boot-git/beagleboard/0023-beagleboard-display-message-about-I2C-errors-being-e.patch
deleted file mode 100644
index 704467e93e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0023-beagleboard-display-message-about-I2C-errors-being-e.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 653c13d956b189c05e6c02077dbd85cba8ff490b Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 31 Mar 2010 14:24:25 +0200
-Subject: [PATCH 23/50] beagleboard: display message about I2C errors being expected when no expansion boards are present
-
----
- board/ti/beagle/beagle.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 8c5b88c..c9c9a58 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -150,6 +150,9 @@ int misc_init_r(void)
- struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
-
- beagle_identify();
-+
-+ printf("\nProbing for expansion boards, if none are connected you'll see a harmless I2C error.\n");
-+
- switch (get_expansion_id()) {
- case TINCANTOOLS_ZIPPY:
- printf("Recognized Tincantools Zippy expansion board (rev %d %s)\n",
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0024-beagleboard-fix-TCT-expansionboard-IDs.patch b/recipes/u-boot/u-boot-git/beagleboard/0024-beagleboard-fix-TCT-expansionboard-IDs.patch
deleted file mode 100644
index 418c152df4..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0024-beagleboard-fix-TCT-expansionboard-IDs.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a0f21f7418dfa81a40bf99b7e926153a310ba457 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 11 Apr 2010 12:14:43 +0200
-Subject: [PATCH 24/50] beagleboard: fix TCT expansionboard IDs
-
----
- board/ti/beagle/beagle.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index c9c9a58..7cb6d1f 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -58,8 +58,8 @@ static struct {
-
- #define TINCANTOOLS_ZIPPY 0x01000100
- #define TINCANTOOLS_ZIPPY2 0x02000100
--#define TINCANTOOLS_TRAINER 0x03000100
--#define TINCANTOOLS_SHOWDOG 0x04000100
-+#define TINCANTOOLS_TRAINER 0x04000100
-+#define TINCANTOOLS_SHOWDOG 0x03000100
-
- #define BEAGLE_NO_EEPROM 0xffffffff
-
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0027-beagleboardXM-don-t-set-mpurate-on-xM-in-bootargs.patch b/recipes/u-boot/u-boot-git/beagleboard/0027-beagleboardXM-don-t-set-mpurate-on-xM-in-bootargs.patch
deleted file mode 100644
index 1a9197e1f9..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0027-beagleboardXM-don-t-set-mpurate-on-xM-in-bootargs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 4aca3c70a18da58e263b08e37b288a06b2b6655c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 13 Apr 2010 22:04:07 +0200
-Subject: [PATCH 27/50] beagleboardXM: don't set mpurate on xM in bootargs
-
----
- board/ti/beagle/beagle.c | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index eb57b5a..974a72c 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -226,7 +226,6 @@ int misc_init_r(void)
- TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
- TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
- TWL4030_PM_RECEIVER_DEV_GRP_P1);
-- setenv("mpurate", "720");
- break;
- default:
- printf("Beagle unknown 0x%02x\n", beagle_revision);
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0028-OMAP3-fix-and-clean-up-L2-cache-enable-disable-funct.patch b/recipes/u-boot/u-boot-git/beagleboard/0028-OMAP3-fix-and-clean-up-L2-cache-enable-disable-funct.patch
deleted file mode 100644
index f4975cdc88..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0028-OMAP3-fix-and-clean-up-L2-cache-enable-disable-funct.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 72e1ab470e483c91ab3aa38bec31faf3dad52735 Mon Sep 17 00:00:00 2001
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 14 Apr 2010 12:08:00 +0100
-Subject: [PATCH 28/50] OMAP3: fix and clean up L2 cache enable/disable functions
-
-On OMAP34xx ES1.0, the L2 enable bit can only be set in secure mode,
-so an SMC call to the ROM monitor is required. On later versions,
-and on newer devices, this bit is banked and we can set it directly.
-
-The code checked only the ES revision of the chip, and hence incorrectly
-used the ROM call on ES1.0 versions of other devices.
-
-This patch adds a check for chip family as well as revision, and also
-removes some code duplication between the enable and disable functions.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
- cpu/arm_cortexa8/omap3/cache.S | 74 +++++++++++-----------------------------
- 1 files changed, 20 insertions(+), 54 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/cache.S b/cpu/arm_cortexa8/omap3/cache.S
-index 0f63815..16afb5d 100644
---- a/cpu/arm_cortexa8/omap3/cache.S
-+++ b/cpu/arm_cortexa8/omap3/cache.S
-@@ -128,64 +128,30 @@ finished_inval:
-
- ldmfd r13!, {r0 - r5, r7, r9 - r12, pc}
-
--
--l2_cache_enable:
-- push {r0, r1, r2, lr}
-- @ ES2 onwards we can disable/enable L2 ourselves
-+l2_cache_set:
-+ push {r4-r6, lr}
-+ mov r5, r0
- bl get_cpu_rev
-- cmp r0, #CPU_3XX_ES20
-- blt l2_cache_disable_EARLIER_THAN_ES2
-- mrc 15, 0, r3, cr1, cr0, 1
-- orr r3, r3, #2
-- mcr 15, 0, r3, cr1, cr0, 1
-- b l2_cache_enable_END
--l2_cache_enable_EARLIER_THAN_ES2:
-- @ Save r0, r12 and restore them after usage
-- mov r3, ip
-- str r3, [sp, #4]
-- mov r3, r0
-- @
-+ mov r4, r0
-+ bl get_cpu_family
-+ @ ES2 onwards we can disable/enable L2 ourselves
-+ cmp r0, #CPU_OMAP34XX
-+ cmpeq r4, #CPU_3XX_ES10
-+ mrc 15, 0, r0, cr1, cr0, 1
-+ bic r0, r0, #2
-+ orr r0, r0, r5, lsl #1
-+ mcreq 15, 0, r0, cr1, cr0, 1
- @ GP Device ROM code API usage here
- @ r12 = AUXCR Write function and r0 value
-- @
- mov ip, #3
-- mrc 15, 0, r0, cr1, cr0, 1
-- orr r0, r0, #2
-- @ SMI instruction to call ROM Code API
-- .word 0xe1600070
-- mov r0, r3
-- mov ip, r3
-- str r3, [sp, #4]
--l2_cache_enable_END:
-- pop {r1, r2, r3, pc}
-+ @ SMCNE instruction to call ROM Code API
-+ .word 0x11600070
-+ pop {r4-r6, pc}
-
-+l2_cache_enable:
-+ mov r0, #1
-+ b l2_cache_set
-
- l2_cache_disable:
-- push {r0, r1, r2, lr}
-- @ ES2 onwards we can disable/enable L2 ourselves
-- bl get_cpu_rev
-- cmp r0, #CPU_3XX_ES20
-- blt l2_cache_disable_EARLIER_THAN_ES2
-- mrc 15, 0, r3, cr1, cr0, 1
-- bic r3, r3, #2
-- mcr 15, 0, r3, cr1, cr0, 1
-- b l2_cache_disable_END
--l2_cache_disable_EARLIER_THAN_ES2:
-- @ Save r0, r12 and restore them after usage
-- mov r3, ip
-- str r3, [sp, #4]
-- mov r3, r0
-- @
-- @ GP Device ROM code API usage here
-- @ r12 = AUXCR Write function and r0 value
-- @
-- mov ip, #3
-- mrc 15, 0, r0, cr1, cr0, 1
-- bic r0, r0, #2
-- @ SMI instruction to call ROM Code API
-- .word 0xe1600070
-- mov r0, r3
-- mov ip, r3
-- str r3, [sp, #4]
--l2_cache_disable_END:
-- pop {r1, r2, r3, pc}
-+ mov r0, #0
-+ b l2_cache_set
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0029-OMAP3-convert-setup_auxcr-to-pure-asm.patch b/recipes/u-boot/u-boot-git/beagleboard/0029-OMAP3-convert-setup_auxcr-to-pure-asm.patch
deleted file mode 100644
index 7e9fe8bdc1..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0029-OMAP3-convert-setup_auxcr-to-pure-asm.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 1e795a2c3e44002c3512222dd3da07ac3ea42d7d Mon Sep 17 00:00:00 2001
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 14 Apr 2010 16:49:57 +0100
-Subject: [PATCH 29/50] OMAP3: convert setup_auxcr() to pure asm
-
-This function consists entirely of inline asm statements, so writing
-it directly in a .S file is simpler. Additionally, the inline asm is
-not safe as is, since registers are not guaranteed to be preserved
-between asm() statements.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
- cpu/arm_cortexa8/omap3/board.c | 35 -----------------------------------
- cpu/arm_cortexa8/omap3/cache.S | 19 +++++++++++++++++++
- 2 files changed, 19 insertions(+), 35 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
-index 0126152..7f49199 100644
---- a/cpu/arm_cortexa8/omap3/board.c
-+++ b/cpu/arm_cortexa8/omap3/board.c
-@@ -122,41 +122,6 @@ void secureworld_exit()
- }
-
- /******************************************************************************
-- * Routine: setup_auxcr()
-- * Description: Write to AuxCR desired value using SMI.
-- * general use.
-- *****************************************************************************/
--void setup_auxcr()
--{
-- unsigned long i;
-- volatile unsigned int j;
-- /* Save r0, r12 and restore them after usage */
-- __asm__ __volatile__("mov %0, r12":"=r"(j));
-- __asm__ __volatile__("mov %0, r0":"=r"(i));
--
-- /*
-- * GP Device ROM code API usage here
-- * r12 = AUXCR Write function and r0 value
-- */
-- __asm__ __volatile__("mov r12, #0x3");
-- __asm__ __volatile__("mrc p15, 0, r0, c1, c0, 1");
-- /* Enabling ASA */
-- __asm__ __volatile__("orr r0, r0, #0x10");
-- /* Enable L1NEON */
-- __asm__ __volatile__("orr r0, r0, #1 << 5");
-- /* SMI instruction to call ROM Code API */
-- __asm__ __volatile__(".word 0xE1600070");
-- /* Set PLD_FWD bit in L2AUXCR (Cortex-A8 erratum 725233 workaround) */
-- __asm__ __volatile__("mov r12, #0x2");
-- __asm__ __volatile__("mrc p15, 1, r0, c9, c0, 2");
-- __asm__ __volatile__("orr r0, r0, #1 << 27");
-- /* SMI instruction to call ROM Code API */
-- __asm__ __volatile__(".word 0xE1600070");
-- __asm__ __volatile__("mov r0, %0":"=r"(i));
-- __asm__ __volatile__("mov r12, %0":"=r"(j));
--}
--
--/******************************************************************************
- * Routine: try_unlock_sram()
- * Description: If chip is GP/EMU(special) type, unlock the SRAM for
- * general use.
-diff --git a/cpu/arm_cortexa8/omap3/cache.S b/cpu/arm_cortexa8/omap3/cache.S
-index 16afb5d..61e6946 100644
---- a/cpu/arm_cortexa8/omap3/cache.S
-+++ b/cpu/arm_cortexa8/omap3/cache.S
-@@ -43,6 +43,7 @@
- .global invalidate_dcache
- .global l2_cache_enable
- .global l2_cache_disable
-+.global setup_auxcr
-
- /*
- * invalidate_dcache()
-@@ -155,3 +156,21 @@ l2_cache_enable:
- l2_cache_disable:
- mov r0, #0
- b l2_cache_set
-+
-+/******************************************************************************
-+ * Routine: setup_auxcr()
-+ * Description: Write to AuxCR desired value using SMI.
-+ * general use.
-+ *****************************************************************************/
-+setup_auxcr:
-+ mov r12, #0x3
-+ mrc p15, 0, r0, c1, c0, 1
-+ orr r0, r0, #0x10 @ Enable ASA
-+ orr r0, r0, #1 << 5 @ Enable L1NEON
-+ .word 0xE1600070 @ SMC
-+ mov r12, #0x2
-+ mrc p15, 1, r0, c9, c0, 2
-+ @ Set PLD_FWD bit in L2AUXCR (Cortex-A8 erratum 725233 workaround)
-+ orr r0, r0, #1 << 27
-+ .word 0xE1600070 @ SMC
-+ bx lr
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0030-OMAP3-apply-Cortex-A8-errata-workarounds-only-on-aff.patch b/recipes/u-boot/u-boot-git/beagleboard/0030-OMAP3-apply-Cortex-A8-errata-workarounds-only-on-aff.patch
deleted file mode 100644
index 11f40377e7..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0030-OMAP3-apply-Cortex-A8-errata-workarounds-only-on-aff.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From fd092c7f2286fab34cf42c6c56360ae7794dbc7f Mon Sep 17 00:00:00 2001
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 14 Apr 2010 17:10:28 +0100
-Subject: [PATCH 30/50] OMAP3: apply Cortex-A8 errata workarounds only on affected revisions
-
-The workarounds for errata 621766 and 725233 should only be applied
-on affected Cortex-A8 revisions. Recent chips use r3px cores where
-these have been fixed.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
- cpu/arm_cortexa8/omap3/cache.S | 13 ++++++++++---
- 1 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/cpu/arm_cortexa8/omap3/cache.S b/cpu/arm_cortexa8/omap3/cache.S
-index 61e6946..932e4eb 100644
---- a/cpu/arm_cortexa8/omap3/cache.S
-+++ b/cpu/arm_cortexa8/omap3/cache.S
-@@ -163,14 +163,21 @@ l2_cache_disable:
- * general use.
- *****************************************************************************/
- setup_auxcr:
-+ mrc p15, 0, r0, c0, c0, 0 @ read main ID register
-+ and r2, r0, #0x00f00000 @ variant
-+ and r3, r0, #0x0000000f @ revision
-+ orr r1, r3, r2, lsr #20-4 @ combine variant and revision
- mov r12, #0x3
- mrc p15, 0, r0, c1, c0, 1
- orr r0, r0, #0x10 @ Enable ASA
-- orr r0, r0, #1 << 5 @ Enable L1NEON
-+ @ Enable L1NEON on pre-r2p1 (erratum 621766 workaround)
-+ cmp r1, #0x21
-+ orrlt r0, r0, #1 << 5
- .word 0xE1600070 @ SMC
- mov r12, #0x2
- mrc p15, 1, r0, c9, c0, 2
-- @ Set PLD_FWD bit in L2AUXCR (Cortex-A8 erratum 725233 workaround)
-- orr r0, r0, #1 << 27
-+ @ Set PLD_FWD bit in L2AUXCR on pre-r2p1 (erratum 725233 workaround)
-+ cmp r1, #0x21
-+ orrlt r0, r0, #1 << 27
- .word 0xE1600070 @ SMC
- bx lr
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0031-OMAP3-beagle-add-more-expansionboards-based-on-http-.patch b/recipes/u-boot/u-boot-git/beagleboard/0031-OMAP3-beagle-add-more-expansionboards-based-on-http-.patch
deleted file mode 100644
index 2f5c60593d..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0031-OMAP3-beagle-add-more-expansionboards-based-on-http-.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From ccbe10687806b6504c87bd3ad80bd406bc6263f4 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 23 Apr 2010 10:50:43 +0200
-Subject: [PATCH 31/50] OMAP3: beagle: add more expansionboards, based on http://www.elinux.org/BeagleBoardPinMux#Vendor_and_Device_IDs
-
----
- board/ti/beagle/beagle.c | 8 ++++++++
- board/ti/beagle/beagle.h | 6 ++++++
- 2 files changed, 14 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 974a72c..0544178 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -55,11 +55,15 @@ static struct {
- #define TINCANTOOLS_VENDORID 0x0100
- #define GUMSTIX_VENDORID 0x0200
- #define SPECIALCOMP_VENDORID 0x0300
-+#define HYR_VENDORID 0x0400
-+#define MENTOREL_VENDORID 0x0500
-+#define KBADC_VENDORID 0x0600
-
- #define TINCANTOOLS_ZIPPY 0x01000100
- #define TINCANTOOLS_ZIPPY2 0x02000100
- #define TINCANTOOLS_TRAINER 0x04000100
- #define TINCANTOOLS_SHOWDOG 0x03000100
-+#define KBADC_BEAGLEFPGA 0x01000600
-
- #define BEAGLE_NO_EEPROM 0xffffffff
-
-@@ -184,6 +188,10 @@ int misc_init_r(void)
- /* Place holder for DSS2 definition for showdog lcd */
- setenv("defaultdisplay", "showdoglcd");
- break;
-+ case KBADC_BEAGLEFPGA:
-+ printf("Recognized KBADC Beagle FPGA board\n");
-+ MUX_KBADC_BEAGLEFPGA();
-+ break;
- case BEAGLE_NO_EEPROM:
- printf("No EEPROM on expansion board\n");
- break;
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index 69f9398..90a0ebf 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -435,6 +435,12 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
- MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
-
-+#define MUX_KBADC_BEAGLEFPGA() \
-+ MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTU | DIS | M1)) /*MCSPI4_CLK*/\
-+ MUX_VAL(CP(MCBSP1_DX), (IDIS | PTU | DIS | M1)) /*MCSPI4_SIMO*/\
-+ MUX_VAL(CP(MCBSP1_DR), (IEN | PTU | EN | M1)) /*MCSPI4_SOMI*/\
-+ MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTU | DIS | M1)) /*MCSPI4_CS0*/\
-+
- /*
- * Display Configuration
- */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0032-OMAP3-beagle-set-mpurate-to-600-for-revB-and-revC1-3.patch b/recipes/u-boot/u-boot-git/beagleboard/0032-OMAP3-beagle-set-mpurate-to-600-for-revB-and-revC1-3.patch
deleted file mode 100644
index 839dfbc9b7..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0032-OMAP3-beagle-set-mpurate-to-600-for-revB-and-revC1-3.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0d2821af767b7cfe1a5d868a14f8a18e01070e37 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 27 Apr 2010 13:44:16 +0200
-Subject: [PATCH 32/50] OMAP3: beagle: set mpurate to 600 for revB and revC1-3
-
----
- board/ti/beagle/beagle.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 0544178..6778499 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -211,10 +211,12 @@ int misc_init_r(void)
- switch (beagle_revision) {
- case REVISION_AXBX:
- printf("Beagle Rev Ax/Bx\n");
-+ setenv("mpurate", "600");
- break;
- case REVISION_CX:
- printf("Beagle Rev C1/C2/C3\n");
- MUX_BEAGLE_C();
-+ setenv("mpurate", "600");
- break;
- case REVISION_C4:
- printf("Beagle Rev C4\n");
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0033-OMAP3-beagle-prettify-expansionboard-message-a-bit.patch b/recipes/u-boot/u-boot-git/beagleboard/0033-OMAP3-beagle-prettify-expansionboard-message-a-bit.patch
deleted file mode 100644
index 8d0f3eace5..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0033-OMAP3-beagle-prettify-expansionboard-message-a-bit.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f4f92e1f72e2bcab85f205c66f0725a677e192e2 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 27 Apr 2010 13:45:28 +0200
-Subject: [PATCH 33/50] OMAP3: beagle: prettify expansionboard message a bit
-
----
- board/ti/beagle/beagle.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 6778499..58fb7c3 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -165,7 +165,7 @@ int misc_init_r(void)
-
- beagle_identify();
-
-- printf("\nProbing for expansion boards, if none are connected you'll see a harmless I2C error.\n");
-+ printf("\nProbing for expansion boards, if none are connected you'll see a harmless I2C error.\n\n");
-
- switch (get_expansion_id()) {
- case TINCANTOOLS_ZIPPY:
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0034-OMAP3-beagle-add-pinmux-for-Tincantools-Trainer-expa.patch b/recipes/u-boot/u-boot-git/beagleboard/0034-OMAP3-beagle-add-pinmux-for-Tincantools-Trainer-expa.patch
deleted file mode 100644
index b396c749ee..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0034-OMAP3-beagle-add-pinmux-for-Tincantools-Trainer-expa.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d6d6f29e339b5d014f91870b35985a372dd330f2 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 27 Apr 2010 18:25:57 +0200
-Subject: [PATCH 34/50] OMAP3: beagle: add pinmux for Tincantools Trainer expansionboard
-
----
- board/ti/beagle/beagle.c | 2 ++
- board/ti/beagle/beagle.h | 16 +++++++++++++++-
- 2 files changed, 17 insertions(+), 1 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 58fb7c3..39c53f2 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -181,6 +181,8 @@ int misc_init_r(void)
- case TINCANTOOLS_TRAINER:
- printf("Recognized Tincantools Trainer expansion board (rev %d %s)\n",
- expansion_config.revision, expansion_config.fab_revision);
-+ MUX_TINCANTOOLS_ZIPPY();
-+ MUX_TINCANTOOLS_TRAINER();
- break;
- case TINCANTOOLS_SHOWDOG:
- printf("Recognized Tincantools Showdow expansion board (rev %d %s)\n",
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index 90a0ebf..7774855 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -433,7 +433,21 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MCBSP1_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_162*/\
- MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
- MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
-- MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
-+ MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/
-+
-+#define MUX_TINCANTOOLS_TRAINER() \
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M4)) /*GPIO_130*/\
-+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M4)) /*GPIO_131*/\
-+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M4)) /*GPIO_132*/\
-+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M4)) /*GPIO_133*/\
-+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M4)) /*GPIO_134*/\
-+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M4)) /*GPIO_135*/\
-+ MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M4)) /*GPIO_136*/\
-+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137*/\
-+ MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M4)) /*GPIO_138*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139*/\
-+ MUX_VAL(CP(MCBSP3_DX), (IEN | PTU | EN | M4)) /*GPIO_140*/\
-+ MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTU | EN | M4)) /*GPIO_141*/
-
- #define MUX_KBADC_BEAGLEFPGA() \
- MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTU | DIS | M1)) /*MCSPI4_CLK*/\
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0035-OMAP3-Beagle-set-mpurate-to-1000-for-xM.patch b/recipes/u-boot/u-boot-git/beagleboard/0035-OMAP3-Beagle-set-mpurate-to-1000-for-xM.patch
deleted file mode 100644
index b4e040499c..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0035-OMAP3-Beagle-set-mpurate-to-1000-for-xM.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 442e5d80723e2772f38fe473d32287200d802907 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 30 Apr 2010 13:25:41 +0200
-Subject: [PATCH 35/50] OMAP3: Beagle: set mpurate to 1000 for xM
-
----
- board/ti/beagle/beagle.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 39c53f2..9300984 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -238,6 +238,7 @@ int misc_init_r(void)
- TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
- TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
- TWL4030_PM_RECEIVER_DEV_GRP_P1);
-+ setenv("mpurate", "1000");
- break;
- default:
- printf("Beagle unknown 0x%02x\n", beagle_revision);
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0036-OMAP3-Beagle-decrease-bootdelay-to-3-use-VGA-for-def.patch b/recipes/u-boot/u-boot-git/beagleboard/0036-OMAP3-Beagle-decrease-bootdelay-to-3-use-VGA-for-def.patch
deleted file mode 100644
index 4e4f036a7b..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0036-OMAP3-Beagle-decrease-bootdelay-to-3-use-VGA-for-def.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 13b74d6ec2b88620515d0060f6276f744f058e44 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 30 Apr 2010 13:26:01 +0200
-Subject: [PATCH 36/50] OMAP3: Beagle: decrease bootdelay to 3, use VGA for default resolution
-
----
- include/configs/omap3_beagle.h | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 52d727a..47bc971 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -183,7 +183,7 @@
- /* partition */
-
- /* Environment information */
--#define CONFIG_BOOTDELAY 10
-+#define CONFIG_BOOTDELAY 3
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
- "loadaddr=0x82000000\0" \
-@@ -191,7 +191,7 @@
- "console=ttyS2,115200n8\0" \
- "mpurate=500\0" \
- "vram=12M\0" \
-- "dvimode=1024x768MR-16@60\0" \
-+ "dvimode=640x480MR-16@60\0" \
- "defaultdisplay=dvi\0" \
- "mmcroot=/dev/mmcblk0p2 rw\0" \
- "mmcrootfstype=ext3 rootwait\0" \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0037-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch b/recipes/u-boot/u-boot-git/beagleboard/0037-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch
deleted file mode 100644
index 584a57281e..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0037-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 02dba49bdab65e1a96fd4593f5847b38252b66e0 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 3 May 2010 10:17:41 +0200
-Subject: [PATCH 37/50] OMAP3: beagle: pass expansionboard name in bootargs
-
-This makes it possible to do in-kernel fixups for expansionboards like reclaiming GPIOs
----
- board/ti/beagle/beagle.c | 7 +++++++
- include/configs/omap3_beagle.h | 3 +++
- 2 files changed, 10 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 9300984..556e995 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -172,33 +172,40 @@ int misc_init_r(void)
- printf("Recognized Tincantools Zippy expansion board (rev %d %s)\n",
- expansion_config.revision, expansion_config.fab_revision);
- MUX_TINCANTOOLS_ZIPPY();
-+ setenv("buddy", "zippy");
- break;
- case TINCANTOOLS_ZIPPY2:
- printf("Recognized Tincantools Zippy2 expansion board (rev %d %s)\n",
- expansion_config.revision, expansion_config.fab_revision);
- MUX_TINCANTOOLS_ZIPPY();
-+ setenv("buddy", "zippy2");
- break;
- case TINCANTOOLS_TRAINER:
- printf("Recognized Tincantools Trainer expansion board (rev %d %s)\n",
- expansion_config.revision, expansion_config.fab_revision);
- MUX_TINCANTOOLS_ZIPPY();
- MUX_TINCANTOOLS_TRAINER();
-+ setenv("buddy", "trainer");
- break;
- case TINCANTOOLS_SHOWDOG:
- printf("Recognized Tincantools Showdow expansion board (rev %d %s)\n",
- expansion_config.revision, expansion_config.fab_revision);
- /* Place holder for DSS2 definition for showdog lcd */
- setenv("defaultdisplay", "showdoglcd");
-+ setenv("buddy", "showdog");
- break;
- case KBADC_BEAGLEFPGA:
- printf("Recognized KBADC Beagle FPGA board\n");
- MUX_KBADC_BEAGLEFPGA();
-+ setenv("buddy", "beaglefpga");
- break;
- case BEAGLE_NO_EEPROM:
- printf("No EEPROM on expansion board\n");
-+ setenv("buddy", "none");
- break;
- default:
- printf("Unrecognized expansion board: %x\n", expansion_config.device_vendor);
-+ setenv("buddy", "unknown");
- }
-
- if (expansion_config.content == 1)
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 47bc971..8ad52aa 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -190,6 +190,7 @@
- "usbtty=cdc_acm\0" \
- "console=ttyS2,115200n8\0" \
- "mpurate=500\0" \
-+ "buddy=none\0" \
- "vram=12M\0" \
- "dvimode=640x480MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-@@ -199,6 +200,7 @@
- "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
- "mpurate=${mpurate} " \
-+ "buddy=${buddy} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
-@@ -206,6 +208,7 @@
- "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
- "mpurate=${mpurate} " \
-+ "buddy=${buddy} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0038-Added-configurations-for-xM-Rev-A-board.patch b/recipes/u-boot/u-boot-git/beagleboard/0038-Added-configurations-for-xM-Rev-A-board.patch
deleted file mode 100644
index 914cae2a2b..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0038-Added-configurations-for-xM-Rev-A-board.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 94462a5c200adbad2c4fc47d7fc0ca24aeb14a2a Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Wed, 5 May 2010 14:53:49 -0500
-Subject: [PATCH 38/50] Added configurations for xM Rev A board
-
-This defaults to "on" condition for USB and DVI. May want to revise for
-power savings.
----
- board/ti/beagle/beagle.h | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index 7774855..cb7fd1c 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -389,6 +389,10 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/
-
- #define MUX_BEAGLE_XM() \
-+ MUX_VAL(CP(GPMC_NCS5), (IDIS | PTD | EN | M4)) /*GPIO_56 - USB HUB reset*/\
-+ MUX_VAL(CP(GPMC_WAIT0), (IDIS | PTU | EN | M4)) /*GPIO_63 - P8 USB HUB nreset*/\
-+ MUX_VAL(CP(MMC1_DAT7), (IDIS | PTU | EN | M4)) /*GPIO_129 - DVI enable*/\
-+ MUX_VAL(CP(HDQ_SIO), (IDIS | PTU | EN | M4)) /*GPIO_170 - P8 DVI enable*/\
- MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
- MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
- MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0039-OMAP3-beagle-setenv-beaglerev-for-AxBx-Cx-xMA-for-be.patch b/recipes/u-boot/u-boot-git/beagleboard/0039-OMAP3-beagle-setenv-beaglerev-for-AxBx-Cx-xMA-for-be.patch
deleted file mode 100644
index c1b2e35690..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0039-OMAP3-beagle-setenv-beaglerev-for-AxBx-Cx-xMA-for-be.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 4b5bb4a7656dc1c4a1b985b6f5454c58ad060112 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 3 Jun 2010 19:50:57 +0200
-Subject: [PATCH 39/50] OMAP3: beagle: setenv beaglerev for AxBx/Cx/xMA for better bootscripts
-
----
- board/ti/beagle/beagle.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 556e995..cdba3dd 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -221,14 +221,17 @@ int misc_init_r(void)
- case REVISION_AXBX:
- printf("Beagle Rev Ax/Bx\n");
- setenv("mpurate", "600");
-+ setenv("beaglerev", "AxBx");
- break;
- case REVISION_CX:
- printf("Beagle Rev C1/C2/C3\n");
- MUX_BEAGLE_C();
- setenv("mpurate", "600");
-+ setenv("beaglerev", "Cx");
- break;
- case REVISION_C4:
- printf("Beagle Rev C4\n");
-+ setenv("beaglerev", "Cx");
- MUX_BEAGLE_C();
- /* Set VAUX2 to 1.8V for EHCI PHY */
- twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
-@@ -239,6 +242,7 @@ int misc_init_r(void)
- break;
- case REVISION_XM:
- printf("Beagle xM Rev A\n");
-+ setenv("beaglerev", "xMA");
- MUX_BEAGLE_XM();
- /* Set VAUX2 to 1.8V for EHCI PHY */
- twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch b/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch
deleted file mode 100644
index 9f09e0fa22..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 0dd14c6a6f40cb47fd8517e9e9d48f0a119e9aa9 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Thu, 29 Apr 2010 10:28:14 -0700
-Subject: [PATCH 40/50] OMAP: mmc: add support for second and third mmc channels
-
-Boards wishing to use this feature should define CONFIG_SYS_MMC_SET_DEV
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- drivers/mmc/omap3_mmc.c | 39 +++++++++++++++++++++++++++-
- include/asm-arm/arch-omap3/mmc_host_def.h | 15 +++++++++--
- 2 files changed, 49 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
-index 96c0e65..bf650ba 100644
---- a/drivers/mmc/omap3_mmc.c
-+++ b/drivers/mmc/omap3_mmc.c
-@@ -52,7 +52,27 @@ const unsigned short mmc_transspeed_val[15][4] = {
-
- mmc_card_data cur_card_data;
- static block_dev_desc_t mmc_blk_dev;
--static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC_BASE;
-+static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE;
-+
-+unsigned char mmc_set_dev(int dev)
-+{
-+ switch (dev) {
-+ case 1:
-+ mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE;
-+ break;
-+ case 2:
-+ mmc_base = (hsmmc_t *)OMAP_HSMMC2_BASE;
-+ break;
-+ case 3:
-+ mmc_base = (hsmmc_t *)OMAP_HSMMC3_BASE;
-+ break;
-+ default:
-+ mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE;
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-
- block_dev_desc_t *mmc_get_dev(int dev)
- {
-@@ -62,6 +82,7 @@ block_dev_desc_t *mmc_get_dev(int dev)
- unsigned char mmc_board_init(void)
- {
- t2_t *t2_base = (t2_t *)T2_BASE;
-+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
-
- #if defined(CONFIG_TWL4030_POWER)
- twl4030_power_mmc_init();
-@@ -74,6 +95,17 @@ unsigned char mmc_board_init(void)
- writel(readl(&t2_base->devconf0) | MMCSDIO1ADPCLKISEL,
- &t2_base->devconf0);
-
-+ writel(readl(&t2_base->devconf1) | MMCSDIO2ADPCLKISEL,
-+ &t2_base->devconf1);
-+
-+ writel(readl(&prcm_base->fclken1_core) |
-+ EN_MMC1 | EN_MMC2 | EN_MMC3,
-+ &prcm_base->fclken1_core);
-+
-+ writel(readl(&prcm_base->iclken1_core) |
-+ EN_MMC1 | EN_MMC2 | EN_MMC3,
-+ &prcm_base->iclken1_core);
-+
- return 1;
- }
-
-@@ -512,8 +544,11 @@ unsigned long mmc_bread(int dev_num, unsigned long blknr, lbaint_t blkcnt,
- return 1;
- }
-
--int mmc_legacy_init(int verbose)
-+int mmc_legacy_init(int dev)
- {
-+ if (mmc_set_dev(dev) != 0)
-+ return 1;
-+
- if (configure_mmc(&cur_card_data) != 1)
- return 1;
-
-diff --git a/include/asm-arm/arch-omap3/mmc_host_def.h b/include/asm-arm/arch-omap3/mmc_host_def.h
-index aa751c9..43dd705 100644
---- a/include/asm-arm/arch-omap3/mmc_host_def.h
-+++ b/include/asm-arm/arch-omap3/mmc_host_def.h
-@@ -29,13 +29,20 @@
- #define T2_BASE 0x48002000
-
- typedef struct t2 {
-- unsigned char res1[0x274];
-+ unsigned char res1[0x274]; /* 0x000 */
- unsigned int devconf0; /* 0x274 */
-- unsigned char res2[0x2A8];
-+ unsigned char res2[0x060]; /* 0x278 */
-+ unsigned int devconf1; /* 0x2D8 */
-+ unsigned char res3[0x244]; /* 0x2DC */
- unsigned int pbias_lite; /* 0x520 */
- } t2_t;
-
- #define MMCSDIO1ADPCLKISEL (1 << 24)
-+#define MMCSDIO2ADPCLKISEL (1 << 6)
-+
-+#define EN_MMC1 (1 << 24)
-+#define EN_MMC2 (1 << 25)
-+#define EN_MMC3 (1 << 30)
-
- #define PBIASLITEPWRDNZ0 (1 << 1)
- #define PBIASSPEEDCTRL0 (1 << 2)
-@@ -44,7 +51,9 @@ typedef struct t2 {
- /*
- * OMAP HSMMC register definitions
- */
--#define OMAP_HSMMC_BASE 0x4809C000
-+#define OMAP_HSMMC1_BASE 0x4809C000
-+#define OMAP_HSMMC2_BASE 0x480B4000
-+#define OMAP_HSMMC3_BASE 0x480AD000
-
- typedef struct hsmmc {
- unsigned char res1[0x10];
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0041-OMAP3-Beagle-enable-support-for-second-and-third-mmc.patch b/recipes/u-boot/u-boot-git/beagleboard/0041-OMAP3-Beagle-enable-support-for-second-and-third-mmc.patch
deleted file mode 100644
index 2449ab20a5..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0041-OMAP3-Beagle-enable-support-for-second-and-third-mmc.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8da9e2bac6daf2d61d7ca9d689790fc9ce5de9cb Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Fri, 7 May 2010 07:40:26 -0700
-Subject: [PATCH 41/50] OMAP3: Beagle: enable support for second and third mmc channels
-
-Based on 629a01965677e680ffa1fe76579ace7f69dd45b9, but removed BOOTDELAY change.
----
- include/configs/omap3_beagle.h | 8 +++++---
- 1 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 8ad52aa..e4c88f2 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -95,6 +95,7 @@
- 115200}
- #define CONFIG_MMC 1
- #define CONFIG_OMAP3_MMC 1
-+#define CONFIG_SYS_MMC_SET_DEV 1
- #define CONFIG_DOS_PARTITION 1
-
- /* DDR - I use Micron DDR */
-@@ -194,6 +195,7 @@
- "vram=12M\0" \
- "dvimode=640x480MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-+ "mmcdev=1\0" \
- "mmcroot=/dev/mmcblk0p2 rw\0" \
- "mmcrootfstype=ext3 rootwait\0" \
- "nandroot=/dev/mtdblock4 rw\0" \
-@@ -214,10 +216,10 @@
- "omapdss.def_disp=${defaultdisplay} " \
- "root=${nandroot} " \
- "rootfstype=${nandrootfstype}\0" \
-- "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
-+ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source ${loadaddr}\0" \
-- "loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
-+ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
- "mmcboot=echo Booting from mmc ...; " \
- "run mmcargs; " \
- "bootm ${loadaddr}\0" \
-@@ -227,7 +229,7 @@
- "bootm ${loadaddr}\0" \
-
- #define CONFIG_BOOTCOMMAND \
-- "if mmc init; then " \
-+ "if mmc init ${mmcdev}; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0043-Add-led-command.patch b/recipes/u-boot/u-boot-git/beagleboard/0043-Add-led-command.patch
deleted file mode 100644
index 8d19d1ed2a..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0043-Add-led-command.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-From 1fc5c28bc260c72b4f9cefdf55bfd10504916457 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Thu, 20 May 2010 05:41:26 -0500
-Subject: [PATCH 43/50] Add 'led' command
-
-This patch allows any board implementing the coloured LED API
-to control the LEDs from the console.
-
-led [green | yellow | red | all ] [ on | off ]
-
-or
-
-led [ 1 | 2 | 3 | all ] [ on | off ]
-
-Adds configuration item CONFIG_CMD_LED enabling the command.
-
-Partially based on patch from Ulf Samuelsson:
-http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.
-(cherry picked from commit aaf47f8d6af81393b7d3275d69b5dbdf07a3d6fb)
-(cherry picked from commit 3d314bf59a48c2ee93d06d50b81f109af6a6c1ec)
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- common/Makefile | 1 +
- common/cmd_led.c | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 208 insertions(+), 0 deletions(-)
- create mode 100644 common/cmd_led.c
-
-diff --git a/common/Makefile b/common/Makefile
-index dbf7a05..1d717ca 100644
---- a/common/Makefile
-+++ b/common/Makefile
-@@ -106,6 +106,7 @@ COBJS-$(CONFIG_CMD_IRQ) += cmd_irq.o
- COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
- COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
- COBJS-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
-+COBJS-$(CONFIG_CMD_LED) += cmd_led.o
- COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o
- COBJS-y += cmd_load.o
- COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
-diff --git a/common/cmd_led.c b/common/cmd_led.c
-new file mode 100644
-index 0000000..3b7b534
---- /dev/null
-+++ b/common/cmd_led.c
-@@ -0,0 +1,207 @@
-+/*
-+ * (C) Copyright 2010
-+ * Jason Kridner <jkridner@beagleboard.org>
-+ *
-+ * Based on cmd_led.c patch from:
-+ * http://www.mail-archive.com/u-boot@lists.denx.de/msg06873.html
-+ * (C) Copyright 2008
-+ * Ulf Samuelsson <ulf.samuelsson@atmel.com>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * 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, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+/*
-+ * This file provides a shell like 'test' function to return
-+ * true/false from an integer or string compare of two memory
-+ * locations or a location and a scalar/literal.
-+ * A few parts were lifted from bash 'test' command
-+ */
-+
-+#include <common.h>
-+#include <config.h>
-+#include <command.h>
-+#include <status_led.h>
-+
-+int do_led ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] )
-+{
-+#ifdef CONFIG_BOARD_SPECIFIC_LED
-+ led_id_t mask;
-+#endif
-+ int state;
-+
-+ /* Validate arguments */
-+ if ((argc != 3)){
-+ printf("Usage:\n%s\n", cmdtp->usage);
-+ return 1;
-+ }
-+
-+ if (strcmp(argv[2], "off") == 0) {
-+ state = 0;
-+ } else if (strcmp(argv[2], "on") == 0) {
-+ state = 1;
-+ } else {
-+ printf ("Usage:\n%s\n", cmdtp->usage);
-+ return 1;
-+ }
-+
-+#if defined(STATUS_LED_BIT) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ if (strcmp(argv[1], "0") == 0) {
-+ mask = STATUS_LED_BIT;
-+ __led_set(mask, state);
-+ }
-+ else
-+#endif
-+#if defined(STATUS_LED_BIT1) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ if (strcmp(argv[1], "1") == 0) {
-+ mask = STATUS_LED_BIT1;
-+ __led_set(mask, state);
-+ }
-+ else
-+#endif
-+#if defined(STATUS_LED_BIT2) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ if (strcmp(argv[1], "2") == 0) {
-+ mask = STATUS_LED_BIT2;
-+ __led_set(mask, state);
-+ }
-+ else
-+#endif
-+#if defined(STATUS_LED_BIT3) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ if (strcmp(argv[1], "3") == 0) {
-+ mask = STATUS_LED_BIT3;
-+ __led_set(mask, state);
-+ }
-+ else
-+#endif
-+#ifdef STATUS_LED_RED
-+ if (strcmp(argv[1], "red") == 0) {
-+ if (state == 0)
-+ red_LED_off();
-+ else
-+ red_LED_on();
-+ }
-+ else
-+#endif
-+#ifdef STATUS_LED_GREEN
-+ if (strcmp(argv[1], "green") == 0) {
-+ if (state == 0)
-+ green_LED_off();
-+ else
-+ green_LED_on();
-+ }
-+ else
-+#endif
-+#ifdef STATUS_LED_YELLOW
-+ if (strcmp(argv[1], "yellow") == 0) {
-+ if (state == 0)
-+ yellow_LED_off();
-+ else
-+ yellow_LED_on();
-+ }
-+ else
-+#endif
-+#ifdef STATUS_LED_BLUE
-+ if (strcmp(argv[1], "blue") == 0) {
-+ if (state == 0)
-+ blue_LED_off();
-+ else
-+ blue_LED_on();
-+ }
-+ else
-+#endif
-+ if (strcmp(argv[1], "all") == 0) {
-+ mask = 0
-+#if defined(STATUS_LED_BIT) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ | STATUS_LED_BIT
-+#endif
-+#if defined(STATUS_LED_BIT1) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ | STATUS_LED_BIT1
-+#endif
-+#if defined(STATUS_LED_BIT2) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ | STATUS_LED_BIT2
-+#endif
-+#if defined(STATUS_LED_BIT3) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ | STATUS_LED_BIT3
-+#endif
-+ ;
-+#ifdef CONFIG_BOARD_SPECIFIC_LED
-+ __led_set(mask, state);
-+#endif
-+#ifdef STATUS_LED_RED
-+ if (state == 0)
-+ red_LED_off();
-+ else
-+ red_LED_on();
-+#endif
-+#ifdef STATUS_LED_GREEN
-+ if (state == 0)
-+ green_LED_off();
-+ else
-+ green_LED_on();
-+#endif
-+#ifdef STATUS_LED_YELLOW
-+ if (state == 0)
-+ yellow_LED_off();
-+ else
-+ yellow_LED_on();
-+#endif
-+#ifdef STATUS_LED_BLUE
-+ if (state == 0)
-+ blue_LED_off();
-+ else
-+ blue_LED_on();
-+#endif
-+ } else {
-+ printf ("Usage:\n%s\n", cmdtp->usage);
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+U_BOOT_CMD(
-+ led, 3, 1, do_led,
-+ "led\t- ["
-+#if defined(STATUS_LED_BIT) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ "0|"
-+#endif
-+#if defined(STATUS_LED_BIT1) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ "1|"
-+#endif
-+#if defined(STATUS_LED_BIT2) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ "2|"
-+#endif
-+#if defined(STATUS_LED_BIT3) && defined(CONFIG_BOARD_SPECIFIC_LED)
-+ "3|"
-+#endif
-+#ifdef STATUS_LED_GREEN
-+ "green|"
-+#endif
-+#ifdef STATUS_LED_YELLOW
-+ "yellow|"
-+#endif
-+#ifdef STATUS_LED_RED
-+ "red|"
-+#endif
-+#ifdef STATUS_LED_BLUE
-+ "blue|"
-+#endif
-+ "all] [on|off]\n",
-+ "led [led_name] [on|off] sets or clears led(s)\n"
-+);
-+
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0044-BeagleBoard-Enabled-LEDs.patch b/recipes/u-boot/u-boot-git/beagleboard/0044-BeagleBoard-Enabled-LEDs.patch
deleted file mode 100644
index b94f58c7cb..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0044-BeagleBoard-Enabled-LEDs.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 40049e97a5a97d597f8754ff1b39d931053eb465 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Wed, 19 May 2010 05:14:43 -0500
-Subject: [PATCH 44/50] BeagleBoard: Enabled LEDs
-
-Added LED driver using status_led. USR0 is set to monitor the boot
-status. USR1 is set to be the GREEN LED.
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- include/configs/omap3_beagle.h | 13 +++++++++++++
- 1 files changed, 13 insertions(+), 0 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index e4c88f2..053f5df 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -98,6 +98,18 @@
- #define CONFIG_SYS_MMC_SET_DEV 1
- #define CONFIG_DOS_PARTITION 1
-
-+/* Status LED */
-+#define CONFIG_STATUS_LED 1
-+#define CONFIG_BOARD_SPECIFIC_LED 1
-+#define STATUS_LED_BIT 0x01
-+#define STATUS_LED_STATE STATUS_LED_ON
-+#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
-+#define STATUS_LED_BIT1 0x02
-+#define STATUS_LED_STATE1 STATUS_LED_ON
-+#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2)
-+#define STATUS_LED_BOOT STATUS_LED_BIT
-+#define STATUS_LED_GREEN STATUS_LED_BIT1
-+
- /* DDR - I use Micron DDR */
- #define CONFIG_OMAP3_MICRON_DDR 1
-
-@@ -138,6 +150,7 @@
- #define CONFIG_CMD_I2C /* I2C serial bus support */
- #define CONFIG_CMD_MMC /* MMC support */
- #define CONFIG_CMD_NAND /* NAND support */
-+#define CONFIG_CMD_LED /* LED support */
- #define CONFIG_VIDEO_OMAP3 /* DSS Support */
-
- #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0046-BeagleBoard-Add-CONFIG_SYS_MEMTEST_SCRATCH.patch b/recipes/u-boot/u-boot-git/beagleboard/0046-BeagleBoard-Add-CONFIG_SYS_MEMTEST_SCRATCH.patch
deleted file mode 100644
index 79723e4d27..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0046-BeagleBoard-Add-CONFIG_SYS_MEMTEST_SCRATCH.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 631cd4e4a02faa5726c058626390bee97188f456 Mon Sep 17 00:00:00 2001
-From: Steven Kipisz <s-kipisz2@ti.com>
-Date: Fri, 4 Jun 2010 10:31:04 -0500
-Subject: [PATCH 46/50] BeagleBoard: Add CONFIG_SYS_MEMTEST_SCRATCH
-
-Add CONFIG_SYS_MEMTEST_SCRATCH to point to a scratch memory area.
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- include/configs/omap3_beagle.h | 9 +++++----
- 1 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 053f5df..b265b0c 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -269,10 +269,11 @@
- /* Boot Argument Buffer Size */
- #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE)
-
--#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */
-- /* works on */
--#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \
-- 0x01F00000) /* 31MB */
-+#define CONFIG_SYS_ALT_MEMTEST 1
-+#define CONFIG_SYS_MEMTEST_START (0x82000000) /* memtest */
-+ /* defaults */
-+#define CONFIG_SYS_MEMTEST_END (0x87FFFFFF) /* 128MB */
-+#define CONFIG_SYS_MEMTEST_SCRATCH (0x81000000) /* dummy address */
-
- #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */
- /* load address */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0047-BeagleBoard-Adjust-boot-command-on-USER-button.patch b/recipes/u-boot/u-boot-git/beagleboard/0047-BeagleBoard-Adjust-boot-command-on-USER-button.patch
deleted file mode 100644
index 2036e1beb2..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0047-BeagleBoard-Adjust-boot-command-on-USER-button.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From d3f9ba7264111551ea11f33aadbecc15c87a4332 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Wed, 21 Jul 2010 08:47:59 -0500
-Subject: [PATCH 47/50] BeagleBoard: Adjust boot command on USER button
-
-When the USER button is pressed, the default boot command will attempt
-to load user.scr. If that fails, it will try to load a ramdisk image.
-
-This version also sets the rootfstype and assumes that the userbutton
-command returns success (0) when the button is pressed. It also really
-attempts to load the user.scr file.
----
- include/configs/omap3_beagle.h | 51 ++++++++++++++++++++++++++++++++++-----
- 1 files changed, 44 insertions(+), 7 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index b265b0c..1a76004 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -200,9 +200,12 @@
- #define CONFIG_BOOTDELAY 3
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "loadaddr=0x82000000\0" \
-+ "loadaddr=0x80200000\0" \
-+ "rdaddr=0x81600000\0" \
- "usbtty=cdc_acm\0" \
- "console=ttyS2,115200n8\0" \
-+ "optargs=\0" \
-+ "bootscr=boot.scr\0" \
- "mpurate=500\0" \
- "buddy=none\0" \
- "vram=12M\0" \
-@@ -213,7 +216,10 @@
- "mmcrootfstype=ext3 rootwait\0" \
- "nandroot=/dev/mtdblock4 rw\0" \
- "nandrootfstype=jffs2\0" \
-+ "ramroot=/dev/ram0 rw\0" \
-+ "ramrootfstype=ext2\0" \
- "mmcargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
- "vram=${vram} " \
-@@ -222,6 +228,7 @@
- "root=${mmcroot} " \
- "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
- "vram=${vram} " \
-@@ -229,7 +236,18 @@
- "omapdss.def_disp=${defaultdisplay} " \
- "root=${nandroot} " \
- "rootfstype=${nandrootfstype}\0" \
-- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
-+ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} ${bootscr}\0" \
-+ "ramargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
-+ "mpurate=${mpurate} " \
-+ "buddy=${buddy} "\
-+ "vram=${vram} " \
-+ "omapfb.mode=dvi:${dvimode} " \
-+ "omapdss.def_disp=${defaultdisplay} " \
-+ "root=${ramroot} rw ramdisk_size=65536 " \
-+ "initrd=${rdaddr},64M " \
-+ "rootfstype=${ramrootfstype}\0" \
-+ "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source ${loadaddr}\0" \
- "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
-@@ -240,15 +258,34 @@
- "run nandargs; " \
- "nand read ${loadaddr} 280000 400000; " \
- "bootm ${loadaddr}\0" \
-+ "ramboot=echo Booting from ramdisk ...; " \
-+ "run ramargs; " \
-+ "bootm ${loadaddr}\0" \
-
- #define CONFIG_BOOTCOMMAND \
- "if mmc init ${mmcdev}; then " \
-- "if run loadbootscript; then " \
-- "run bootscript; " \
-+ "if userbutton; then " \
-+ "setenv bootscr user.scr;" \
-+ "if run loadbootscript; then " \
-+ "run bootscript; " \
-+ "else " \
-+ "if run loaduimage; then " \
-+ "if run loadramdisk; then " \
-+ "run ramboot; " \
-+ "else " \
-+ "run mmcboot; " \
-+ "fi; " \
-+ "fi; " \
-+ "fi; " \
- "else " \
-- "if run loaduimage; then " \
-- "run mmcboot; " \
-- "else run nandboot; " \
-+ "setenv bootscr boot.scr; " \
-+ "if run loadbootscript; then " \
-+ "run bootscript; " \
-+ "else " \
-+ "if run loaduimage; then " \
-+ "run mmcboot; " \
-+ "else run nandboot; " \
-+ "fi; " \
- "fi; " \
- "fi; " \
- "else run nandboot; fi"
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0048-BeagleBoard-Enable-pullups-on-i2c2.patch b/recipes/u-boot/u-boot-git/beagleboard/0048-BeagleBoard-Enable-pullups-on-i2c2.patch
deleted file mode 100644
index 25cf7b1448..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0048-BeagleBoard-Enable-pullups-on-i2c2.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 35e971eea9c9d9cb690da0509e0f8a48a2cb1269 Mon Sep 17 00:00:00 2001
-From: Steve Kipisz <s-kipisz2@ti.com>
-Date: Thu, 5 Aug 2010 10:36:07 -0500
-Subject: [PATCH 48/50] BeagleBoard: Enable pullups on i2c2.
-
----
- board/ti/beagle/beagle.c | 2 ++
- include/asm-arm/arch-omap3/omap3.h | 9 +++++++++
- 2 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index 66df719..ee6bad2 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -171,6 +171,8 @@ int misc_init_r(void)
- struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
- struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
-
-+ /* Enable i22 pullup resisters */
-+ *(ulong *)(CONTROL_PROG_IO1) &= ~(PRG_I2C2_PULLUPRESX);
- beagle_identify();
-
- printf("\nProbing for expansion boards, if none are connected you'll see a harmless I2C error.\n\n");
-diff --git a/include/asm-arm/arch-omap3/omap3.h b/include/asm-arm/arch-omap3/omap3.h
-index 3957c79..1860dff 100644
---- a/include/asm-arm/arch-omap3/omap3.h
-+++ b/include/asm-arm/arch-omap3/omap3.h
-@@ -50,6 +50,15 @@
- /* CONTROL */
- #define OMAP34XX_CTRL_BASE (OMAP34XX_L4_IO_BASE + 0x2000)
-
-+/* Signal Integrity Parameter Control Registers */
-+#define CONTROL_PROG_IO0 0x48002444
-+#define CONTROL_PROG_IO1 0x48002448
-+#define CONTROL_PROG_IO2 0x48002408
-+#define CONTROL_PROG_IO_WKUP1 0x48002A80
-+
-+/* Bit definition for CONTROL_PROG_IO1 */
-+#define PRG_I2C2_PULLUPRESX 0x00000001
-+
- /* UART */
- #define OMAP34XX_UART1 (OMAP34XX_L4_IO_BASE + 0x6a000)
- #define OMAP34XX_UART2 (OMAP34XX_L4_IO_BASE + 0x6c000)
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0049-BeagleBoard-Add-camera-to-default-bootargs.patch b/recipes/u-boot/u-boot-git/beagleboard/0049-BeagleBoard-Add-camera-to-default-bootargs.patch
deleted file mode 100644
index 3c43a7d5b0..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0049-BeagleBoard-Add-camera-to-default-bootargs.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 0a49d60caf30738f13b60a71e740e28f4e7af902 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Thu, 5 Aug 2010 13:54:12 -0500
-Subject: [PATCH 49/50] BeagleBoard: Add camera to default bootargs
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- include/configs/omap3_beagle.h | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 1a76004..48ad805 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -208,6 +208,7 @@
- "bootscr=boot.scr\0" \
- "mpurate=500\0" \
- "buddy=none\0" \
-+ "camera=lbcm3m1\0" \
- "vram=12M\0" \
- "dvimode=640x480MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-@@ -222,6 +223,7 @@
- "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
-+ "camera=${camera} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
-@@ -231,6 +233,7 @@
- "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
-+ "camera=${camera} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
-@@ -241,6 +244,7 @@
- "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
-+ "camera=${camera} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0050-BeagleBoard-move-ramdisk-parameters.patch b/recipes/u-boot/u-boot-git/beagleboard/0050-BeagleBoard-move-ramdisk-parameters.patch
deleted file mode 100644
index 3e79a08228..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0050-BeagleBoard-move-ramdisk-parameters.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 21738fa5ae05dd5060cf755ac0460f5d1f27e910 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Wed, 11 Aug 2010 14:50:38 -0500
-Subject: [PATCH 50/50] BeagleBoard: move ramdisk parameters
-
-This will make it easier to reprogram the ramdisk size.
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- include/configs/omap3_beagle.h | 5 ++---
- 1 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 48ad805..4f5c1d4 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -217,7 +217,7 @@
- "mmcrootfstype=ext3 rootwait\0" \
- "nandroot=/dev/mtdblock4 rw\0" \
- "nandrootfstype=jffs2\0" \
-- "ramroot=/dev/ram0 rw\0" \
-+ "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \
- "ramrootfstype=ext2\0" \
- "mmcargs=setenv bootargs console=${console} " \
- "${optargs} " \
-@@ -248,8 +248,7 @@
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapdss.def_disp=${defaultdisplay} " \
-- "root=${ramroot} rw ramdisk_size=65536 " \
-- "initrd=${rdaddr},64M " \
-+ "root=${ramroot} " \
- "rootfstype=${ramrootfstype}\0" \
- "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0051-add-support-for-beagleboardtoys-expansionboards.patch b/recipes/u-boot/u-boot-git/beagleboard/0051-add-support-for-beagleboardtoys-expansionboards.patch
deleted file mode 100644
index 3f75a60ba3..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0051-add-support-for-beagleboardtoys-expansionboards.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 05c4ef3b0963cef095075486820b030226ced7c3 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 8 Feb 2011 12:02:46 +0100
-Subject: [PATCH 51/51] add support for beagleboardtoys expansionboards
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- board/ti/beagle/beagle.c | 15 +++++++++++++++
- board/ti/beagle/beagle.h | 10 ++++++++++
- 2 files changed, 25 insertions(+), 0 deletions(-)
-
-diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
-index ee6bad2..fdd9c09 100644
---- a/board/ti/beagle/beagle.c
-+++ b/board/ti/beagle/beagle.c
-@@ -62,12 +62,16 @@ static struct {
- #define HYR_VENDORID 0x0400
- #define MENTOREL_VENDORID 0x0500
- #define KBADC_VENDORID 0x0600
-+#define BBTOYS_VENDORID 0x0B00
-
- #define TINCANTOOLS_ZIPPY 0x01000100
- #define TINCANTOOLS_ZIPPY2 0x02000100
- #define TINCANTOOLS_TRAINER 0x04000100
- #define TINCANTOOLS_SHOWDOG 0x03000100
- #define KBADC_BEAGLEFPGA 0x01000600
-+#define BBTOYS_WIFI 0x01000B00
-+#define BBTOYS_VGA 0x02000B00
-+#define BBTOYS_LCD 0x03000B00
-
- #define BEAGLE_NO_EEPROM 0xffffffff
-
-@@ -209,6 +213,17 @@ int misc_init_r(void)
- MUX_KBADC_BEAGLEFPGA();
- setenv("buddy", "beaglefpga");
- break;
-+ case BBTOYS_WIFI:
-+ printf("Recognized Beagleboardtoys wifi board\n");
-+ MUX_BBTOYS_WIFI()
-+ setenv("buddy", "bbtoys-wifi");
-+ break;;
-+ case BBTOYS_VGA:
-+ printf("Recognized Beagleboardtoys VGA board\n");
-+ break;;
-+ case BBTOYS_LCD:
-+ printf("Recognized Beagleboardtoys LCD board\n");
-+ break;;
- case BEAGLE_NO_EEPROM:
- printf("No EEPROM on expansion board\n");
- setenv("buddy", "none");
-diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
-index cb7fd1c..2dc6ee6 100644
---- a/board/ti/beagle/beagle.h
-+++ b/board/ti/beagle/beagle.h
-@@ -459,6 +459,16 @@ const omap3_sysinfo sysinfo = {
- MUX_VAL(CP(MCBSP1_DR), (IEN | PTU | EN | M1)) /*MCSPI4_SOMI*/\
- MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTU | DIS | M1)) /*MCSPI4_CS0*/\
-
-+#define MUX_BBTOYS_WIFI() \
-+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
-+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
-+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
-+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
-+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
-+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
-+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137*/\
-+ MUX_VAL(CP(MMC2_DAT7), (IDIS | PTD | DIS | M4)) /*GPIO_139*/\
-+
- /*
- * Display Configuration
- */
---
-1.6.6.1
-
diff --git a/recipes/u-boot/u-boot.inc b/recipes/u-boot/u-boot.inc
index 88c6a4d18f..ffd1e1eb74 100644
--- a/recipes/u-boot/u-boot.inc
+++ b/recipes/u-boot/u-boot.inc
@@ -16,6 +16,7 @@ UBOOT_MACHINE ?= "${MACHINE}_config"
UBOOT_BINARY ?= "u-boot.bin"
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
+UBOOT_MAKE_TARGET ?= "all"
do_configure () {
oe_runmake ${UBOOT_MACHINE}
@@ -25,7 +26,7 @@ do_compile () {
unset LDFLAGS
unset CFLAGS
unset CPPFLAGS
- oe_runmake all
+ oe_runmake ${UBOOT_MAKE_TARGET}
oe_runmake tools env HOSTCC="${CC}"
}
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 410e0b1ca3..1f009ed717 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -1,5 +1,5 @@
require u-boot.inc
-PR = "r72"
+PR = "r73"
FILESPATHPKG =. "u-boot-git:"
@@ -26,61 +26,25 @@ SRC_URI_append_bug20 = "file://bug-uboot.patch"
SRC_URI_append_bug20 += "file://bug-video-setting.patch"
SRC_URI_beagleboard = "git://www.denx.de/git/u-boot.git;protocol=git \
- file://0001-Enable-I2C-bus-switching.patch \
- file://0002-OMAP3-add-board-revision-detection-for-Overo.patch \
- file://0003-OMAP3-update-Beagle-revision-detection-to-recognize-.patch \
- file://0004-OMAP3-Set-VAUX2-to-1.8V-for-EHCI-PHY-on-Beagle-Rev-C.patch \
- file://0005-OMAP3-add-entry-for-rev-3.1.2-check-and-display-max-.patch \
- file://0006-OMAP3-add-mpurate-boot-arg-for-overo-and-beagle.patch \
- file://0007-OMAP3-detect-expansion-board-type-version-using-eepr.patch \
- file://0008-OMAP3-Overo-enable-config-eeprom-to-set-u-boot-env-v.patch \
- file://0009-OMAP3-Overo-enable-input-on-MMC1_CLK-and-MMC3_CLK-pi.patch \
- file://0010-OMAP3-Overo-set-CONFIG_SYS_I2C_SPEED-to-400Khz.patch \
- file://0011-OMAP3-trim-excessively-long-delays-in-i2c-driver.patch \
- file://0012-OMAP3-Overo-allow-expansion-boards-with-any-vendor-I.patch \
- file://0013-OMAP3-Overo-change-address-of-expansion-eeprom-to-0x.patch \
- file://0014-OMAP3-board.c-don-t-attempt-to-set-up-second-RAM-ban.patch \
- file://0015-OMAP3-mem.c-enhance-the-RAM-test.patch \
- file://0016-env_nand.c-fail-gracefully-if-no-nand-is-present.patch \
- file://0017-OMAP3-add-definitions-to-support-sysinfo-cpu-and-cpu.patch \
- file://0018-OMAP3-sys_info-update-cpu-detection-for-36XX-37XX.patch \
- file://0019-OMAP3-clocks-update-clock-setup-for-36XX-37XX.patch \
- file://0020-OMAP3-beagle-add-support-for-Beagle-xM.patch \
- file://0021-OMAP3-Beagle-Overo-remove-omapfb.debug-y-from-defaul.patch \
- file://0022-OMAP3-beagle-implement-expansionboard-detection-base.patch \
- file://0023-beagleboard-display-message-about-I2C-errors-being-e.patch \
- file://0024-beagleboard-fix-TCT-expansionboard-IDs.patch \
- file://0025-Add-DSS-driver-for-OMAP3.patch \
- file://0026-Enable-DSS-driver-for-Beagle.patch \
- file://0027-beagleboardXM-don-t-set-mpurate-on-xM-in-bootargs.patch \
- file://0028-OMAP3-fix-and-clean-up-L2-cache-enable-disable-funct.patch \
- file://0029-OMAP3-convert-setup_auxcr-to-pure-asm.patch \
- file://0030-OMAP3-apply-Cortex-A8-errata-workarounds-only-on-aff.patch \
- file://0031-OMAP3-beagle-add-more-expansionboards-based-on-http-.patch \
- file://0032-OMAP3-beagle-set-mpurate-to-600-for-revB-and-revC1-3.patch \
- file://0033-OMAP3-beagle-prettify-expansionboard-message-a-bit.patch \
- file://0034-OMAP3-beagle-add-pinmux-for-Tincantools-Trainer-expa.patch \
- file://0035-OMAP3-Beagle-set-mpurate-to-1000-for-xM.patch \
- file://0036-OMAP3-Beagle-decrease-bootdelay-to-3-use-VGA-for-def.patch \
- file://0037-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch \
- file://0038-Added-configurations-for-xM-Rev-A-board.patch \
- file://0039-OMAP3-beagle-setenv-beaglerev-for-AxBx-Cx-xMA-for-be.patch \
- file://0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch \
- file://0041-OMAP3-Beagle-enable-support-for-second-and-third-mmc.patch \
- file://0042-BeagleBoard-Added-LED-driver.patch \
- file://0043-Add-led-command.patch \
- file://0044-BeagleBoard-Enabled-LEDs.patch \
- file://0045-BeagleBoard-Added-userbutton-command.patch \
- file://0046-BeagleBoard-Add-CONFIG_SYS_MEMTEST_SCRATCH.patch \
- file://0047-BeagleBoard-Adjust-boot-command-on-USER-button.patch \
- file://0048-BeagleBoard-Enable-pullups-on-i2c2.patch \
- file://0049-BeagleBoard-Add-camera-to-default-bootargs.patch \
- file://0050-BeagleBoard-move-ramdisk-parameters.patch \
- file://0051-add-support-for-beagleboardtoys-expansionboards.patch \
+ file://0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch \
+ file://0002-OMAP-Remove-omapfb.debug-y-from-Beagle-and-Overo-env.patch \
+ file://0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch \
+ file://0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch \
+ file://0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch \
+ file://0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch \
+ file://0007-OMAP3-Add-DSS-driver-for-OMAP3.patch \
+ file://0008-BeagleBoard-Added-userbutton-command.patch \
+ file://0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch \
+ file://0010-Enable-DSS-driver-for-Beagle.patch \
+ file://0011-Add-led-command.patch \
+ file://0012-BeagleBoard-Added-LED-driver.patch \
+ file://0013-OMAP3-BeagleBoard-updated-default-configuration.patch \
+ file://0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch \
+ file://0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch \
file://fw_env.config \
"
-SRCREV_beagleboard = "ca6e1c136ddb720c3bb2cc043b99f7f06bc46c55"
-PV_beagleboard = "2010.03+${PR}+gitr${SRCREV}"
+SRCREV_beagleboard = "c7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8"
+PV_beagleboard = "2011.02+${PR}+gitr${SRCREV}"
SRCREV_calamari = "b80d30546e88c70985094d81297d449b2bc59033"
@@ -243,10 +207,12 @@ SRCREV_dm355-evm = "ea7387c9511ac92a46d3d147adffe36f868820e4"
PV_dm355-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
PE_dm355-evm = "1"
-SRC_URI_dm365-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git;branch=u-boot-davinci-2009.06"
-SRCREV_dm365-evm = "ea7387c9511ac92a46d3d147adffe36f868820e4"
-PV_dm365-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
-PE_dm365-evm = "1"
+# Use this for both dm365-evm and dm368-evm devices by using the dm365
+# SOC_FAMILY
+SRC_URI_dm365 = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git;branch=u-boot-davinci-2009.06"
+SRCREV_dm365 = "ea7387c9511ac92a46d3d147adffe36f868820e4"
+PV_dm365 = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
+PE_dm365 = "1"
SRC_URI_dm6446-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git;branch=u-boot-davinci-2009.06"
SRCREV_dm6446-evm = "ea7387c9511ac92a46d3d147adffe36f868820e4"