FW: [linux-usb-devel] General USB Hub question and 832e question

2002-09-13 Thread Hihn Jason

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

2002-08-27 Thread Hihn Jason

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

2002-08-27 Thread Hihn Jason

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

2002-08-26 Thread Hihn Jason

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

2002-08-23 Thread Hihn Jason

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

2002-08-22 Thread Hihn Jason

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

2002-07-24 Thread Hihn Jason

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?

2002-07-12 Thread Hihn Jason

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

2002-07-12 Thread Hihn Jason

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?

2002-06-21 Thread Hihn Jason

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..?

2002-05-16 Thread Hihn Jason

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..?

2002-05-16 Thread Hihn Jason

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

2002-05-02 Thread Hihn Jason

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/