Forums › Reference, Evaluation, and Development Boards › OSD32MP1-BRK › no output on PMIC_BSTOUT
Tagged: OSD32mp1-brk PMIC_BSTOUT
Hi there,
If somebody can help, i am wondering in BRK board schematic PMIC_BSTIN (L8, L9, M8 and M9) all are connected to VIN which in my case is +5 from USB, so i was expecting PMIC_BSTOUT on pinheader should read 5.2V but its always at 0.
Is there a way to enable is somehow ?
Thanks, Rishi
Rishi,
The Boost and switches on STPMIC1A cannot be turned ON automatically. They have to be turned ON either during boot or after. You can do this by setting the enabled bit on in the BST_SW_SR register of the PMIC. Please see the PMIC datasheet for more information: https://www.st.com/resource/en/datasheet/stpmic1.pdf.
Best,
Neeraj
Neeraj,
Thanks for your response, i was able to start it by modifying the device tree.
Now i can see 5.2V on PMIC_BSTOUT.
Thanks, Rishi
What’s the change on device tree?
I modified linux device tree to be
vref_ddr:vref_ddr{
regulator-name = “vref_ddr”;
regulator-always-on;
regulator-over-current-protection;
};
bst_out:boost{
regulator-name = “bst_out”;
regulator-min-microvolt = <5200000>;
regulator-max-microvolt = <5200000>;
regulator-always-on;
interrupts = <IT_OCP_BOOST 0>;
};
vbus_otg:pwr_sw1{
regulator-name = “vbus_otg”;
interrupts = <IT_OCP_OTG 0>;
};
and when boot up kernel, it hangs
[ 2.792973] LDO5: supplied by vin
[ 2.798092] LDO6: supplied by v3v3
[ 2.803324] VREF_DDR: supplied by vin
[ 2.808380] BOOST: supplied by vin
[ 2.810377] bst_out: Bringing 5000000uV into 5200000-5200000uV
[ 2.816368] bst_out: failed to apply 5200000-5200000uV constraint(-22)
[ 2.822713] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: failed to register BOOST regulator
[ 2.832896] ————[ cut here ]————
[ 2.836340] WARNING: CPU: 1 PID: 21 at drivers/regulator/core.c:2044 _regulator_put.part.0+0x154/0x15c
[ 2.845682] Modules linked in:
[ 2.848677] CPU: 1 PID: 21 Comm: kworker/1:1 Not tainted 5.4.31 #1
[ 2.854845] Hardware name: STM32 (Device Tree Support)
[ 2.859989] Workqueue: events deferred_probe_work_func
[ 2.865138] [<c01124dc>] (unwind_backtrace) from [<c010d784>] (show_stack+0x10/0x14)
[ 2.872867] [<c010d784>] (show_stack) from [<c0b0a234>] (dump_stack+0xb0/0xc4)
[ 2.880087] [<c0b0a234>] (dump_stack) from [<c01259d4>] (__warn+0xd0/0xf8)
[ 2.886956] [<c01259d4>] (__warn) from [<c0125d7c>] (warn_slowpath_fmt+0x64/0xc4)
[ 2.894439] [<c0125d7c>] (warn_slowpath_fmt) from [<c05d401c>] (_regulator_put.part.0+0x
Do you mind to share your code?
hzhu,
Have you connected PMIC_BSTIN to 5V input? The kernel message indicates that for some reason the driver unable to set the output voltage of the boost converter to 5.2V.
Best,
Neeraj
According the schematic of OSD32MP1-BRK, the PMIC_BSTIN have been tied to 5V input already. any other suggestion?
Hello hzhu,
Your device tree modification has minor issues.
As indicated in Table 8 (under section 4.1) of STPMIC1 datasheet (https://www.st.com/resource/en/datasheet/stpmic1.pdf), BOOST converter has a FIXED output voltage and hence has no programming step voltage or min/max voltage.
Remove the following lines from “bst_out” node and rebuild your device tree to fix the issue:
regulator-min-microvolt = <5200000>;
regulator-max-microvolt = <5200000>;
You can use OSD32MP1-RED device tree (which keeps BOOST converter ON) as good reference for device tree updates – https://github.com/octavosystems/OSD32MP1-RED-Device-tree/blob/main/linux-v4.19/osd32mp1-red.dts
Boost converter can also be turned ON once the device boosts (without modifying device tree) by talking to the PMIC over I2C and modifying PMIC registers (BST_SW_SR) as suggested by Neeraj in the above response (https://octavosystems.com/forums/topic/no-output-on-pmic_bstout/#post-11420)
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields