Now ls3c2h platform support added, SPI flash/AHCI sata/Gmac/LPC/DC
are all OK, however there are still some work to do:
1.The command "ifaddr eth0" can't work, but "ifaddr syn0" works;
2.It hasn't been test with Dimms on con5 and con7;
3.CPU Frequency aren't calculated by RTC, it's fixed by program.
4.It cost ls3c a long time to wait Vide Ram intilized by ls2h, the
time should be shrunken largely.
Target: Bonito3c2h
On 3a2h board if ls2h bios ddr initialize do not success
it can cause display huaping when start pmon,Now add a
judgment for ls2h ddr initialize whether correct.
Target:Bonito3a2h
when start pmon on 3a2h/2gq2h it can not press the "Delete" key
enter to setup BIOS interface or can enter to setup BIOS interface
but not quit,Now fixed it you can press the "Delete" key enter to
setup BIOS interface and can quit success.
Target:Bonito3a2h Bonito2gq2h
Original code assume LS2H RTC always work, however some chip has
bugs that lead RTC fail to calculate CPU frequency, and halt in
the calculation. Now this bug is fixed.
Target:Bonito3a2h
Use the "date" command to set time on ls3a2h the bug as
http://www.loongson.org/dev/bugzilla/show_bug.cgi?id=453
will occur,Now enable the RTC on ls3a2h to ensure "date"
command can set and display the time right.
Target:Bonito3a2h
Before the time of scan "Del" button is too short,
resulted into set the bios of the interface.Now
extended the time of the scan "Del" button.But in
order to improve the bios of the start-up time,this
option is off by default.
Target:Bonito3a780e Bonito3aserver Bonito3b780e Bonito3bserver
Bonito3c780e Bonito2gq780e Bonito3a2h
Original code set KBC clock rate to be 12MHZ, which cause keyboard
miss to catch a few input char sometimes. Now the KBC rate is rose
to be 16MHZ, and no input loss occures.
Target:Bonito3a2h
Original ls3a+2h system only support dma within 256M system memory,
Now with the help of soft iotlb, both bios and kernel are changed
to support DMA operation on 1G/2G/4G system. Test pass with kernel
option NUMA and SMP.
By the way, remove unused intialize for vga_available to make bios
boot more smoothly.
Target:Bonito3a2h
Now use ls2h TOY timer to calculate how much counter ls3a cpu has
walked in one second, test pass both with ls3a at 375M and 750M.
By the way, volatile access to ls2h watchdog register is added.
Original code wasn't strong enough with unvolatile access.
Target:Bontio3a2h
Original code nedd sb700 watch dog to reboot and poweroff, now the
is replaced by code for ls2h power managerment and watch dog.Both
command pass test on ls3a+2h system.
Target:Bonito3a2h
Now ohci usb mode support is added, both usb keyboard and usb disk
are ok. However, only DELL usb keyboard pass test. It's said this
is maybe becuase the usb signal is not very good.Thanks ZangJiading.
NOTICE:if BIOS option "INTERFACE_3A780E" is removed, usb keyboard
will fail to use, becuase some usb keyboard poll code won't be executed
if micro "INTERFACE_3A780E" isn't defined. By the way, the option
"INTERFACE_3A780E" has no relation with RS780E, it's used to mean
BIOS MENU and windows interface is enable.
Target:Bonito3a2h
Original code use 0xb8000000 as pci io base address, now use lpc io
base address as system io space. Besides, map 0xc0000000 to 0x40000000
to access video buffer on ls2h memory. Both pass test, but lpc kbd
work a little slow, it still need to be fixed.
NOTICE: if usb keyboard is used, the system pci io base need to be
changed as super io register base of south bridge.
Target:Bonito3a2h
1, This version currently supports the processor core, UART, I2C bus, DDR2 controller,
GMAC controller, NAND controller, interrupt controller, the LPC controller, SPI controller,
HDA controller, the RTC, Watchdog, the HT interface.
2, This version does not support media processors, GPU, Display Controller, SATA controller,
USB 2.0 controller, ACPI power management, PCIE interface.
3, If you want to fall back to the previous version, please use the following command:
"git clone http://10.2.5.28/gitweb/pmon-loongson3a+2h", then git reset to the place you want to reach.
Original code made a misstake which use "==" instead of "=" during
checking interrupt line register value, however it doesn't affect
system interrupt number routing. Now all the code is changed.
Target:Bonito3a780e,Bonito3b780e,Bonito3aserver,Bonito3bserver,Bonito3c780e
Original base address of frmabe buffer test is 0xb0000000, now change it to
be BONITO_PCILO_BASE_VA to match new pci mem space.
Target:Bonito3a780e,Bonito3b780e,Bonito3aserver,Bonito3bserver,Bonito3c780e
Before this patch, user has to test a lot of options to disable/enable
gpu driver, even some branch fail to pass compilation. Now all options
related with gpu driver selection is placed together. User can disable
or enable them together. It has passed compilation in all branches both
with gpu driver and without gpu driver support. It has pased test on in
ls3a780e branch in both mode with and without gpu driver.
Target:Bonito3a780e, Bonito3b780e, Bonito3c780e,Bonito3aserver,Bonito3bserver
Original code can't set interrupt line register for pci device with
multi-function, it will lead interrupt missing in kernle. This patch
assigins a interrrupt number for every possible pci multi-function
devices like the first pci device with function number 0#. It passed
test with a multi-function vga card with addtional usb function.
Besides, add interrupt routing for pci/pcie device with bus nuber 3#.
Target:Bonito3a780e,Bonito3b780e,Bonito3c780e,Bonito3aserver
Before: Boot into PMON interface, enter "main" command, exit this window, then enter <ctrl-c> command,
the correct result should display a "break", but PMON enter the window interface again, the date of the
main windows is not correct, repeatedly execut, the prompt of PMON can not display. It causes the
problem as Bug 92 and 93 described as http://10.2.5.24/bugzilla/show_bug.cgi?id=92 and
http://10.2.5.24/bugzilla/show_bug.cgi?id=93 showes.
Now: In the "cmd_main" function, add a mutex lock, enter <ctrl-c> command later, jump to "main()"
function, and modify bootmenu, the above problems can be solved.
Test: Boot into PMON interface, enter "main" command, exit this window, then enter "ctrl-c" command, the
result display a "break", execut repeatedly, the prompt of PMON can display.
Targets: 3a780e
If bios option "INTERFACE_3A780E" is disable, some compile error will
appear, this because the end of the macro is at wrong place in the
function "tgt_devconfig" of file "tgt_machdep.c". Now it's loaction is
changed and it can pass compilation.User can comment "INTERFACE_3A780E"
option to test this patch.
Target:Bonito3a780e
Before: In pmon console,loaded the file system about 13 seconds.
Now: In pmon console, opened DMA mode, loaded the file system about 3 seconds.
Test: In pmon console, You can observe the speed of the file system by load.
Thanks zhengxingwang@loongson.cn
Targets: all
Enviroment arguments are saved into last 4K section of flash chip in original code,
it need to define the NVRAM_OFFS to tell bios from where to save them. Now use a global
flag "nvram_offs" in start.S to mark the location, its location was decided by the
compiler, so we needn't care it any longer.
Notice, this code assume "_start" is 0x80010000 during compiling pmon.bin. Otherwise,
this code need to change according the value of _start in conf/ld.script.
Target: Bonito3a780e
Now support GFXUMA and GFXSP mode includes: SP mode (2G,4G)X(64M,128M),UMA mode
(2G,4G)X(64M,128M,256M,512M). Notice that: In UMA mode, change physical memory
address starting from 0x80000000 in order to satisfy 32-bit pci config address
access to internal gfx device. So This bios can go ok only with the suitable
kernel image in which pysical memory address also begins with 0x80000000. In UMA
mode, if glxgears is running, sometimes black screen will appear, this may be due
to it uses too much system bandwidth. While in SP mode, this problem never occures.
Now video frame buffer size can be assigned in configuration file:Bonito.3a780e,
Changing "VRAM_SIZE=128" means set video memory size to be 128M in UMA or SP mode.
No other code need to be changed. Notice: in GFX_SP mode, max video ram size is 128M
becasue of the graphic memory capacity limit in LS3A780E board at this moment.
Submmited and tested by xiaqichao@ict.ac.cn
Target:Bonito3a780e
routing
add the command "windows" to check L1 cross bar and L2 cross bar
windows, use
this command to verify whther the configuraton fit below rules:
1.Move PCI MEM base from 0x10000000 to 0x40000000
2.The interrupt line register of all devices in the pci/pcie device on
3a780e
has bee assigned
Now the interrupt line checking has been done after setting interrupt
line register,
and only configuration with 2GX1 and 2GX2 memory can pass test. By the
way, replace
some unused code with interrupt talbe.
Target: Bonito3a780e
large video frame buffer up to 512M for bridge chip connected with HT bus.
It PASS test only in GUP_SP mode, which is the defalut mode in 3A780e branch of PMON.
Address space between 0x40000000 and 0x7fffffff is map to 1G memory space before, now
system momery size is at leaset 2G, so the space is left free to be used as PCI MEM space.
While PCI IO Space and HT Space is the same as before.
NOTICE: pci mem space base address need to be changed to 0x40000000 in kenrel source code
if this patch is applied, otherwise kernel will boot fail. If the bridge chip is connected
to PCIX controler in Loongson CPU, this patch should be changed to be applied.
Target: Bontio3a780e
Some card on PCI slot missed interrupt after running 8~9 hours with int5,
So change it from int5 to int3, and it hasn't miss interrupt after running
a whole day.
Target:Bonito3a780e
The reboot function is re-implemented by hardware watchdog on mainboard.
The old method which jumps to 0xbfc00000 directly will cause a rebooting
failure. Thanks WANG Xiyue <wangxiyue@loongson.cn>.
Target: Bonito3a780e