SD Card uSDHC CD_B Pin Problem

cancel
Showing results for 
Search instead for 
Did you mean: 

SD Card uSDHC CD_B Pin Problem

Jump to solution
455 Views
atillametetured
Contributor V

Hello,

On our custom board (imx6q) we skipped the fact that when not used CD_B pin should be grounded. We have no means to alter this pin physically. On this port we have SD Card connector witch CMD, CLK and D[0..3]. 

Now, I wish to ask, am I doomed? Can I still somehow force controller belive that there is a card inserted even though we left the designated pin (CD_B) floating?

I greatly appreciate any help on this subject since this is very critical for booting of our custom board. Please someone come up with a solution.

Thanks in advance,

Mete

Labels (2)
1 Solution
172 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Yes, either option should theoretically work. The main problem with the internal pull down option is that it may not be enough to set state so maybe you can do a couple of tests.

The SW override option should work but please keep in mind that you would need to do the card initialization with the card inserted in order for it to work correctly. In this initialization speed and other variables are determined. This is important especially if you plan supporting different cards. You would need to reset the module or force the initialization before reading the card.

Regards,

View solution in original post

5 Replies
172 Views
atillametetured
Contributor V

Going around the ref manual a bit, I bumped into a probable solution. Can I set CDSS = 1 and CDTL = 1 of uSDHCx_PROT_CTRL register to make iMX believe that there is a card inserted all the time.

Another solution I can come up with is, can I perhaps enable the PD on CD_B pin and fake card existence?

Help please. 

173 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Yes, either option should theoretically work. The main problem with the internal pull down option is that it may not be enough to set state so maybe you can do a couple of tests.

The SW override option should work but please keep in mind that you would need to do the card initialization with the card inserted in order for it to work correctly. In this initialization speed and other variables are determined. This is important especially if you plan supporting different cards. You would need to reset the module or force the initialization before reading the card.

Regards,

View solution in original post

172 Views
atillametetured
Contributor V

Hello Gusarambula,

Thanks for your rapid reply. So you advise the option with the uSDHCx_PROT_CTRL manipulation is the better of two, am I right? 

You said I need to init the card before it can work properly. So lets assume each time the cpu boots the card is already inserted and at each boot I perform card initialization and do not remove/insert any other card as long as the processor is not reset. Do you see any problems with this?

I think why you mention this might be a problem is I never get the interrupt from CD_B so I never realize card removal or insertion which is obvious. But the way I described it, I never need to sense any removals or insertions. And I can just init whatever card is present as a regular task of the boot process and as long as the card inserted doesnt chage during run time, etc not hot swapped, I avoid problems. Can you confirm this?

Thanks in advance,

Mete

172 Views
atillametetured
Contributor V

Dear Gusarambula,

This helps. Thank you very much.

Regards

0 Kudos
172 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Correct, if you do not need to remove the SD card after booting you may do as you suggest and you shouldn’t have issues that I’m aware of, although you wouldn’t have the full functionality of being able to replace the SD card while the board is running.

Regards,