Setting PMIC regulator voltage in U-Boot SPL, to specify DDR voltage

Hi,
I'm working on a board with an Allwinner H6 that uses an AXP805 PMIC.
I'm using DDR3-1600, which requires 1.4V. In my boot.cmd, I am doing the following -
regulator dev dcdce regulator value 1400000 regulator enable
To set the voltage to 1.4V in U-Boot proper, this avoids memory issues, such as random resets.
However what I would like to do is to set the regulator voltage in U-Boot SPL, so that the voltage would be set ideally before memory size detection etc.
To do this I thought I needed to enable features such as 'CONFIG_SPL_DM'. I've listed the main configuration I used below -
... CONFIG_DM=y CONFIG_SPL=y CONFIG_SPL_DM=y
CONFIG_MACH_SUN50I_H6=y CONFIG_SUNXI_DRAM_H6_DDR3_1333=y CONFIG_DRAM_CLK=648
CONFIG_SYS_I2C_MVTWSI=y CONFIG_SPL_I2C=y CONFIG_DM_I2C=y CONFIG_CMD_I2C=y
CONFIG_POWER=y CONFIG_POWER_I2C=y CONFIG_PMIC_CHILDREN=y CONFIG_DM_PMIC=y CONFIG_SPL_DM_PMIC=y CONFIG_PMIC_AXP=y CONFIG_SPL_PMIC_AXP=y CONFIG_CMD_PMIC=y CONFIG_CMD_REGULATOR=y CONFIG_AXP_PMIC_BUS=y
CONFIG_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR=y CONFIG_CMD_REGULATOR=y CONFIG_REGULATOR_AXP=y CONFIG_SPL_REGULATOR_AXP=y ...
Currently I am overflowing SRAM -
aarch64-linux-gnu-ld.bfd: address 0x2a868 of u-boot-spl section `.text' is not within region `.sram' aarch64-linux-gnu-ld.bfd: u-boot-spl section `.rodata' will not fit in region `.sram' aarch64-linux-gnu-ld.bfd: address 0x2a868 of u-boot-spl section `.text' is not within region `.sram' aarch64-linux-gnu-ld.bfd: address 0x2a868 of u-boot-spl section `.text' is not within region `.sram' aarch64-linux-gnu-ld.bfd: region `.sram' overflowed by 22296 bytes
I'm just wondering if anyone has any suggestions?
Also I wasn't sure, if I can get the AXP PMIC supported in SPL, how I'd set the voltage in U-Boot SPL?
Many thanks Chris Blue Chip Technology Ltd is a company registered in England and Wales. Registered number: 03110403 Registered office: Chowley Oak Lane, Chester, CH3 9EX.
participants (1)
-
Chris Richardson