Hi Folks,
I am currently playing with Trainer board from Tin Can Tols and got a
question regarding pin muxes. With test image offered at [1] there are
GPIO pins made available for example to control power for built-in AVR
(pin 162). However, I can not find the corresponding sources (mux.c?)
which I can use to build the kernel myself with the same pin mux
settings. So can someone please point me to the place where this
information is available? I know that it would probably be unavoidable
to understand how to configure it myself but I just want to
jump-start by repeating at least what was already done and I know
(tested) that it works.
I'm working with the great people from Tincantools to get the trainerboard
supported in stock angstrom builds, so the modification should be public
soon.
Great! I hope you will announce it also on this list as soon as it is available.
Do you have a rough estimation when it might happen?
I'm aiming for "next week", but it's a spare time project for me, so I can't make hard guarantees.
Sure. I understand. Thank you very much for the information!
According to Dave the only difference between zippy and trainer is that the mmc pins are GPIOs, so this should work:
http://gitorious.org/beagleboard-validation/u-boot/commit/f5796d9de9622ef47fff175613f1baf1d372b5ff
I should have access to a trainer board soon, so any testing before that is greatly appreciated.
Since I did it first time, here are the steps I did to compile u-boot
(just to make sure that I did not make a mistake).
1. git clone git://gitorious.org/beagleboard-validation/u-boot.git
2. export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
3. add angstrom-dev/cross/armv7a/bin/ to the PATH
4. make omap3_beagle_config
5. make
6. copy MLO, newly created u-boot.bin and my uImage to mmc
Here is the output from beagleboard:
Texas Instruments X-Loader 1.4.4ss (Apr 13 2010 - 22:36:28)
Beagle Rev C1/C2/C3
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2010.03-rc1 (Apr 27 2010 - 22:58:28)
OMAP3530-GP ES3.0, CPU-OPP2, L3-165MHz, Max clock-600Mhz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Probing for expansion boards, if none are connected you'll see a
harmless I2C error.
Recognized Tincantools Zippy2 expansion board (rev 1 )
Beagle Rev C1/C2/C3
Die ID #5ac400030000000004013f8901001001
Hit any key to stop autoboot: 0
OMAP3 beagleboard.org #
After booting (kernel 2.6.29-omap1 #1 PREEMPT) I can not see any new
entries in /sys/class/gpio comparing to the previous u-boot:
root@beagleboard:~# ls /sys/class/gpio/
export gpiochip0 gpiochip160 gpiochip32 gpiochip96
gpio157 gpiochip128 gpiochip192 gpiochip64 unexport
Based on the following piece of code from u-boot/board/ti/beagle/beagle.c
case TINCANTOOLS_ZIPPY2:
printf("Recognized Tincantools Zippy2
expansion board (rev %d %s)\n",
expansion_config.revision,
expansion_config.fab_revision);
MUX_TINCANTOOLS_ZIPPY();
break;
case TINCANTOOLS_TRAINER:
printf("Recognized Tincantools Trainer
expansion board (rev %d %s)\n",
expansion_config.revision,
expansion_config.fab_revision);
MUX_TINCANTOOLS_ZIPPY();
MUX_TINCANTOOLS_TRAINER();
break;
I would expect to see the "Recognized Tincantools Trainer ... "
message. However, as mentioned above, I've got "Recognized Tincantools
Zippy2 expansion board (rev 1 )" from u-boot. So either I was doing
something wrong or get_expansion_id() function does not detect Trainer
board.
I add a couple of printf's to dump the expansion_config structure and
here is the output:
Device vendor: 0x2000100
Revision: 0x1
Content: 0x0
Fab revision: 0x00FFFFFFFFFFFF
Env var: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Env setting: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
So it match the TINCANTOOLS_ZIPPY2 define but I am pretty sure that I
have a Trainer board and not Zippy . So at this point I am somehow
start to think that the board reports wrong ID.
Thanks,
Andrey.