diff options
author | Mike Westerhof <mwester@dls.net> | 2008-10-07 14:10:11 +0000 |
---|---|---|
committer | Mike Westerhof <mwester@dls.net> | 2008-10-07 14:10:11 +0000 |
commit | 7db59217ec8f6b541ffc22516e3dd4a14b8759d1 (patch) | |
tree | 2178ad9ea55fcd03971014e56439b0f7299280d4 | |
parent | 62a0b7f1f964c66cd0077a67c7f174156f45e44b (diff) | |
parent | f90cb79364f78616ba997206454f67655c54ae3e (diff) |
merge of '06439bd12faeb366d7d703a017d5c609d41cb96e'
and '8334fa112d76dd1bff6086d9cbd2007755c42e05'
-rw-r--r-- | classes/cpan-base.bbclass | 2 | ||||
-rw-r--r-- | classes/cpan.bbclass | 2 | ||||
-rw-r--r-- | classes/cpan_build.bbclass | 2 | ||||
-rw-r--r-- | classes/java.bbclass | 2 | ||||
-rw-r--r-- | classes/sdk.bbclass | 9 | ||||
-rwxr-xr-x | contrib/angstrom/sort.sh | 16 | ||||
-rw-r--r-- | packages/linux/linux-omap/musb-fix-endpoints.diff | 197 | ||||
-rw-r--r-- | packages/linux/linux-omap_git.bb | 3 | ||||
-rw-r--r-- | packages/tasks/task-openmoko-feed.bb | 9 | ||||
-rw-r--r-- | packages/u-boot/u-boot-git/beagleboard/beagle-600MHz.diff | 21 | ||||
-rw-r--r-- | packages/u-boot/u-boot-git/beagleboard/mru-256.diff | 192 | ||||
-rw-r--r-- | packages/u-boot/u-boot-omap3_git.bb | 19 | ||||
-rw-r--r-- | packages/u-boot/u-boot_git.bb | 15 | ||||
-rw-r--r-- | packages/xorg-driver/xf86-video-omapfb_git.bb | 5 |
14 files changed, 476 insertions, 18 deletions
diff --git a/classes/cpan-base.bbclass b/classes/cpan-base.bbclass index cc0d11e515..19d431ce72 100644 --- a/classes/cpan-base.bbclass +++ b/classes/cpan-base.bbclass @@ -10,7 +10,7 @@ RDEPENDS += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" # Determine the staged version of perl from the perl configuration file def get_perl_version(d): import os, bb, re - cfg = bb.data.expand('${STAGING_DIR}/${HOST_SYS}/perl/config.sh', d) + cfg = bb.data.expand('${STAGING_DIR_HOST}/perl/config.sh', d) try: f = open(cfg, 'r') except IOError: diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index 005e7cc0e9..3ff3f3093d 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -15,7 +15,7 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}" cpan_do_configure () { yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS} if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh + . ${STAGING_DIR_TARGET}/perl/config.sh if [ "${IS_NEW_PERL}" = "yes" ]; then sed -i -e "s:\(SITELIBEXP = \).*:\1${sitelibexp}:" \ -e "s:\(SITEARCHEXP = \).*:\1${sitearchexp}:" \ diff --git a/classes/cpan_build.bbclass b/classes/cpan_build.bbclass index 63e716c099..c3804ff4cc 100644 --- a/classes/cpan_build.bbclass +++ b/classes/cpan_build.bbclass @@ -25,7 +25,7 @@ DEPENDS_prepend = "${@cpan_build_dep_prepend(d)}" cpan_build_do_configure () { if [ ${@is_target(d)} == "yes" ]; then # build for target - . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh + . ${STAGING_DIR_TARGET}/perl/config.sh if [ "${IS_NEW_PERL}" = "yes" ]; then perl Build.PL --installdirs vendor \ --destdir ${D} \ diff --git a/classes/java.bbclass b/classes/java.bbclass index 9e51a0b7b2..11a2bf5c0c 100644 --- a/classes/java.bbclass +++ b/classes/java.bbclass @@ -99,7 +99,7 @@ oe_makeclasspath() { oefatal "oe_makeclasspath: Jar file for '$1' not found at $file" fi - classpath=$classpath$file + classpath=$classpath$delimiter$file delimiter=":" ;; esac diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass index a94332b92c..6c66eac7ad 100644 --- a/classes/sdk.bbclass +++ b/classes/sdk.bbclass @@ -2,15 +2,24 @@ # or indirectly via dependency. No need to be in 'world'. EXCLUDE_FROM_WORLD = "1" +# Save MULTIMACH_ARCH +OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}" +# Save PACKAGE_ARCH OLD_PACKAGE_ARCH := ${PACKAGE_ARCH} PACKAGE_ARCH = "${BUILD_ARCH}-${OLD_PACKAGE_ARCH}-sdk" +# Also save BASE_PACKAGE_ARCH since HOST_ARCH can influence it +OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}" +BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}" + STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-sdk" +STAGING_DIR_TARGET = "${STAGING_DIR}/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}" HOST_ARCH = "${BUILD_ARCH}" HOST_VENDOR = "${BUILD_VENDOR}" HOST_OS = "${BUILD_OS}" HOST_PREFIX = "${BUILD_PREFIX}" HOST_CC_ARCH = "${BUILD_CC_ARCH}" +#HOST_SYS = "${HOST_ARCH}${TARGET_VENDOR}-${HOST_OS}" CPPFLAGS = "${BUILD_CPPFLAGS}" CFLAGS = "${BUILD_CFLAGS}" diff --git a/contrib/angstrom/sort.sh b/contrib/angstrom/sort.sh index 044b64ef07..8ede764894 100755 --- a/contrib/angstrom/sort.sh +++ b/contrib/angstrom/sort.sh @@ -3,6 +3,11 @@ # Angstrom feed sorting script # This must be run in unstable/ directory +if [ $(basename $PWD) != "unsorted" ] ; then + echo "Not in feed dir! Exiting" + exit 1 +fi + rm Packages* >& /dev/null # Find ipkg files in unsorted/ and remove stale ones @@ -64,6 +69,8 @@ case "$arch" in machines="dht-walnut" ;; "ppc603e") machines="efika" ;; + "ppce300c3") + machines="mpc8313e-rdb mpc8315e-rdb" ;; "sparc") machines="" ;; esac @@ -73,7 +80,7 @@ for i in `find . -name "*.ipk"| grep $arch` ; do mkdir -p ../$archdir/base/ || for machine in $machines ; do for i in `find . -name "*_$machine.ipk"| grep $machine` ; do mkdir -p ../$archdir/machine/$machine || true ;mv $i ../$archdir/machine/$machine ; done done -(cd ../$archdir && do_index ) +( mkdir -p ../$archdir ; cd ../$archdir && do_index ) } @@ -83,6 +90,7 @@ echo "Processing $(basename $PWD) packages...." BPWD=`pwd` +mkdir -p base cd base mkdir -p ../debug ../perl ../python ../gstreamer ../locales/en || true @@ -101,6 +109,7 @@ for i in ../* ; do echo " DONE" fi done +mkdir -p ${BPWD}/machine cd ${BPWD}/machine for i in ./* ; do @@ -113,6 +122,7 @@ for i in ./* ; do fi done +mkdir -p ${BPWD}/locales/en/ cd ${BPWD}/locales/en/ echo -n "building index for locales:" for i in ../* ; do @@ -132,7 +142,7 @@ echo " DONE" echo "Processing 'all' feed" for i in `find . -name "*.ipk"| grep _all` ; do mkdir -p ../all/ || true ;mv $i ../all/ ; done - (cd ../all && ipkg-make-index -p Packages -m . >& /dev/null ; touch Packages.sig ) + (mkdir -p ../all ; cd ../all && ipkg-make-index -p Packages -m . >& /dev/null ; touch Packages.sig ) for arch in arm-oabi armv4t armv5teb armv5te armv6 armv7a armv7 avr32 bfin geode i486 i586 i686 iwmmxt ppc405 ppc603e sparc ; do do_sort @@ -143,4 +153,4 @@ if [ "$1" != "--skip-sorted-list" ]; then for i in $(find ../ -name "*.ipk"| grep -v unsorted) ; do basename $i ; done > files-sorted fi -(cd ~/website/repo ; php update.php) +#(cd ~/website/repo ; php update.php) diff --git a/packages/linux/linux-omap/musb-fix-endpoints.diff b/packages/linux/linux-omap/musb-fix-endpoints.diff new file mode 100644 index 0000000000..5d1201f014 --- /dev/null +++ b/packages/linux/linux-omap/musb-fix-endpoints.diff @@ -0,0 +1,197 @@ +From: Ajay Kumar Gupta <ajay.gupta@ti.com> +To: linux-usb@vger.kernel.org +Cc: linux-omap@vger.kernel.org, david-b@pacbell.net, me@felipebalbi.com, + Ajay Kumar Gupta <ajay.gupta@ti.com> +Subject: [PATCH] MUSB: BULK request on different available endpoints +Date: Tue, 7 Oct 2008 11:12:24 +0530 + +Fixes co-working issue of usb serial device with usb/net devices while +oter endpoints are free and can be used.This patch implements the policy +that if endpoint resources are available then different BULK request goes +to different endpoint otherwise they are multiplexed to one reserved +endpoint as currently done. + +NAK limit scheme has to be added for multiplexed BULK request scenario +to avoid endpoint starvation due to usb/net devices. + +musb->periodic[] flag setting is also updated.It use to set this flag for +an endpoint even when only rx or tx is used.Now flag setting is done on +rx/tx basis of an endpoint. + +Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> +--- + drivers/usb/musb/musb_host.c | 94 ++++++++++++++++++++++++------------------ + drivers/usb/musb/musb_host.h | 1 + + 2 files changed, 55 insertions(+), 40 deletions(-) + +--- /tmp/musb_host.c 2008-10-07 10:10:49.000000000 +0200 ++++ git/drivers/usb/musb/musb_host.c 2008-10-07 10:13:59.000000000 +0200 +@@ -378,27 +378,32 @@ + + switch (qh->type) { + ++ case USB_ENDPOINT_XFER_CONTROL: ++ case USB_ENDPOINT_XFER_BULK: ++ /* fifo policy for these lists, except that NAKing ++ * should rotate a qh to the end (for fairness). ++ */ ++ if (qh->mux == 1) { ++ head = qh->ring.prev; ++ list_del(&qh->ring); ++ kfree(qh); ++ qh = first_qh(head); ++ break; ++ } + case USB_ENDPOINT_XFER_ISOC: + case USB_ENDPOINT_XFER_INT: + /* this is where periodic bandwidth should be + * de-allocated if it's tracked and allocated; + * and where we'd update the schedule tree... + */ +- musb->periodic[ep->epnum] = NULL; ++ if (is_in) ++ musb->periodic[2 * ep->epnum - 2] = NULL; ++ else ++ musb->periodic[2 * ep->epnum - 1] = NULL; + kfree(qh); + qh = NULL; + break; + +- case USB_ENDPOINT_XFER_CONTROL: +- case USB_ENDPOINT_XFER_BULK: +- /* fifo policy for these lists, except that NAKing +- * should rotate a qh to the end (for fairness). +- */ +- head = qh->ring.prev; +- list_del(&qh->ring); +- kfree(qh); +- qh = first_qh(head); +- break; + } + } + return qh; +@@ -1728,22 +1733,9 @@ + u16 maxpacket; + + /* use fixed hardware for control and bulk */ +- switch (qh->type) { +- case USB_ENDPOINT_XFER_CONTROL: ++ if (qh->type == USB_ENDPOINT_XFER_CONTROL) { + head = &musb->control; + hw_ep = musb->control_ep; +- break; +- case USB_ENDPOINT_XFER_BULK: +- hw_ep = musb->bulk_ep; +- if (is_in) +- head = &musb->in_bulk; +- else +- head = &musb->out_bulk; +- break; +- } +- if (head) { +- idle = list_empty(head); +- list_add_tail(&qh->ring, head); + goto success; + } + +@@ -1778,7 +1770,8 @@ + for (epnum = 1; epnum < musb->nr_endpoints; epnum++) { + int diff; + +- if (musb->periodic[epnum]) ++ if ((is_in && musb->periodic[2 * epnum - 2]) || ++ (!is_in && musb->periodic[2 * epnum - 1])) + continue; + hw_ep = &musb->endpoints[epnum]; + if (hw_ep == musb->bulk_ep) +@@ -1789,19 +1782,36 @@ + else + diff = hw_ep->max_packet_sz_tx - maxpacket; + +- if (diff > 0 && best_diff > diff) { ++ if (diff >= 0 && best_diff > diff) { + best_diff = diff; + best_end = epnum; + } + } +- if (best_end < 0) ++ /* use bulk reserved ep1 if no other ep is free*/ ++ if (best_end < 0 && qh->type == USB_ENDPOINT_XFER_BULK) { ++ hw_ep = musb->bulk_ep; ++ if (is_in) ++ head = &musb->in_bulk; ++ else ++ head = &musb->out_bulk; ++ goto success; ++ } else if (best_end < 0) + return -ENOSPC; + + idle = 1; ++ qh->mux = 0; + hw_ep = musb->endpoints + best_end; +- musb->periodic[best_end] = qh; +- DBG(4, "qh %p periodic slot %d\n", qh, best_end); ++ if (is_in) ++ musb->periodic[2 * best_end - 2] = qh; ++ else ++ musb->periodic[2 * best_end - 1] = qh; ++ DBG(4, "qh %p periodic slot %d%s\n", qh, best_end, is_in ? "Rx" : "Tx"); + success: ++ if (head) { ++ idle = list_empty(head); ++ list_add_tail(&qh->ring, head); ++ qh->mux = 1; ++ } + qh->hw_ep = hw_ep; + qh->hep->hcpriv = qh; + if (idle) +@@ -2065,11 +2075,13 @@ + sched = &musb->control; + break; + case USB_ENDPOINT_XFER_BULK: +- if (usb_pipein(urb->pipe)) +- sched = &musb->in_bulk; +- else +- sched = &musb->out_bulk; +- break; ++ if (qh->mux == 1) { ++ if (usb_pipein(urb->pipe)) ++ sched = &musb->in_bulk; ++ else ++ sched = &musb->out_bulk; ++ break; ++ } + default: + /* REVISIT when we get a schedule tree, periodic + * transfers won't always be at the head of a +@@ -2131,11 +2143,13 @@ + sched = &musb->control; + break; + case USB_ENDPOINT_XFER_BULK: +- if (is_in) +- sched = &musb->in_bulk; +- else +- sched = &musb->out_bulk; +- break; ++ if (qh->mux == 1) { ++ if (is_in) ++ sched = &musb->in_bulk; ++ else ++ sched = &musb->out_bulk; ++ break; ++ } + case USB_ENDPOINT_XFER_ISOC: + case USB_ENDPOINT_XFER_INT: + for (i = 0; i < musb->nr_endpoints; i++) { +--- /tmp/musb_host.h 2008-10-07 08:59:38.000000000 +0200 ++++ git/drivers/usb/musb/musb_host.h 2008-10-07 10:10:54.000000000 +0200 +@@ -53,7 +53,8 @@ + + struct list_head ring; /* of musb_qh */ + /* struct musb_qh *next; */ /* for periodic tree */ +- ++ u8 mux; /* qh multiplexed to hw_ep */ ++ + unsigned offset; /* in urb->transfer_buffer */ + unsigned segsize; /* current xfer fragment */ + diff --git a/packages/linux/linux-omap_git.bb b/packages/linux/linux-omap_git.bb index b00572771c..290d90084b 100644 --- a/packages/linux/linux-omap_git.bb +++ b/packages/linux/linux-omap_git.bb @@ -9,7 +9,7 @@ COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard| SRCREV = "e1c49d7d22af768188e2a54c167ed79919361e55" PV = "2.6.26+2.6.27-rc7+${PR}+git${SRCREV}" -PR = "r11" +PR = "r12" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \ file://defconfig" @@ -33,6 +33,7 @@ SRC_URI_append = " \ file://musb-fix-ISO-in-unlink.diff;patch=1 \ file://musb-fix-multiple-bulk-transfers.diff;patch=1 \ file://mru-256MB.diff;patch=1 \ + file://musb-fix-endpoints.diff;patch=1 \ " diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb index ed885703c7..40e97585ea 100644 --- a/packages/tasks/task-openmoko-feed.bb +++ b/packages/tasks/task-openmoko-feed.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Openmoko: Misc. Feed Items" SECTION = "openmoko/base" LICENSE = "MIT" -PR = "r41" +PR = "r42" inherit task @@ -42,12 +42,13 @@ RDEPENDS_task-openmoko-feed = "\ # cacao \ # jamvm \ # classpath \ - gpsdrive \ +# gpsdrive \ + gpsd \ asterisk \ # gnash \ mono \ - diversity-daemon \ - diversity-maps-taipei \ +# diversity-daemon \ +# diversity-maps-taipei \ # om-maps-berlin \ # om-maps-buenos-aires \ # om-maps-london \ diff --git a/packages/u-boot/u-boot-git/beagleboard/beagle-600MHz.diff b/packages/u-boot/u-boot-git/beagleboard/beagle-600MHz.diff new file mode 100644 index 0000000000..fe183ddb77 --- /dev/null +++ b/packages/u-boot/u-boot-git/beagleboard/beagle-600MHz.diff @@ -0,0 +1,21 @@ +From: Mans Rullgard <mans@mansr.com> +Date: Mon, 29 Sep 2008 19:56:45 +0000 (+0100) +Subject: OMAP3: Set MPU clock to 600 MHz +X-Git-Url: http://git.mansr.com/?p=u-boot;a=commitdiff_plain;h=caccdb772c3028a3e3e801fb1554788150752ffc + +OMAP3: Set MPU clock to 600 MHz +--- + +diff --git a/cpu/omap3/lowlevel_init.S b/cpu/omap3/lowlevel_init.S +index 1f9a0e9..f95a65f 100644 +--- a/cpu/omap3/lowlevel_init.S ++++ b/cpu/omap3/lowlevel_init.S +@@ -208,7 +208,7 @@ mpu_dpll_param: + /* ES1 */ + .word 0x17D,0x0C,0x03,0x01 + /* ES2 */ +-.word 0x1F4,0x0C,0x03,0x01 ++.word 0x258,0x0C,0x03,0x01 + /* 3410 */ + .word 0x10A,0x0C,0x03,0x01 + diff --git a/packages/u-boot/u-boot-git/beagleboard/mru-256.diff b/packages/u-boot/u-boot-git/beagleboard/mru-256.diff new file mode 100644 index 0000000000..6099fe6c9d --- /dev/null +++ b/packages/u-boot/u-boot-git/beagleboard/mru-256.diff @@ -0,0 +1,192 @@ +From: Mans Rullgard <mans@mansr.com> +Date: Thu, 2 Oct 2008 01:25:35 +0000 (+0100) +Subject: OMAP3: Beagleboard can have dual-chip RAM +X-Git-Url: http://git.mansr.com/?p=u-boot;a=commitdiff_plain;h=ef6ee5af8d584bddadb2d45ad4320cef96b8a934;hp=caccdb772c3028a3e3e801fb1554788150752ffc + +OMAP3: Beagleboard can have dual-chip RAM + +Some Beagleboards are fitted with dual-chip RAM. Returning DDR_STACKED +from get_mem_type() causes the second chip (on CS1) to be enabled. + +FIXME: need a better way to configure this. + +Signed-off-by: Mans Rullgard <mans@mansr.com> +--- + +diff --git a/cpu/omap3/board.c b/cpu/omap3/board.c +index 804021f..f7cf289 100644 +--- a/cpu/omap3/board.c ++++ b/cpu/omap3/board.c +@@ -265,15 +265,17 @@ int dram_init(void) + * where it can be started. Early init code will init + * memory on CS0. + */ +- if ((mtype == DDR_COMBO) || (mtype == DDR_STACKED)) ++ if ((mtype == DDR_COMBO) || (mtype == DDR_STACKED)) { + do_sdrc_init(SDRC_CS1_OSET, NOT_EARLY); ++ make_cs1_contiguous(); ++ } + + size0 = get_sdr_cs_size(SDRC_CS0_OSET); + size1 = get_sdr_cs_size(SDRC_CS1_OSET); + + gd->bd->bi_dram[0].start = PHYS_SDRAM_1; + gd->bd->bi_dram[0].size = size0; +- gd->bd->bi_dram[1].start = PHYS_SDRAM_1 + size0; ++ gd->bd->bi_dram[1].start = PHYS_SDRAM_1 + get_sdr_cs_offset(1); + gd->bd->bi_dram[1].size = size1; + + return 0; +diff --git a/cpu/omap3/mem.c b/cpu/omap3/mem.c +index 955fa70..53687a5 100644 +--- a/cpu/omap3/mem.c ++++ b/cpu/omap3/mem.c +@@ -114,12 +114,12 @@ void make_cs1_contiguous(void) + * for a part. Helps in guessing which part + * we are currently using. + *******************************************************/ +-u32 mem_ok(void) ++u32 mem_ok(u32 cs) + { + u32 val1, val2, addr; + u32 pattern = 0x12345678; + +- addr = OMAP34XX_SDRC_CS0; ++ addr = OMAP34XX_SDRC_CS0 + get_sdr_cs_offset(cs); + + __raw_writel(0x0, addr + 0x400); /* clear pos A */ + __raw_writel(pattern, addr); /* pattern to pos B */ +@@ -156,43 +156,40 @@ void sdrc_init(void) + + void do_sdrc_init(u32 offset, u32 early) + { ++ u32 actim_offs = offset? 0x28: 0; + +- /* reset sdrc controller */ +- __raw_writel(SOFTRESET, SDRC_SYSCONFIG); +- wait_on_value(BIT0, BIT0, SDRC_STATUS, 12000000); +- __raw_writel(0, SDRC_SYSCONFIG); ++ if (early) { ++ /* reset sdrc controller */ ++ __raw_writel(SOFTRESET, SDRC_SYSCONFIG); ++ wait_on_value(BIT0, BIT0, SDRC_STATUS, 12000000); ++ __raw_writel(0, SDRC_SYSCONFIG); + +- /* setup sdrc to ball mux */ +- __raw_writel(SDP_SDRC_SHARING, SDRC_SHARING); ++ /* setup sdrc to ball mux */ ++ __raw_writel(SDP_SDRC_SHARING, SDRC_SHARING); + +- /* SDRC_MCFG0 register */ +- (*(unsigned int *) 0x6D000080) = 0x02584099; /* from Micron */ ++ /* Disble Power Down of CKE cuz of 1 CKE on combo part */ ++ __raw_writel(0x00000081, SDRC_POWER); + +- /* SDRC_RFR_CTRL0 register */ +- (*(unsigned int *) 0x6D0000a4) = 0x54601; /* for 166M */ ++ __raw_writel(0x0000A, SDRC_DLLA_CTRL); ++ sdelay(0x20000); ++ } + +- /* SDRC_ACTIM_CTRLA0 register */ +- (*(unsigned int *) 0x6D00009c) = 0xa29db4c6; /* for 166M */ ++ __raw_writel(0x02584099, SDRC_MCFG_0 + offset); ++ __raw_writel(0x4e201, SDRC_RFR_CTRL + offset); ++ __raw_writel(0xaa9db4c6, SDRC_ACTIM_CTRLA_0 + actim_offs); ++ __raw_writel(0x11517, SDRC_ACTIM_CTRLB_0 + actim_offs); + +- /* SDRC_ACTIM_CTRLB0 register */ +- (*(unsigned int *) 0x6D0000a0) = 0x12214; /* for 166M */ ++ __raw_writel(CMD_NOP, SDRC_MANUAL_0 + offset); ++ __raw_writel(CMD_PRECHARGE, SDRC_MANUAL_0 + offset); ++ __raw_writel(CMD_AUTOREFRESH, SDRC_MANUAL_0 + offset); ++ __raw_writel(CMD_AUTOREFRESH, SDRC_MANUAL_0 + offset); + +- /* Disble Power Down of CKE cuz of 1 CKE on combo part */ +- (*(unsigned int *) 0x6D000070) = 0x00000081; ++ /* CAS latency 3, Write Burst = Read Burst, Serial Mode, ++ Burst length = 4 */ ++ __raw_writel(0x00000032, SDRC_MR_0 + offset); + +- /* SDRC_Manual command register */ +- (*(unsigned int *) 0x6D0000a8) = 0x00000000; /* NOP command */ +- (*(unsigned int *) 0x6D0000a8) = 0x00000001; /* Precharge command */ +- (*(unsigned int *) 0x6D0000a8) = 0x00000002; /* Auto-refresh command */ +- (*(unsigned int *) 0x6D0000a8) = 0x00000002; /* Auto-refresh command */ +- +- /* SDRC MR0 register */ +- (*(int *) 0x6D000084) = 0x00000032; /* Burst length = 4 */ +- /* CAS latency = 3, Write Burst = Read Burst Serial Mode */ +- +- /* SDRC DLLA control register */ +- (*(unsigned int *) 0x6D000060) = 0x0000A; +- sdelay(0x20000); ++ if (!mem_ok(offset)) ++ __raw_writel(0, SDRC_MCFG_0 + offset); + } + + void enable_gpmc_config(u32 *gpmc_config, u32 gpmc_base, u32 base, u32 size) +diff --git a/cpu/omap3/sys_info.c b/cpu/omap3/sys_info.c +index 12cf5ba..64d9e7e 100644 +--- a/cpu/omap3/sys_info.c ++++ b/cpu/omap3/sys_info.c +@@ -90,8 +90,11 @@ u32 is_mem_sdr(void) + ***********************************************************/ + u32 get_mem_type(void) + { +- /* Current SDP3430 uses 2x16 MDDR Infenion parts */ ++#ifdef CONFIG_OMAP3_BEAGLE ++ return DDR_STACKED; ++#else + return DDR_DISCRETE; ++#endif + } + + /*********************************************************************** +@@ -109,6 +112,22 @@ u32 get_sdr_cs_size(u32 offset) + } + + /*********************************************************************** ++ * get_sdr_cs_offset() - get offset of cs from cs0 start ++ ************************************************************************/ ++u32 get_sdr_cs_offset(u32 cs) ++{ ++ u32 offset; ++ ++ if (!cs) ++ return 0; ++ ++ offset = __raw_readl(SDRC_CS_CFG); ++ offset = (offset & 15) << 27 | (offset & 0x30) >> 17; ++ ++ return offset; ++} ++ ++/*********************************************************************** + * get_board_type() - get board type based on current production stats. + * - NOTE-1-: 2 I2C EEPROMs will someday be populated with proper info. + * when they are available we can get info from there. This should +diff --git a/include/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h +index d47defb..df2d150 100644 +--- a/include/asm-arm/arch-omap3/cpu.h ++++ b/include/asm-arm/arch-omap3/cpu.h +@@ -123,7 +123,6 @@ + #define SDRC_ACTIM_CTRLA_1 (OMAP34XX_SDRC_BASE+0xC4) + #define SDRC_ACTIM_CTRLB_1 (OMAP34XX_SDRC_BASE+0xC8) + #define SDRC_RFR_CTRL (OMAP34XX_SDRC_BASE+0xA4) +-#define SDRC_RFR_CTRL (OMAP34XX_SDRC_BASE+0xA4) + #define SDRC_MANUAL_0 (OMAP34XX_SDRC_BASE+0xA8) + #define OMAP34XX_SDRC_CS0 0x80000000 + #define OMAP34XX_SDRC_CS1 0xA0000000 +diff --git a/include/asm-arm/arch-omap3/sys_proto.h b/include/asm-arm/arch-omap3/sys_proto.h +index 279bdce..5b0bd9e 100644 +--- a/include/asm-arm/arch-omap3/sys_proto.h ++++ b/include/asm-arm/arch-omap3/sys_proto.h +@@ -50,6 +50,7 @@ u32 get_gpmc0_width(void); + u32 get_board_type(void); + void display_board_info(u32); + u32 get_sdr_cs_size(u32 offset); ++u32 get_sdr_cs_offset(u32 cs); + u32 running_in_sdram(void); + u32 running_in_sram(void); + u32 running_in_flash(void); diff --git a/packages/u-boot/u-boot-omap3_git.bb b/packages/u-boot/u-boot-omap3_git.bb new file mode 100644 index 0000000000..ce7c5b9433 --- /dev/null +++ b/packages/u-boot/u-boot-omap3_git.bb @@ -0,0 +1,19 @@ +require u-boot.inc + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/u-boot-omap3-git/${MACHINE}" + +SRCREV = "c492706ba046124333323273f6fc21123360cb50" + +PV = "2008.10-rc1+${PR}+git${SRCREV}" +PR="r1" + +SRC_URI = "git://www.sakoman.net/git/u-boot-omap3.git;branch=common;protocol=git \ + " + +UBOOT_MACHINE_beagleboard = "omap3_beagle_config" +UBOOT_MACHINE_omap3evm = "omap3_evm_config" +UBOOT_MACHINE_overo = "omap3_overo_config" + +S = "${WORKDIR}/git" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/packages/u-boot/u-boot_git.bb b/packages/u-boot/u-boot_git.bb index a887c1641d..6131aa1e3b 100644 --- a/packages/u-boot/u-boot_git.bb +++ b/packages/u-boot/u-boot_git.bb @@ -3,19 +3,24 @@ PR="r18" SRCREV_davinci-sffsdr = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa" SRCREV_davinci-dvevm = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa" -SRCREV_beagleboard = "9c1c36409b2cb4e81aab0bd9d0a69c68f4475aae" +SRCREV_beagleboard = "fb479d0418bc7c15d63a131beedbc6f1970fc295" +SRCREV_omap3evm = "9c1c36409b2cb4e81aab0bd9d0a69c68f4475aae" SRCREV_neuros-osd2 = "df6de5f4ff79dc43ba2a79a3afa975d22ec273b5" SRCREV_akita = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee" SRCREV_spitz = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee" SRCREV_c7x0 = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee" +UBOOT_MACHINE_beagleboard = "omap3_beagle_config" +UBOOT_MACHINE_omap3evm = "omap3_evm_config" +UBOOT_MACHINE_overo = "omap3_overo_config" + SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git " SRC_URI_sequoia = "git://www.denx.de/git/u-boot.git;protocol=git;tag=cf3b41e0c1111dbb865b6e34e9f3c3d3145a6093 " SRC_URI_neuros-osd2 = "git://git.neurostechnology.com/git/u-boot;protocol=git;branch=neuros" -SRC_URI_beagleboard = "git://www.sakoman.net/git/u-boot-omap3.git;branch=test;protocol=git \ - file://name.patch;patch=1 \ - file://armv7-a.patch;patch=1 \ - " +SRC_URI_beagleboard = "git://www.sakoman.net/git/u-boot-omap3.git;branch=common;protocol=git \ + file://beagle-600MHz.diff;patch=1 \ + file://mru-256.diff;patch=1 \ + " SRC_URI_neuros-osd2 += "file://Makefile-fix.patch;patch=1" SRC_URI_append_akita = "file://pdaXrom-u-boot.patch;patch=1 \ diff --git a/packages/xorg-driver/xf86-video-omapfb_git.bb b/packages/xorg-driver/xf86-video-omapfb_git.bb index c116f64483..b222ef8fef 100644 --- a/packages/xorg-driver/xf86-video-omapfb_git.bb +++ b/packages/xorg-driver/xf86-video-omapfb_git.bb @@ -2,10 +2,13 @@ require xorg-driver-video.inc DESCRIPTION = "X.Org X server -- OMAP display driver" -SRCREV = "eb05e4446877409b349d8f9ede35052cc7a3432b" +PR ="r3" + +SRCREV = "afb03099adc621fa7857a9bf26342d6380cbc2eb" PV = "0.0.1+${PR}+git${SRCREV}" SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http" S = "${WORKDIR}/git" +CFLAGS += " -I${STAGING_INCDIR}/xorg " |