[openfirmware] [commit] r2708 - cpu/x86/pc/newton

repository service svn at openfirmware.info
Tue Nov 29 01:26:31 CET 2011


Author: wmb
Date: Tue Nov 29 01:26:31 2011
New Revision: 2708
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2708

Log:
Initial revision of Newton files

Added:
   cpu/x86/pc/newton/devices.fth

Added: cpu/x86/pc/newton/devices.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/x86/pc/newton/devices.fth	Tue Nov 29 01:26:31 2011	(r2708)
@@ -0,0 +1,237 @@
+\ See license at end of file
+purpose: Load device drivers according to configuration definitions
+
+0 0  " "  " /"  begin-package
+   fload ${BP}/cpu/x86/pc/mappci.fth	\ Map PCI to root
+   fload ${BP}/dev/pcibus.fth		\ Generic PCI bus package
+
+   0 0  " addresses-preassigned" property
+[then]
+
+   fload ${BP}/cpu/x86/pc/newton/pcinode.fth	\ System-specific words for PCI
+end-package
+stand-init: PCI host bridge
+   " /pci" " init" execute-device-method drop
+;
+
+fload ${BP}/dev/pciprobe.fth		\ Generic PCI probing
+
+\ Use the CPU chip's Time Stamp Counter for timing
+fload ${BP}/cpu/x86/tsc.fth
+
+0 0  " "  " /" begin-package
+   fload ${BP}/cpu/x86/pc/isabus.fth	\ ISA Bus Bridge under root node
+end-package
+
+dev /interrupt-controller
+h# 20 to vector-base0
+h# 28 to vector-base1
+device-end
+
+fload ${BP}/dev/olpc/spiflash/flashif.fth   \ Generic FLASH interface
+
+fload ${BP}/dev/olpc/spiflash/memflash.fth  \ Memory-mapped FLASH read access
+
+warning @ warning off
+: stand-init-io  stand-init-io  h# fff8.0000 to flash-base  ;
+warning !
+
+fload ${BP}/ofw/fs/cbfs.fth     \ Coreboot ROM filesystem
+
+\ Create the top-level device node to access the entire boot FLASH device
+0 0  " ffa00000"  " /" begin-package
+   " flash" device-name
+
+   h# 10.0000 value /device
+   h# 10.0000 constant /device-phys
+   my-address my-space /device-phys reg
+   fload ${BP}/dev/flashpkg.fth
+   fload ${BP}/dev/flashwrite.fth
+end-package
+
+\ XXX later
+\ devalias cbfs /flash//cbfs-file-system
+
+0 [if]
+\ This really should be a subrange of /flash
+0 0  dropin-base <# u#s u#>  " /" begin-package
+   " dropinram" device-name
+
+   dropin-size
+   dup value /device
+   constant /device-phys
+   my-address my-space /device-phys reg
+   fload ${BP}/dev/flashpkg.fth
+end-package
+
+devalias dropins /dropinram
+[else]
+patch /l /di-header first-header
+patch /l /di-header first-header
+\ devalias dropins cbfs:fallback\payload
+devalias dropins /flash
+[then]
+
+\ Create a pseudo-device that presents the dropin modules as a filesystem.
+fload ${BP}/ofw/fs/dropinfs.fth
+
+\ This devalias lets us say, for example, "dir rom:"
+devalias rom     /dropin-fs
+
+fload ${BP}/cpu/x86/forthint.fth	\ Low-level interrupt handling code
+fload ${BP}/dev/isa/irq.fth		\ ISA interrupt dispatcher
+fload ${BP}/cpu/x86/pc/isatick.fth		\ Use ISA timer as the alarm tick timer
+fload ${BP}/cpu/x86/pc/olpc/timertest.fth  \ Selftest for PIT timer
+
+fload ${BP}/dev/pci/isaall.fth
+devalias mouse /usb/mouse
+
+fload ${BP}/cpu/x86/pc/tsccal1.fth
+
+fload ${BP}/dev/null2.fth
+
+[ifdef] serial-console
+[ifdef] resident-packages
+support-package: 16550
+fload ${BP}/dev/16550pkg/16550.fth  \ Serial port support package
+end-support-package
+[then]
+
+0 0  hex mem-uart-base (u.)  " /" begin-package
+   4 encode-int  0 encode-int encode+    " interrupts" property
+   fload ${BP}/dev/16550pkg/ns16550p.fth
+   d# 64,000,000  " clock-frequency"  integer-property
+   fload ${BP}/dev/16550pkg/isa-int.fth
+end-package
+devalias com1 /serial:115200
+: com1  ( -- adr len )  " com1"  ;
+' com1 to fallback-device
+[else]
+: devnull  ( -- adr len )  " /null"  ;
+' devnull to fallback-device
+[then]
+
+0 0  " i70"  " /isa" begin-package   	\ Real-time clock node
+   fload ${BP}/dev/ds1385r.fth
+   8 encode-int  0 encode-int encode+    " interrupts" property
+   2 encode-int " device#" property
+end-package
+stand-init: RTC
+   " /rtc" open-dev  clock-node !
+;
+
+fload ${BP}/cpu/x86/pc/cpunode.fth
+fload ${BP}/cpu/x86/k6cputest.fth       \ Burnin test for K6 CPU
+dev /cpu  1 to default#passes  dend
+
+fload ${BP}/ofw/core/countdwn.fth	\ Startup countdown
+fload ${BP}/forth/lib/pattern.fth	\ Text string pattern matching
+fload ${BP}/forth/lib/tofile.fth	\ to-file and append-to-file
+\ XXX remove the OS file commands from tools.dic
+fload ${BP}/ofw/core/filecmds.fth	\ File commands: dir, del, ren, etc.
+
+[ifdef] use-ega
+0 0 " " " /" begin-package
+   fload ${BP}/dev/egatext.fth
+end-package
+devalias screen /ega-text
+[then]
+
+[ifdef] use-vesa
+fload ${BP}/dev/video/controlr/vesa.fth
+devalias screen /display	\ Explicit, because it's not probed
+[then]
+
+[ifdef] use-pineview
+0 0  " 2,0"  " /pci" begin-package
+   " display" name
+   fload ${BP}/dev/intel/graphics/pineview.fth
+   alias  /scanline  bytes/line
+   fload ${BP}/dev/video/common/rectangle16.fth
+   alias color! 4drop
+end-package
+devalias screen /pci/display at 2,0	\ Explicit, because it's not probed
+[then]
+
+\ Create the alias unless it already exists
+: $?devalias  ( alias$ value$ -- )
+   2over  not-alias?  if  $devalias exit  then  ( alias$ value$ alias$ )
+   2drop 4drop
+;
+
+: report-disk  ( -- )
+   " /pci-ide" locate-device  0=  if
+      drop
+      " disk" " /pci-ide/ide at 0/disk at 0" $devalias
+      " c"    " /pci-ide/ide at 0/disk at 0" $devalias
+      " d"    " /pci-ide/ide at 0/disk at 1" $devalias
+      " e"    " /pci-ide/ide at 1/disk at 0" $devalias
+      " f"    " /pci-ide/ide at 1/disk at 1" $devalias
+      exit
+   then
+   " /ide" locate-device  0=  if
+      drop
+      " disk" " /ide at 1f0/disk at 0" $devalias
+      " c"    " /ide at 1f0/disk at 0" $devalias
+      " d"    " /ide at 170/disk at 1" $devalias
+      " e"    " /ide at 1f0/disk at 0" $devalias
+      " f"    " /ide at 170/disk at 2" $devalias
+      exit
+   then
+;
+
+fload ${BP}/cpu/x86/inoutstr.fth	\ Multiple I/O port read/write
+
+[ifdef] serial-console
+fload ${BP}/dev/isa/diaguart.fth	\ ISA COM port driver
+fload ${BP}/forth/lib/sysuart.fth	\ Use UART for key and emit
+[else]
+fload ${BP}/dev/nulluart.fth		\ Null UART driver
+[then]
+[ifdef] use-ega
+fload ${BP}/cpu/x86/pc/egauart.fth	\ Output also to EGA
+[then]
+
+0 value keyboard-ih
+0 value screen-ih
+
+fload ${BP}/ofw/core/muxdev.fth		\ I/O collection/distribution device
+
+fload ${BP}/dev/olpc/spiflash/spiif.fth     \ Generic low-level SPI bus access
+fload ${BP}/dev/intel/spi.fth               \ SPI FLASH programming
+
+\ XXX we probably need to use the port CF9 method
+fload ${BP}/cpu/x86/pc/reset.fth	\ reset-all
+
+\ fload ${BP}/dev/acpiec.fth              \ Access to ACPI EC internal variables
+\ fload ${BP}/cpu/x86/pc/newton/ec.fth      \ Battery, AC, CPU temperature, Fan controls
+
+: ?enough-power  ;                      \ Implement based on AC presence and battery status
+
+fload ${BP}/cpu/x86/pc/newton/spiui.fth   \ User interface for SPI FLASH programming
+: urom  ( -- )  " flash! u:\stumpy.rom" evaluate  ;
+: netrom  ( -- )  " flash! http:\\192.168.200.200\stumpy.rom" evaluate  ;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2011 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



More information about the openfirmware mailing list