PinMUX and XM

Hello everybody,

I have a beagleboard XM with an installed Angstrom + Enlightenment
(narcissus built) working well.

I would like to modify the pinmux but I can't find any consistent
information especially for XM. The wiki http://elinux.org/BeagleBoardPinMux
explains some points but nothing complete. I'm new to beagleboard
world and my background is microchip microcontrolers.

My project is to design an expansion board with a SD slot on P9 and
multiple RS232 FTDI chip connected to HSUSB on P17 through a USB3320
SMSC PHY chip and a USB2507 SMSC hub.

When I read the wiki, my first question is : which recompilation is
necessary, U-boot only, Kernel only, or both U-boot and kernel ?

Where to find source of the u-boot.bin and kernel of the tar.gz
supplied by angstrom narcissus ?

Is there any tutorial for beagleboard newbies on pinmuxing for XM
version ?

Thanks for your help,
Best regards,
Fabien.

Download the TI’s “Pin Mux Tool”, it contains all you need to easily select the pix mux configuration and produce a header file to replace in U-Boot

From Ti processor wiki:

Thanks Lioric for that informations.

Is there a way to pre load in this tool the original configuration of
the Beagleboard XM ?

After generating the .h, which u-boot source files should I use with
XM beagleboard? I have tried denx.de git version without success
(building the original source OK but boot fail after RAM) and
beagleboard validation source (building and booting OK but screen is
red dominant like if one color lines between proc and TFP410was not
correctly mapped).

Fabien.

Lioric Z3.

I have a BB-C4 and i'm trying to change pin values.

I downloaded the pin mux utility and read the manual.

I have two questions:

1- All the changes to do (mux.h and pinmux.h) are on the u-boot
source. Am I right?.

2- If the answer to the first question was yes, Should we not consider
that "CONFIG_OMAP_MUX" is not set in kernel source?...I'm very
lost!!!...

daniel.

Ok, you can do PinMux in U-Boot (default) or kernel side, whatever fit your needs

1- All the changes to do (mux.h and pinmux.h) are on the u-boot
source. Am I right?.

Yes, the PInMux TI tool is intended to work with the u-boot sources

2- If the answer to the first question was yes, Should we not consider
that “CONFIG_OMAP_MUX” is not set in kernel source?

In Default configuration (mux set by u-boot only) the CONFIG_OMAP_MUX flag is not set

You need to enable this flag to work with mux in the kernel

Is there a way to pre load in this tool the original configuration of
the Beagleboard XM ?

You can start with the Am37xx configuration and then just change whatever is needed then save it, see the Dm37xx TRM for the deault values and the u-boot sources to see what is set by default for the xM

Lioric

Friends… I’m also new to Linux/Beagle and I’m breaking my head trying to do the same thing. I will share my progress.

I realize that there are multiple ways to change the pin mux. You can do it via Linux kernel mode or from u-boot. I chose to rebuild the u-boot.

I downloaded the TI SDK ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin from http://software-dl.ti.com/sitara_linux/esd/BeagleBoardSDK/latest/index_FDS.html
It contains the u-boot source, among other (helpful) things.

I used the Ti’s Pin Mux Utility to create mux.h and pinmux.h w/ my required mux settings.

PROBLEM: instructions on TI’s site to replace the #define MUX_EVM() in evm.h are INCORRECT. If you’re working w/ the beagle board you need to change a different file. Rename the macro in pinmux.h to MUX_BEAGLE() and replace #define MUX_BEAGLE() in /board/ti/beagle.h w/ include “pinmux.h”. Of course, you have to move the pinmux.h to same location.

I’ve gone this far. It’s still not compiling b/c some defines are missing. I hope this helps you. Feel free to comment. You may call me if you need better explanation. ask.

One more thing I needed to change in order for it to compile. The new mux.h from TI’s Pin Mux Utility redefines the PD, PU, IEN, IDIS values. You need to redefine the old ones from original mux.h b/c some code from beagle.c/h needs them.

After that it should build.