This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FPC402EVM: FPC-402 was Failed to reset

Part Number: FPC402EVM
Other Parts Discussed in Thread: FPC401, FPC402

Please find below further information provided to the case:

1. FPC-402 was Failed to reset, not able to configure to default I2C address(0x0F) From programed i2c address.  
   fpc-402  configure to the  i2c address 0x19 using i2c device ID Register(offset = 0x01)
    i2cset -y 1 0x0f 0x01 0x32 
   to Reset the  FPC back to default address sending 0x8F to the the  Reset Register (0ffset = 0x00)
   after doing this the register values was  going back to the default reset values Except 
 IN_A and Aggregated interrupt Status Register (offset = 0x06) &
 IN_B and IN_C Status Register (offset = 0x07)
 and  FPC-i2c address is still the configured i2c address (0x19 = (0x32 >> 1)).  
 
2. what is the default value of IN_A and Aggregated interrupt Status Register & IN_B and IN_C Status Register 
   As per the programmers guide after reset these values should be 0x00 but in my case  these are  all ways  
  offset  0x06 = F0 
  offset  0x07 = FF 
   can you please let me know  what might  be the  root-cause.  
   
3. To Enable  the QSFP ports i am writing GPIO0 and GPIO1 Select Register (offset =  0x96) with values 0x22, 
   i able to power-on port status LED's but port was  not able to detect actual QSFP , How to we  confirm 
   actual QSFP port was Enabled to detect QSFP HW. 

4. I am using Raspberry pi 3.3volts pin to power up  FPC using Header J7, this  power is sufficient to power  up 
   QSFP port ?   

i2cdump after Reset using RESET Register with Value 0x8F 

root@raspberrypi:/home/pi# i2cdump -y -r 0x00-0xFF 1 0x19
No size specified (using byte-data access)
       0  1  2  3  4      5 6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 3f 00 11 06 1c f0 ff 00 ff 0f ff 00 00 01 cc    .?.????...?...??
