iMX28 EVK CAN STB pin & SD Slot 1

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

iMX28 EVK CAN STB pin & SD Slot 1

Jump to solution
1,095 Views
nextleveltechn
Contributor II

Hello, working with i.MX28 EVK and Mentor Graphics Nucleus. We found an issue when we enable the STB pin for CAN 0 or 1, the SD Slot 1 is rendered useless. We're trying to isolate this issue, and figure out the reasoning. This is what we have determined and discovered thus far:

Enabling ALL can bring up pins except (    IMX_REG32_CLEAR(ESAL_DP_PINCTRL_MUXSEL4, (3 << ESAL_DP_PINCTRL_MUXSEL4_PIN13_OFFSET));) then the CAN will be in standby, but SD Slot 1 can be mounted.

If that pin is set, then SD slot 1 cannot be mounted.

We even tested another case where we set the pin after everything was initalized, which brings it back to a 1.1 default GPIO value. This resolved the SD Slot 1 error, and of course after setting pin back to GPIO CAN 0 and 1 are in standbye.

Here are the definitions for the macros:

#define ESAL_DP_PINCTRL_MUXSEL4             0x80018140

#define ESAL_DP_PINCTRL_MUXSEL4_PIN13_OFFSET 26

Please let me know any advice or direction.

Best regards,

Tom Wood

Labels (1)
1 Solution
982 Views
art
NXP Employee
NXP Employee

The correct initialization/operation sequence seems to be as follows.

1. Configure the SSP1_CMD pin for GPIO operation by writing 11 to the HW_PINCTRL_MUXSEL4 bits [27:26].

2. Configure the GPMI pins for corresponding SSP1 functions for SD card Slot 1 operation.

3. Enable the GPIO data output through the SSP1_CMD pin, operating as the GPIO2_13 I/O line, by setting bit 13 of the HW_PINCTRL_DOE2 register (0x80018B20 address).

4. Control the state of the SSP1_CMD/GPIO2_13 pin by setting/clearing bit 13 of the HW_PINCTRL_DOUT2 register (0x80018720 address).


Have a great day,
Artur

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

View solution in original post

2 Replies
983 Views
art
NXP Employee
NXP Employee

The correct initialization/operation sequence seems to be as follows.

1. Configure the SSP1_CMD pin for GPIO operation by writing 11 to the HW_PINCTRL_MUXSEL4 bits [27:26].

2. Configure the GPMI pins for corresponding SSP1 functions for SD card Slot 1 operation.

3. Enable the GPIO data output through the SSP1_CMD pin, operating as the GPIO2_13 I/O line, by setting bit 13 of the HW_PINCTRL_DOE2 register (0x80018B20 address).

4. Control the state of the SSP1_CMD/GPIO2_13 pin by setting/clearing bit 13 of the HW_PINCTRL_DOUT2 register (0x80018720 address).


Have a great day,
Artur

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

982 Views
nextleveltechn
Contributor II

Artur, thank you! This was a great help .. one step was missing in our BSP.

Hope you have a great day also!

Tom

0 Kudos
Reply