- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
My customer has some question about drive strength for storage port (S0) with SD3 (CYUSB3025-BZXI).
Could you give me your comment for the question?
Question#1.
What is default drive strength for S0 port? (Half strength? or Three quarter strength?)
Question#2.
Can be the drive strength changed by USB host during system operating?
Question#3.
Can you please let us know how to change the IO drive strength in firmware?
Regards,
Jake
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Jake,
1) What does it mean default value 2 in S0DS[1:0]? (Half strength? or Three quarter strength?)
>> Apologies for the confusion. You can follow the details mentioned latest FX3 TRM (rev *F) https://www.cypress.com/file/134661/download. The default IO Drive strength will be 2 - Half strength
2) As per FX3 TRM, the S-port I/O drive strength is programmable similar to any other I/O pin as discussed in 4.1.2 I/O Drive Strength on page 53.
what is file located for IO drive strength configuration?
>> To change the drive strength of the S port you need to write to the register GCTL_DS. The project does not contain the API for doing that. You can use CyU3PWriteDeviceRegisters/CyU3PReadDeviceRegisters APIs to write/read to the register. The register can be written with different drive strength in firmware
You can refer to the source of this CyU3PSetGpioDriveStrength API to get more details on writing to the register. Similarly, you can set particular bits of the GCTL_DS register according to your application
Please let me know if you have any queries on this
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Jake,
Please find the comments below
Question#1.
What is default drive strength for S0 port? (Half strength? or Three quarter strength?)
>> Please refer to section 10.4.4 of FX3 TRM. It mentions about the GCTL_DS register. You can also refer to this thread Solved: what is the default state of CyU3PDriveStrengthSta... - Cypress Developer Community
Question#2.
Can be the drive strength changed by USB host during system operating?
>> SD3 datasheet mentions that all I/Os can be driven at full-strength, three-quarter strength,
half-strength, or quarter-strength. These drive strengths are configured based on each interface.
Question#3.
Can you please let us know how to change the IO drive strength in firmware?
>> The drive strength can be changed by writing to the GCTL_DS register.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi
Thank you for your comment.
I have additional questions.
Question#1. the below shown image is GCTL_DS register in FX3 TRM and indicates default value of S0DS[1:0] to 2.
The default value 2 indicates "Half Strength".
However, 2 as the value in firmware code you mentioned seems to be Three quarter strength.
described comment in FX3 TRM is wrong as typo?
What does it mean default value 2 in S0DS[1:0]? (Half strength? or Three quarter strength?)
Quetion#2.
I am looking at example code (FX3MassStorage.zip) . EZ-USB® FX3S SD/MMC Backed Mass Storage Class Example (cypress.com)
what is file located for IO drive strength configuration?
(I am still trying to find the header file to change IO drive strength .)
Regards,
Jake
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Jake,
1) What does it mean default value 2 in S0DS[1:0]? (Half strength? or Three quarter strength?)
>> Apologies for the confusion. You can follow the details mentioned latest FX3 TRM (rev *F) https://www.cypress.com/file/134661/download. The default IO Drive strength will be 2 - Half strength
2) As per FX3 TRM, the S-port I/O drive strength is programmable similar to any other I/O pin as discussed in 4.1.2 I/O Drive Strength on page 53.
what is file located for IO drive strength configuration?
>> To change the drive strength of the S port you need to write to the register GCTL_DS. The project does not contain the API for doing that. You can use CyU3PWriteDeviceRegisters/CyU3PReadDeviceRegisters APIs to write/read to the register. The register can be written with different drive strength in firmware
You can refer to the source of this CyU3PSetGpioDriveStrength API to get more details on writing to the register. Similarly, you can set particular bits of the GCTL_DS register according to your application
Please let me know if you have any queries on this
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Rashi
Thank you so much for your prompt reply and supporting.
understood. I will try to do it.
Regards,
Jake