[LinuxBIOS] About CS5536 UART2 and USB boot !
Marc.Jones at AMD.com
Thu Jun 14 18:40:46 CEST 2007
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
More information about the coreboot