From eLinux.org
Revision as of 06:16, 5 June 2007 by Prpplague (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


please note this page is in updating, it has been merging from the old version of wiky, so keep patient, i will rewrite this documentation in pretty as soon as possible Do not move this page, let me rewrite the doc. in case you need a pdf copy of the old doc, or if you need attachments feel free to ask me for them ( speeder@alice.it )

--Flameman 00:15, 1 June 2007 (EEST)

People you could contact if you need help

  • people on irc freenode #edev #mklinux may be asked about
  • ddc/flameman, i'm currently use this board for an university project running gentoo-ppc, email speeder@alice.it
  • you ... if you want ;-)


DHT-Walnut is a shortened name for the Digital Home Technologies PCB 01070201 Rev. 1.1. The DHT-Walnut board is based on the AMCC-Walnut (still available, and still expensive :P). It is a more improved board described at www.amcc.com. A "walnut" searching will inform about schematic and software. Also keep attention @ DENX: they have developed a lot for the AMCC-Walnut board, and you could find a linux patch for your problem, prettier documentation, developer suit, and much more: in case, you are suggested to have a look to their web pages.

Well, the board consists of:

  • CPU PowerPC 405GP running at 266mhz
  • RAM PC133 SDRAM slot, currently, only supports single sidded DIMMs
  • LAN On-chip 405GP ethernet, board doesn't have an ethernet MAC address (the monitor/bootloader is able to fix it)
  • UART DCE serial port, speeds up to 230k, only tested to 115200bps
  • PCI two pci slots, keyed for 5V only cards
  • IDE Promise Technologies PDC20265 IDE
  • ROM 512k of boot flash, AMD 29LV040B (amd29lv040b.pdf), soldered on the PCB, if you like to use a socket you have to consider the bootloader will check for the flash manufactor ID, so or you replace the 29LV040B with an other socked-29LV040B, or you have to modify the bootloader
  • POWER the board need to be 12v dc powered 2A max, it is able to feed the hard disk
  • System PCB 6.00" x 7.5" board size
  • RTC the real time clock chip is missing
  • RAM 32M PC133 SDRAM DIMM, the board has issues with more than 128M: if you inspect the pcb, you will see that the DIMM connector has same pin missing, this is the reason why you can't use DIMM bigger than 128M
  • PCI IEEE-1394 card supported by OHCI driver
  • PCI additional ethernet board needed cause the on board ethernet is implemented by the IBM-ppc-405GP, for example netbsd is not able to drive it, so in case you need an additional board, the one provided with DHT is good enough
  • FIRMWARE PPCBoot v.1.1.2 in flash (it has issues with environment, it need to be replaced with a gooder one)

an image of the board

an image of the board:


JTAG & OCD Commander

The OCD Commander is macraigor's free debugger software, which allows you to connect to your supported target type chip via the On-Chip Debug port (BDM or JTAG) using a Macraigor hardware device. You will be able to test the connection, memory access, modify memory and registers, run code and more using this product. This debugger is not designed to be used to program flash devices connected to your target. The OCD Commander software is supported under Windows 98/ME, NT, 2000, 2003, XP operating systems

supported devices

  • mpDemon
  • Raven
  • Wiggle
  • usb2demon
  • usb2sprite
  • usbwiggler

See How To build the JTAG Wiggle interface & add the JTAG connector at J10 Just in case you make a brick, you could fix the jam, using this procedure: JTAG Bootloader Installation

OCD Commander Experimental hack

Experimental hack to set a hardware breakpoint inside OCD Commander [media:hardbreak.tgz]

  • OCD Commander macro file to dump the CPU configuration (all but PCI) [media:dump_config.mac]
  • OCD Commander macro file to configure the system for recovery attachment:recovery_config.mac]
  • CPU configuration of the system after a warm reset [media:warm_reset.config]
  • CPU configuration of the system once ppcboot v1.1.2 is up and running [media:ppcboot.config]
  • CPU configuration of the system once ppcboot v1.1.6 is up and running [media:ppcboot_116.config]
  • Example OCD logfile of the using the recovery macro to load ppcboot [media:ocd_recovery_log.txt]
  • Example console log from ppcboot v.1.1.6 running from ram after recovery macro [media:ocd_recovery_console_log.txt]


  • ppcboot
  • Here is the latest ppcboot 1.1.6 patch, as is, it will build for flashing at 0xfff80000 as a replacement for the pcboot-1.1.2 that comes with the board.
  • attachment:patch-ppcboot-1.1.6-km2 Original sources for ppcboot: ftp://ftp.denx.de/pub/ppcboot/ppcboot-1.1.6.tar.bz2
  • Here is a binary for those without a toolchain. attachment:ppcboot1.1.6.1.bin crc = 083fb0a3
  • S-Record attachment:ken_ppcboot.srec
  • use this (at your own risk) see the detailed update procedure description: Installing the Updated Bootloader
  • U-Boot
  • It is a significantly updated replacement for ppcboot.
  • U-Boot for the DHT-Walnut
  • DENX U-Boot and Linux Guide for Walnut

Linux Kernels

  • Version 2.4 (Mostly) working kernel binary and config from jbevren with matrox fbcon and usb input support. Current issues: USB keyboard input doesnt seem to work, but events reach /dev/input/event0
  • Version 2.6 working


  • gentoo ppc32
  • Netbsd has a port for "IBM PowerPC 405GP based Walnut evaluation board", this is not the DHT-Walnut, this is an other way to call the AMCC-Walnut (yes just to be confusing). Ok, it is not for DHT-Walnut, but this port could be (easealy / hardly) adapted to the DHT-Walnut with some work / over work

Hardware that is known to work with Linux

There is a list of the Hardware that is known to work (and not to work) with this board.

feel free to add, comment, feedback about it.

Linux has a problem in the source's tree: the dht-Walnut has been originally ported to arch=ppc, while the new kernel tree is around arch=powerpcc, for this reason you need to specify the right arch or your compiler will have issues. Developers will port everything to arch=powerppc in the future. Kernel 2.6.12 is free of this problem, newer than .12 have it.