mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 00:48:52 +09:00
![]() This function can fail if the device tree runs out of space. Rather than silently booting with an incomplete device tree, allow the failure to be detected. Unfortunately this involves changing a lot of places in the code. I have not changed behvaiour to return an error where one is not currently returned, to avoid unexpected breakage. Eventually it would be nice to allow boards to register functions to be called to update the device tree. This would avoid all the many functions to do this. However it's not clear yet if this should be done using driver model or with a linker list. This work is left for later. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de> |
||
---|---|---|
.. | ||
ddr.c | ||
Kconfig | ||
law.c | ||
MAINTAINERS | ||
Makefile | ||
mpc8544ds.c | ||
README | ||
tlb.c |
Overview -------- The MPC8544DS system is similar to the 85xx CDS systems such as the MPC8548CDS due to the similar E500 core. However, it is placed on the same board as the 8641 HPCN system. Flash Banks ----------- Like the 85xx CDS systems, the 8544 DS board has two flash banks. They are both present on boot, but there locations can be swapped using the dip-switch SW10, bit 2. However, unlike the CDS systems, but similar to the 8641 HPCN board, a runtime reset through the FPGA can also affect a swap on the flash bank mappings for the next reset cycle. Irrespective of the switch SW10[2], booting is always from the boot bank at 0xfff8_0000. Memory Map ---------- 0xff80_0000 - 0xffbf_ffff Alternate bank 4MB 0xffc0_0000 - 0xffff_ffff Boot bank 4MB 0xffb8_0000 Alternate image start 512KB 0xfff8_0000 Boot image start 512KB Flashing Images --------------- For example, to place a new image in the alternate flash bank and then reset with that new image temporarily, use this: tftp 1000000 u-boot.bin.8544ds erase ffb80000 ffbfffff cp.b 1000000 ffb80000 80000 pixis_reset altbank To overwrite the image in the boot flash bank: tftp 1000000 u-boot.bin.8544ds protect off all erase fff80000 ffffffff cp.b 1000000 fff80000 80000 Other example U-Boot image and flash manipulations examples can be found in the README.mpc85xxcds file as well. The pixis_reset command ----------------------- A new command, "pixis_reset", is introduced to reset mpc8641hpcn board using the FPGA sequencer. When the board restarts, it has the option of using either the current or alternate flash bank as the boot image, with or without the watchdog timer enabled, and finally with or without frequency changes. Usage is; pixis_reset pixis_reset altbank pixis_reset altbank wd pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> Examples; /* reset to current bank, like "reset" command */ pixis_reset /* reset board but use the to alternate flash bank */ pixis_reset altbank /* reset board, use alternate flash bank with watchdog timer enabled*/ pixis_reset altbank wd /* reset board to alternate bank with frequency changed. * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio */ pixis-reset altbank cf 40 2.5 10 Valid clock choices are in the 8641 Reference Manuals. Using the Device Tree Source File --------------------------------- To create the DTB (Device Tree Binary) image file, use a command similar to this: dtc -b 0 -f -I dts -O dtb mpc8544ds.dts > mpc8544ds.dtb Likely, that .dts file will come from here; linux-2.6/arch/powerpc/boot/dts/mpc8544ds.dts After placing the DTB file in your TFTP disk area, you can download that dtb file using a command like: tftp 900000 mpc8544ds.dtb Burn it to flash if you want. Booting Linux ------------- Place a linux uImage in the TFTP disk area too. tftp 1000000 uImage.8544 tftp 900000 mpc8544ds.dtb bootm 1000000 - 900000 Watch your ethact, netdev and bootargs U-Boot environment variables. You may want to do something like this too: setenv ethact eTSEC3 setenv netdev eth1