j_wallace

LS1043A-RDB ASLEEP/GPIO1_13 pin control

Discussion created by j_wallace on Aug 4, 2017
Latest reply on Nov 7, 2017 by j_wallace

Hi experts,

I have an unexpected bihaviour on my board (LS1043ARDB-PA Rev. A) when testing GPIOs.

Using CodeWrior I load rcw_1600.bin (nor flash rcw generated by SDK2.0) and modify it to enable GPIO1_13 function (ASLEEP pin). I write the rcw to the NOR flash (bankv4) then reset on bankv4 (=> cpld reset altbank). I can see that the ASLEEP LED gets fired and holds this state permanentely. But any operation I perform on the GPIO1_13 (bit n°13 in the registers(?)) has no effect. Instead, the bit n°10 which is not implemented (?) acts on the LED. The log below is what I do from u-boot prompt.

My questions are.

- Are there hidden fucnctions controlled by GPIO registers or am I doing something wrong? 

- What is the suggested way to test GPIOs on the LS1043arb (our product should use some GPIOs )?

Thanks in advance.

 

-----------------------------------------------------------------------------------------

 

1) RCW as shown in the boot message

Reset Configuration Word (RCW):
00000000: 08100010 0a000000 00000000 00000000
00000010: 14550002 80004012 e0025000 c1002000
00000020: 00000000 00000000 00000000 0003cc00
00000030: 00000000 00001101 00000096 00000001

 

2) display GPIO1 registers >> The LED is ON

=> md 2300000
02300000: 00000000 00000000 00010400 00010400    ................
02300010: 00000000 00000000 00000000 00000000    ................

 

3) set bit10 as output (GPDIR) and display the result >> The LED gets OFF

=> mw.l 2300000 400
=> md 2300000
02300000: 00000400 00000000 00010000 00010400 ................
02300010: 00000000 00000000 00000000 00000000 ................

 

4) write to the data register and display the result >> The LED gets ON

=> mw.l 2300008 400
=> md 2300000
02300000: 00000400 00000000 00010400 00010400    ................
02300010: 00000000 00000000 00000000 00000000    ................

Outcomes