AnsweredAssumed Answered

IMX6UL Sim1 not working

Question asked by Asma Alekar on Aug 21, 2019
Latest reply on Aug 21, 2019 by igorpadykov

Hello All,


My company is planning to implement cardreader using SIM1 PORT1 of IMX6ul interfacing to TDA8035.

When I ran mxc_sim_test.out to test sim functionality, It is giving me following output.

atr[0]= 0x0
Receiving timeout
Error when tx/rx:-1


do you all have any idea,What can be wrong?


For more information, here is our implementation.

Pin configuration as shown in schematic here.



IMX6UL pin settings



I have couple of questions, Have I implemented device tree shown below correctly, according to schematic?


pinctrl_sim1: sim1grp{
fsl,pins = <
MX6UL_PAD_CSI_DATA01__SIM1_PORT1_SVEN   0x0010    /* SVEN */
MX6UL_PAD_CSI_VSYNC__SIM1_PORT1_CLK     0x0031        /* CLK */
MX6UL_PAD_CSI_DATA00__SIM1_PORT1_RST_B 0x0010   /* RST_B*/
MX6UL_PAD_CSI_DATA02__SIM1_PORT1_TRXD   0xb809     /* IO */
MX6UL_PAD_CSI_HSYNC__SIM1_PORT1_PD       0x1B000       /* PD */
/*MX6UL_PAD_SD1_CMD__GPIO2_IO16             0x1B0B0*/       /* 5V3V */

&sim1 {
pinctrl-names ="default";
pinctrl-0 = <&pinctrl_sim1>;
clocks = <&clks IMX6UL_CLK_SIM1>;
clock-names = "sim";
assigned-clocks = <&clks IMX6UL_CLK_SIM_PODF>;
assigned-clock-rates = <240000000>;
/* GPIO_ACTIVE_HIGH/LOW:sim card voltage control
* NCN8025:Vcc = ACTIVE_HIGH?5V:3V
* TDA8035:Vcc = ACTIVE_HIGH?5V:1.8V
pinctrl-assert-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
port = <1>;
status = "okay";



As we want to select 5v, I have asserted gpio high as (pinctrl-assert-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;) and EN_1.8V as high through IO Expander.


2. Is the above dts setting for asserting gpio2 16 pin is correct?


This is urgent, Could someone help please?

Yuri Muhin, igorpadykov, Joan Xie