Finally I received my female/male cables for inter-board connects (my soldering skill is close to zero) and got FTDI-based TTL/USB converter work. I had more luck with it then with my old trusty TTL/RS232 converter. No garbage in linux output, serial input works for u-boot.
You can find content of boot partition of SD-card I use here.
Fully functional serial port means that boot-over-serial should work and I do not need to move SD-card between R-Pi and card reader to get new version of u-boot running. So based on this post I managed to automate compile/run/fix cycle to some extent. Not C-Kermit expert here, so the script is lame but it does its work:
#!/home/gonzo/bin/wermit
# Serial port setup. These settings will likely need to be
# changed to match the configuration of your workstation
# and the ARM board you're working with.
set line /dev/ttyUSB3
set speed 115200
set serial 8n1
# General C-Kermit settings. These probably don't need to change.
set flow-control none
set file type bin
set carrier-watch off
set prefixing all
set modem none
# load binary
input 90 "Raspberry-Pi # "
lineout "loadb 0x00000000"
# This should be the absolute path to your kernel uImage file.
send /home/gonzo/1/kernel.img
# This command drops you into a console where you can interact
# with the kernel.
connect
So now when I’m working on USB support for R-Pi the development cycle looks like this:
- Hack-hack-hack, compile, generate kernel.img, place kernel.img to ~gonzo/1/
- power-cycle board, run script
- Press Enter to trigger file upload and wait for this:
## Total Size = 0x0002b6d0 = 177872 Bytes
## Start Addr = 0x00000000
- Issue go 0 command
- Issue usb start command, wait for results and start over