Patch series to support for ROHM BD71837 and BD71847 PMICs. ROHM BD71837 and BD71847 is PMIC intended for powering single-core, dual-core, and quad-core SoC’s such as NXP-i.MX 8M. BD71847 is used for example on NXP imx8mm EVK.
Series adds PMIC driver with register read and write support, and regulator driver with enable/disable and voltage changing support with certain limitations: - Enable/Disable state control is by default only allowed for BD71837 bucks 3 and 4. This is due to a HW feature which leaves SW controlled power rails unpowered after reset which leads to SNVS state. - Voltage control for enabled regulator is only allowed for "DVS" regulators (bucks 1-4 on BD71837, bucks 1 and 2 on BD71847). This is done because changing voltage on other regulators may cause under-/over shoot when regulator is enabled. Drivers expect to see PMIC node with proper regulator sub-nodes given from device tree but. Driver is tested using BD71837 and BD71847 break-out board connected to Beagle Bone Black and device-tree entry which was created as desctibed in dt-binding document for BD718x7 shipped with Linux. This patch series does not support DT properties which allow changing the reset target between SNVS and READY or identifying boot-critical regulators and disabling SW control based on reset target as the Linux driver does. Changelog v3: - improve Kconfig description - use pmic_clrsetbits() also in pmic/bd71837.c - remove unnecessary header includes - minor readability/styling fixes Changelog v2: (fix issues pointed by Simon Glass) - Fix typo in patch series name (BD71827 => BD71837) - Drop drivers/power/pmic/pmic_bd71837.c (the old PMIC interface) - Fix characters in hex numbers to lowercase - use pmic_clrsetbits() instead of using separate reads and writes - fix styling issues Changelog v1: - This version is created based on the RFC v1. https://lists.denx.de/pipermail/u-boot/2019-March/363076.html https://lists.denx.de/pipermail/u-boot/2019-March/363077.html - Support BD71847. - Unlock the PMIC protection register Patch 1: - Cherry picks the initial PMIC driver for BD71837 from NXP's i.MX repository at: https://source.codeaurora.org/external/imx/uboot-imx (commits e9a3bec2e95a and acdc5c297a96). Fixes checkpatch issues. Patch 2: - Support BD71847 PMIC. - Add support for BD71837 and BD71847 regulators. --- Matti Vaittinen (2): regulator: bd71837: copy the bd71837 pmic driver from NXP imx u-boot regulator: bd718x7: support ROHM BD71837 and BD71847 PMICs drivers/power/pmic/Kconfig | 7 + drivers/power/pmic/Makefile | 1 + drivers/power/pmic/bd71837.c | 111 +++++++ drivers/power/regulator/Kconfig | 17 ++ drivers/power/regulator/Makefile | 1 + drivers/power/regulator/bd71837.c | 468 ++++++++++++++++++++++++++++++ include/power/bd71837.h | 103 +++++++ 7 files changed, 708 insertions(+) create mode 100644 drivers/power/pmic/bd71837.c create mode 100644 drivers/power/regulator/bd71837.c create mode 100644 include/power/bd71837.h -- 2.17.2 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot