Linux on Palm Tungsten E

Taking apart your Tungsten E device

As explained by Michael Opdenacker in his guide, the very first thing that must be done when you want to port Linux to a new device is to take it apart, in order to see which chips it contains (it will void the warranty, though). I couldn't find any pictures of the Tungsten E device, so I had to take mine apart. If you ever want to do it on your own, you'll need a very little torx screwdriver, which is quite hard to find. Once you've removed the four little screws on the back, taking the rest apart is quite easy : you have to start by removing the black top (the one with the power button and the IR port), and you may then quite easily remove the back panel (you have to draw it aside gently to be able to remove it). Once you've done this, you get to ...

The Tungsten E mainboard

Here is a picture I took of it, plus a detail of what's written on the interesting chips (those are so small I couldn't get my camera to take a readable picture of them).
For a huge, technical picture of a Tungsten E mainboard click here: Front, Back (beware, these are big).

Chips found in the Tungsten E

As you can see, there are only three important chips on the Tungsten E mainboard. We have a RAM chip, a ROM chip, and a multi-purpose processor. Those chips are :


I couldn't find any information about what I guess is the ROM chip. Macronix are known for making ROMs, and since I identified the two other chips, this last one has to be a ROM. The Tungsten E reports a 8MB ROM size, here is all I know. However, since the chip embedded by the Tungsten E is not flashable, there is verry little interest in getting it to work under Linux.


If you remove the sticker, the chip can be very easily recognized. As shown on the picture, the RAM chip is a HYB39L256160AT-7.5. It's a 256Mbit (32MB) 3.3V Mobile-RAM chip. It is fully documented, and you can download its datasheet here.

The multi-purpose CPU

What we'll call the CPU is an OMAP processor, made by Texas Instruments, which has an ARM core. Palm's website reports an OMAP311, whereas on some mainboards you can read OMAP310. I guess there must not be many differences between the 310 and the 311.
This chip is pretty special since it isn't a standard ARM : it's rather an all-in-one processor. It embedds an ARM925T core, but it also features a LCD controller, an USB controller, etc... David Brownell told me that one needs a non-disclosure agreement to get the specifications of this chip from Ti, but this OMAP should be pretty close to the OMAP 5910, whose specifications can be obtained for free.
Something noticeable about this chip is that it features an MMU. Basically, the MMU is a component whose role is to translate addresses. The MMU manages the virtual memory addresses, and translates them into physical memory the hardware uses. To make it simple, the fact that we have a MMU means we can use a vanilla kernel, instead of the somehow reduced uClinux.
In addition to the CPU, the board features a Ti TSC 2102 chip which is typically used with many OMAP processors and it is interconnected using the MicroWire line. This chip is responsible for the all analog inputs and outputs found in the PDA. Its tasks include controlling touchscreen input, sound output and monitoring some important voltages in the device. Datasheet availiable here.

The display

When you remove the mainboard, you will see a second, smaller board connected directly to the LCD. This is the display module. It has three cables, connecting it with: the mainboard, the display and the touchscreen. The touchscreen is glued to the front of the LCD, but between them sits the image that you see in the background of the Grafitti Area looking at the front of your PDA. These parts can be separated and the image can be replaced but one has to take care not to break the touchscreen layers. The bottom layer is glued to the display only on the sides and not on the whole surface. The layers are plastic and not glass, so they are slightly elastic and don't break that easily.
The LCD is one part with the backlight, but the backlight doesn't have any cables connecting it with the display module. Instead its bottom is a metal plate which (when the case is closed) touches two pads on the back side of the mainboard receiving current through them.


It is believed there were two or more releases of Tungsten|E, one in 2002 and one in 2003. The devices may differ with the LCD models packed in them and with the label on the CPU (POMAP 311 or POMAP 310). This will add to the complexity of the display driver for Linux as they behave a bit differently.
There are also at least two versions of the software that comes with the PDA in its ROM: the "EFIGS" version, with multilingual software ("EFIGS" stands for English-French-Italian-German-Spanish), and the "enUS" version which contains only resources in English in the ROM (but has more conduits).