ng the
> following warnings from the compiler:
>
[...]
>
> Do you know how I can resolve this?
>
ioremap() the memory area for the UDC registers and use an __iomem
cookie.
Lothar Wassmann
--
___
Ka-Ro electronics GmbH | Pas
> morph (0|bits) into 0 so the test succeeds.
>
Unless the chosen bit happens to be 'GPIO_IN', which is defined as 0.
Lothar Wassmann
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easie
Hi,
> + if (mach->gpio_pullup)
> + pxa_gpio_set(mach->gpio_pullup, 0);
[...]
> + if (mach->gpio_pullup)
> + pxa_gpio_set(mach->gpio_pullup, 1);
>
What if a hardware designer chooses to use GPIO '0' for one of these
functions
list (like
> in UHCI) which allows to link transactions that will make up a single frame.
> There's no change bit report, no root hub, only one port.
>
> I'm wondering if it's possible to write a driver with such hardware using
> usbcore...
>
Have a look at driv
Hi,
Michael Kelly writes:
> At 06:24 AM 6/30/2005, Lothar Wassmann wrote:
> >Hi,
> >
> >Michael Kelly writes:
> > > Bill,
> > >
> > > One issue with the PXA255 edge triggering is that you need
> > > to be sure you poll the state of the int
d when another interrupt
condition exists when interrupts are reenabled.
The ISP116x interrupt handler does it this way.
Lothar Wassmann
---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple t
e PXA requires a minimum pulse width of 1 microsecond (Chapter 4-12
of the PXA255 Developers Manual) on a GPIO pin for proper edge
detection. The ISP116x generates a pulse of 167ns in edge triggered
mode. Thus you cannot use the edge triggered mode of the ISP116x with
a PXA processor.
Lothar Wassmann
---
lower 5 bits) and the
interval in the PTD and the chip will only submit the PTD when the
lower bits of the current frame number match the Starting Frame bits
in the PTD. This is just like OHCI does.
Lothar Wassmann
---
This SF.Net email is sp
scheduled without CPU intervention (as long as they
are NAKed by the device). Thus the SOF interrupt is not necessary for
INT transfers.
Lothar Wassmann
---
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
a proje
ason.
>
> Should I be setting the IRQ falling/rising edge with set_irq_type?
>
It should of course match the 'int_act_high' setting in the
platform_data.
Lothar Wassmann
---
This SF.Net email is sponsored by: NEC IT Guy Game
ip generates in 'edge triggered mode' may be too short to
be detected by the CPU (which is e.g. true for PXA2xx).
Lothar Wassmann
---
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your b
Andre Renaud writes:
> On Fri, 2005-04-22 at 09:21 +0200, Lothar Wassmann wrote:
> > What type of memory access do you use? I'm using VLIO with the MSC
> > setting 0x7f8c at 99.53MHz memclk. This is probably the only setup
> > that can guarantee the chips timing requi
When this delay macro is undefined insw/outsw will be used, with the
macro defined (even if empty) a loop around read_data16/write_data16
will be used like in your case.
Lothar Wassmann
---
SF.Net email is sponsored by: Tell us your software dev
oping
> with modules makes more sense.
>
If a module cannot be unloaded or behaves differently after reload it
most likely did something fishy that you probably would never notice
when building the driver into the kernel.
Lothar Wassmann
---
u still have
problems with the access timing) or by clearing the interrupt
condition outside the interrupt handler.
You could try to reread the status register to make sure you don't
read bogus values.
Can you send a complete log of the messages?
Lothar Wassmann
--
isp1362_read_data16(isp1362_hcd);
> +*dp++ = (u8)data;
> +len--;
> +}
> +#endif
> }
The '(len > 0)' case should be the same under all circumstances, so
the '#endif' could be placed right before it.
Lothar Wassmann
flash memory, but
> never mind, it works.
>
The main portion of the delay is probably accounted for by flushing
and refilling the memory controllers pipeline.
Thus the latency of the memory controller is the important factor, not
the cycle time of an individual cycle.
hz memory clock, an uncached read
> from SDRAM can theoretically take ~70ns right?
>
An SDRAM memory cycle may be 70ns, but UNCACHED_PHYS_0 is mapped to
phys addr 0x which is the static CS0 (usually FLASH ROM) on
PXA2xx.
Lothar Wassmann
e that the access is actually
done.
> after this you do not need some looping to ensure a ~460ns delay.
> On a PCA-263 with the core clock at 500Mhz, I am using the
> following code:
>
I'm getting ~700ns delay with the UNCACHED_PHYS_0 access alone.
Lothar Wassmann
--
requirements.
Be aware that VLIO uses nPWE instead of nWE as write strobe.
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which produc
ERCTR is only required
when accessing the buffer through the ATL/INTL/ISTL PORT registers.
Lothar Wassmann
---
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
cr
you need additional delays between each
access that should not be a problem.
The crucial point is the delay between writing the addr reg and
accessing the data reg. This delay of 300ns/462ns most probably cannot
be accomplished with the setup of the memory controller alone.
Lothar Wassmann
ether
CLKRDY should be asserted after software reset. It says the chip is
put into USB_SUSPEND state after asserting HCR. CLKRDY signals the
wakeup of the chip from suspend mode.
Does it work, if you don't check for CLKRDY?
Maybe Olav can comme
necessary delay, so that no extra software delay was
necessary.
Lothar Wassmann
---
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and
mach-lh7a40x/arch-oscar.c file, where I
> specify that I have this platform device.
>
Aaargh. It was some last minute cleanup that lead to this crash. I
only compiled with CONFIG_USB_DEBUG disabled after this change which
disables the BUG_ON() checking.
Lothar Wassmann
--- linux-2.6.11-mm2/dr
es the influence of the file systems drivers and caches.
It also eliminates the need to mount the file system and create a
testfile.
HTH,
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on h
automagically
ensures the necessary delay).
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start
doing some cleanups and will post it hopefully within the
next days (or maybe hours...).
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover
the controller will spread the packets across multiple
frames without errors. There is normally no need to check the
allocated frame time by software.
Nevertheless I tried to move the SETUP transfer away from the
end of the frame by checking the HcFmRema
sent attached, of course.
>
> Please let me know, if you want me to resend the patch.
>
No thanks, not necessary. There were only few lines that needed manual
care.
Lothar Wassmann
---
This SF.net email is sponsored by: 2005
;feature" of the PXA UDC
hardware.
Can anyone comment on this?
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly l
rivers/usb/host/Kconfig 2005-03-18
> 18:19:08.0 +0200
> @@ -49,6 +49,19 @@ config USB_EHCI_ROOT_HUB_TT
>
^
here should be a space.
I think this:
|Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
've got some new hardware with an ISP1362 here and just started to
adapt the 116x driver for it.
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users
->data_reg = ioremap(data->start, resource_len(addr));
+ sl811->data_reg = ioremap(data->start, resource_len(data));
if (sl811->data_reg == NULL) {
status = -ENOMEM;
goto fail;
dev->intl_queue.num_bufs = 1;
> dev->intl_queue.blk_size = 64;
>
> That seemed to fix it. Performance isn't a big issue, so I think
> this will be okay.
>
It's not a workaround, it's The Solution(TM) ;-)
Lothar Wassmann
-
Hi David,
> On Friday 17 December 2004 6:53 am, Lothar Wassmann wrote:
> > Hi David,
> >
> > > On Friday 17 December 2004 1:51 am, Lothar Wassmann wrote:
> > > > > xfer_size = ptd_xfer_size(ptd_q, xfer_type, len);
> > > > > printk
Hi David,
> On Friday 17 December 2004 1:51 am, Lothar Wassmann wrote:
> > > xfer_size = ptd_xfer_size(ptd_q, xfer_type, len);
> > > printk("len = %d, xfer_size = %d, mps = %d, xfer_type = %d\n",
> > > len, xfer_size, mps, xfer_type);
>
Hi Michael,
> Hi. I'm using the ohci-isp1362 driver, and I'm finally getting it
> working. However, I can make it crash every time I use a
> usb-serial adapter.
>
> I seem to trigger the BUG_ON(xfer_size < mps) in process_td.
> (ohci-isp1362-emu.c) It seems the null pointer dereference is
> cau
WARN_ON(1);
> return;
> }
>
> Why is the warning/error generated and how to avoid this?
>
TD_BUSY is set, when the driver starts processing a TD and reset after
it has been released to the OHCI HCD. So if it
s?
>
The driver sets this condition code to mark TDs that he is already
processing to avoid reprocessing them.
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products fr
'm using virtual addresses for any of these.
> I didn't change that aspect, at any rate.
>
So your architecture has virtual == real addresses for main memory?
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guid
9}
>
What's the value of td->hwNextTD? Since you are oviously using virtual
addresses in hwNextED (according to your hexlified dbg output), I
suspect that hwNextTD also is a virtual address in which case
dma_to_td() cannot return any reasonable result.
Lothar Wassmann
anyway.
It's some leftovers of debugging.
> That's too bad. I'm assuming that's because it works as well as
> your customer needs it.
>
That's right.
Lothar Wassmann
---
SF email is sponsored by - The IT Pr
ked.
>
It's basically the version that is working for a customer. I only
started to do some cleanup which obviously broke some things that were
correct before.
The problem is that I don't have time to spend on this driver at the
moment. At least not at work. :(
Lothar Wassmann
fields with the DMA controller which is how it is supposed to
be.
Lothar Wassmann
---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly li
ourse make the 116x patch apply to your then
> latest driver version.
>
Yes, I'd like to get your patch. I hope to find some time in between
projects to merge it with my code.
Lothar Wassmann
---
This SF.Net email is sponsored
ml that reflects my
latest changes that hopefully will help you to get things working.
Unfortunately I'm working on something completely different now, so
that I can't invest much time in this driver right now. :(
Lothar Wassmann
TDs and
> emulating the behaviour of 1362 (emulate the emulation... this is
> getting more and more complex!)
>
I think 1) is the best solution. The 1362 has some significant
advantages over the 116x that I wouldn't want to sacrifice for
code compatibility with the 116x.
Lothar Wassmann
field wasn't being set!
>
This field is set by the standard OHCI driver through the function
periodic_reinit() defined in ohci.h and called from hc_start().
The value written to fminterval is initialized in hc_reset().
Lothar Wassmann
---
programs the
controller registers instead of creating the TDs for bus master access
(that we can't use directly anyway).
Lothar Wassmann
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your
e/hcd-.c so that the remaining code in
ohci-isp1362.c will be completely architecture independent.
Lothar Wassmann
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you th
0 due to
> asserted hw-reset pin. Hardware reset preformed above in
> the same function occurs correctly. Must this call really be
> there for 1362?
>
hw_reset is deasserted in isp1362_start_chip() before the chip is
accessed. So it should not matter that the reset is asserted again
in
age, so that I wouldn't try finding a software bug
when actually the hardware was misbehaving. All necessary power on
reset delays etc. should be done in the platform specific
hw_reset() function.
Lothar Wassmann
---
This SF.net email is spo
e = "isp1362-ohci",
.id = 0,
.num_resources = ARRAY_SIZE(ohci_isp1362_resources),
.resource = ohci_isp1362_resources,
.dev = {
.platform_data = &ohci_1362_data,
e same
> number (0x600) as 'RW'... And while RW is R+W masks together, why have
> the same thing with another name?
>
REG_ACCESS_MASK can be used to isolate the access mode bits from the
register specification just like REG_NO_MASK isolates the register
number.
Lothar Wassma
ding it.
>
I'm missing this attachment.
There were only three attachments:
usb-ohci-emu-debug
usb-ohci-emu-kconfig
usb-ohci-emu-rejects
Lothar Wassmann
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT pr
Hi Olav,
I finally managed to incorporate your patch for the ISP116x register
definitions into my sources (there should be more weekends in a week
;) and have put the updated files on the website:
http://www.karo-electronics.de/index.php?id=132
Lothar Wassmann
my platform it didn't make sense to use spinlocks since it isn't
SMP capable. But if the driver is going to be used on SMP capable
platforms too, it doesn't hurt to use spinlocks generally.
Lothar Wassmann
---
This SF.net ema
ci_dbg() calls.
Lothar Wassmann
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to fi
hci register accesses from
readl/writel() instructions to using macros that provide the
possibility to emulate registers that are not supported by the
hardware.
The 2.6.8 code directly wrote the hardware registers for every 'case'
of the switch() statement. T
,v) ohci_write_reg(hc, fminterval, v)
#define ohci_write_fmremaining(hc,v)ohci_write_reg(hc, fmremaining, v)
#define ohci_write_fmnumber(hc,v) ohci_write_reg(hc, fmnumber, v)
#define ohci_write_periodicstart(hc,v) ohci_write_reg(hc, periodicstart, v)
#de
es. You can find the current state of my work on:
http://www.karo-electronics.de/132.0.html
I've got so far, that the driver recognises and works with a mouse and
recognises an SD card reader, but fails to read data from the SD
card.
Lothar Wassmann
--
sent out the code and already modified my
local sources accordingly.
Lothar Wassmann
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opi
readw/writew fucntions???
>
Switching from read*/write* to in*/out* is just a matter of redefining
the basic access macros *_WRITE_ADDR, *_READ_DATA16 and *_READ_DATA32.
Lothar Wassmann
---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be
s)) | PTD_LAST_ISO(last) | PTD_SPD(spd) |
PTD_MPS_H(mps);
over:
PTD_SET_EP(ptd, ed_en(ed_flags));
PTD_SET_LAST_ISO(ptd, last);
PTD_SET_SPD(ptd, spd);
...
But we can also add the macros for setting individual fields of a PTD
header.
Lothar Wassmann
---
of what's going on.
>
> This is part of a project at work, so I can spend quite a bit of time
> on it. Instead of working on my own, can I do anything to work with
> you guys on this?
>
What platform are you using?
Lothar Wassmann
-
ld have a look at drivers/usb/core/hcd-pci.c. That's where
part of my code in ohci-sl811.c comes from. ;)
Lothar Wassmann
---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FRE
IT 0' takes care of this
- fixed some typos
- the read/write_buffer function takes care of buffer alignment and
should handle leading/trailing bytes correctly. At least on the 1362
that has "Direct Adress" mode to access the internal buffers.
I also fixed some bugs in the SL811 code
upt when reenabling
interrupts at the end of the handler.
Lothar Wassmann
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://a
n this through all the "usbtest" code, and seen
> that it behaves OK for the transfer types you support? (And
> fails cleanly for ISO.)
>
Not yet. I only recently figured out how to use the framework. I'll do
it as soon as I find some time for
4ns for PXA270 (from "PXA270 Electrical, Mechanical and Thermal Spec.")
Lothar Wassmann
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic
t have released my kernel
patches to the public. Now I'm working on a driver for the ISP1362
which should be the same as the 1160 wrt the host controller
funcionality. So, maybe we should join our efforts.
Lothar Wassmann
---
This SF.Net email
ader, WLAN adapter,...
Lothar Wassmann
ohci-emu.patch.gz
Description: Binary data
same size as the original operands!
+ */
+#define tick_before(t1,t2) ((s16)(((s16)(t1)) - ((s16)(t2))) < 0)
/* there are some urbs/eds to unlink; called in_irq(), with HCD locked */
static void
--- end of patch ---
Lothar Wassmann
---
T
74 matches
Mail list logo