FW: [linux-usb-devel] General USB Hub question and 832e question
FYI: -Original Message- From: Steve Calfee [mailto:[EMAIL PROTECTED] Sent: Thursday, September 12, 2002 8:42 PM To: Hihn Jason Subject: Re: [linux-usb-devel] General USB Hub question and 832e question At 10:57 PM 9/12/02 +0200, you wrote: I'm doing a design on a PPC 832e processor. Slave mode is known to work ok, but host mode is iffy. Apparently there is a issue with low-speed USB devices. I was wondering if anyone here could answer my question: If we were to go through a USB hub, would low-speed devices get converted to high speed? Additionally your experiences with USB on the 823e (and 850) are welcome. Thank you for your time. Hi I wrote a host for the 823 USB circuitry. The 823 usb stuff is just a very marginal design and therefore a huge amount of work. A single function host for an embedded system is reasonable, a general purpose host just will not work with the built in circuitry. I recommend you use an external chip for host mode. There should not be a problem with low speed, the 823 would need to change its bus clock from 1200 to 150. It needs to do this on a very tight time frame, which is probably the problem..You would have to spin testing the CPM after a SOF, so you know exactly when to change the clock. This is just another of its marginal design features. Hubs do not translate speeds, they prevent low speed devices from seeing any high speed packets...SOF is sent as just a one bit pulse. The actual data packets are just sent on through the hub at low speed. The host actually sends the hub a special packet called a PRE PID, which tells it and all other high speed devices that a low speed packet is coming. Regards, Steve __ Steve Calfee-- embedded systems consultant stevecalfee at NOSPAMhotmail.com ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
4 bit LCD interface on 823e not working
I'm using port D[0-3] (PD12-15) for data. FLM, CP and LP are coming from PD[5,4,3] It's a passive monochrome display. I've configured it as such. It should be working. (See Fig 18-4 in the book) It came with an 8 bit color NEC display that worked, so I'm assuming there's a valid config already. I've checked PD_DIR and _PAR and they all seem to be correct. My problems may or may not be related to the driver. It makes a horrible assumption that the color map is as deep as the display depth. This is normally true, but not for the 823e. 16 values must be programmed into the cmap. Maybe this is why my bits aren't coming out right. I'm attempting to adjust the driver to match*, but now my display doesn't even work incorrectly. :-( * I went into fbcmap.c and made a 3 new arrays and a new structure. red[16]={0}, green[16]={0}, blue[16]={0..15}. (See 18-3 in the manual) Blue's bits line up with 'GLC' when in not-color modes. (Transp is for displays that have RGBA) Then I packed it into a fb_cmap struct called default_mono and made the necessary changes where I thought they were needed (fb_default_cmap()). Adding to my confusion is 'int con' is passed into numerous functions in lcd832e.c but is never explained and I can't tell where it's coming from. Why or how a 1 bpp connection needs a 16 entry palette is beyond me. Any help on this issue is greatly appreciated! -Jason -Original Message- From: Dr. Craig Hollabaugh [mailto:[EMAIL PROTECTED] Sent: Monday, August 26, 2002 3:34 PM To: Hihn Jason; Linuxppc-Embedded at Lists. Linuxppc. Org (E-mail) Subject: Re: 4 bit LCD interface on 823e not working I'm digging in the 823e book for any registers that may need to be changed. -Jason Which port are you using? How are you configuring it? Do you have the all the peripherals turned off? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
4 bit LCD interface on 823e not working
Ya know, I was just barinstorming trying to figure out why I'd have to do this 16 entry cmap for a 1bpp, then it dawned on me. The 823e is just treating a nibble as a 16 color pixel. It'll let the display work it out that it's actually 4 pixels. So it'll just do a pallette lookup as it would for 16 color. This is probably why there's no rhyme or reason to my random bit mappings. So once I set the 4 bits in the GLC to the index that they are (so everything corresponds directly, therefore becoming a transparent pass-through; i ut 0101 on the screen, it gets looked up at index 0101, find 0101 there and sends that out) everything will line up and I'll get the pixels I want. Still, I'd expect a more random pattern every time I reset the CPU and re-ran the same test (floating bits float) Does this make sense to anyone other than myself? Anyone know if I'm right? Thanks -Jason -Original Message- From: Hihn Jason To: 'Dr. Craig Hollabaugh'; Linuxppc-Embedded at Lists. Linuxppc. Org (E-mail) Sent: 8/26/02 11:16 PM Subject: RE: 4 bit LCD interface on 823e not working I'm using port D[0-3] (PD12-15) for data. FLM, CP and LP are coming from PD[5,4,3] It's a passive monochrome display. I've configured it as such. It should be working. (See Fig 18-4 in the book) It came with an 8 bit color NEC display that worked, so I'm assuming there's a valid config already. I've checked PD_DIR and _PAR and they all seem to be correct. My problems may or may not be related to the driver. It makes a horrible assumption that the color map is as deep as the display depth. This is normally true, but not for the 823e. 16 values must be programmed into the cmap. Maybe this is why my bits aren't coming out right. I'm attempting to adjust the driver to match*, but now my display doesn't even work incorrectly. :-( * I went into fbcmap.c and made a 3 new arrays and a new structure. red[16]={0}, green[16]={0}, blue[16]={0..15}. (See 18-3 in the manual) Blue's bits line up with 'GLC' when in not-color modes. (Transp is for displays that have RGBA) Then I packed it into a fb_cmap struct called default_mono and made the necessary changes where I thought they were needed (fb_default_cmap()). Adding to my confusion is 'int con' is passed into numerous functions in lcd832e.c but is never explained and I can't tell where it's coming from. Why or how a 1 bpp connection needs a 16 entry palette is beyond me. Any help on this issue is greatly appreciated! -Jason -Original Message- From: Dr. Craig Hollabaugh [mailto:[EMAIL PROTECTED] Sent: Monday, August 26, 2002 3:34 PM To: Hihn Jason; Linuxppc-Embedded at Lists. Linuxppc. Org (E-mail) Subject: Re: 4 bit LCD interface on 823e not working I'm digging in the 823e book for any registers that may need to be changed. -Jason Which port are you using? How are you configuring it? Do you have the all the peripherals turned off? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
4 bit LCD interface on 823e not working
As you probably can guess I'm trying to get this Optrex display working. Well I've finally scoped it out, and I can't find the cause (or solution to) my problems. When I write the following nibbles for display, I get these bit patterns out of the pins and on screen: 0: 1: 1010 2: 0111 4: 0100 5: 1011 8: 0100 A: 0110 F: 1101 There seems to be no rhyme or reason, at least I don't have a clue. The bits are all clocked in parallel, 4 at a time. Can any please help? I'm digging in the 823e book for any registers that may need to be changed. -Jason ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Connecting an Optrex display
I am trying to get an Optrex display working in an 823e. (DMF-50840) It's a 320x240 passive monochrome, with a parallel 4 bit interface. I'm close to having it working, but I can't seem to get it 100% I try to put out a pattern of *-*-*-*-*-*-... (AA) -*-*-*-*-*-*... (55) [repeat] but what's displayed is: 123456789ABC *--**--**--*... *--**--**--*... -*-*-*-*-*-*... -*-*-*-*-*-*... [repeats] Note how columns 3,7,B are always 0, and 4,8,C are always one. I have the panel configed as : static vidinfo_t panel_info = { /* W(p), H(p), W(mm), H(mm) */ 320, 240, 120, 90, /* CLK POL, OUT_EN, HSYNC POL, VSYN POL, DATA POL */ CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_LOW, /*BPP 2^X */ 0, /*BUSWID=4*/ 0, /*SINGLE=YES*/ 1, /*COLOR=NO*/ 0, /*TFT=NO*/ 0, /*WBL*/ 5, /*VSPW=NA*/ 0, /*AC*/ 16, /*WBF*/ 0 }; I have to admit I have no idea on what Wait Between Lines and Wait Between frames should be set to, or how to derive them. Any help would be appreciated. -Jason ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
cygwin and embedded linux
Why not just set up ONE Linux computer and have people login to it? Use SAMBA to map drives off the Linux box if you want to use your proprietary IDEs -or- use Cygwin Xfree86 (or a proprietary product, i.e. eXceed) to run an X server and run KDevelop (or whatever off the Linux box with display to your local windows PC) With Linux and Unix-based tools and technologies, the possible developmental infrastructure configurations are endless! -Jason Hihn I reserve the right to be wrong. -Original Message- From: John Fisher [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 21, 2002 9:15 PM To: linuxppc-embedded at lists.linuxppc.org Subject: RE: cygwin and embedded linux Actually, my personal opinion on that matter is that I'm not very fond of using Windows for a Linux kernel development platform. Doing -- So what are the issues: How is cygwin significantly different from Linux that you would not want to use it? Are there useful tools that run under Linux but not under cygwin? The reason I ask is that my organization currently does its software development under windows using proprietary tools. We have to maintain our existing products using these tools. We are however contemplating new development using linux. If we have to dual boot our PCs or have an extra PC running Linux for each developer, that is going to bring its own set of nuisances and problems. Are there others in this situation and how have they chosen to solve it? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
changes to /proc files
I'm writing a little GPL app that needs to monitor some data in /proc. I seem to recall (possibly incorrectly) that there was some magic way for a program to be notified when a file in /proc changes, rather than having to poll. I can't seem to find anything in Google. Can anyone point me in the right direction? What is the overhead in polling and reading a small (~500b) /proc file? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Software triggered DMA on 823e?
We're doing a design and due to the way some of our devices work, we want to do a DMA transfer on an interrupt from a peripheral. My team is wondering if we can write a interrupt handler that will initiate the DMA xfer without having to use external pins, or if we have to route an output pin to DREQ and trigger it that way. Our peripheral is a memory mapped device, but it's only a buffer. We need to catch its interrupt and DMA the buffer out to a place for our application to handle it. We've been all over the manual and can't find the answer. Any help is appreciated. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
mpc823e usb most mode - once again
Hi, I'm in very much the same position as you with this matter, but you seem to have a month and 1/2 head start. I was wondering if you had connected delay gates yet, and if they worked. We're doing a product design, and currently we have a $5 additional USB host chip included in the design. We could really use the pins and $5 back and not waste an SCC. Your input is greatly appreciated! -Jason -Original Message- From: Christian Schroeder [mailto:[EMAIL PROTECTED] Sent: Friday, May 31, 2002 2:59 AM To: linuxppc-embedded at lists.linuxppc.org Subject: mpc823e usb most mode - once again Hi all, I try to play once again with the usb host code for the mpc823e. 1. I collected some information from the Internet and the linuxppc- embedded mailing list. 2. I downloaded Brad Parkers new usb hci driver (rev. 2) from heeltoe.com and integrated it in the kernel sorces (2.4.4) from ftp.denx.de 3. I did some modifications specific to the TQM823L board (mpc823e chip revision B2) - #define USE_TIMER1_FOR_SOF - #define USE_PA4_CLK4 - #undef POLL_FOR_HUB 4. I loaded the IIC/SPI microcode patch from Brads distribution and connected the timer1 output to /dreq1 to enable the patch. I tried the microcode patch, which is contained in Wolfgang Denks kernel source, too - with the same results. 5. I didn't insert delay gates between the USBXRM/USBXRP inputs of the mpc823 and the VM/VP outputs of the PDIUSB11A usb transceiver. I know, that the mpc850 needs theese delay gates, but I use the latest release of the mpc823e (PPC823EZTnnB2) and there's no hint in the errata. 6. I tested some devices and got the following results: 6.1. Booting with no device connected PPCBoot 1.1.5 (May 28 2002 - 10:23:33) CPU: PPC823EZTnnB2 at 50 MHz: 16 kB I-Cache 8 kB D-Cache Board: TQM823LDB0A3.200 DRAM: 16 MB FLASH: 8 MB In:serial Out: serial Err: serial PCMCIA: No Card found Hit any key to stop autoboot: 0 ARP broadcast 1 TFTP from server 194.95.133.21; our IP address is 194.95.133.100 Filename '/bdi2000/pImage-tq'. Load address: 0x10 Loading: # done Bytes transferred = 578280 (8d2e8 hex) ## Booting image at 0010 ... Image Name: Linux-2.4.4 Created: 2002-05-30 12:58:54 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size:578216 Bytes = 564 kB = 0 MB Load Address: Entry Point: Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading RAMDisk Image at 4010 ... Image Name: LinuxPPC Ramdisk Image Created: 2001-03-19 8:29:39 UTC Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size:1999700 Bytes = 1952 kB = 1 MB Load Address: Entry Point: Verifying Checksum ... OK Loading Ramdisk to 00dc7000, end 00faf354 ... OK Linux version 2.4.4 (root at thor) (gcc version 2.95.2 19991024 (release)) #2 Thu May 30 14:57:53 CEST 2002 USB uCode patch installed On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram rw init=/sbin/init ip=194.95.133.100:194.95.133.21:194.95.133.126:255.255.255.128 ram disk_size=8192 Decrementer Frequency: 3125000 Calibrating delay loop... 49.86 BogoMIPS Memory: 12516k available (1092k kernel code, 456k data, 56k init, 0k highmem) Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd v1.8 CPM UART driver version 0.03 ttyS0 on SMC1 at 0x0280, BRG2 pty: 256 Unix98 ptys configured Found 2x16bit 4MByte CFI flash device of type AMD/Fujitsu standard at 4000 Registered flash device /dev/flasha (minor 0, 4 partitions) Found 2x16bit 4MByte CFI flash device of type AMD/Fujitsu standard at 4040 Registered flash device /dev/flashb (minor 8, 2 partitions) block: queued sectors max/low 8224kB/2741kB, 64 slots per queue RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx PCMCIA slot B: phys mem e000...ec00 (size 0c00) No card in slot B: PIPR=ff00ff00 eth0: CPM ENET Version 0.2 on SCC2, 00:d0:93:00:03:c6 RAMDISK: Compressed image found at block 0 Freeing initrd memory: 1952k freed usb.c: registered new driver usbdevfs usb.c: registered new driver hub m8xxhci: initializing controller m8xxhci_setup() usb.c: new USB bus registered, assigned bus number 1 m8xxhci_start_controller() m8xxhci: MPC823e (mask 1) m8xxhci: USING CLK4 for USB clock!
Can I run Linux without a file system?
There are people here who can help you more than I, but I'll take a gander. This is what I believe to be correct: Yes. You will always have SOME kind of filesystem. But this begs another question. How much do you know about Linux, and what are you really asking? The /proc filesystem is not really on any disk, just like /dev (I think) isn't on any disk, though they look like to us users that they are filesystems. If you want to run a program, where will it come from? There are filesystems made for RAM, like cramfs or ramdisks, or flash filesystems complete with wear-leveling. Maybe you can just jump to an offset and start executing code if all you have is just a kernel and a program. If that is the case then maybe you'll have to call your program 'init' or change the source of the kernel to invoke your program. Does this help? I reserve the right to be wrong. -Original Message- From: Tim Lai [mailto:[EMAIL PROTECTED] Sent: Friday, June 21, 2002 11:09 AM To: linuxppc-embedded at lists.linuxppc.org Subject: Can I run linux without a file system? I am porting linux on a custom board. I am using the bootrom to load vmlinux onto RAM, and I am in the middle of getting the console/ serial driver to work. All the documents I read have refer the console as /dev/ttyS, and state that to communicate to the console, I have to set it up with open(/dev/ttyS). Does that means I have to have some sort of file system in linux? Thanks. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
USB working on 823..?
Well, at least with the 832e, you can't. The 823e was made for Kodak in the dawn of USB, before there was the standard that we have today. As a result, there is a bug in the host mode of the chip. Slave works fine though. You'll need another chip to do USB host. I reserve the right to be wrong. -Jason -Original Message- From: navinb [mailto:[EMAIL PROTECTED] Sent: Thursday, May 16, 2002 9:56 AM To: linuxppc-embedded at lists.linuxppc.org Subject: USB working on 823..? Hello , Has anybody got usb working successfully on mpc823. I am trying hard to get the usb host controller properly working on 823.. are there any know issue or patches available..? Best Regards, ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
USB working on 823..?
Well, the host mode is somewhat workable, BUT it is my understanding that you have to write software for specific devices. That is to say, you will need to have an approved slave list, and write code to talk to each slave specifically. Please let me know if I am incorrect, as we are about to finish a board layout with extra USB host chips just to do host. If we could get it working reliably and so any USB device can be attached with the generic USB drivers, it would be a Good Thing(tm) and very much appreciated! Thanks for the info correction! I reserve the right to be wrong. -Jason -Original Message- From: Dan Malek [mailto:[EMAIL PROTECTED] Sent: Thursday, May 16, 2002 12:34 PM To: Hihn Jason Cc: 'navinb'; linuxppc-embedded at lists.linuxppc.org Subject: Re: USB working on 823..? Hihn Jason wrote: Well, at least with the 832e, you can't. With the 823e, you _can_ :-) The 823e was made for Kodak in the dawn of USB, You are getting your 823 and 823e mixed up. The original 823 was produced as you said, and to only support a slave USB interface. In limited cases, the 823 could support a host interface, but it was tricky with lots of software timing issues to solve. The 823e, and newer 850 (Rev. B) processors have some modifications to better allow USB host support. These require some external support (looping a clock back to the I/O pin) and the downloading of a microcode patch for properly generating SOF timing. The 823e has other nice features, like bigger caches and more control over the LCD DMA. -- Dan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Position available for 8xx series programmer
Hello all, Danfoss Inc (www.danfoss.com) a world leader in industrial automation, has a position available for an Embedded PPC software engineer in Baltimore, MD. This position requires low-level experience with the 8xx series processors. Embedded Linux in particular, but any Linux experience is desired, but not required. Anyone interested is encouraged to contact my boss, Henrik Christensen at: HenrikChristensen at Danfoss.com or (410)931-6778 x4254 I look forward to working with you in the future. Sincerely, Jason Hihn Danfoss RD ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/