# CHOST: i586 vs. i486 on AMD Geode LX

On my blog post about Installing Gentoo on ALIX.3D3 Mart Raudsepp made an interesting comment: He pointed out, that on AMD Geode CPUs it might be better to use i486 CHOST instead of my used i586, because the CPU is more like a i486 as far as instruction scheduling and times go.

This sounded interesting, so I googled for some benchmark test to measure differences. I found nbench, which measures performance by executing some typical algorithms and compares them to a Pentium 90 based system. So I installed it and run on the i586 CHOST system, then rebuild it completely to i486 CHOST and run it again. Continue reading

# GPIO on ALIX.3D3

The AMD CS5536 Geode companion on the ALIX.3D3 board has several general purpose input/output pins. Most of them have different functions as well, and there are some registers to set if they should be used as special function GPIO pins. The ALIX.3D3 uses 4 GPIO pins for 3 LEDs and 1 mode switch. Accessing the leds is very easy using the leds-alix2 driver, but they can be addressed as GPIO as well. There is already a driver for the GPIO pins in the kernel named cs5535_gpio.c, but it uses a non standard interface to communicate with kernel. So, I wrote a new kernel driver using the GPIO interface. Continue reading

# Using Geode's AES engine on ALIX.3D3

The AMD Geode LX800 CPU has an on-chip AES 128-bit crypto accelerations block and a true random number generator. Using this block for encryption and decryption is a lot faster than software implemented algorithms and it unloads the CPU. There are two main purposes where en/decryption is needed:

• Storing files
• Communication over network (IPSEC, OpenVPN, WPA2, ...)

I'll focus on the first point in this article using LUKS (Linux Unified Key Setup).

# Installing heat sink on ALIX.3D3

A few days ago, while I was compiling some stuff on my ALIX.3D3, I discovered a very high CPU temperature by chance:

M/B Temp:    +59 C  (low  =    +0 C, high =   +70 C)
CPU Temp:  +71.1 C  (low  =  +0.0 C, high = +70.0 C)   ALARM

Alix.3D3 with heat sink

I downloaded the datasheet of the AMD Geode LX800 CPU to check which temperatures are OK. On page 598 I found that my model (ALXD800EEXJ2VD) is fine for temperatures from 0 °C to 85 °C. Anyway I looked in my spare part box if I could find a suitable heat sink and fortunately I found a 40mm x 40mm x 9mm one. So I ordered some thermal adhesive and installed it.

# LEDs on ALIX.3D3

LEDs on ALIX.3D3

As most of the ALIX boards, the ALIX.3D3 has 3 general purpose LEDs. There is kernel support for them, but there are problems when the board has a Award BUIS as the ALIX.3D3. After reading the datasheet of the AMD CS5536 Geode companion about initialisation and use of the general purpose pins I got it finally running! Continue reading