diff --git a/cpu/arm/mmp3/ariel/build-fw.fth b/cpu/arm/mmp3/ariel/build-fw.fth
new file mode 100644
index 0000000..6b4e06f
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/build-fw.fth
@@ -0,0 +1,604 @@
+purpose: Common code for build OFW Forth dictionaries for Dell Ariel (Wyse 3020)
+\ See license at end of file
+
+hex
+
+warning @ warning off
+: stand-init-io
+   stand-init-io
+   init-timers
+;
+warning !
+
+root-device
+   " Dell Ariel" model
+   " marvell,mmp3" +compatible
+   " dell,wyse-ariel" +compatible
+
+   " /interrupt-controller@d4282000" encode-phandle " interrupt-parent" property
+   0 0 " ranges" property
+device-end
+
+fload ${BP}/cpu/arm/olpc/fbnums.fth
+fload ${BP}/cpu/arm/olpc/fbmsg.fth
+
+fload ${BP}/dev/omap/diaguart.fth
+
+d# 26000000 to uart-clock-frequency
+
+\ CForth has already set up the serial port
+: inituarts  ( -- )  ;
+
+fload ${BP}/forth/lib/sysuart.fth	\ Set console I/O vectors to UART
+
+: poll-tty  ( -- )  ubreak?  if  user-abort  then  ;  \ BREAK detection
+: install-abort  ( -- )  ['] poll-tty d# 100 alarm  ;
+
+0 value dcon-ih
+0 value keyboard-ih
+
+fload ${BP}/ofw/core/muxdev.fth          \ I/O collection/distribution device
+
+\ Install the simple UART driver from the standalone I/O init chain
+warning off
+: stand-init-io  ( -- )
+   stand-init-io
+   inituarts  install-uart-io  install-abort
+;
+warning on
+
+[ifdef] use-null-nvram
+\ For not storing configuration variable changes across reboots ...
+\ This is useful for "turnkey" systems where configurability would
+\ increase support costs.
+
+fload ${BP}/cpu/x86/pc/nullnv.fth
+stand-init: Null-NVRAM
+   " /null-nvram" open-dev  to nvram-node
+   ['] init-config-vars catch drop
+;
+[then]
+
+[ifdef] use-flash-nvram
+\ For configuration variables stored in a sector of the boot FLASH ...
+
+\ Create a node below the top-level FLASH node to access the portion
+\ containing the configuration variables.
+0 0  " d0000"  " /flash" begin-package
+   " nvram" device-name
+
+   h# 10000 constant /device
+   fload ${BP}/dev/subrange.fth
+end-package
+
+stand-init: NVRAM
+   " /nvram" open-dev  to nvram-node
+   ['] init-config-vars catch drop
+;
+[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/arm/mmp3/l2cache.fth
+fload ${BP}/cpu/arm/mmp3/cpunode.fth
+fload ${BP}/cpu/arm/mmp3/scu.fth
+
+fload ${BP}/cpu/arm/mmp2/watchdog.fth	\ reset-all using watchdog timer
+
+fload ${BP}/cpu/arm/mmp2/twsi-i2c.fth
+devalias i2c2 /i2c@d4011000
+dev /i2c@d4011000
+   new-device
+      fload ${BP}/dev/ds1338.fth
+   finish-device
+   new-device
+      fload ${BP}/dev/88pm867.fth
+   finish-device
+device-end
+devalias i2c3 /i2c@d4032000
+dev /i2c@d4032000
+   new-device
+      fload ${BP}/dev/video/dacs/ch7033.fth
+   finish-device
+device-end
+devalias i2c4 /i2c@d4033800
+devalias i2c5 /i2c@d4033000
+devalias i2c6 /i2c@d4034000
+dev /i2c@d4033000
+   new-device
+      fload ${BP}/dev/kb3930.fth
+   finish-device
+device-end
+dev /i2c@d4031000  " disabled" " status" string-property  device-end
+
+0 0  " "  " /" begin-package
+   " dvi-connector" name
+   " dvi-connector" +compatible
+   " /i2c@d4033800" encode-phandle " ddc-i2c-bus" property
+
+   " /gpio" encode-phandle
+      dvi1-hpd-gpio# encode-int encode+
+      d# 1 encode-int encode+
+      " hpd-gpios" property
+
+   0 0 " digital" property
+   0 0 " analog" property
+
+   new-device
+      " port" device-name
+      new-device
+         " endpoint" device-name
+      finish-device
+   finish-device
+end-package
+
+" /dvi-connector/port/endpoint"  " /vga-dvi-encoder/ports/port@1/endpoint" link-endpoints
+
+fload ${BP}/cpu/arm/mmp2/uart.fth
+dev /uart@d4030000  " disabled" " status" string-property  device-end
+dev /uart@d4017000  " disabled" " status" string-property  device-end
+dev /uart@d4016000  " disabled" " status" string-property  device-end
+
+devalias serial2 /uart@d4018000
+: com1  " /uart@d4018000"  ;
+' com1 is fallback-device
+
+\ \needs md5init  fload ${BP}/ofw/ppp/md5.fth                \ MD5 hash
+
+fload ${BP}/dev/olpc/spiflash/flashif.fth  \ Generic FLASH interface
+
+fload ${BP}/dev/olpc/spiflash/spiif.fth    \ Generic low-level SPI bus access
+
+fload ${BP}/dev/olpc/spiflash/spiflash.fth \ SPI FLASH programming
+
+fload ${BP}/cpu/arm/mmp2/sspspi.fth        \ Synchronous Serial Port SPI interface
+
+fload ${BP}/cpu/arm/mmp2/ssp-spi.fth       \ SSP device nodes
+dev /spi@d4035000
+   " /gpio" encode-phandle
+      spi-flash-cs-gpio# encode-int encode+
+      d# 1 encode-int encode+
+      " cs-gpios" property
+
+   \ Create the top-level device node to access the entire boot FLASH device
+   new-device
+      " flash" device-name
+      " jedec,spi-nor" +compatible
+      " winbond,w25q32" +compatible
+      d# 104000000 " spi-max-frequency" integer-property
+      0 0 " m25p,fast-read" property
+      0 " reg" integer-property
+      /rom value /device
+      fload ${BP}/dev/nonmmflash.fth
+   finish-device
+device-end
+dev /spi@d4036000  " disabled" " status" string-property  device-end
+dev /spi@d4037000  " disabled" " status" string-property  device-end
+dev /spi@d4039000  " disabled" " status" string-property  device-end
+
+\ Create a node below the top-level FLASH node to accessing the portion
+\ containing the dropin modules
+0 0  " 20000"  " /flash" begin-package
+   " dropins" device-name
+
+   /rom h# 20000 - constant /device
+   fload ${BP}/dev/subrange.fth
+end-package
+
+devalias dropins /dropins
+
+load-base constant flash-buf
+
+fload ${BP}/cpu/arm/mmp3/ariel/spiui.fth      \ User interface for SPI FLASH programming
+
+\ Reserve memory for the framebuffer
+0 0  " "  " /" begin-package
+   " reserved-memory" name
+   1 " #address-cells" integer-property
+   1 " #size-cells" integer-property
+   0 0 encode-bytes " ranges" property
+
+   new-device
+       " framebuffer" device-name
+       " marvell,armada-framebuffer" +compatible
+       " marvell,mmp2-framebuffer" +compatible
+       h# 02000000 " size" integer-property
+       h# 02000000 " alignment" integer-property
+       0 0 encode-bytes " no-map" property
+   finish-device
+end-package
+
+0 0  " f0400000"  " /" begin-package
+   " vmeta" name
+   my-address my-space h# 400000 reg
+
+   " mrvl,mmp2-vmeta" +compatible
+
+   " /clocks" encode-phandle mmp2-vmeta-clk# encode-int encode+ " clocks" property
+   " VMETACLK" " clock-names" string-property
+   d# 26 " interrupts" integer-property
+end-package
+
+fload ${BP}/cpu/arm/mmp3/ariel/lcdcfg.fth
+fload ${BP}/cpu/arm/olpc/lcd.fth
+
+" /display/port/endpoint" " /vga-dvi-encoder/ports/port@0/endpoint" link-endpoints
+
+fload ${BP}/cpu/arm/mmp3/galcore.fth
+
+\ fload ${BP}/cpu/arm/mmp3/ariel/sdhci.fth
+
+fload ${BP}/cpu/arm/mmp2/sdhci.fth
+dev /sdhci@d4281000
+   d# 15 encode-int " clk-delay-cycles" property
+   d# 50000000 " max-frequency" integer-property
+   0 0  " non-removable" property
+   d# 8 " bus-width" integer-property
+   0 0 " cap-mmc-highspeed" property
+
+   : write-protected?  false  ;
+   new-device
+      fload ${BP}/dev/mmc/sdhci/sdmmc.fth
+      fload ${BP}/dev/mmc/sdhci/selftest.fth
+      " internal" " slot-name" string-property
+   finish-device
+device-end
+dev /sdhci@d4280000  " disabled" " status" string-property  device-end
+dev /sdhci@d4280800  " disabled" " status" string-property  device-end
+dev /sdhci@d4281800  " disabled" " status" string-property  device-end
+devalias int /sd/sdhci@d4281000/disk
+
+0 0 " " " /" begin-package
+   " spi" device-name
+   " spi-gpio" +compatible
+   1 " #address-cells" integer-property
+   0 " #size-cells" integer-property
+
+   : decode-unit  ( adr len -- phys )  $number  if  0  then  ;
+   : encode-unit  ( phys -- adr len )  (u.)  ;
+   : open  ( -- true )  true  ;
+   : close  ( -- )  ;
+
+   " /gpio" encode-phandle d# 55 encode-int encode+ d# 0 encode-int encode+ " gpio-sck" property
+   " /gpio" encode-phandle d# 57 encode-int encode+ d# 0 encode-int encode+ " gpio-miso" property
+   " /gpio" encode-phandle d# 58 encode-int encode+ d# 0 encode-int encode+ " gpio-mosi" property
+   " /gpio" encode-phandle d# 56 encode-int encode+ d# 0 encode-int encode+ " cs-gpios" property
+
+   new-device
+      " power-button" name
+      0 " reg" integer-property
+      " ene,kb3930-input" +compatible
+      " dell,wyse-ariel-ec-input" +compatible
+      d# 33000000 " spi-max-frequency" integer-property
+      " /gpio" encode-phandle " interrupt-parent" property
+      d# 60 encode-int d# 1 encode-int encode+ " interrupts" property
+   finish-device
+end-package
+
+fload ${BP}/ofw/core/fdt.fth
+
+autoload: mmp3-gic-  defines: mmp3-gic
+0 value no-mmp3-gic?
+
+autoload: olpc-compat-  defines: olpc-compat
+0 value olpc-compat?
+
+fload ${BP}/cpu/arm/linux.fth
+
+\ Create the alias unless it already exists
+: $?devalias  ( alias$ value$ -- )
+   2over  not-alias?  if  $devalias exit  then  ( alias$ value$ alias$ )
+   2drop 4drop
+;
+
+: ?report-device  ( alias$ pathname$ -- )
+   2dup  locate-device  0=  if  ( alias$ pathname$ phandle )
+      drop                      ( alias$ pathname$ )
+      2over 2over $?devalias    ( alias$ pathname$ )
+   then                         ( alias$ pathname$ )
+   4drop                        ( )
+;
+
+: report-disk  ( -- )
+   " disk"  " /usb@d4208000/disk" ?report-device
+;
+
+: report-keyboard  ( -- )
+   " usb-keyboard"  " /usb@d4208000/keyboard" ?report-device
+;
+
+: report-net  ( -- )
+   " net"  " /usb@f0001000/hub@1,0/ethernet@2,0" ?report-device
+;
+
+: disable-unpopulated  ( -- )
+   " /usb@f0001000/hub@1,0/scsi@1,0" find-device
+      " disabled" " status" string-property
+   device-end
+;
+
+fload ${BP}/cpu/arm/mmp3/usb2phy.fth
+fload ${BP}/cpu/arm/olpc/usb.fth
+fload ${BP}/cpu/arm/mmp3/hsic.fth
+devalias u /usb@d4208000/disk
+
+fload ${BP}/cpu/arm/firfilter.fth
+
+fload ${BP}/cpu/x86/adpcm.fth            \ ADPCM decoding
+d# 32 is playback-volume
+
+stand-init: RTC
+   " /i2c@d4011000/rtc@68" open-dev  clock-node !
+   \ use RTC 32kHz clock as SoC external slow clock
+   h# 38 mpmu@ 1 or h# 38 mpmu!
+   \ check the clock stop flag and reinit if necessary
+   " verify" clock-node @ $call-method
+;
+
+stand-init: More memory
+   extra-mem-va /extra-mem add-memory
+;
+
+fload ${BP}/cpu/arm/mmp3/thermal.fth
+fload ${BP}/cpu/arm/mmp2/fuse.fth
+
+[ifndef] virtual-mode
+warning off
+: stand-init-io
+   stand-init-io
+   go-fast         \ From mmuon.fth
+;
+warning on
+[then]
+
+\ The bottom of extra-mem is the top of DMA memory.
+\ We give everything up to that address to Linux.
+: olpc-memory-limit  ( -- adr )  extra-mem-va >physical  ;
+' olpc-memory-limit to memory-limit
+: olpc-mapped-limit  ( -- adr )  dma-mem-va >physical  ;
+' olpc-mapped-limit to mapped-limit
+
+machine-type to arm-linux-machine-type
+
+false to stand-init-debug?
+\ true to stand-init-debug?
+
+fload ${BP}/ofw/core/countdwn.fth   \ Startup countdown
+
+hex
+: i-key-wait  ( ms -- pressed? )
+   cr ." Type 'i' to interrupt stand-init sequence" cr   ( ms )
+   0  do
+      ukey?  if
+         ukey upc ascii I  =  if  true unloop exit  then
+      then
+      d# 1000 us  \ 1000 us is more precise than 1 ms, which is often close to 2 ms
+   loop
+   false
+;
+
+\ Uninstall the diag menu from the general user interface vector
+\ so exiting from emacs doesn't invoke the diag menu.
+' quit to user-interface
+
+: screen-#lines  ( -- n )
+   screen-ih 0=  if  default-#lines exit  then
+   screen-ih  package( #lines )package
+;
+' screen-#lines to lines/page
+
+true value text-on?
+: text-off  ( -- )
+   text-on?  if
+      screen-ih remove-output
+      false to text-on?
+   then
+;
+: text-on   ( -- )
+   text-on? 0=  if
+      screen-ih add-output
+      cursor-on
+      true to text-on?
+   then
+;
+
+fload ${BP}/cpu/arm/mmp2/clocks.fth
+
+: console-start  ( -- )
+   " /vga-dvi-encoder" open-dev to dcon-ih
+   install-mux-io
+   cursor-off
+   true to text-on?
+
+   " //null" open-dev to null-ih  \ For text-off state
+;
+: keyboard-off  ( -- )
+   keyboard-ih  if
+      keyboard-ih remove-input
+      keyboard-ih close-dev
+      0 to keyboard-ih
+   then
+;
+
+: teardown-mux-io  ( -- )
+   install-uart-io
+   text-off
+   keyboard-off
+   fallback-out-ih remove-output
+   fallback-in-ih remove-input
+   stdin off
+   stdout off
+   in-mux-ih close-dev
+   out-mux-ih close-dev
+;
+: quiesce  ( -- )
+   usb-quiet
+   teardown-mux-io
+   timers-off
+   unload-crypto
+;
+
+\ This must precede the loading of gui.fth, which chains from linux-hook's behavior
+' quiesce to linux-hook
+
+fload ${BP}/cpu/arm/mmp2/showirqs.fth
+
+fload ${BP}/cpu/arm/mmp3/dramrecal.fth
+: linux-hook-smp ( -- )
+   [ ' linux-hook behavior compile, ]  \ Chain to old behavior
+   enable-smp
+;
+' linux-hook-smp to linux-hook
+
+code halt  ( -- )  wfi   c;
+
+fload ${BP}/cpu/arm/mmp2/rtc.fth       \ Internal RTC, used for wakeups
+
+: emacs  ( -- )
+   false to already-go?
+   boot-getline to boot-file   " rom:emacs" $boot
+;
+: tsc@  ( -- d.ticks )  timer0@ u>d  ;
+d# 6500 constant ms-factor
+
+fload ${BP}/cpu/arm/bootascall.fth
+
+d# 999 ' screen-#rows    set-config-int-default  \ Expand the terminal emulator to fill the screen
+d# 999 ' screen-#columns set-config-int-default  \ Expand the terminal emulator to fill the screen
+
+fload ${BP}/cpu/x86/pc/olpc/gridmap.fth      \ Gridded display tools
+fload ${BP}/cpu/x86/pc/olpc/life.fth
+fload ${BP}/ofw/gui/ofpong.fth
+
+" u:\boot\olpc.fth int:\boot\olpc.fth net"  ' boot-device  set-config-string-default
+
+\needs ramdisk  " " d# 128 config-string ramdisk
+" "   ' boot-file      set-config-string-default   \ Let the boot script set the cmdline
+
+2 config-int auto-boot-countdown
+
+\ Eliminate 4 second delay in install console for the case where
+\ there is no keyboard.  The delay is unnecessary because the screen
+\ does not go blank when the device is closed.
+patch drop ms install-console
+
+alias reboot bye
+
+alias crcgen drop  ( crc byte -- crc' )
+
+\ Dictionary growth size for the ARM Image Format header
+\ 1 section   before origin  section table
+h# 10.0000      h# 8000 -      h# 4000 -      dictionary-size !
+
+fload ${BP}/cpu/arm/saverom.fth  \ Save the dictionary for standalone startup
+
+: interpreter-init  ( -- )
+   hex
+   warning on
+   only forth also definitions
+
+   install-alarm
+
+   page-mode
+   #line off
+;
+
+: startup  ( -- )
+   standalone?  0=  if  exit  then
+
+   no-page
+
+   disable-user-aborts
+   console-start
+
+   " probe-" do-drop-in
+
+   unused-core-off
+
+   install-alarm
+
+   auto-banner?  if  banner  then
+
+   ['] false to interrupt-auto-boot?
+   probe-usb
+   report-disk
+   report-keyboard
+   report-net
+   disable-unpopulated
+
+   " probe+" do-drop-in
+
+   interpreter-init
+
+   ['] (interrupt-auto-boot?) to interrupt-auto-boot?
+
+   ?usb-keyboard
+
+   auto-boot
+
+   cursor-on
+
+   enable-user-aborts
+   quit
+;
+
+: enable-serial ;
+fload ${BP}/cpu/x86/pc/olpc/terminal.fth   \ Serial terminal emulator
+
+\ Embedded Controller interface
+
+0 value ec-ih
+
+: ec-power-off  ( -- )  " power-off" ec-ih $call-method ;
+: ec-reboot     ( -- )  " reboot"    ec-ih $call-method ;
+' ec-power-off to power-off
+
+stand-init: Embedded Controller
+   " /embedded-controller" open-dev to ec-ih
+   ['] ec-reboot to bye
+   \ Start turn off amber, turn on green LED
+   " leds-start" ec-ih $call-method
+   \ Power on the USB ports, just in case EC had them disabled
+   " usb-ports-power-on" ec-ih $call-method
+;
+
+: (go-hook)  ( -- )
+   [ ' go-hook behavior compile, ]
+   \ Start flashing green upon booot
+   " leds-boot" ec-ih $call-method
+;
+' (go-hook) to go-hook
+
+\ These allow booting Fedora XO images
+: show-sad ;
+: visible ;
+: unfreeze ;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2010 FirmWorks
+\ Copyright (c) 2020 Lubomir Rintel <lkundrak@v3.sk>
+\
+\ 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
diff --git a/cpu/arm/mmp3/ariel/build/.gitignore b/cpu/arm/mmp3/ariel/build/.gitignore
new file mode 100644
index 0000000..66f087a
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/build/.gitignore
@@ -0,0 +1,3 @@
+armforth
+build/build
+cforth
diff --git a/cpu/arm/mmp3/ariel/build/Makefile b/cpu/arm/mmp3/ariel/build/Makefile
new file mode 100644
index 0000000..000b744
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/build/Makefile
@@ -0,0 +1,70 @@
+ROMNAME=ofw
+
+BASEDIR= `(cd ../../../../..; pwd;)`
+
+OS := $(shell uname)
+HOSTCPU= $(shell ${BASEDIR}/forth/lib/hostcpu.sh)
+HOSTDIR= ../../../../${HOSTCPU}/${OS}
+BUILDSH= ${BASEDIR}/forth/lib/build.sh
+
+TAGFILES= ../../../build/*.tag *.tag
+CLIENTDIR=../../../../../clients
+CLIENTPROGS=${CLIENTDIR}/emacs/arm/emacs
+
+all: ${ROMNAME}.rom tags
+
+${ROMNAME}.tag: ${ROMNAME}.rom
+
+tags: ${ROMNAME}.tag
+	@${BASEDIR}/forth/lib/toctags ${BASEDIR} ${TAGFILES}
+
+${ROMNAME}.rom: FORCE build ${CLIENTPROGS} ${HOSTDIR}/forth ${HOSTDIR}/armforth
+	./build $@
+
+${HOSTDIR}/forth:
+	@make -C ${HOSTDIR} forth
+
+${HOSTDIR}/armforth:
+	@make -C ${HOSTDIR} armforth
+
+../../build/inflate.bin:
+	@make -C ../../build inflate.bin
+
+${CLIENTDIR}/emacs/arm/emacs:
+	@make -C ${CLIENTDIR}/emacs/arm emacs
+
+build:
+	@ln -sf ${BUILDSH} build
+
+clean:
+	rm -f *.dic *.log headers *~ *.elf *.di *.img builton.fth build *.rom tags *.tag
+
+clean-all: clean
+	@make -C ../../build clean
+	@make -C ${HOSTDIR} 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
diff --git a/cpu/arm/mmp3/ariel/cforth.bth b/cpu/arm/mmp3/ariel/cforth.bth
new file mode 100644
index 0000000..5807bab
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/cforth.bth
@@ -0,0 +1,9 @@
+purpose: Fetch and compile CForth for IPL on the MM core
+
+command: &builder &this
+build-now
+
+macro: CFORTH_VERSION d111f9ffe1732b706addb08a96d4cba7e26bb93a
+macro: CFORTH_BUILD_DIR cforth/build/arm-ariel
+
+fload ${BP}/cpu/arm/olpc/build-cforth.fth
diff --git a/cpu/arm/mmp3/ariel/config.fth b/cpu/arm/mmp3/ariel/config.fth
new file mode 100644
index 0000000..f6f8b27
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/config.fth
@@ -0,0 +1,15 @@
+create use-null-nvram
+create use-elf
+
+fload ${BP}/cpu/arm/mmp3/soc-config.fth
+fload ${BP}/cpu/arm/mmp2/hwaddrs.fth
+fload ${BP}/cpu/arm/olpc/addrs.fth
+fload ${BP}/cpu/arm/mmp3/ariel/gpiopins.fth
+
+h# 40.0000 constant /rom  \ Total size of SPI FLASH
+
+: crc-offset        /rom h# 30 -        ;  \ e.g. 3f.ffd0
+: signature-offset  crc-offset  h# 10 - ;  \ e.g. 3e.ffc0
+: signature$        " Ariel"            ;
+
+d# 4154 constant machine-type  \ MACH_QSEVEN
diff --git a/cpu/arm/mmp3/ariel/fw.bth b/cpu/arm/mmp3/ariel/fw.bth
new file mode 100644
index 0000000..a053f40
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/fw.bth
@@ -0,0 +1,13 @@
+purpose: Build OFW Forth dictionary for Dell Ariel (Wyse 3020)
+
+dictionary: ${BP}/cpu/arm/mmp3/ariel/build/prefw.dic
+command: &armforth &dictionary &this
+build-now
+
+" fw.tag" r/w create-file drop  tag-file !
+
+fload ${BP}/cpu/arm/mmp3/ariel/build-fw.fth
+
+h# d4018000 to uart-base
+
+fload ${BP}/cpu/arm/olpc/save-fw.fth
diff --git a/cpu/arm/mmp3/ariel/gpiopins.fth b/cpu/arm/mmp3/ariel/gpiopins.fth
new file mode 100644
index 0000000..d25d05f
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/gpiopins.fth
@@ -0,0 +1,9 @@
+\ GPIO pin assignments - Ariel
+
+d#  46 constant spi-flash-cs-gpio#
+d#  56 constant ec-input-gpio#
+d#  59 constant hdmi-hp-det-gpio#
+d#  62 constant dvi1-hpd-gpio#
+d#  63 constant hsic-reset-gpio#
+d# 126 constant ec-off-pulse-gpio#
+d# 127 constant ec-off-type-gpio#
diff --git a/cpu/arm/mmp3/ariel/lcdcfg.fth b/cpu/arm/mmp3/ariel/lcdcfg.fth
new file mode 100644
index 0000000..9e31fa0
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/lcdcfg.fth
@@ -0,0 +1,16 @@
+h# 20001101 value clkdiv
+h# 00000C00 value pmua-disp-clk-sel
+
+d#  136 value hsync  \ Sync width
+d# 1024 value hdisp  \ Display width
+d# 1344 value htotal \ Display + FP + Sync + BP
+d#  160 value hbp    \ Back porch
+
+d#    6 value vsync  \ Sync width
+d#  768 value vdisp  \ Display width
+d#  806 value vtotal \ Display + FP + Sync + BP
+d#   29 value vbp    \ Back porch
+
+4 value #lanes
+4 value bytes/pixel
+d# 32 value bpp
diff --git a/cpu/arm/mmp3/ariel/ofw.bth b/cpu/arm/mmp3/ariel/ofw.bth
new file mode 100644
index 0000000..f847e4e
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/ofw.bth
@@ -0,0 +1,132 @@
+purpose: Construct the Open Firmware module collection
+
+command: &builder &this
+in: ${BP}/cpu/arm/mmp3/ariel/build/fw.img
+in: ${BP}/cpu/arm/mmp3/ariel/build/resetvec.img
+in: ${BP}/dev/usb2/device/hub/build/hub.fc
+in: ${BP}/dev/usb2/device/generic/build/generic.fc
+in: ${BP}/dev/usb2/device/net/build/usbnet.fc
+in: ${BP}/dev/usb2/device/keyboard/build/usbkbd.fc
+in: ${BP}/dev/usb2/device/mouse/build/usbmouse.fc
+in: ${BP}/dev/usb2/device/serial/build/usbserial.fc
+in: ${BP}/dev/usb2/device/storage/build/usbstorage.fc
+in: ${BP}/clients/emacs/arm/emacs
+in: cforth.img
+build-now
+
+fload ${BP}/cpu/arm/mmp3/ariel/config.fth
+
+\ Always re-create the builton.fth file when we make a new rom.img
+fload ${BP}/cpu/x86/pc/builton.bth
+
+fload ${BP}/forth/lib/crc32.fth
+
+hex
+
+: pad-file  ( location -- )
+   ofd @ fsize
+   2dup u< abort" The ROM image is too large"
+   ?do  h# ff ofd @ fputc  loop
+;
+
+fload ${BP}/cpu/arm/marvell/tim.fth
+
+\ Marvell Non-Trusted Image Module image creation script for XO-4.0 platform.
+
+tim: 00030400 0 DELL PXA212x
+  flash: SPI'10
+  timh:  TIMH        0 d101f000
+  image: OBMI     2000 d1000000 cforth.img
+  reserved:
+    \ Disable USB download/init by enabling the FFUART for download
+    \ This works around a PHY init erratum for the B0 chip
+    uart: 00004646 1
+    term:
+  end-reserved
+end-tim
+
+h# 20.0000 to reserved-start
+h# 20.0000 to reserved-end
+
+.( --- Saving as ofw.rom ) cr
+writing ofw.rom
+   tim$ ofd @ fputs
+
+   dropin-offset  pad-file
+
+\ Loads the set of drivers that is common to different output formats
+
+   " ${BP}/cpu/arm/build/inflate.bin"        " inflate"         $add-dropin
+   " fw.img"   " firmware"  $add-deflated-dropin
+\   " fw.img"   " firmware"  $add-dropin
+   " resetvec.img"  " reset" $add-dropin
+
+   " ${BP}/cpu/arm/mmp3/gic.fth" " mmp3-gic-" $add-dropin
+   " ${BP}/cpu/arm/olpc/4.0/compat.fth" " olpc-compat-" $add-dropin
+\   " ${BP}/dev/usb2/hcd/ehci/build/ehci.fc"	" class0c0320"      $add-deflated-dropin
+   " ${BP}/dev/usb2/device/hub/build/hub.fc"     " usb,class9"      $add-deflated-dropin
+   " ${BP}/dev/usb2/device/generic/build/generic.fc"  " usbdevice"  $add-deflated-dropin
+   " ${BP}/dev/usb2/device/net/build/usbnet.fc"       " usbnet"     $add-deflated-dropin
+   " ${BP}/dev/usb2/device/keyboard/build/usbkbd.fc" " usb,class3,1,1" $add-deflated-dropin
+   " ${BP}/dev/usb2/device/mouse/build/usbmouse.fc"  " usb,class3,1,2" $add-deflated-dropin
+   " ${BP}/dev/usb2/device/serial/build/usbserial.fc" " usbserial"  $add-deflated-dropin
+   " ${BP}/dev/usb2/device/storage/build/usbstorage.fc" " usbstorage"   $add-deflated-dropin
+
+   " builton.fth"                       " probe-"          $add-dropin
+
+   " ${BP}/ofw/inet/telnetd.fth"          " telnetd"             $add-deflated-dropin
+
+   " ${BP}/ofw/termemu/gallant.obf"             " font"          $add-deflated-dropin
+
+   " ${BP}/clients/emacs/x86/emacs.rc"          " emacs.rc"      $add-deflated-dropin
+   " ${BP}/clients/emacs/emacs.hlp"             " emacs.hlp"     $add-deflated-dropin
+   " ${BP}/clients/emacs/arm/emacs"             " emacs"         $add-deflated-dropin
+
+.( Dropin top is )  ofd @ fsize  .x cr
+
+/rom pad-file
+
+\ Insert the machine signature
+h# 10 buffer: signature
+signature h# 10 blank
+signature$  signature  swap move
+signature-offset ofd @ fseek
+signature h# 10  ofd @ fputs
+
+/l buffer: crcbuf
+/rom buffer: filebuf
+
+\ Read the entire image, compute the CRC, and store it in the CRC location
+0 ofd @ fseek
+filebuf /rom ofd @ fgets /rom <> abort" Can't read back image"
+0 crctab  filebuf /rom  ($crc)  crcbuf !
+
+crc-offset ofd @ fseek
+crcbuf /l ofd @ fputs
+
+ofd @ fclose
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2010 FirmWorks
+\ Copyright (c) 2020 Lubomir Rintel <lkundrak@v3.sk>
+\
+\ 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
diff --git a/cpu/arm/mmp3/ariel/prefw.bth b/cpu/arm/mmp3/ariel/prefw.bth
new file mode 100644
index 0000000..84140f7
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/prefw.bth
@@ -0,0 +1,13 @@
+purpose: Build OFW Forth dictionary for Dell Ariel (Wyse 3020)
+\ See license at end of file
+
+dictionary: ${BP}/cpu/arm/build/basefw.dic
+command: &armforth &dictionary &this
+build-now
+
+\ This line must be in this file instead of in prefw.fth so the definitions
+\ in config.fth will be tagged.
+" prefw.tag" r/w create-file drop  tag-file !
+
+fload ${BP}/cpu/arm/mmp3/ariel/config.fth
+fload ${BP}/cpu/arm/olpc/prefw.fth
diff --git a/cpu/arm/mmp3/ariel/resetvec.bth b/cpu/arm/mmp3/ariel/resetvec.bth
new file mode 100644
index 0000000..a93ce4e
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/resetvec.bth
@@ -0,0 +1,7 @@
+purpose: Build script for low-level startup code
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/mmp3/ariel/config.fth
+fload ${BP}/cpu/arm/olpc/resetvec.fth
diff --git a/cpu/arm/mmp3/ariel/spiui.fth b/cpu/arm/mmp3/ariel/spiui.fth
new file mode 100644
index 0000000..5460bdf
--- /dev/null
+++ b/cpu/arm/mmp3/ariel/spiui.fth
@@ -0,0 +1,173 @@
+purpose: User interface for reflashing SPI FLASH parts
+\ See license at end of file
+
+\ This code is concerned with the user interface for getting
+\ a new firmware image into memory and using it to program
+\ a FLASH device from that image.  The details of how to actually
+\ access the FLASH device are defined elsewhere.
+
+h# 4000 constant /chunk   \ Convenient sized piece for progress reports
+
+defer spi-progress  ' 2drop to spi-progress  ( offset size -- )
+
+: write-flash-range  ( adr end-offset start-offset -- )
+   ." Writing" cr
+   ?do                ( adr )
+      \ Save time - don't write if the data is the same
+      i .x (cr                              ( adr )
+      spi-us d# 20 >=  if                   ( adr )
+         \ Just write if reading is slow
+         true                               ( adr must-write? )
+      else                                  ( adr )
+         dup  /flash-block  i  flash-verify ( adr must-write? )
+      then                                  ( adr must-write? )
+
+      if
+         i flash-erase-block
+         dup  /flash-block  i  flash-write  ( adr )
+      then
+      i /flash  spi-progress                ( adr )
+      /flash-block +                        ( adr' )
+   /flash-block +loop                       ( adr )
+   cr  drop           ( )
+;
+
+: verify-flash-range  ( adr end-offset start-offset -- )
+   ." Verifying" cr
+   ?do                ( adr )
+      i .x (cr
+      dup   /flash-block  i  flash-verify   abort" Verify failed"
+      /flash-block +  ( adr' )
+   /flash-block +loop ( adr )
+   cr  drop           ( )
+;
+
+
+\ Perform a series of sanity checks on the new firmware image.
+
+0 value file-loaded?
+
+: crc  ( adr len -- crc )  0 crctab  2swap ($crc)  ;
+
+: ?crc  ( -- )
+   ." Checking integrity ..." cr
+
+   flash-buf crc-offset +            ( crc-adr )
+   dup l@  >r                        ( crc-adr r: crc )
+   -1 over l!                        ( crc-adr r: crc )
+
+   flash-buf /flash crc              ( crc-adr calc-crc r: crc )
+   r@ rot l!                         ( calc-crc r: crc )
+   r> <>  abort" Firmware image has bad internal CRC"
+;
+
+: ?image-valid   ( len -- )
+   /flash <> abort" Image file is the wrong length"
+
+   flash-buf signature-offset +
+   signature$ comp  abort" Wrong machine signature"
+
+   ?crc
+;
+
+: $get-file  ( "filename" -- )
+   $read-open
+   flash-buf  h# 40.0000  ifd @ fgets   ( len )
+   ifd @ fclose
+
+   ?image-valid
+
+   true to file-loaded?
+;
+
+: ?file  ( -- )
+   file-loaded?  0=  if
+      ." You must first load a valid FLASH image file with" cr
+      ."    get-file filename" cr
+      abort
+   then
+;
+
+: read-flash  ( "filename" -- )
+   writing
+   /flash  0  do
+      i .x (cr
+      flash-buf  i +  /chunk i  flash-read
+   /chunk +loop
+   flash-buf  /flash  ofd @ fputs
+   ofd @ fclose
+;
+
+: verify  ( -- )  ?file  flash-buf  /flash  0  verify-flash-range  ;
+
+: write-firmware   ( -- )
+   flash-buf  /flash     0  write-flash-range      \ Write first part
+;
+: verify-firmware  ( -- )
+   flash-buf  /flash  0  verify-flash-range     \ Verify first part
+;
+
+: .verify-msg  ( -- )
+   ." Type verify if you want to verify the data just written."  cr
+   ." Verification will take about 17 minutes if the host is running Linux" cr
+   ." or about 5 minutes if the host is running OFW." cr
+;
+
+: reflash   ( -- )   \ Flash from data already in memory
+   ?file
+   flash-write-enable
+
+   write-firmware
+
+   spi-us d# 20 <  if
+      ['] verify-firmware catch  if
+         ." Verify failed.  Retrying once"  cr
+         spi-identify
+         write-firmware
+         verify-firmware
+      then
+      /flash dup  spi-progress
+      flash-write-disable
+   else
+      .verify-msg
+   then
+;
+
+defer fw-filename$  ' null$ to fw-filename$
+
+: get-file  ( ["filename"] -- )
+   parse-word   ( adr len )
+   dup 0=  if  2drop fw-filename$  then  ( adr len )
+   ." Reading " 2dup type cr                     ( adr len )
+   $get-file
+;
+
+: flash  ( ["filename"] -- )  get-file reflash  ;
+
+: safe-flash-read  ( -- )
+   flash-buf  /flash  0 flash-read
+;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2006 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