10: 11 98 98 00 00 00 00 00 00 00 30 00 00 00 00 00    ???.......0.....
20: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00    .?..............
30: 11 98 98 00 00 00 00 00 00 00 30 00 00 00 00 00    ???.......0.....
40: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00    .?..............
50: 11 98 98 00 00 00 00 00 00 00 30 00 00 00 00 00    ???.......0.....
60: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00    .?..............
70: 11 98 98 00 00 00 00 00 00 00 30 00 00 00 00 00    ???.......0.....
80: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00    .?..............
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 0a 0a    .............???
a0: 0a 23 23 23 23 00 00 00 00 83 83 83 83 00 00 00    ?####....????...
b0: 00 00 00 00 50 51 50 51 50 51 50 51 00 00 00 00    ....PQPQPQPQ....
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 10 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ??.............. 

  • Greetings,

    We do have SDK showing FPC setup for different modes. Please send me friend request along with your email address so we can provide these documents to you.

    Regards,,Nasser

  • Thanks Nasser , for the  Response, 

    i send friend  Request please do needful , here  i am sharing  my  mail id :-    hramala@qti.qualcomm.com.  

    i got  setup_FPC401_EVM.exe  installer , i successfully create  the  link , but  i am not able to read and write the  Local instance  & downstream i2c registers , can you share  me the  setup_FPC401_EVM_with_RTE.exe also .  

    I fallowed  programmers  guide to reset FPC (resetting the  fpc default address) ,  i2cset -y 1 0x0f 0x00 0x8F (Updating the register offset 0x00 with 0x8F

     ) but still FPC was  responding to programed address,  does  i need to any additional stuff apart from this ? 

    Thanks, 

    R. Harshavardhan.  

  • Hi Ramala,

    You now have access to the FPC402 design files including GUI, SDK, and the programming guide. Within 20-30 minutes you should be able to access these files.

    Regards,Nasser

  • Hi Nasser ,  

    yes i tried  the procedure  which mentioned  in the  programming guide ,  when i reset  the  FPC through Registers All the  register values are  going back to the  default reset  values ,  but  FPC was  failed to Reset  its  i2c address ,  

    • FPC-402 was Failed to reset, not able to configure to default I2C address(0x1F) From programed i2c address( (0x18 ).
    • fpc-402 configured to the  i2c address (0x0C 7 bit address) - (0x18 corresponding 8 bit address) using i2c device ID Register(offset = 0x01)

    i2cset -y 1 0x0f 0x01 0x18 (updating I2C Device ID Register 0x01 with 0x18 )

    • to Reset the FPC back to default address in exit module sending 0x8F to the Reset Register (0ffset = 0x00)
    • after doing this the register values was going back to the default reset values like ( 0ffset 0x01 = 0x3f )

                   and FPC-i2c address is still the configured i2c address (0x0c = (0x0x18 >> 1). 

    • But as for the Document snlu222b & FPC402_SNLU227_Programmers_Guide.pdf performing register reset will restore the 

                   default i2c address

    In shot we are  setting the    Reset-Register with 0x8F and then  0x0 for  reset the fpc, but still fpc i2c address failed to reset to the default value. 

  • Greetings,

    Please note default I2C address is 0x1E not 0x1F.

    Additionally valid I2C 8-bit addresses are listed in table 6 of the FPC402 data sheet.

    Regards,,Nasser

  • sorry typo mistake , default address was 0x1E only , i am fallowing the the table 6 of the FPC402 data sheet ,
    and, I am programming the i2c address of FPC with 0x10, and i able see the 7 bit address of all FPC (0x08), QSFP-0 (0x40),
    QSFP-1 (0x42) .

    in my Exit Routine of the driver i am resetting the FPC , so that the Register address 0x01 was becoming 0x3F(default value),
    but the FPC i2c-adress was still (0x08 = programmed address), ideally after reset is should be (0x0f default 7 bit address) = 0x1E. 

    Fallowing below reset sequence :-
    setting the Register offset 0x00 with 0x8F and then 0x0

    i2cset -y 1 0x08 0x00 0x8F
    i2cset -y 1 0x08 0x00 0x0

  • Hi Ramala,

    Valid FPC addresses are listed in table 6. If you change I2C addresses it should be one of the addresses noted in this table.

    Regards,Nasser

  • hi Nasser,

    yes i am programming the FPC i2c address with one of the i2c address mentioned in table 8-6 .
    By default FPC i2c address was 0x1E and corresponding i2cdump was

     

    I am programming the fpc with address in table 8-6 for fpc instance - 10

    write 0x18 to fpc register 0x01 

      i2cset -y 1 0x0f 0x01 0x18 and Dump was  

    Fallowing below sequence to reset fpc :-
    setting the Register offset 0x00 with 0x8F and then 0x0

    i2cset -y 1 0x08 0x00 0x8F
    i2cset -y 1 0x08 0x00 0x00

    Here the Issue not with default i2c address nor with the setting i2c address of FPC , i am fallowing table only , issue with i2caddress was  not reverting back  to its default value ie 0x1E, Even after Reset of FPC using register offset 0x00. 

     

  • Hi Ramala,

    Please write 0x0F into reset register offset 0x00. Do you see I2C addresses restored back to the table 6 settings?

    Regards,Nasser 

  • yes Even after writing 0x0F to the reset register offset  0x00  was failed  to restore  I2C addresses back to the table 6 setting ie default address 0x0E . 

  • Hi Ramala,

    It seems the only way to restore the registers back to the default setting is to write 0x8F into reg 0x00. Since this works, what prevents you from writing 0x8F into reg 0x00? We don't see an issue using this workaround.

    Regards,Nasser

  • Hi Nasset, 

    can you check my previous comments , i Explained  how i am Resetting the FPC ,  i tried writing 0x8F to offset register 0x00 , Even after FPC was responding to programmed i2c address only , not the default i2c address  0x1E,  after resetting the  the offset register 0x01  going back  to default value  0x3F  but still  FPC failed to Respond to its default address, can you  please  check my  pervious   comments  i explained very clearly there . 

    is there  a possibility to toggling the EN pin  through software ?  that might solve my problem .  

    Thanks, 

    R. Harsha

     

  • Hi Ramal,

    I re-read your earlier comments and i had mis-understood  your earlier statement. If i understand this correctly you have:

    Reg 0x00 = 0x8F

    Reg 0x01 = 0x3F

    However, even though reg 0x01[0]=1'b1 device is not going back to the default 0x1E default address setting. I am assuming this device has SET_ADDR_N(CTRL3) tied to GND. Please confirm.

    Regards,Nasser

  • Yes,  ADDR_N(CTRL_3) tied to GND with the help of Jumper cable provided along with Evolution board. 

     toggling the EN pin  means  EN = GND and then EN = VDD1   I was  able to reset the  FPC i2c address to its default address 0x1E. 

    is there  a possibility to toggling the EN pin  through software ? 

  • Checked the register map and am not able to find a way to do the same functionality as EN pin. We are continuing to check.

    I did one experiment as follows:

    1). Power up the device

    2). Change reg 0x01 from 0x3F to 0x18 - as you had done.

    3). Set reg 0x00 = 0x80

    4). Readback reg 0x01 and i see default value(0x3F).

    Can you please follow these exact steps to see if you can duplicate my finding.

    Regards,Nasser