Hi,

On Mon, 21 Sep 2009 00:01:41 +0300, Igor Stoppa wrote:
> On Sun, 2009-09-20 at 22:56 +0200, ext Kees Jongenburger wrote:
> > On Sun, Sep 20, 2009 at 9:02 PM, Igor Stoppa wrote:
> > > Add to that several HW bugs that were discovered during the
> > > development
> > > and needed workarounds.
> >
> > Does this simply mean it's not possible at all? not even for example
> > booting in HOST only mode?
>
> AFAIK no. Not even that. Note that i'm no USB expert, but if i have
> understood correctly, part of the configuration is done
> automatically by the transceiver and that cannot be done because of
> the missing line from the connector that would identify the port as
> A type.

I'm no USB expert either but given what i already know about it, i
think more hardware information is needed to be able to give a final
verdict on the N900 usb host mode functionality. I'm not talking here
about perfectly correct standards implementation or certification
issues though i personally would prefer to have a working hostmode
implementation to having a useless usb logo on the box.

So, a bit of theory first:

1. n810 analogy doesn't work here since n810 uses a dedicated usb
controller (tusb6010b) along with a power management ic (tps65030)
while n900 uses an integrated Mentor Graphics OTG controller (musb
mhdrc) and other components still unknown to the general public.

2. For "true" OTG operation a dedicated line should be routed from the
"ID" pin of receptable to the MUSB core.

3. For a device to act as a slave a "strong" 1.5k pullup should be
connected to the DP line, this way a slave signals its presence.

4. For a device to act as a host two 15k pulldowns should be connected
to DM and DP lines. If actual hardware lacks those, they can be easily
connected externally, along with the peripheral equipment.

5. MUSB has output pins to control the necessary resistors and
external circuits to provide power on Vbus.

6. Even in traditional usb-host <-> usb-device scenario power on the
5V line can come from either side, one can e.g. modify a powered hub
in a way to provide power both to the host and to the peripherals, and
since host charging circuit is generally independent from the usb
controller, one most likely can use a hub like that to charge host and
to enable usage of slave devices at the same time. Probably current
musb driver doesn't support this scenario yet but it shouldn't be hard
to implement.

7. I can't tell for sure because MUSB "datasheet" looks like a parody
but it seems highly unlikely that it's impossible to manually switch
musb to the host mode.

Now, the questions:

0. Is there any real show-stopper to use USB host mode?

1. Does n900 have an integrated curcuit to provide power to the
external devices over usb and if yes, what is it and how is it
connected/controlled?

2. Does n900 have the necessary 15k pulldowns in place?

3. Is it indeed the connection between the ID pin on usb receptable
and musb that is missing? It'd look strange to not route that line,
even if the hostmode/otg is not fully functional, it's only one
possibly useful line after all.

4. What HW bugs you mentioned are still present in the mass-produced
devices, how do they affect usb operation?

5. Since musb driver doesn't seem to be in a particularly good shape,
is it possible that some problems nokia engineers faced are software
issues and hence can be fixed? What were they?

Looking forward to your reply, TIA :)
Happy hacking!
--
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercer...@gmail.com
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to