MMPF0100NPEP write issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MMPF0100NPEP write issue

1,509 Views
m_c
Senior Contributor I

Customer use below command to write value into register.

Write "OTP SW1AB VOLT reg." data :  Device Address = 0x10、Register Address= 0xA0(OTP SW1AB VOLT reg.)、Master Driven Data=0x2B(reg. data)

01.JPG

But the value didn't change by below read command.

Read "OTP SW1AB VOLT reg."  data : Device Address = 0x10、Register Address=0xA0(OTP SW1AB VOLT reg.)、Device Address=0x11、PMIC Driven Data=0x00 (reg. data)

02.JPG

Is this step wrong or miss some step?

Tags (2)
0 Kudos
Reply
7 Replies

977 Views
teddy123
Contributor III

Hi Everyone,

I am facing the same issue as posted by Soujanya K in this discussion trying to set SW1B to 1.375V in my custom SABRE-SD board. I am able to write the register successfully but the voltage gets set to 300mV only. Is their any solution to this issue?

0 Kudos
Reply

977 Views
reyes
NXP TechSupport
NXP TechSupport

Hi m.c.

I think that the problem is that you are trying to read register 0xA0 from the “Functional Page”, and since this register it’s in extended page 1, you first need to access to this extended page 1 to actually read what you wrote on the 0xA0 register: To access registers on Extended Page 1, one must first write 0x01 to the page register at address 0x7F

WRITE_I2C:7F:01 // Access PF0100 EXT Page1

WRITE_I2C:A0:2B // Sw1AB Voltage

READ_12C:A0 //Should read back the expected 0x2B

For more examples, tips and instructions about how to program the MMPF0100 OTP Programming, please take a look at the application note AN4536


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

977 Views
m_c
Senior Contributor I

Customer use below sequence can write and read regiter SW1AB VOLT(Address 0xA0). But it will change back to original value 0x2B after reset. Is there any step missing?

WRITE_I2C:7F:01

WRITE_I2C:A0:2C

Read_I2C:A0 //  read 0x2C

0 Kudos
Reply

977 Views
sinanakman
Senior Contributor III

Hi m.c, I didn't verify the addresses but I2C reg updates are not permanent so after each

reset you will have the original values that PMIC was programmed.

Hope this helps.

Sinan Akman

0 Kudos
Reply

977 Views
soujanyak
Contributor I

Hello,

    We are using a customized board with iMX6 processor, where Sabre-SD design is taken as reference.

Currently SW1B is working at 300mVolts but I would like to change SW1B to work at 1.375Volts,

in kernel_imx/arch/arm/mach-mx6/mx6q_cwt_pmic_pfuze100.c , inside pfuze100_init function i am trying to change PFUZE100_SW1BVOL register value as below :

#define PFUZE100_SW1BVOL    39

#define PFUZE100_SW1BVOL_VSEL   0x2b

#define PFUZE100_SW1BVOL_VSEL_M (0x3f<<0)

ret = pfuze_reg_rmw(pfuze,    PFUZE100_SW1BVOL,   PFUZE100_SW1BVOL_VSEL_M,   PFUZE100_SW1BVOL_VSEL);


In the above code i am getting the ret value as 0, but  PFUZE100_SW1BVOL dint change when i read back using pfuze_reg_read

Is the way i am trying to write the register wrong.

Thanks

SK

0 Kudos
Reply

977 Views
sinanakman
Senior Contributor III

Soujanya, perhaps you thought about this already but I generally use uboot pmic and I2C commands

to see if i can read and eventually modify those values. You can perhaps give this a try. I know

the latest mainline u-boot has support for all these.

Hope this helps

Sinan Akman

0 Kudos
Reply

977 Views
reyes
NXP TechSupport
NXP TechSupport

loichureau could you please check?

0 Kudos
Reply