[openfirmware] r1236 - in cpu/arm: . pxa3xx pxa3xx/build

svn at openfirmware.info svn at openfirmware.info
Fri Jul 3 06:25:07 CEST 2009


Author: wmb
Date: 2009-07-03 06:25:06 +0200 (Fri, 03 Jul 2009)
New Revision: 1236

Added:
   cpu/arm/pxa3xx/
   cpu/arm/pxa3xx/build/
   cpu/arm/pxa3xx/build/Makefile
   cpu/arm/pxa3xx/pxa3xx.bth
Log:
ARM - added a rudimentary platform directory for PXA3xx SOCs.


Added: cpu/arm/pxa3xx/build/Makefile
===================================================================
--- cpu/arm/pxa3xx/build/Makefile	                        (rev 0)
+++ cpu/arm/pxa3xx/build/Makefile	2009-07-03 04:25:06 UTC (rev 1236)
@@ -0,0 +1,59 @@
+OS := $(shell uname)
+
+BASEDIR= `(cd ../../../..; pwd;)`
+TAGFILES= ../../build/*.tag *.tag
+CLIENTDIR=../../../../clients
+CLIENTPROGS=
+
+all: pxa3xx.rom tags
+
+pxa3xx.tag: pxa3xx.rom
+
+tags: pxa3xx.tag
+	@${BASEDIR}/forth/lib/toctags ${BASEDIR} ${TAGFILES}
+
+pxa3xx.rom: FORCE build ${CLIENTPROGS}
+	./build $@
+
+../../${OS}/forth:
+	@make -C ../../${OS} forth
+
+../../build/inflate.bin:
+	@make -C ../../build inflate.bin
+
+build: ../../${OS}/forth
+	@ln -sf ../../${OS}/forth build
+
+clean:
+	rm -f *.dic *.log headers *~ *.elf *.di *.img builton.fth build *.rom *.version
+
+clean-all: clean
+	@make -C ../../build clean
+	@make -C ../../${OS} clean
+
+.PHONY: FORCE clean all clean-all
+
+# LICENSE_BEGIN
+# Copyright (c) 2009 FirmWorks
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# LICENSE_END
+

Added: cpu/arm/pxa3xx/pxa3xx.bth
===================================================================
--- cpu/arm/pxa3xx/pxa3xx.bth	                        (rev 0)
+++ cpu/arm/pxa3xx/pxa3xx.bth	2009-07-03 04:25:06 UTC (rev 1236)
@@ -0,0 +1,91 @@
+purpose: Load file for OFW on ARM beagleboard
+\ See license at end of file
+
+dictionary: ${BP}/cpu/arm/build/basefw.dic
+command: &armforth &dictionary &this
+build-now
+
+" beagle.tag" r/w create-file drop  tag-file !
+
+\ ' $report-name is include-hook
+
+use-movable-vector-base  \ CortexA8 CPU core has a movable vector base
+
+h# 8.0000 constant initial-heap-size
+
+: (initial-heap)  ( -- adr len )   limit  initial-heap-size  ;
+' (initial-heap) to initial-heap
+
+
+fload ${BP}/dev/omap/diaguart.fth	\ OMAP UART
+h# 40100000 to uart-base		\ UART# base address on PXA3xx
+d# 14745600 to uart-clock-frequency	\ Normal mode UART clock
+\ d# 59429000 to uart-clock-frequency	\ High speed mode UART clock
+
+fload ${BP}/forth/lib/sysuart.fth	\ Set console I/O vectors to UART
+
+
+\ Install the simple UART driver from the standalone I/O init chain
+: stand-init-io  ( -- )
+   stand-init-io
+   inituarts  install-uart-io
+;
+
+0 [if]  \ This turns off an LED; it's useful for startup debugging
+code usr1-off
+   begin
+      set r1,0x49056090
+      set r2,0x00400000
+      str r2,[r1]
+   again
+c;
+[then]
+
+\ This is some glue code to convert the machine setup that QEMU gives us
+\ to the setup that start-forth (see arm/boot.fth) wants.
+\ We get here via a call instruction at origin+8, which is inserted below
+
+code stand-cold-code    ( r0: 0  r1: board-id  r2: &kernel-args  lr: &aif_header+8c )
+   here  origin 8 +  put-call  \ Insert call instruction
+
+   \ Put the arguments in safe registers
+   sub   r6,lr,#0x8c        \ r6 points to header (lr set by code at origin)
+   mov   r7,#0              \ r7: functions
+   add   r8,r6,0x200000     \ r8: memtop - 2MiB above load address
+                            \ r9 is up
+   mov   r10,#0             \ r10: argc
+   mov   r11,r2             \ r11: argv (kernel args)
+   mov   r12,`initial-heap-size`  \ r12: initial-heap-size
+
+   b     'code start-forth  \ Branch to the generic startup code
+end-code
+
+tag-file @ fclose  tag-file off
+
+fload ${BP}/cpu/arm/saverom.fth  \ Save the dictionary for standalone startup
+
+.( --- Saving pxa3xx.rom --- )  cr " pxa3xx.rom" $save-rom
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2009 FirmWorks
+\
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END


Property changes on: cpu/arm/pxa3xx/pxa3xx.bth
___________________________________________________________________
Added: svn:executable
   + *




More information about the openfirmware mailing list