Kinetis K40 USB OTG

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kinetis K40 USB OTG

Jump to solution
3,042 Views
jay123456789
Contributor I

Hello All,

 

Kinetis is a new part and I am trying to use it for a new design.  The peripheral that I have question on is the USB OTG.  According to the standard, USB OTG receptacle should have an ID pin to identify if connected device is an A or B device.  However, such a pin is missing from K40.  So, how does K40 knows when to be a host or when to be a device?  Does it default as to a host operation all the time?  If that is true, what happen when another default host OTG  gets connected to it?

 

Any response is appreciated.  If responses are not relevant, please at least make them funny.

 

Regards,

Jay Wong

0 Kudos
1 Solution
1,109 Views
Jack_at_Oxigraf
Contributor III

no you do not have to have an additional chip or use an I2C.. but do have to munch the pin state.  see the doc link and search for OTG in the KQRUG and app notes.

K40_100 Product Summary Page

View solution in original post

0 Kudos
5 Replies
1,109 Views
Jack_at_Oxigraf
Contributor III

After digging thru the docs,  you just route the ID pin to a GPIO pin on the K40. there are examples in the KQRUG document and application notes.

See:K40_100 Product Summary Page

1,109 Views
Jack_at_Oxigraf
Contributor III

Same question here.... hello Freescale..are you there?

 

0 Kudos
1,109 Views
lim2669
Contributor I

Kinetis uses the USB module from Coldfire. Take a look at Page 6 of AN3324 for OTG implementation.  Pull/Pull down resistors on D+ and D- as well as the ID pin is taken care by the MAX3353 which communicates with the core via I2C.

0 Kudos
1,109 Views
dmarks_ls
Senior Contributor I

Wow... so for actual OTG support, I have to add an additional IC, munch an IRQ pin, and munch an I2C interface?  That's pretty short-sighted on Freescale's part.  I'm doing a schematic pinout selection on the K60, and I noticed there wasn't a dedicated ID pin, thought maybe it was only present on the big pin count devices... nope.  There's a pin for it on the Tower Elevator, but the K60 Tower board doesn't connect to it.

 

To be fair, I suppose Freescale would contend that if you're not doing high speed (for which you would need an external ULPI PHY anyway), then you probably don't care about true OTG.  And in my case that's true, we're probably just going to be a full-speed device, for this project anyway.  Still, rather strange that Freescale wouldn't put an ID pin on the part.  Oh well.

0 Kudos
1,110 Views
Jack_at_Oxigraf
Contributor III

no you do not have to have an additional chip or use an I2C.. but do have to munch the pin state.  see the doc link and search for OTG in the KQRUG and app notes.

K40_100 Product Summary Page

0 Kudos