USB OTG for class MSD in K60F120M

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

USB OTG for class MSD in K60F120M

Jump to solution
904 Views
anjalishyju
Contributor III

Dear all ,

     I need to implement USB OTG  for class MSD in K60F120M. Please help.

1 Solution
622 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi ,

Actually I don't understand why you could find USB_ID pin on Kinetis , Actually the Kinetis USB controller IP has USB OTG capability and it could support USB_ID pin signal status detection. While during USB related circuit design, our product design team think the USB_ID pin could be removed and customer can use another GPIO or another way replace this pin (such as using I2C communication with MAX3353 chip). The K60 document USB related info should be updated to mask/notice that USB ID signal status bit in USB status register couldn't be used although it does exists in related registers. Sorry for our document issue may bring any inconvenience to you.

For Kinetis USB module does not provide external USB_ID pin, this USB module doesn't provide related ID interrupt function. If customer want to use Kinetis USB OTG function, it need to add external USB OTG charge pump MAX3353. The ID status can get from MAX3353 register by I2C communication. During the USB application, customer need to read MAX3353 status register to get ID signal. Then based on ID signal to determine start USB controller as USB host or USB device. Wish it helps.

If use USB OTG function, it must to use external USB OTG PHY(such as MAX3353E). For MAX3353E provide dual direction of VBUS and can support USB OTG session request protocol (SRP) and host negotiation protocol (HNP).

I know only K70F120M is supported by USB stack ver 4.1.1, but as MK60FN1M0VLQ12 is a Kinetis 120MHz part as well, so I think it should be easy to porting the K70 demo to MK60FN1M0VLQ12.

Hope that helps,


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

4 Replies
622 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Anjali Shyju,

The Freescale USB Stack ver 4.1.1 supports OTG and it provides MSD example as well, please kindly download it from https://www.freescale.com/webapp/Download?colCode=USB_STACK_V4.1.1&prodCode=MEDICALUSB&location=null..., and you may find the msd demo in the following folder after installation:

result.png

This demo is for K70F120M, but I think it should be easy to port it to K60F120M as they are both Kinetis 120MHz part.

You may also refer  to USB Stack for more details.

Hope that helps,


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
622 Views
anjalishyju
Contributor III

Already downloaded the same..But it was for Bare-board..

I need to implement it in MQX..

But from Freescale USB Stack v4.1.1 Release Notes, the On-The-Go Supported Platforms are MKL25Z,PK20X128VLH, MK20DX256VLL7, PK21DN512, MK40N512VMD100,

MK40DX256VLL7, MK53N512CMD100, MK60N512VMD100,PK70FN1M0VMJ12.

But we have only  MK60FN1M0VLQ12 & MK20DX256VLL7 Kinetis evaluation boards..

USB_ID pin differentiates  between USB Host & Device in OTG. But it is Not Connected in our evaluation boards.

Should I proceed with flashing the code in K60 eval board?

0 Kudos
623 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi ,

Actually I don't understand why you could find USB_ID pin on Kinetis , Actually the Kinetis USB controller IP has USB OTG capability and it could support USB_ID pin signal status detection. While during USB related circuit design, our product design team think the USB_ID pin could be removed and customer can use another GPIO or another way replace this pin (such as using I2C communication with MAX3353 chip). The K60 document USB related info should be updated to mask/notice that USB ID signal status bit in USB status register couldn't be used although it does exists in related registers. Sorry for our document issue may bring any inconvenience to you.

For Kinetis USB module does not provide external USB_ID pin, this USB module doesn't provide related ID interrupt function. If customer want to use Kinetis USB OTG function, it need to add external USB OTG charge pump MAX3353. The ID status can get from MAX3353 register by I2C communication. During the USB application, customer need to read MAX3353 status register to get ID signal. Then based on ID signal to determine start USB controller as USB host or USB device. Wish it helps.

If use USB OTG function, it must to use external USB OTG PHY(such as MAX3353E). For MAX3353E provide dual direction of VBUS and can support USB OTG session request protocol (SRP) and host negotiation protocol (HNP).

I know only K70F120M is supported by USB stack ver 4.1.1, but as MK60FN1M0VLQ12 is a Kinetis 120MHz part as well, so I think it should be easy to porting the K70 demo to MK60FN1M0VLQ12.

Hope that helps,


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

622 Views
anjalishyju
Contributor III

Thank You very much for your valuable Info...

0 Kudos