How to use the PCA9450B PMIC with iMX8 Nano & DDR4

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

How to use the PCA9450B PMIC with iMX8 Nano & DDR4

1,839 Views
frank_vanhooft
Contributor III

The PCA9450B BUCK6 regulator, used for NVCC_DRAM, defaults to 1.1V 

However "standard" DDR4 needs 1.2V  (LPDDR4 uses 1.1V).

Obviously BUCK6 in the PMIC needs to be programmed to 1.2V, very early in the Linux boot process, before any use of the DDR4 is attempted.

What's the procedure for doing this?

Thanks.

0 Kudos
6 Replies

1,669 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Frank,

  PCA9450B has no 1.2V output,  you should add a LDO for DDR4 power supply.  Then DDR4 will be supported.

Hope the information is helpful to you!

Hava a great day!

B.R,

Weidong

0 Kudos

1,669 Views
frank_vanhooft
Contributor III
PCA9450B has no 1.2V output,  you should add a LDO for DDR4 power supply.  Then DDR4 will be supported.

I'm pretty certain that's not correct. The PCA9450B datasheet states that BUCK6 can be programmed anywhere between 0.6 and 3.4 V output. So setting it to 1.2V should be no problem. The datasheet also suggests that this can be done in UBOOT. The question is - how?

0 Kudos

1,669 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Frank,

  Before I replied you, I had discussed it with i.MX Expert member who is responsible for i.MX8MM/MN. yes, right, the range is 0.6V ~ 3.4V, BUT it is need to be tuned after u-boot runs, which means you should changed the voltage by software via I2C interface.

  You konw, After power on, PCA9450B will output default voltage to supply CPU / DDR, and default value is 1.1v, the voltage is not enough for DDR4, which probably cause DDR4 not to work normally. So once the power of DDR causes booting issue, software(for example , u-boot) can't be loaded into DDR and run, which cause we has no change to change the voltage to 1.2V.

   So this is the reason why I suggested you'd better add a LDO for DDR4, and the LDO's output sequence should be meet that of DDR4's.

Hope the explanation is helpful to you.

Have a great day!

B.R,

Weidong

0 Kudos

1,669 Views
frank_vanhooft
Contributor III

Thanks for the reply. A question. The iMX8 Nano contains 512 kB of SRAM.  Isn't that enough to hold & run the entire U-Boot image? In which case it should be quite possible for U-Boot to correctly configure the PMIC before it initializes the DDR4 DRAM?

I really don't want to add another LDO to the board. Cost, Space, Heat...

Thanks,

Frank.

0 Kudos

1,669 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Frank,

   I can understand the situation you face.

>> Isn't that enough to hold & run the entire U-Boot image?

Yes, right, 512KB RAM is supported in i.MX8MM, it is enough for size of u-boot. BUT for i.MX8MM booting flow, the 512KB can't be  fully assigned to u-boot,  you can see the point from reference manual. So the assumption is not feasbile.

>>In which case it should be quite possible for U-Boot to correctly configure the PMIC before it initializes the DDR4 DRAM?

   DDR4 requires 1.2V, which means as soon as power on, 1.2V should supply DDR4, BUT at this time, voltage is 1.1V , not 1.2V,  DDR4 is not initialized, can't be used. and software can't be loaded into DDR4 to run, which means we don't have any chance to tune 1.1V to 1.2V.

  [Summary]

From above analasys, only one condition can solve the problem, that is DDR4 can be initialized at  default power 1.1V.  Then after u-boot startup, we can tune it to 1.2V.  BUT can DDR4 be normally initialized at 1.1v supply? I can't really ensure it.

>> Suggestions for your situation

Please give up DDR4, and consider LPDD4!

PCA9450B + I.MX8MM + LPDDR4 solution can solve all problems you encountered.

Hope my answer is helpful to you.

Have a nice day!

B.R,

Weidong

0 Kudos

1,631 Views
marcelziswiler
Senior Contributor I

Doing it in the U-Boot SPL before bringing up DDR4 would work just fine as well, not?

0 Kudos