Return-Path: Message-ID: <46C10F0A.40101@digis.net> Date: Mon, 13 Aug 2007 20:10:18 -0600 From: Frank Bennett To: linuxppc-embedded@ozlabs.org, jonsmirl@gmail.com Subject: Bestcomm Firmware update Reply-To: bennett78@digis.net I wrote the disassembler below but never was able to get MPC5200/I2S DMA running. Hope you can further BestComm code.... Copy of Posting 3/30/2006: BestComm Dudes: I was able to contact Davide Santo, AN2604 "Introduction to BestComm". He admitted the short commings of his document in the area of Firmware instruction info and gave me a name of a guy, Ed.Nuckolls@freescale.com in the ASIC design area in Austin. Ed has agreed to answer questions, push for resources to provide a support tool and provided me with a document from their head programmer "SmartDMA Hand-Assembly Guides" (see attached pdf). With this secret decoded ring I was able to put together a disassembler, see attached disasm.c. Cut and paste your favorite Task into fw[] array at the beginning, "cc -o d disasm.c ; d" It's not perfect, but useful- Enjoy. If we can formulate a list of questions Ed might be able to help, I'll start: o what does init=31 mean? AN2604 say init=0 means always requestor and 31 is reserved but referenced alot in the F/W comments o Need more info on how MORE works o Tell us about LCD levels. Only 2? (let's call a LCD indent a level) LCD seems to reset DRD to 1A. DRD2B1or2 follow a DRD2A (ext=1)? o LCD[28:23]orLCD[20:15] or LCD[11:6] what is extraN? drop 101nnn - extraN add 1nnnnn - indexN o how many DRD2B1[2] can be stacked up? o when is/can a LDC Literal used? and how? Frank Bennett