AnsweredAssumed Answered

i.MX6ULL - LCD Reset / GPIO5_IO09 / Tamper

Question asked by Brian Lee on Jan 23, 2019
Latest reply on Jan 25, 2019 by Brian Lee

Hi All,

 

I am investigating an issue with our custom board and I cannot seem to control the pad MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 inside u-boot. I am using an LCD. It is a different LCD than on the 14x14 imx6ull dev kit, however the LCD pin configuration is the same on the dev kit.

 

I cannot seem to toggle the pin, either as a GPIO or through the LCD interface. It always appears high.

 

Ref 1: i.MX 6ULL Applications Processor Reference Manual, Rev. 1, 11/2017

 

I have done the following in u-boot:

 

Read SW_PAD_CTL_PAD_SNVS_TAMPER9 SW PAD Control Register, page 1541 (Ref 1)

Reg Address: 229_0070h

=> md 2290070  
02290070: 000110a0 00000000 00000000 00000000    ................

Looks like the default values.

 

Read SW_MUX_CTL_PAD_SNVS_TAMPER9 SW MUX Control Register, page 1508 (Ref 1)

Reg Address: 229_002Ch

=> md 229002C
0229002c: 00000000 000030a0 0001b0a0 0001b0a0    .....0..........

 

Writing has no effect:

=> mw.l 229002C 5
=> md 229002C    
0229002c: 00000000 000030a0 0001b0a0 0001b0a0    .....0..........

It does state that the value here depends on TAMPER_PIN_DISABLE[1:0]

 

So read the fuses:

=> fuse read 0 3
Reading bank 0:

 

Word 0x00000003: 71310098

Bits 21:20 are 11, so the tamper pins are used as GPIO according to the Fusemap Descriptions Table on page 228 (Ref 1)

 

Read GPIO direction register (GPIO5_GDIR) , page 1357 (Ref 1)

Reg Address: 20A_C004

=> md 20AC004
020ac004: 00000200 00000820 00000000 00000000    .... ...........

Bit 9 is set, so we have an output

 

Read GPIO data register (GPIO5_DR), page 1357 (Ref 1)

Reg Address: 20A_C000

=> md 20AC000
020ac000: 00000a20 00000200 00000820 00000000     ....... .......

 

Attempt to write, pin stays high:

=> mw.l 20AC000 820
=> md 20AC000      
020ac000: 00000820 00000200 00000820 00000000     ....... .......

 

Maybe the LCD module has control? Try a write of eLCDIF General Control1 Register (LCDIF_CTRL1), page 2171 (Ref 1)

Reg Address: 21C_8010h

 

Read first:

=> md 21C8010
021c8010: 00070300 00070300 00070300 00070300    ................

 

Try to toggle:

=> mw.l 21C8010 00070301
=> md 21C8010           
021c8010: 00070301 00070301 00070301 00070301    ................

 

But the pin is still high.

 

Any thoughts? I must be missing something obvious.

 

Thanks.

Outcomes