PCA9450A Software configurations info on U-Boot and Kernel

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

PCA9450A Software configurations info on U-Boot and Kernel

479 Views
Raghavendra
Contributor I

Hi Team,

we have designed our custom board with IMX8MM SoC with DDR4 density 4GB with PCA9450A PMIC

Below are the Configurations done for PMIC

PMIC Regulator output     Volatge
BUCK1                              0.9V/3A
BUCK2                              0.8V/3A
BUCK3                              0.9V/3A
BUCK4                              3.3V/3A
BUCK5                              1.8V/1.5A
BUCK6                              1.2V/3A                     //deviation from LPDDR4 EVK


LDO1                                 1.8V/10mA
LDO2                                 0.8V/10mA
LDO3                                 1.8V/300mA
LDO4                                 0.9V/250mA
LDO5                                 3.3V/150mA             // deviation from LPDDR4 EVK for SD card

can you please guide, where we can configure these values from software point of view.

1. Do we need to configure these values in both Uboot and kernel.

2. In some forum questions, I see NXP has suggested to make changes in uboot-imx/board/freescale/imx8mm_evk/spl.c file as shown below

int power_init_board(void)
{
	struct pmic *p;
	int ret;

	ret = power_pca9450_init(I2C_PMIC);
	if (ret)
		printf("power init failed");
	p = pmic_get("PCA9450");
	pmic_probe(p);

	/* BUCKxOUT_DVS0/1 control BUCK123 output */
	pmic_reg_write(p, PCA9450_BUCK123_DVS, 0x29);

	/* Buck 1 DVS control through PMIC_STBY_REQ */
	pmic_reg_write(p, PCA9450_BUCK1CTRL, 0x59);

	/* Set DVS1 to 0.8v for suspend */
	pmic_reg_write(p, PCA9450_BUCK1OUT_DVS1, 0x10);

	/* increase VDD_DRAM to 0.95v for 3Ghz DDR */
	pmic_reg_write(p, PCA9450_BUCK3OUT_DVS0, 0x1C);

	/* VDD_DRAM needs off in suspend, set B1_ENMODE=10 (ON by PMIC_ON_REQ = H && PMIC_STBY_REQ = L) */
	pmic_reg_write(p, PCA9450_BUCK3CTRL, 0x4a);

	/* set VDD_SNVS_0V8 from default 0.85V */
	pmic_reg_write(p, PCA9450_LDO2CTRL, 0xC0);

	/* set WDOG_B_CFG to cold reset */
	pmic_reg_write(p, PCA9450_RESET_CTRL, 0xA1);

	return 0;
}

3. do we need to configure all PMIC regulators output in the same fashion in uboot.

4. In kernel drivers/regulator/pca9450-regulator.c also do we need to configure the same or it will get read from same PMIC registers.

Kindly share us if any user guide available for this.

 

Thanks in advance!!

Raghavendra

Labels (1)
0 Kudos
Reply
1 Reply

461 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

You need configure  BUCK6 and LDO 5 value in uboot spl stage.As kernel layer, the value decided by dts.

0 Kudos
Reply