How to edit U-boot - Angstrom

Hello everyone,

Thank you for taking the time to look at this post of mine.

I am at the stage now where I would like to use the UART I/O header
pins available on my beagleboard.

From previous posts and what I have read there seems to several
methods available to set the MUX pins. This from what I gather is
either in Linux (user space) or U-boot. I can't seem to find any
information on how to edit the pin MUX in Linux (i'm using kernal
2.6.28 i believe, I will have to check again to be cetain. There is
the other method of setting the MUX in U-boot.

The U-boot provided on the Angstrom demo website is in the .bin
format. How would one go about editing this file to set the pins to
the ones required?

Any advice would be greatly appreciated. I am very much a Linux
newbie.

Thank you again fro your time,

Rob

The U-boot provided on the Angstrom demo website is in the .bin
format. How would one go about editing this file to set the pins to
the ones required?

You won't be editing the .bin file, but you can get the source for U-boot by
following the instructions at:
http://elinux.org/BeagleBoard#U-Boot

Good luck
  Søren

You won't be editing the .bin file, but you can get the source for U-boot by
following the instructions at:Beagleboard:Main Page - eLinux.org

Excellent, thank you Søren

I have managed to download u-boot-main.

I located the file beagle.h found at 'u-boot-main/board/omap3/beagle/
beagle.h'.

My aim is to get the UART header pins configured on the mux. So I did
following;

I edited the lines of code with the heading Bluetooth in '../
beagle.h'.

My new file now has the following lines:

MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M4)) /*GPIO_138*/\
MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139*/\
/*Bluetooth*/\
MUX_VAL(CP(MCBSP3_DX), (IEN | PTU | EN | M1)) /*UART2_CTS*/\
MUX_VAL(CP(MCBSP3_DR), (IDIS | PTD | DIS | M1)) /*UART2_TX*/\
MUX_VAL(CP(MCBSP3_CLKX), (IDIS | PTD | DIS | M1)) /*UART2_RTS*/\
MUX_VAL(CP(MCBSP3_FSX), (IEN | PTD | DIS | M1)) /*UART2_RX*/\
MUX_VAL(CP(UART2_CTS), (IDIS | PTD | DIS | M4)) /*GPIO_144*/\
MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M4)) /*GPIO_145*/\
MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M4)) /*GPIO_146*/\
MUX_VAL(CP(UART2_RX), (IDIS | PTD | DIS | M4)) /*GPIO_147*/\
/*Modem Interface */\
MUX_VAL(CP(UART1_TX), (IDIS | PTD | DIS | M0)) /*UART1_TX*/\
MUX_VAL(CP(UART1_RTS), (IDIS | PTD | DIS | M4)) /*GPIO_149*/ \

I then rebuilt u-boot-main to give me u-boot.bin.
I achieved this by using the following commands:

#make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper
#make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config
#make CROSS_COMPILE=arm-none-linux-gnueabi-

would you say this is correct to enable UART2 on the header expansion
pins?

I have tested with some C code to see if I can send and recieve data
on the UART but with no luck. I am unsure if there is a problem with
my C code or that u-boot.bin isn't working properly.
Is there a method to test that the UART2 pins are setup correctly with
the mux?

Does anyone have a u-boot.bin file they can share that has the UART2
setup so I can just load it onto my SD card boot partition?

Thank you for your time,

Any assistance is greatly appreciated.

Rob