Hi all : My target is Geode LX800 + CS5536., Linuxbios rev2550 base on mainboard dbe61. It can boot linux(2.6.20) with IDE and work well.But now there are two questions trouble me some days. 1. MY target use CS5536's UART1 as COM1,It can work normally.When I try to use the CS5536's UART2 as a general serial COM2 but not the DDC(display data channel), It seem badly. I has set the registers about UART2 refer to CS5536 datashee in linuxbios( *1*. set bit 20:22 of msr 0x51400014 to 6 ; *2*. set msr 0x5140003e bit 1 and bit 4 as 1. * 3*. set GPIO3(RX) Input Enable and Input AUX1 select = 1 , set GPIO4(TX) output enable and output AUX1 select = 1.). After booting the OS, I read back the register above through my driver found that all preset value is zero,UART2 can't work. I try to set that registers again in my driver,this time it read back value is right, but UART2 still can't work. /dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test auto_irq why? maybe kernel use UART2's GPIO pin to act as DDC use,so it change my preset when linux is booting? or my configuration about UART2 is not correct ?
2. I has try to use ethboot5.2.6 to boot my system from USB Disk,when with the IDE on mainboard, It can boot well. but if without IDE,It will hang up at " checking if this processor honours the WP bit even in supervisor mode...ok " after starting the kernel. it seem strange.when I debug it in kernel, I found it cycle in calibrate.c---> function static unsigned long __devinit calibrate_delay_direct(void) all along. because the jiffies is not increase,so it cycle there. Here my question is: *1*.what diffrent about without IDE or not(PCI scanning will change some setup about linuxbios normal when without IDE? ),.why jiffies can't increase when withou IDE? it seems PIT 8254 interrupt problem lead it, what should I do to modify some setup in linuxbios to avoid this problem?
Help me please :) thanks!!!
Gard xu wrote:
Hi all : My target is Geode LX800 + CS5536., Linuxbios rev2550 base on mainboard dbe61. It can boot linux(2.6.20) with IDE and work well.But now there are two questions trouble me some days. 1. MY target use CS5536's UART1 as COM1,It can work normally.When I try to use the CS5536's UART2 as a general serial COM2 but not the DDC(display data channel), It seem badly. I has set the registers about UART2 refer to CS5536 datashee in linuxbios( *1*. set bit 20:22 of msr 0x51400014 to 6 ; *2*. set msr 0x5140003e bit 1 and bit 4 as 1. * 3*. set GPIO3(RX) Input Enable and Input AUX1 select = 1 , set GPIO4(TX) output enable and output AUX1 select = 1.). After booting the OS, I read back the register above through my driver found that all preset value is zero,UART2 can't work. I try to set that registers again in my driver,this time it read back value is right, but UART2 still can't work. /dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test auto_irq why? maybe kernel use UART2's GPIO pin to act as DDC use,so it change my preset when linux is booting? or my configuration about UART2 is not correct ?
When setting up the GPIOs make sure that you have the correct GPIO base. It changes between early init and after PCI resources have been allocated. You can check the base in MSR 0x5140000c or in the SB PCI config space BAR1. This might be why your first settings did not take.
It sounds like you are setting the correct registers. There is an example of how to setup the UARTs in the current version of southbridge/amd/cs5536/cs5536.c uarts_init() that should be helpful.
I am still working with the Artec group on bringing the dbe61 up to the current tree. We are working on the memory init without an SPD right now. I hope that we have it working soon. If your platform is not a dbe61 and has a DIMM with SPD then I recommend you try the mainboard/amd/norwich platform or the db800 mainboard.
I don't know much about etherboot so let others try to address that question. Marc