About SDa_RST_B (SD3_RST) signal in i.MX6.

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

About SDa_RST_B (SD3_RST) signal in i.MX6.

Jump to solution
3,626 Views
keitanagashima
Senior Contributor I

Dear Sir or Madam,

Hello.

Refer to i.MX6Q SABRE-AI schematic.

P3V3_Sda_SWITCHED controlled by SDa_RST(SDa_PWROFF) signal.

How does SDa_RST switch over?

There is RST pin in SD3, SD4. But there is not RST pin in SD1, SD2.

When using UHS in SD1, SD2 channel, how should one set SDa_RST?

Best Regards,

Keita

Labels (5)
1 Solution
2,485 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
13 Replies
2,486 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!
0 Kudos
2,487 Views
karina_valencia
NXP Apps Support
NXP Apps Support

prakashbhumireddy-b46730‌ I suggest to create a new thread and add this link as  a reference.

0 Kudos
2,487 Views
prakashbhumired
NXP Employee
NXP Employee

Sure, I will create a new one.

Thank you!

0 Kudos
2,487 Views
Clay_Turner
NXP Employee
NXP Employee

Keita-san,

The circuit shown in the SABRE-AI schematic implements a way to cycle power to the SD card if SDx_RST occurs. Some cards do not have a reset signal and if they become out of sync with the controller, the only way to reset them is to cycle power to the card.

The circuit (page 18) called "Debug LED and SDXC Power Control Inverter" takes the SDa_RST_B signal (which is SD3_RST on the AI board) and uses Q507 to invert it to become SDa_POWEROFF. That signal then goes to a power switch (Q506) that takes the P3V3_DELAYED (which is always on) and generates P3V3_SDa_SWITCHED, which is on unless SDa_RST_B is asserted.

The duration of the SDa_RST_B assertion is pretty short so to assure that the power supply to the card discharges quickly, the circuit "SDa SLOT POWER DISCHARGE FOR RESET" on page 18 shorts the P3V3_SDa_SWITCHED supply to ground through a 120 ohm resistor while the supply is switched off. This will rapidly discharge and connected bulk capacitors. When the supply is switched back on, the resistor is disconnected.

If you want to implement something similar on SD1/SD2, you would have to use a GPIO as the SD_RST. If you need this reset capability, Freescale recommends using either SD3 or SD4 for that implementation.

Regards,

Clay

2,487 Views
keitanagashima
Senior Contributor I

Hi Clay-san,


I checked the IOMUX setting of SD3_RST pin on i.MX6Q SABRE-AI.

The SD3_RST pin was allocated as GPIO.

But, I couldn't find the reset function in freescale BSP driver (Linux L3.10.17).

[Question]

Is the reset function implemented in freescale Linux BSP?

Best Regards,

Keita

0 Kudos
2,487 Views
karina_valencia
NXP Apps Support
NXP Apps Support

ClayTurner please continue with the follow up.

0 Kudos
2,487 Views
Clay_Turner
NXP Employee
NXP Employee

Submitted support CT 46528539

0 Kudos
2,487 Views
karina_valencia
NXP Apps Support
NXP Apps Support

ClayTurner ticket was updated. Please check it

0 Kudos
2,487 Views
Clay_Turner
NXP Employee
NXP Employee

Respose below from the BSP team:

I think below commit implement it.

commit 2fd1bf9320bce1c22f2406c74277b7422653511e
Author: Dong Aisheng <b29396@freescale.com>
Date: Fri Jan 10 21:31:21 2014 +0800

ENGR00295184-2 dts: imx6qdl-sabreauto: use external vmmc for sd3 optionally

SD3.0 cards require power cycle the card during suspend/resume,
or the card re-enumeration after resume will fail to be identified
as UHS card since the card is already working on 1.8v mode and refuse
to ack the S18R request, thus, it will then work on normal high speed
mode instead.

We have to use external vmmc regulator to power cycle the card during
suspend/resume to reset card signal voltage to 3.3v frist for the later
1.8v voltage switch.

However, due to the sabreauto board limitation, we can not use external
regulator to powere off card by default since the card power is shared
with card detect pullup. Disabling the vmmc regulator will also shutdown
the cd pullup which causes incorrect illusion of card exist.
(e.g. plug out the card, mmc core wll think the card is exist since cd pin
is low but it never can find the card)
HW rework removing R695 and enable PAD internal pullup is needed to
fix this isssue.

User can manually open the mask of vmmc in dts to enable using external
regulator if your board has done the rework as said above.
Or by default we still do not power off card during suspend.

Signed-off-by: Dong Aisheng <b29396@freescale.com>

diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
index a2dd438..3a46e7f 100644
— a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
@@ -193,6 +193,17 @@
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
+
+ reg_sd3_vmmc: sd3_vmmc{
+ compatible = "regulator-fixed";
+ regulator-name = "P3V3_SDa_SWITCHED";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ /* remove below line to enable this regulator */
+ status="disabled";

2,487 Views
prakashbhumired
NXP Employee
NXP Employee

Hi ClayTurner Employee,

One of my customers is using SDIO 3.0 (SDR104) on i.MX6DL custom board for wifi/bt interface.

Is it sufficient to use 1.8V for NVCC_SDx (directly)and use 3.3V for the SD Card connector ?

Is power cycling 3.3V compulsory? The reason why I ask is, I had a look at SDIO implementation on SD2 for wifi/bt in i.MX7D Sabre board (sch-28590_i.mx7d_saber_rev_d.pdf) and do not find any Card Detect being used, and no power cycling implementation (using SD2_RESET) is seen such as Sabre-AI board.

Do we have SDIO 3.0 (SDR104) patch available for 4.1.15 BSP for i.MX6DL? or it is not necessary?

Regards

Prakash

0 Kudos
2,487 Views
keitanagashima
Senior Contributor I

Hi Clay-san,

Thank you for your reply.

I have an additional question.

Where register is it controlling SDa_RST_B?

Refer to i.MX6DQRM Rev.2 "67.8.12 System Control (uSDHCx_SYS_CTRL)"

I consider that it controlled by "IPP_RST_N" bit.

And, I couldn't find the "IPP_RST_N" bit in freescale BSP driver (Linux)...

Best Regards,

Keita

0 Kudos
2,487 Views
YixingKong
Senior Contributor IV

Hi Keita-san

We are sorry for responding your issue late. Is your project related to auto or consumer as we have different AE to support them?

r13636

Thanks,

Yixing

0 Kudos
2,487 Views
keitanagashima
Senior Contributor I

Hi Yixing-san,

Thank you for your reply.

This is auto project.

Best Regards,

Keita

0 Kudos