IP08 Task List and documentation David Rowe 14 November 2007 [ ] Mods [ ] add parallel 10pF, series terms for SPORT1 clocks, as per SPORT0. Noise on these pins is a common problem for the Blackfin. [ ] Add pull up resistors for PF8/PF9 (nCSA & nCSB for modules), to keep them in a known state while the Blackfin boots. [ ] Change R100,101,106,108,102,103,107,111,109,110 from 0 to 47 ohms, these are incorrect on schematic and were incorrectly loaded on prototype [ ] RS232 daughter board fouls with eth1 connector, but still makes electrical contact OK. Definately a good idea to insulate bottom of daughter board. [ ] determine why U2 output stuck low, this happened on two prototypes [ ] should PF6/PF7 have pull downs? I think they are floating on pwr up - I noticed LED5 blinking sometimes on power up [ ] PF11 is used for USB interrupt so can't be used for nPWR pin in SPORT1-over-SPI + PF12 used, which was formally used as nCSB in hardware-SPI scheme [ ] suggest relabel nets on schematic and inside verilog/ucf files + PF12 -> nPWR + PF8 -> nCSA + PF9 -> nCSB [ ] I think the phone connectors are in the correct order, or possibly the nCS lines Zap/1 -> Tel2, Tel1 -> Zap/2 [ ] Add pull down to make sure IP08 will boot past u-boot without link on serial port [ ] Questions [ ] Why 2 SDO pins on U20? [X] CPLD [X] develop 8 module version of IP04 CPLD code [X] pin out file [X] module SPI via SPORT1 [X] Xilinx project [X] Build JED file OK [X] Obtain prototype from Atcom [X] Hardware Only Tests [X] check 47 ohm series term R's used for module SPI + nope, needed to reload, see mods above [X] No smoke on power up [X] Current drain OK + IP04 was 70mA @ 12VDC with blank flash + IP08 is 80mA @ 12VDC with blank flash [X] 3V3 rail preset [X] 5V rail preset [X] 1V2 rail present + 1.272 measured [X] 10 MHz clock running + probe one side of crystal, also CLKOUT via on LHS of U1 [X] U11 2.048MHz clock [X] Pin 1 U3 3V3 High + this indicates BF532 is out of reset + was stuck L, common problem with early IP04s also + U2 (1V2 chip) p1 was stuck low + tried cleaning with solvent, still stick low, so just removed U2 and p1 U3 went H. + this is no big deal, just means manual reset won't work [X] 32768 kHz clock running [X] CPLD programmed OK [X] M25P20 SPI flash written and verified OK + this proved PSI flash working OK + IP04 u-boot should be OK [X] u-boot [X] Any changes required for different memory chips? + I am told IP04 u-boot should be fine [X] u-boot comes up OK [X] Ethernet [X] ping a server [X] tftp a uImage [X] NAND detected [X] run a uboot 'mtest' for a couple of hours [ ] uClinux [X] Any changes required for different memory chips? + I am told same u-boot and uClinux settings should work, as CL=3 and 8192 row addresses. I guess hardware will work out the high/low byte addressing. [ ] modify IP04 uClinux for IP08 + very close to bf1 + aim to support IP04 and IP08 with single uImage + on IP04 extra peripherals wont be supported [X] second Ethernet port [X] USB support [X] MMC support [X] test it boots OK on an IP04 [X] build Zaptel with SPI-over-SPORT1 option + use modules rather than built in, to ease Oslec and Zaptel optimisation [-] modify baps to create a uImage with zaptel? + handier to have one uImage for factory install + package stuff still handy for upgrades [X] Test uImage boots OK on IP04 [X] 2nd Ethernet detected + ifconfig-ed it and telnetted thru it OK [X] USB detected + mounted a memory stick and wrote a file to it OK [X] Zaptel [X] detects modules + probably a little debugging of SPI-over-SPORT + does CLK1 idle H? [X] boot of NAND OK [X] MMC + mounted an ext2 formatted MMC card OK + wouldnt mount a vaft MMC from my camera + not sure if this is a file system config issue of the MMC interface is fussy about cards. [ ] Tests [ ] Try to reproduce IP04 Port1 click problem [ ] Try to reproduce IP04 Port1 FXO detection problem + maybe shuffle modules around to make Port1 FXO [ ] IP04 load tests + same tests used for IP04 + 4 single port modules + good first step [ ] 2nd Ethernet Port [ ] Throughput [ ] Reliability [ ] USB [ ] Reliability [ ] MMC [ ] Reliability [ ] Analog ports [ ] load test [ ] long term reliability test u-boot env vars --------------- These were used for testing: set con console=ttyBF0,115200 set eth0 02:80:ad:0:31:b8 set eth1 02:80:ad:0:31:b9 set root /dev/mtdblock0 rw set addba 'set bootargs $(con) ethaddr=$(eth0) ethaddr1=$(eth1) root=$(root)' set ramboot tftp 0x1000000 uImage.ip08;bootm set bootcmd run ramboot This is useful for easily changing bootargs without a lot of annoying typing: set addba 'set bootargs $(con) ethaddr=$(eth0) ethaddr1=$(eth1) root=$(root)' Then anytime u change one of the params above (or even at boot time): run addba building u-boot for the IP08 ---------------------------- Use the astfin IP04, see IP04 wiki for instructions on how to build. Or just use the existing binary: http://www.rowetel.com/ucasterisk/downloads/ip04/u-boot.ldr Building an IP08 uImage ----------------------- svn co http://svn.rowetel.com/software/baps/trunk baps wget toolchain (see baps README) make -f uClinux.mk cp uClinux-dist/images/uImage /your/tftp/server install this uImage in flash Installing Asterisk ------------------- To install Asterisk, telnet to the IP04: $root:~> ipkg update $root:~> ipkg install zaptel-sport asterisk asterisk-gui native-sounds $root:~> /etc/init.d/zaptel start $root:~> /etc/init.d/asterisk start This will take a few minutes as the software is downloaded and installed. The dialplan is 6001 => Port1, 6002 => Port2,...... eth1 ---- make sure ethaddr1 env var is set in bootargs (see u-bbot env vars above). Then after booting bring up eth1 manually: $ ifconfig eth1 192.168.1.40 To test eth0 is useful to disbale eth0, so that packes are routed out of eth1: $ ifconfig eth0 down USB --- Plug in a memory stick, you should see something like: sda: Write Protect is off sda: assuming drive cache: write through sda: sda1 Mount the USB device: root:~> mount /dev/sda1 /mnt/ root:~> ls /mnt/