Now, ddr2/ddr3 can use the same codes and can be detected autoly.
Default:
ddr3 option has been open.So,you can use for ddr3-server.
If,you want to use ddr2:
you should close DDR3_DIMM option which is in "Targets/Bonito3aserver/conf/Bonito.3aserver" file.
Thanks chenxinke@ict.ac.cn and sizhiying@loongson.cn
Target:Bonito3aserver
Make softlink Bonito3b780e/pci to Bonito3a780e/pci.
For this, 3A and 3B can use the same pci configure.
Signed-off-by: mengxiaofu <mengxiaofu@ict.ac.cn>
ohci takes a place in memory as hcca(host controller communication area), and ohci
keep writing to this place. so we need to stop it, in case that kernel doesn't reinit
ohci(e.g. turn off ohci in menuconfig),and use this memory as normal. we should
include mod_usb_ohci.h to get the macro NMOD_USB_OHCI.
When you enter the PMON Console status and input "main" in the command line pattern, you
will see the window of "LOONGSON BIOS SETUP V2.1". In the label of "Safe", you can setup
admin password according to the tips, then choose Save and Exit in the label of "Exit".
Therefore, you must enter the password in the next reboot. If you choose Loader Default,
you could clear the password.
Modify the code of command "ifaddr rte0 lwdhcp" in order to implement the function of
obtaining ip address automatically. This command will be executed before load kernel.
(First, you must configure one dhcp server.)
Function keys 'F9' and 'F10' are invalid in the pmon bios: when you enter the PMON
Console status and input "main" in the command line pattern, you will see the window
of "LOONGSON BIOS SETUP V2.1". In the label of "SystemInfo", please set the year of
system time 2012 and keep others default. After that, press the function key 'F9' and
'F10', nothing happens. However, during the normal status , if you press 'F9', system
should cancel user's setting and quit. Similarly, if you press 'F10', system should
save user's setting and quit.
Now, we initialize the keyboard code, so when we press the particular key, it will
trigger corresponding event.
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
Mainly works on:
1. Enlarge PCI MEM space from 0x10000000~0x17ffffff to 0x40000000~0x7fffffff
2. Fixup pci/pcie slot and usb/sata interrupt line register, now kernel needn't do this
3. Support more video buffer mode (SP,UMA)X(64M,128M,256M,512M)
4. Add ejtag scan support
Notice: now assume highmemsz means high memory size of node0.
Target:Bonito3aserver
Now this option is loacted in configure file, you can choose
BONITO_33M,BONITO_25M or BONITO_50M. No change is need in file
"start.S" from now on to set uart baud rate. Default settint is
with 33M crystal.
Target: Bonito3a780e
asm "r" for o32 toolchain,gcc may only save low 32bit data to
registeri,although mipse-elf-gcc works.
now we use "m",which generate variable's address asm format,then use
ld,sd load 64bit data from/to this address.
Signed-off-by: QiaoChong <qiaochong@loongson.cn>
If the disk partion is larger than 120G, these errors will occure:
"There is no linux partion" or "we can't locate root directory in super
block!". Now This bug is fixed. It should be usefull for all branches.
Thanks XuHaoyu <xuhaoyu@loongson.c>
ping address failed in some situation,ifdown command will cause some bug using with ifup and ifaddr command.So we update the code.
Signed-off-by: xiaqichao <xiaqichao@ict.ac.cn>
After enlarging PCI memory space, physical address 0x40000000~0x80000000
is used as pci mem space, so mapping 1G memory to this region will cause
problems. From now on, 1G memory will be mapped to 0x80000000~0xc0000000.
Target:Bonito3a780e
We can use "ifaddr rte0 x.x.x.x " to set the ip address for the first time,
then use the same ifaddr command to change or reset the ip address,
it can`t work while ifconfig command can do.
This patch fixed up the bug for the ifaddr command to reset or change ip address in PMON.
Thanks liangli<liangli@loongson.cn> and yanyang<yanyang@loongson.cn>
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
Now all the video memory(128M) of the graphic memory chip on LS3A780E board
are availabe. By the way, enlarge usable PCI MEM size from 0x0400000 to
0x40000000, this size shoulde be enough for lots fo bridge chip groups at
this moment. Network, usb device and ps2 keyboard are all normal both in BIOS
and kernle. Thanks xiangy@lemote.com.
NOTICE HERE: the vga bios base address of gpu driver in kernle code should
be changed to 0xc7f00000 from original 0xc7f00000 if this patch is applied,
otherwise no vga or graphic output during boot kernel.
Target: Bonito3a780e
Fix bug of failing to load kernel from SAMSUNG DVD writer with SFF-8020i
command format. However, some time it fails with error information "ERROR
ConditionCode 8/8ee4c040", but it successes to load next time. After timeout
wait time is extended, it successes to load disk image from CD/DVD disk every time.
Fix below bug from : Testing environment
PMON Version:pmonV2.2R004B0010D0317
commit: e2b7032985
Version of the path:
/home/scmrepository/production/01bin/pmon43a780e/pmonV2.2R004B0010D0317$
Motherboard:3A-780E
usb disk tyep:Netac
Problems:
1. During pmon going up, entering a 'U' key can't load kernel
2. Enter command "g console=tty rdinit=/bin/init vidio=vfb:1", error message occures.
Now it is ok with fat and ext2 format file system, test by xiaqichao@ict.ac.cn
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
Time out error occurs during initializing some kind usb disk, and PMON will stop here.
This patch is used to fix the problem. It passed test with foure Netac usb diskes attached
at the same time. by xiaqichao@ict.ac.cn
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 following problems are mentioned in the SB710 Errata:
1. Fix the bug of EHCI-Controller which maybe causes the system hang.
When inserting two USB devices into the same EHCI-Controller interface,
it may cause the system hang.
2. Fix the bug of A-Link deadlock.
In the extreme-stress(DMA) environment, the system may be hang.
Target: Bonito3a780e