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
Solved! Go to Solution.
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!
-----------------------------------------------------------------------------------------------------------------------
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!
-----------------------------------------------------------------------------------------------------------------------
Artur, thank you! This was a great help .. one step was missing in our BSP.
Hope you have a great day also!
Tom