Difference between revisions of "Board:advantech/pcm-5820"

From coreboot
Jump to: navigation, search
(No difference)

Revision as of 15:01, 16 November 2008

The Advantech PCM-5820 features a Cyrix GX1 processor, 2 IDE controllers (one is a CompactFlash reader), a USB port and a PC/104 extension bus.

Complete specs/docs can be found on Advantech website.

Status

Device/functionality Status Comments
CPU
CPU works OK
L1 cache enabled OK
L2 cache enabled
L3 cache enabled N/A
Multiple CPU support N/A
Multi-core support N/A
Hardware virtualization N/A
RAM
EDO N/A
SDRAM N/A
SO-DIMM OK My 256MB 100MHz memory module is working fine.
DDR N/A
DDR2 N/A
DDR3 N/A
Dual channel support N/A
ECC support N/A
On-board Hardware
On-board IDE 3.5" Untested
On-board IDE 2.5" N/A
On-board SATA N/A
On-board SCSI Unknown
On-board USB OK Tested with an Hauppauge WinTv-USB device.
On-board VGA OK VGA support in coreboot works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.
On-board ethernet OK
On-board audio Untested
On-board modem N/A
On-board FireWire N/A
On-board smartcard reader N/A
On-board CompactFlash OK DMA is not working. This sounds to be hardware related, as this behave the same with the original BIOS and several brands of CF cards. You need to boot the Linux kernel with ide=nodma to workaround this.
On-board PCMCIA N/A
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards N/A
Mini-PCI add-on cards Unknown
PCI-X add-on cards Unknown
AGP graphics cards N/A
PCI Express x1 add-on cards N/A
PCI Express x2 add-on cards N/A
PCI Express x4 add-on cards N/A
PCI Express x8 add-on cards N/A
PCI Express x16 add-on cards N/A
PCI Express x32 add-on cards N/A
HTX add-on cards N/A
Legacy / Super I/O
Floppy Untested
Serial port 1 (COM1) OK
Serial port 2 (COM2) Untested
Parallel port Untested
PS/2 keyboard OK
PS/2 mouse Untested
Game port N/A
Infrared Untested I don't own the module that should be plugged on COM2.
PC speaker OK
DiskOnChip N/A
Miscellaneous
Sensors / fan control Untested This CPU does not need a fan.
Hardware watchdog N/A
SMBus Unknown
CAN bus OK Tested with an AIM104-CAN card.
CPU frequency scaling Untested
Other powersaving features Untested
ACPI Untested
Reboot OK
Poweroff Untested
Suspend Unknown
Nonstandard LEDs N/A
High precision event timers (HPET) N/A
Random number generator (RNG) N/A
Wake on modem ring Untested
Wake on LAN Untested
Wake on keyboard Untested
Wake on mouse Untested
Flashrom OK Works fine, both with coreboot and with the proprietary BIOS. Note that a ST39VF020-70-4C-NHE chip worked on it even though it's not recommended.

Hardware

The PCM-5820 board
The AIM-PC104 module used to validate the CAN bus

Detailed System Information

lspci -tvnn

-[0000:00]-+-00.0  Cyrix Corporation PCI Master [1078:0001]
           +-0b.0  Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]
           +-12.0  Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]
           +-12.1  Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]
           +-12.2  Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]
           +-12.3  Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]
           +-12.4  Cyrix Corporation 5530 Video [Kahlua] [1078:0104]
           \-13.0  Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]

/proc/cpuinfo

processor	: 0
vendor_id	: Geode by NSC
cpu family	: 5
model		: 9
model name	: Geode(TM) Integrated Processor by National Semi
stepping	: 2
cpu MHz	: 299.247
cache size	: 16 KB
fdiv_bug	: no
hlt_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu tsc msr cx8 cmov mmx cxmmx
bogomips	: 600.56
clflush size	: 32

/proc/iomem

00001000-0009ffff : System RAM
000a0000-000bffff : Video RAM area
000f0000-000fffff : System ROM
00100000-0fdfffff : System RAM
  00100000-002baff4 : Kernel code
  002baff5-0033b88b : Kernel data
10000000-100000ff : 0000:00:12.1
40000000-40000fff : scratch_pad_ram
  40000000-40000fff : Geode GX1 Framebuffer
40008000-400080ff : bus_interface
  40008000-400080ff : Geode GX1 Bus Interface
40008100-400082ff : video_pipeline
  40008100-400082ff : Geode GX1 Framebuffer
40008300-400083ff : display_control
  40008300-400083ff : Geode GX1 Framebuffer
40008400-400084ff : memory_control
  40008400-400084ff : Geode GX1 Memory Control
40008500-40008fff : power_control.0
40400000-407fffff : smm_area.0
40800000-487fffff : video_memory
  40800000-487fffff : Geode GX1 Framebuffer
febfc000-febfcfff : 0000:00:12.4
  febfc000-febfcfff : Geode GX1 Framebuffer
febfd000-febfdfff : 0000:00:13.0
  febfd000-febfdfff : ohci_hcd
febfe000-febfe0ff : 0000:00:0b.0
  febfe000-febfe0ff : 8139too
febff000-febff07f : 0000:00:12.3
fffc0000-ffffffff : flash_memory.0

/proc/interrupts

           CPU0       
  0:     183986    XT-PIC-XT        timer
  1:          2    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  4:         91    XT-PIC-XT        serial
  8:          1    XT-PIC-XT        rtc
 10:        584    XT-PIC-XT        eth0
 11:          0    XT-PIC-XT        ohci_hcd:usb1
 12:          3    XT-PIC-XT        i8042
 15:       3541    XT-PIC-XT        ide1
NMI:          0 
ERR:          0

Building a coreboot image

$ cd targets
$ ./buildtarget advantech/pcm-5820
$ cd advantech/pcm-5820/pcm-5820
$ LANG=C make

The LANG=C is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...

Required patches

--- linux-2.6.22.orig/arch/i386/kernel/cpu/cyrix.c
+++ linux-2.6.22/arch/i386/kernel/cpu/cyrix.c
@@ -178,6 +178,21 @@ static void __cpuinit set_cx86_inc(void)
 	setCx86(CX86_CCR3, ccr3);	/* disable MAPEN */
 }
 
+#ifdef CONFIG_DISABLE_INTERNAL_REGISTERS
+static void __cpuinit disable_internal_chipset(void)
+{
+	printk(KERN_INFO "Disable integrated function access.\n");
+	/*
+	 * this disables the integrated function memory area
+	 *  - disables the scratch pad - full cache is available
+	 *  - disables access to any internal chipset registers
+	 */
+	setCx86(CX86_GCR,0x00);
+}
+#else
+# define disable_internal_chipset()
+#endif
+
 /*
  *	Configure later MediaGX and/or Geode processor.
  */
@@ -197,6 +212,7 @@ static void __cpuinit geode_configure(vo
 
 	/* FPU fast, DTE cache, Mem bypass */
 	setCx86(CX86_CCR4, getCx86(CX86_CCR4) | 0x38);
+	disable_internal_chipset();
 	setCx86(CX86_CCR3, ccr3);			/* disable MAPEN */
 
 	set_cx86_memwb();
Creative Commons License
Creative Commons Attribution icon
This file is licensed under Creative Commons Attribution 2.5 License.
In short: you are free to distribute and modify the file as long as you attribute its author(s) or licensor(s).