* [U-Boot-Users] Custom Board configuration
@ 2005-06-08 12:47 David Grab
2005-06-08 13:02 ` Wolfgang Denk
0 siblings, 1 reply; 7+ messages in thread
From: David Grab @ 2005-06-08 12:47 UTC (permalink / raw)
To: u-boot
Hello,
i?m working with a ppc440 gx custom board and want to use u-boot for booting
Linux. First i tried to use the ocotea board files as reference for my board
and changed it for my environment. But my board is too different so i think
it?s the wrong way to get u-boot functioning. Now i?m searching for
informations what i have to do to get u-boot work for my board.
Specifications of my Board:
PPC 440 GX
2 * 256 MB DIMM Modules - actually not using EEPROM because of stability
problems
2 * 8 MB Intel Strata Flash 32-Bit Databus width on CS0 beginning on address
0xff000000
CPLD on CS1
RTC on CS2
I actually have access to DDRAM, Flash and RTC over BDM Interface. So now i
need a minimal configuration for booting with u-boot. Is there anywhere a
guide or some information what i have to do?!
Any help is welcome.
Greets,
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Custom Board configuration
2005-06-08 12:47 [U-Boot-Users] Custom Board configuration David Grab
@ 2005-06-08 13:02 ` Wolfgang Denk
2005-06-08 14:29 ` Andrew Wozniak
0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Denk @ 2005-06-08 13:02 UTC (permalink / raw)
To: u-boot
In message <000101c56c28$4af32eb0$f201a8c0@SN7606> you wrote:
>
> need a minimal configuration for booting with u-boot. Is there anywhere a
> guide or some information what i have to do?!
I recommend you start with the README, probably section "Porting
Guide" or so...
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There are some things worth dying for.
-- Kirk, "Errand of Mercy", stardate 3201.7
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Custom Board configuration
2005-06-08 13:02 ` Wolfgang Denk
@ 2005-06-08 14:29 ` Andrew Wozniak
2005-06-08 20:12 ` Wolfgang Denk
0 siblings, 1 reply; 7+ messages in thread
From: Andrew Wozniak @ 2005-06-08 14:29 UTC (permalink / raw)
To: u-boot
Wolfgang Denk wrote:
> In message <000101c56c28$4af32eb0$f201a8c0@SN7606> you wrote:
>
>>need a minimal configuration for booting with u-boot. Is there anywhere a
>>guide or some information what i have to do?!
>
>
> I recommend you start with the README, probably section "Porting
> Guide" or so...
cute porting guide - read it anyway.
Here's how I approached our port of a custom PPC440gx board.
- first of all, try to understand the general initialization of U-Boot
- get and install PPC4xx compiler and tools
- setup/use ctags or cscope with a compatible editor
- find and choose an existing U-Boot port that resembles your target
- if target has a JTAG interface, acquire a JTAG debugger
- modify the memory settings of the baseline port you've chosen - I
used OCOTEA port
- edit the config file for your target (OCOTEA.h). see the README for
additional entries
- adjust Makefile to pickup your compiler properly
- build it:
make mrproper
make OCOTEA_config
make dep
make
- if build works, verify the .map output fits your target memory layout
- install u-boot.bin and single step via JTAG, see how far you get
- get GDB/DDD hooked up to your BDM JTAG pod
- convert/copy the OCOTEA build target to your own; create a
board/your_target directory and include/configs/YOUR_TARGET.h
- rebuild as before but with YOUR_TARGET_config
- replace/remove any OCOTEA specific (FPGA) init functions
- get the console I/O, RTC... working
- turn on DEBUG statements to see what is running
- get the rest of the U-Boot commands working thru a combination of JTAG
and printfs
- document the initialization that you see happening - see my attached
logfile. it has lot of extra info that may not apply to your target. I'm
not responsible for any inaccuracies ;)
- don't forget to dig thru the READMEs and source code. It is helpful to
some degree.
> Best regards,
>
> Wolfgang Denk
>
=================================================================================
# logfile general boot sequence for PPC440GX target
#
# 2005-03-28 Andrew Wozniak, initial draft
_start_440() cpu/ppc4xx/start.S
_start_440
...Initialize debug registers
...CCR0 init
...Setup interrupt vectors at 0x0000_0000
...config cache regions
...clear and setup TLBs
...SDRAM fast refresh
...jump to _start
...setup ISRAM
...setup stack within ISRAM
...ready to run "C" level init code
...jump to board_init_f jump to "C" level code
board_init_f() lib_ppc/board.c
init_sequence[]
board_early_init_f() board/ocotea/ocotea.c
...init OCOTEA FPGA network ops
...setup CSO for Flash setup Flash chip select
...setup UIC setup interrupt controller
get_clocks, get CPU clock info from GD
init_timebase,
env_init, validate CRC, point to env space or hard coded dflt
init_baudrate,
serial_init,
console_init_f,
display_options, display U-Boot name and version info
checkcpu, update CPU rev info
checkboard, display CPU clock details
get_sys_info(&sysinfo)
printf(...)
init_func_i2c,
init_func_ram,
init_dram()
fixed_sdram() ocotea.c - memory controller setup/timimg
end of init[]
...init gd (global data) values
...allocate stack memory
...reserve memory for data, BSS
...reserve memory for malloc
...allocate/copy global data structure
...setup stack
...save board info structure
...run optional post
relocate_code() cpu/ppc4xx/start.S
...copy self to RAM
board_init_r() lib_ppc/board.c
trap_init() setup trap handlers cpu/ppc4xx/start.S
flash_init() setup structures, protect monitor & envars
cpu_init_r() initialize high-level parts of CPU; time base and timers
env_relocate()
s = get_env("ethaddr") MAC address ( lib_ppc/board.c)
getenv_IPaddr ("ipaddr")
pci_init()
devices_init()
console_init_r()
misc_init_r() platform specific
reset_phy ()
interrupt_init() Enable Interrupts lib_ppc/interrupts.c
interrupt_init_cpu() cpu/ppc4xx/interrupts.c
eth_initialize() net/eth.c
ppc_440x_eth_initialize() cpu/ppc4xx/440gx_enet.c
ppc_440x_eth_init() also read SROM for MAC values
compare SROM and envar MAC values
print if diff
for (;;)
main_loop() u-boot monitor common/main.c
...
...
getenv ("bootdelay")
run_command(getenv ("bootcmd"))
for(;;)
readline()
run_command()
^ permalink raw reply [flat|nested] 7+ messages in thread* [U-Boot-Users] Custom Board configuration
2005-06-08 14:29 ` Andrew Wozniak
@ 2005-06-08 20:12 ` Wolfgang Denk
2005-06-09 14:25 ` AW: " David Grab
0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Denk @ 2005-06-08 20:12 UTC (permalink / raw)
To: u-boot
In message <42A700D8.2060102@mc.com> you wrote:
>
> cute porting guide - read it anyway.
Indeed. Read it. It may look like a joke, but it ain't one.
> - edit the config file for your target (OCOTEA.h). see the README for
NO!!!! Create your own board directory, and your own config file. Add
only the stuff you really understand. Read the documentation and the
code where necessary.
> - adjust Makefile to pickup your compiler properly
NO! This is not necessary. All that needs to be done is setting
CROSS_COMPILE as needed.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The connection between the language in which we think/program and the
problems and solutions we can imagine is very close. For this reason
restricting language features with the intent of eliminating pro-
grammer errors is at best dangerous.
- Bjarne Stroustrup in "The C++ Programming Language"
^ permalink raw reply [flat|nested] 7+ messages in thread* AW: [U-Boot-Users] Custom Board configuration
2005-06-08 20:12 ` Wolfgang Denk
@ 2005-06-09 14:25 ` David Grab
2005-06-09 15:01 ` Wolfgang Denk
0 siblings, 1 reply; 7+ messages in thread
From: David Grab @ 2005-06-09 14:25 UTC (permalink / raw)
To: u-boot
Thx for help.
I created my own board directory and now i?m configuring it. But i found
some unknown options like CONFIG_OCOTEA or CONFIG_EBONY. I searched over all
Files in the distribution, but i only found the definitions in files like
OCOTEA.h. Can someone explain me what these Configuration Options do?
Thx,
David
-----Urspr?ngliche Nachricht-----
Von: u-boot-users-admin at lists.sourceforge.net
[mailto:u-boot-users-admin at lists.sourceforge.net]Im Auftrag von Wolfgang
Denk
Gesendet: Mittwoch, 8. Juni 2005 22:13
An: Andrew Wozniak
Cc: u-boot-users at lists.sourceforge.net
Betreff: Re: [U-Boot-Users] Custom Board configuration
In message <42A700D8.2060102@mc.com> you wrote:
>
> cute porting guide - read it anyway.
Indeed. Read it. It may look like a joke, but it ain't one.
> - edit the config file for your target (OCOTEA.h). see the README for
NO!!!! Create your own board directory, and your own config file. Add
only the stuff you really understand. Read the documentation and the
code where necessary.
> - adjust Makefile to pickup your compiler properly
NO! This is not necessary. All that needs to be done is setting
CROSS_COMPILE as needed.
Best regards,
Wolfgang Denk
--
The connection between the language in which we think/program and the
problems and solutions we can imagine is very close. For this reason
restricting language features with the intent of eliminating pro-
grammer errors is at best dangerous.
- Bjarne Stroustrup in "The C++ Programming Language"
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you
shotput
a projector? How fast can you ride your desk chair down the office luge
track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users
^ permalink raw reply [flat|nested] 7+ messages in thread* AW: [U-Boot-Users] Custom Board configuration
2005-06-09 14:25 ` AW: " David Grab
@ 2005-06-09 15:01 ` Wolfgang Denk
0 siblings, 0 replies; 7+ messages in thread
From: Wolfgang Denk @ 2005-06-09 15:01 UTC (permalink / raw)
To: u-boot
In message <000401c56cff$06b654c0$f201a8c0@SN7606> you wrote:
>
> I created my own board directory and now i?m configuring it. But i found
> some unknown options like CONFIG_OCOTEA or CONFIG_EBONY. I searched over all
> Files in the distribution, but i only found the definitions in files like
> OCOTEA.h. Can someone explain me what these Configuration Options do?
Search again, epecially in board/ebony/flash.c and board/ocotea/flash.c
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"How to make a million dollars: First, get a million dollars."
- Steve Martin
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Custom Board configuration
@ 2005-06-08 13:03 Fillod Stephane
0 siblings, 0 replies; 7+ messages in thread
From: Fillod Stephane @ 2005-06-08 13:03 UTC (permalink / raw)
To: u-boot
David Grab wrote:
>I actually have access to DDRAM, Flash and RTC over BDM Interface. So
now i
>need a minimal configuration for booting with u-boot. Is there anywhere
a
>guide or some information what i have to do?!
README ?
Cheers,
--
Stephane
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-06-09 15:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-08 12:47 [U-Boot-Users] Custom Board configuration David Grab
2005-06-08 13:02 ` Wolfgang Denk
2005-06-08 14:29 ` Andrew Wozniak
2005-06-08 20:12 ` Wolfgang Denk
2005-06-09 14:25 ` AW: " David Grab
2005-06-09 15:01 ` Wolfgang Denk
-- strict thread matches above, loose matches on Subject: below --
2005-06-08 13:03 Fillod Stephane
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.