02/28/2011 9:38 PM
Beagleboard C4 and QNX 6.5 Issues/Solutions
I didn't see a thread on this anywhere, so I'm posting this in case anyone else has similar problems. The C4 revision of
the Beagleboard improved on some power
issues for the USB EHCI and fixes for it were provided in the 6.4.1 BSP but are missing from 6.5. If you're using x-
loader/uboot to start QNX, then it shouldn't matter since uboot initializes the hardware which seems to stay initialized
for later on.
However, to use the IPL from the BSP, you'll need to fix some lines and replace some folders.
This is what I did:
1) Copy over the entire IPL folder from the 6.4.1 BSP into the 6.5 BSP. The IPL in 6.5 doesn't seem to modified at all
for this Beagleboard.
2)Run the mkflashimage script to generate the nand IPL.
In order to get the IPL loaded onto the board, I first used pserial to transfer the ram version of IPL. Once you get the
options, press I to update the IPL and use sendnto to send the new nand IPL. This will overwrite xloader and uboot.
Reboot, and you should only see a very clean and fast IPL booting up. You can then press U to update the OS image.
At this point you'll notice that when the OS boots up, there is no USB. To fix that,
3) In the 6.5 \hardware\supports\pmic_tw4030_cfg\ edit pmic_tw4030_cfg.c and add:
twl4030_i2c_write(TWL4030_ADDR_GRP1, TWL4030_VAUX2_DEDICATED, TWL4030_ENABLE_VAUX2_DEDICATED);
twl4030_i2c_write(TWL4030_ADDR_GRP1, TWL4030_VAUX2_DEV_GRP, TWL4030_ENABLE_VAUX2_DEV_GRP);
Edit twl4030_reg.h and add:
#define TWL4030_VAUX2_DEV_GRP 0x76
#define TWL4030_VAUX2_DEDICATED 0x79
#define TWL4030_VDD1_DEV_GRP 0xB0
#define TWL4030_VDD1_VSEL 0xB9
#define TWL4030_ENABLE_VAUX2_DEDICATED 0x05
#define TWL4030_ENABLE_VAUX2_DEV_GRP 0x20
#define TWL4030_ENABLE_VDD1_VSEL 0x40
#define TWL4030_ENABLE_VDD1_DEV_GRP 0x20
I found these using a diff tool and the revision changes in the Beagleboard manual. Also, make sure that in the build
script, the line that calls startup has "c4" as the board rev number.
4)If you don't like any of this, you can always get back to uboot, you'll need to load x-loader through pserial and
uboot-c4 using ukermit!
I also noticed some buzz around getting the second serial port working on the beagle. You will need to edit pinmux for
it and refer to TI documentation on what each pin "ball" does for your particular revision. But do note that the signals
are 1.8V and common RS-232 level shifters shift from 3.3V TTL. If you're going to add additional hardware for level
shifting, I think its faster to go usb->hub->devc-serusb.
Hopefully this is helpful!