summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator
AgeCommit message (Collapse)Author
9 daysMerge tag 'devicetree-for-7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - A bunch of improvements in dt-check-style. Fix various bindings based on these additional checks. - Convert hisilicon,hix5hd2-ir, hisilicon,hi6220-ade, hisilicon,hi6220-dsi, hisilicon,hip05-sas-v1, MediaTek RT5650 codecs, mediatek,g3dsys, mediatek,mt2701-scpsys, ti,omap-mpu, and ti,omap-ocp2scp to DT schema format - Add schemas for ST STM32MP2 DWC3 xHCI USB, ST STM32MP25 USB2-FEMTO PHY, spacemit,k1-gpu and spacemit,k3-gpu, HiSilicon local bus, HiSilicon HIP05 CPLD, SDMC DM2016, and QCom SM7250 and Kuno PDC - Various binding updates to fix schema warnings in .dts files - Drop obsolete .txt bindings for STM32(MP1) RCC, VExpress hwmon and regulator, and mailbox.txt - Remove the unused of_overlay_remove_all() function - Fixes for of_check_msi_parent() - Add "i2c-parent" tracking to fw_devlink * tag 'devicetree-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (72 commits) dt-bindings: usb: dwc3: Document ST STM32MP2 DWC3 xHCI USB controller dt-bindings: iommu: Describe MT8195 infra IRQs dt-bindings: clock: mediatek: Add MT8516 fallbacks dt-bindings: media: Convert hisilicon,hix5hd2-ir to DT schema dt-bindings: display: Convert hisilicon,hi6220-ade to DT schema dt-bindings: display: Convert hisilicon,hi6220-dsi to DT schema dt-bindings: phy: Document ST STM32MP25 USB2-FEMTO PHY of: overlay: remove unused of_overlay_remove_all() dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema dt-bindings: bus: Add HiSilicon local bus dt-bindings: gpu: img,powervr-rogue: add spacemit,k1-gpu and spacemit,k3-gpu dt-bindings: interrupt-controller: qcom,pdc: Document SM7250 PDC dt-bindings: vendor-prefixes: add Ambarella dt-bindings: reset: Drop obsolete STM32(MP1) RCC bindings dt-bindings: arm: keystone: ti,sci: Correct reg and mboxes constraints dt-bindings: ASoC: Convert MediaTek RT5650 codecs bindings to DT schema dt-bindings: scsi: Convert hisilicon,hip05-sas-v1 to DT schema of/irq: Stop the MSI walk at the first msi-parent of/irq: Fix device node refcount leak in of_check_msi_parent() dt-bindings: display: faraday,tve200: Use a level-high interrupt ...
12 daysMerge tag 'regulator-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This is quite a quiet release, especially given the general onslaught of cleanup patches seen elsewhere. There is some of that, but not as much as I'm seeing elsewhere relatively to the size of the subsystem. We do have some new drivers as well, plus Linus Walleij has done a big overhaul of the AB8500 driver including feature buildout. - Substantial cleanups and feature additions for the ST Ericsson AB8500 - Overhaul of the configuration for the LP872x. - A bunch of DT binding conversions - Support for Maxim MAX20024, MPS MPQ4210, Nexperia NEX10000UB" * tag 'regulator-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (60 commits) regulator: rpi-panel-attiny: Fix probe failure after a host cold boot regulator: lp872x: Use macro to fill regulator descriptor regulator: lp872x: Add support for input and regulator power supplies regulator: lp872x: Remove platform_data based probing regulator: lp872x: Remove redundant regmap wrappers regulator: lp872x: Fold driver header into driver file regulator: dt-bindings: ti,lp872x: Document input supplies regulator: dt-bindings: ti,lp872x: Deprecate ti,dvs-gpio and ti,update-config regulator: dt-bindings: sy8827n: support standard properties regulator: dt-bindings: Reference Tegra regulator coupling schema regulator: dt-bindings: nvidia,tegra-regulators-coupling: Convert to DT schema regulator: dt-bindings: ti,lp872x: Convert to DT schema regulator: dt-bindings: Drop obsolete MAX8925 .txt binding regulator: 88pm886: Add Vbus regulator regulator: core: Export helpers used by regulator couplers regulator: core: Fix coupled regulators reference leak on removal regulator: dt-bindings: ti,tps6586x: Convert to DT schema regulator: dt-bindings: Add MAX20024 sd4 regulator: dt-bindings: Convert mediatek,mt6380-regulator to DT schema regulator: mp886x: fix pontential division by zero ...
12 daysMerge tag 'gpio-updates-for-v7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux Pull gpio updates from Bartosz Golaszewski: "Nothing stands out as particularly interesting, it's been a calm cycle. We have three new drivers, support for more models and lots of updates across many modules (details are in the signed tag as usual). There are also some minor changes and additions to the in-kernel GPIO API. GPIO core: - provide a new controller API: gpiochip_generic_get_config() - return -EOPNOTSUPP instead of -ENODEV to user-space if it requests hardware timestamping on systems where it's unavailable (no user-space regressions reported) New drivers: - add a driver for ROHM BD73800 PMIC GPIO controller - add a driver for Axiado AX3005 SGPIO controller - add a driver for Analog Devices AD7768 GPIO controller New hardware support: - extend gpio-rcar with support for R-Car X5H (R8A78000) - extend gpio-tegra186 with support for Tegra 268 Driver changes: - refactor and improve gpio-rtd1625: switch to modern or better fitting interfaces and improve coding style - improve error handling of return values of platform_get_irq_optional() in several drivers - normalize the return value of the gpio_chip::get() callback in gpio-siox in order to not propagate invalid values up to the GPIO core - implement gpio_chip::get_direction() for gpio-pcf857x - use managed variants of notifier registration functions in several drivers - remove legacy gpio_set_value_cansleep() as it has no more users - add pinctrl support to gpio-realtek-otto - add runtime PM support to the gpio-regmap helper module - add more ACPI GPIO quirks for various hardware - stop needlessly reading gpio_chip::base in gpio-pxa - add support for tracking of direction of generic GPIO chips with no direction registers via pinctrl backend to gpio-mmio (use the new core API: gpiochip_generic_get_config()) - use the "safe" variants of debugfs_create_file() in gpio-sloppy-analyzer - use device name as GPIO chip label in gpio-omap - refactor bit ops in gpio-dln2 - prepare gpio-it87 for upcoming kmalloc_obj() conversion Devicetree bindings: - document new model in gpio-pca95xx - allow the gpio-hogs property in gpio-zynq and fsl,qoriq-gpio - allow the gpio-ranges property in gpio-realtek-otto Misc fixes: - add missing MODULE_ALIAS() to gpio-crystalcove - fix a comment typo in example GPIO tools - fix unbalanced brackets in documentation - add names to regmaps in gpio-mvebu to avoid collisions in debugfs output - fix GPIO lookup using relative paths in GPIO ACPI" * tag 'gpio-updates-for-v7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (63 commits) gpiolib: acpi: Fix GPIO lookup using relative path gpio: legacy: Kill gpio_set_value_cansleep() dt-bindings: gpio: pca95xx: add onnn,pca9655 with nxp,pca9555 fallback gpiolib: acpi: Ignore GPIO 11 interrupt on Acer Nitro V 16S AI gpio: pxa: stop reading gpio_chip::base in direction callbacks gpio: axiado: add AX3005 SGPIO controller support dt-bindings: gpio: add Axiado AX3005 SGPIO controller gpiolib: acpi: Add quirk for Lenovo IdeaPad Slim 3 15ABR8 MAINTAINERS: Add ROHM BD73800 PMIC files gpio: bd73800: Support ROHM BD73800 PMIC GPIOs clk: bd718x7: Support ROHM BD73800 regulator: bd71828: Support ROHM BD73800 rtc: bd70528: Support RTC on ROHM BD73800 mfd: Support for ROHM BD73800 PMIC core dt-bindings: mfd: ROHM BD73800 PMIC dt-bindings: regulator: ROHM BD73800 regulators dt-bindings: rohm,bd*: Ref common ROHM bindings dt-bindings: mfd: Common ROHM PMIC properties gpio: siox: normalize return value of gpio_get() gpio: dln2: use assign_bit() where applicable ...
2026-10-13lp872x: remove platform_data based probing and adjustmentsMark Brown
Svyatoslav Ryhel <clamor95@gmail.com> says: Upgrade schema. Consolidate driver file, remove platform_data based probing and add missing regulator/chip supplies. Link: https://patch.msgid.link/20261013181417.492252-1-clamor95@gmail.com
2026-10-13regulator: dt-bindings: ti,lp872x: Document input suppliesSvyatoslav Ryhel
Document input supplies of TI LP8720 and LP8725. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://patch.msgid.link/20261013181417.492252-3-clamor95@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-13regulator: dt-bindings: ti,lp872x: Deprecate ti,dvs-gpio and ti,update-configSvyatoslav Ryhel
Mark ti,dvs-gpio as deprecated in favor of using dvs-gpio property. The ti,dvs-gpio is not used in any of existing in kernel device trees anyway, so this should not break any tree. Mark ti,update-config deprecated in favor of using the presence of the ti,general-config property as a trigger to update. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://patch.msgid.link/20261013181417.492252-2-clamor95@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-08regulator: dt-bindings: sy8827n: support standard propertiesJisheng Zhang
Support standard properties regulator.yaml, such as regulator-active-discharge', 'regulator-always-on', 'regulator-boot-on', 'regulator-max-microvolt', 'regulator-min-microvolt', 'regulator-name' and on. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20261005152633.25339-1-jszhang@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-06regulator: dt-bindings: Tegra coupling DT conversions and cleanupMark Brown
Bhargav Joshi <j.bhargav.u@gmail.com> says: This series adds a shared DT schema for Tegra regulator coupling, updates relevant PMICs to use it, and converts the TI TPS6586x bindings to DT schema. Link: https://patch.msgid.link/20260930-ti-tps6586x-v5-0-aac0273b5da3@gmail.com
2026-10-06regulator: dt-bindings: Reference Tegra regulator coupling schemaBhargav Joshi
Several PMICs used on Tegra boards TPS65910, TPS62360, and MAX77620 use Tegra-specific regulator coupling properties. Update their dt bindings to reference the shared nvidia,tegra-regulators-coupling.yaml schema. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Link: https://patch.msgid.link/20260930-ti-tps6586x-v5-2-aac0273b5da3@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-06regulator: dt-bindings: nvidia,tegra-regulators-coupling: Convert to DT schemaBhargav Joshi
Convert NVIDIA Tegra Regulators Coupling from legacy text to DT schema. Set additionalProperties true as this is shared schema. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Link: https://patch.msgid.link/20260930-ti-tps6586x-v5-1-aac0273b5da3@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-06regulator: dt-bindings: ti,lp872x: Convert to DT schemaBhargav Joshi
Convert the TI/National Semiconductor LP8720/LP8725 PMIC text binding to standard DT schema. No functional changes. Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Link: https://patch.msgid.link/20260822-ti-lp872x-v1-1-0ae11357eafc@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-10-04regulator: dt-bindings: Drop obsolete MAX8925 .txt bindingRob Herring (Arm)
The mfd/maxim,max8925.yaml schema describes the regulators for this device. Remove the obsolete text binding. Assisted-by: LLM Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20261002171455.2719968-1-robh@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-24dt-bindings: arm: vexpress: drop the obsolete hwmon and regulator text filesQuchaosheng
Documentation/devicetree/bindings/hwmon/vexpress.txt describes the arm,vexpress-volt, -amp, -temp, -power and -energy sensors, and Documentation/devicetree/bindings/regulator/vexpress.txt describes the arm,vexpress-volt regulator. Both restate what arm/vexpress-config.yaml already documents: the same compatibles, the arm,vexpress-sysreg,func property and the label property. The regulator node refers to regulator.yaml, which covers the generic regulator properties the second file lists, and all 13 in-tree arm,vexpress-volt nodes set both of the properties it calls required. One sentence in the regulator file is not a restatement: it says that a supply without regulator-min-microvolt and regulator-max-microvolt is treated as fixed. vexpress_regulator_probe() implements that by selecting vexpress_regulator_ops_ro when the two properties do not both define a range. Move the note into the regulator node description in the schema, so that removing the file does not lose it. Nothing else refers to the two files. Remove them. Assisted-by: LLM Signed-off-by: Quchaosheng <quchaosheng000406@163.com> Link: https://patch.msgid.link/20260917115818.540344-2-quchaosheng000406@163.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-09-23regulator: dt-bindings: ti,tps6586x: Convert to DT schemaBhargav Joshi
Convert Texas Instruments tps6586x regulator binding from text to DT schema. Reference to nvidia,tegra-regulators-coupling in child regulator nodes. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Link: https://patch.msgid.link/20260919-ti-tps6586x-v3-4-63dd240f4684@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-23regulator: dt-bindings: Add MAX20024 sd4Rob Herring (Arm)
Allow the MAX20024 extra sd4 regulator and its in-sd4 supply in the MAX77620 regulator schema. The other DCDC and LDO names remain unchanged. Assisted-by: LLM Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://patch.msgid.link/20260922212140.1118832-1-robh@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-23regulator: dt-bindings: Convert mediatek,mt6380-regulator to DT schemaRob Herring (Arm)
Convert the MediaTek mediatek,mt6380-regulator binding to DT schema format. It's a straight forward conversion. The regulators are part of the "pwrap" block, so add a $ref to them. Assisted-by: LLM Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260922195502.818012-1-robh@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-23dt-bindings: regulator: ROHM BD73800 regulatorsMatti Vaittinen
Add bindings for the BUCKs and LDOs on ROHM BD73800. The PMIC state specific voltages can be set in same fashion as with a few other ROHM PMICs (for example with BD718[15,28,37,47,50,79]). Same properties are recycled :) The LDOs 1 and 4 can use different voltage ranges depending on the OTP configuration. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/0f001ca0d7463cd66777d8ad723212fadb199ce1.1789538455.git.mazziesaccount@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-09-21regulator: add support for the Nexperia NEX10000UB dual output LCD bias ↵Mark Brown
power supply Neil Armstrong <neil.armstrong@linaro.org> says: Document and add regulator support for the Nexperia NEX10000UB dual output LCD bias power supply which provides programmable positive and negative output voltages mainly for display panels applications. The driver supports setting the output voltage from 4V to 6V in 100mV steps for each output via the I2C programming interface and supports the enable GPIOs for both outputs. Product datashet can be found online at [1]. [1] https://assets.nexperia.com/documents/data-sheet/NEX10000UB.pdf Link: https://patch.msgid.link/20260921-topic-sm8x50-nex10000ub-v2-0-eeeaf9b0c913@linaro.org
2026-09-21regulator: dt-bindings: document the Nexperia NEX10000UB dual output LCD ↵Neil Armstrong
bias power supply Document the Nexperia NEX10000UB dual output LCD bias power supply which provides programmable positive and negative output voltages mainly for display panels applications. Product datashet can be found online at [1]. [1] https://assets.nexperia.com/documents/data-sheet/NEX10000UB.pdf Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://patch.msgid.link/20260921-topic-sm8x50-nex10000ub-v2-2-eeeaf9b0c913@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-14regulator: mpq4210: Address the post-merge review commentsMark Brown
Tapio Reijonen <tapio.reijonen@vaisala.com> says: The MPQ4210 series was applied to for-7.4 as e3c05a881fc9 and 61879d561e91, and two review comments arrived afterwards. Both are addressed here as incremental patches against current for-7.4. Patches 1 and 2 rename mps,fb-voltage-divider to mps,fb-voltage-divider-ohms, as Krzysztof asked. The split across the binding and the driver leaves one commit where the two disagree, so they are meant to be applied together. The suffix is worth more here than the convention alone: mps,mp886x.yaml already describes a property of the same name whose values are kilo ohms rather than ohms, so two bindings from the same vendor spelled the resistances identically while meaning different units. Nothing in tree uses the old name and it has not appeared in a release, so no fallback is kept. Patch 3 drops the <linux/mod_devicetable.h> include, as Uwe asked. Tested on an i.MX6SX board whose MPQ4210 sits behind a gpio i2c mux, with the device tree updated to the new property name. The regulator registers and the divider is parsed correctly: the board sets regulator-ramp-delay above every supported rate, and the core reports "Can't set ramp-delay 3000, setting 2101", where 2101 uV/us is the fastest reference rate scaled by this board's divider. That value can only be reached by reading both resistors from the renamed property. Link: https://patch.msgid.link/20260913-mpq4210-ohms-fixup-v1-0-dcff627001ff@vaisala.com
2026-09-14regulator: dt-bindings: mps,mpq4210: Use the -ohms unit suffixTapio Reijonen
The feedback divider property was added without the standard unit suffix. Rename mps,fb-voltage-divider to mps,fb-voltage-divider-ohms. The suffix is worth more here than the convention alone: mps,mp886x.yaml already describes a property of the exact same name whose values are in kilo ohms, so two bindings from the same vendor spelled the resistances identically while meaning different units. The suffix states the unit where it cannot be missed. Drop the explicit uint32-array $ref along with the rename. Properties ending in -ohms are typed by property-units.yaml, which reports the type error itself, so restating it only produced a duplicate complaint. The binding has not appeared in a release and has no in-tree users, so nothing depends on the old name. The driver is updated in the next patch. Fixes: e3c05a881fc9 ("regulator: dt-bindings: Add MPS MPQ4210") Suggested-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20260911-gaur-of-satisfying-action-1a3b0f@quoll Signed-off-by: Tapio Reijonen <tapio.reijonen@vaisala.com> Link: https://patch.msgid.link/20260913-mpq4210-ohms-fixup-v1-1-dcff627001ff@vaisala.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-13regulator: dt-bindings: Use consistent indentation in the exampleKrzysztof Kozlowski
Correct indentation in the examples to consistent 2- or 4-spaces indentation to fix dt-check-style warnings ("example 0 [indent-consistent] indent mismatch ..."). Preferred is 4-spaces, but re-indenting entire example just for that is too much churn. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260913123212.99817-2-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-10regulator: Add MPS MPQ4210 buck-boost regulator supportMark Brown
Tapio Reijonen <tapio.reijonen@vaisala.com> says: This series adds support for the Monolithic Power Systems MPQ4210, a 40V synchronous four-switch buck-boost controller with an I2C interface. The output voltage is programmed through an 11-bit feedback reference DAC with a 1mV step and is then scaled by an external feedback resistor divider, so the divider ratio has to be described in the device tree. The same ratio applies to the reference slew rate, so the four rates that the Control 1 SR field selects are scaled into a per-device ramp_delay_table and the field is exposed through regulator_set_ramp_delay_regmap(). The current limit, switching frequency, dither and interrupt registers are left at their reset values. Only 0.3V to 2.047V of the DAC range is specified, so linear_min_sel holds the driver to that and the lower selectors are not offered. On a board with a gain of 14 that is the difference between a floor of 4.2V and one of 0V, and the lower part of that range does not regulate. Scaling the ramp table is a deliberate difference from ltc3589 and mp886x, which read an equivalent feedback-divider property but keep their ramp values unscaled. Every other constraint in the device tree is expressed at the regulator output, so the selectable rates have to be as well, or regulator-ramp-delay would select the wrong SR encoding. It does mean the reachable rates are board specific and no value can be copied between boards, so the binding documents how they are derived and shows the calculation in its example. Two details are worth a reviewer's attention. Enable follows the start-up sequence the datasheet spells out: commit the reference with the GO bit, wait 200ms, then set ENPWR. That is why .enable is open coded rather than using regulator_enable_regmap. Control 1 bit 2 is documented only as "Reserved", but the datasheet notes that it must be set to one before the IC starts up. Its reset value is zero, so probe sets it. One consequence of the hardware worth spelling out: the MPQ4210 does not respond on the I2C bus while EN is deasserted. The enable GPIO is therefore claimed and asserted before the first register access and held for the lifetime of the device, rather than being handed to the core as regulator_config::ena_gpiod, which would drop the bus along with the output. Tested on an i.MX6SX board, regulator behind an I2C mux, feedback divider 100k/7.685k giving a gain of 14.0124, a 14012uV step and a 4.204V floor: - A 16 point staircase from 4.204V to 25.2V: the commanded voltage, the value read back and the selector decoded from the two reference registers agree exactly at every point, and a meter on the rail follows. - With the rail up and no regulator-ramp-delay in the device tree, Control 1 reads 0x45: SR at its reset value, bit 2 set, GO self-cleared and ENPWR set. Interrupt status reads clear. - regulator-ramp-delay picks the SR encoding as intended. 1050, an exact entry of this board's scaled table, gives 0x85. 3000, above every entry, warns "Can't set ramp-delay 3000, setting 2101" and gives 0xC5. - Sampling Control 1 across a disable and re-enable shows 0x45, 0x44, 0x45, so ENPWR is cleared and restored as expected. - Enable takes 230ms, against roughly 16ms for a plain register write on this bus. Link: https://patch.msgid.link/20260910-mpq4210-regulator-v1-0-d37e208dfc8d@vaisala.com
2026-09-10regulator: dt-bindings: Add MPS MPQ4210Tapio Reijonen
The MPQ4210 is a 40V synchronous four-switch buck-boost controller with an I2C interface. Its output voltage is programmed through an 11-bit feedback reference DAC covering 0 to 2.047V in 1mV steps, and is then scaled by an external feedback resistor divider, so the divider ratio has to be described in the device tree for the driver to translate reference voltages into output voltages. The divider is given in ohms rather than the kilo ohms used by mps,mp886x.yaml because the bottom resistor is not necessarily a whole number of kilo ohms. The same divider scales the reference ramp rate, so unlike the other bindings that scale by a feedback divider there is no portable value a board can copy into regulator-ramp-delay. Describe how the selectable rates are derived from the four reference slew rates, and show the calculation in the example. Signed-off-by: Tapio Reijonen <tapio.reijonen@vaisala.com> Link: https://patch.msgid.link/20260910-mpq4210-regulator-v1-1-d37e208dfc8d@vaisala.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-04Add supply names for PM6350 RPMh regulators on Fairphone 4Mark Brown
Luca Weiss <luca.weiss@fairphone.com> says: During bringup no parent supply names were added to the RPMh regulator driver. Add them now. Link: https://patch.msgid.link/20260901-fp4-regulator-supply-v1-0-68288ab70aee@fairphone.com
2026-09-04regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350Luca Weiss
The supply names for the PM6350 regulators were skipped during initial bringup. Document them now. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Link: https://patch.msgid.link/20260901-fp4-regulator-supply-v1-1-68288ab70aee@fairphone.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-04regulator: mp886x: add MP8864 supportMark Brown
Jisheng Zhang <jszhang@kernel.org> says: The MP8864 is a 4 A, 21 V synchronous step-down converter. Its register layout and voltage transition handling are compatible with the MP8867, but its selectable switching frequencies are 600 kHz, 850 kHz, 1.1 MHz and 1.6 MHz. Add the compatible and chip-specific switching-frequency table. Link: https://patch.msgid.link/20260901043123.5401-1-jszhang@kernel.org
2026-09-04regulator: dt-bindings: mp886x: support mp8864Jisheng Zhang
The MP8864 is a 4 A, 21 V synchronous step-down converter. Its register layout and voltage transition handling are compatible with the MP8867, but its selectable switching frequencies are 600 kHz, 850 kHz, 1.1 MHz and 1.6 MHz. Add the compatible and chip-specific switching-frequency table. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Assisted-by: Codex:gpt-5 Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20260901043123.5401-3-jszhang@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-31regulator: dt-bindings: fan53555: add tcs,tcs4526Rudi Heitbaum
The driver has accepted tcs,tcs4526 since commit 5eee5eced95f ("regulator: fan53555: add tcs4526"), which added the compatible to both the of_device_id and i2c_device_id tables for the TCS4526, a chip that reports id 0 rather than the TCS4525's id 12. The binding was converted to DT schema afterwards, in commit 6cea468b680e ("regulator: dt-bindings: Convert Fairchild FAN53555 to DT schema"), and only picked up tcs,tcs4525. No in-tree DTS used the 4526 string at the time, so nothing flagged the omission. RK3399Pro boards use the TCS4526 for vdd_gpu and vdd_cpu_b, so a DTS describing them fails dtbs_check today even though the driver binds correctly. Add the missing compatible. Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/aousEdwMni9ScZBn@0d3a7a881997 Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-30regulator: dt-bindings: Convert TPS65023 to DT schemaEduard Bostina
Convert the Texas Instruments TPS65023 family of PMICs bindings to DT schema. Signed-off-by: Eduard Bostina <egbostina@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260815082913.2144978-1-egbostina@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-27Merge tag 'leds-next-7.3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds Pull LED updates from Lee Jones: "New Support & Features: - Core: Extend netdev trigger speeds up to 100G - PWM Multicolor: Introduce default-intensity property - Analog Devices LTC3220: Add support for 18 channel LED driver - NXP PCA963x: Add multicolor LED class support Improvements & Fixes: - GPIO: Clear error pointers for skipped LEDs - Broadcom BCM63138: Use %pe to print pinctrl error instead of %ld - ISSI IS31FL319x: Modernize device registration by using fwnode APIs - NXP PCA9532: Fix inverted GPIO output polarity - NXP PCA9532: Fix phantom device registration on missing hardware - STMicroelectronics ST1202: Correct and extend hw_pattern documentation - STMicroelectronics ST1202: Fix channel disable logic on zero brightness and ensure brightness changes are applied in active mode - STMicroelectronics ST1202: Fix hardware pattern sequence programming, validate inputs, and correct pattern duration calculations - STMicroelectronics ST1202: Validate LED reg property against channel count - TI LP5860: Fix a potential double-unlock during device initialization and fix error handling path by using devm_mutex_init() Cleanups & Refactoring: - GPIO: Make legacy gpiolib interface optional Device Tree Binding Updates: - Core: Add default-intensity property - Core: Document "gpio" trigger - Analog Devices LTC3220: Add DT binding for LTC3220 18 channel LED driver - Broadcom BCM6358: Convert to DT schema - LaCie NS2: Convert to DT schema - NXP PCA963x: Add multicolor LED support - NXP PCA963x: Fix reg maximum for pca9635 - TI TPS65217: Convert backlight bindings to DT schema" * tag 'leds-next-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (29 commits) leds: is31fl319x: Modernize registration dt-bindings: leds: lacie,ns2-leds: Convert to DT schema leds: pca963x: Add multicolor LED class support dt-bindings: leds: nxp,pca963x: Add multicolor LED support dt-bindings: leds: nxp,pca963x: Fix reg maximum for pca9635 leds: gpio: Clear error pointers for skipped LEDs dt-bindings: leds: backlight: Convert TPS65217 to DT schema leds: pca9532: Fix phantom device registration on missing hardware leds: gpio: Make legacy gpiolib interface optional leds: bcm63138: Use %pe to print pinctrl error instead of %ld dt-bindings: leds: Add default-intensity property leds: ltc3220: Add Support for LTC3220 18 channel LED Driver dt-bindings: leds: Add LTC3220 18 channel LED Driver dt-bindings: leds: bcm6358: Convert to DT schema dt-bindings: leds: Document "gpio" trigger leds: st1202: Correct and extend hw_pattern documentation leds: st1202: Validate LED reg property against channel count leds: st1202: Disable channel when brightness is set to zero leds: st1202: Fix brightness having no effect while pattern mode is active leds: st1202: Fix spurious pattern sequence start in setup ...
2026-08-19Merge tag 'devicetree-for-7.3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - Add a DT maintainer profile document - Various dt-check-style improvements - Add a devres managed reserved memory region init function - Print node name on any skipped reserved memory regions - Correctly handle optional argument in of_parse_phandle_with_args_map() - Convert ti,keystone-reset, ti,da850-vpif, TI L4 interconnect, TI SmartReflex, microchip,pic32mzda-dmt, microchip,pic32mzda-wdt, TI DA8XX MSTPRI bus, and Xen VM bindings to DT schema format - Add bindings for StarFive JHB100 plic, Allwinner A733 NMI controller, MediaTek MT8173 GPU, QCom Shikra, Eliza, and Maili cpu-bwmon, and QCom Shikra SCM firmware - A couple of syntax fixes found using PoC Rust implementation of dtschema tools - Clean-ups for typos, brackets, incorrect "::" usages, and white-space style * tag 'devicetree-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (40 commits) dt-bindings: interconnect: qcom-bwmon: Add Maili cpu-bwmon compatible dtc: dt-check-style: Simplify setting depth of DtsLine dtc: dt-check-style: Add missing /dts-v1/ to few test cases dt-bindings: power: reset: ti,keystone-reset: Convert to DT schema media: dt-bindings: ti,da850-vpif: Convert to dt-schema dt-bindings: devfreq: samsung,exynos-ppmu: Use standard regex syntax dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Drop invalid JSON pointer dt-bindings: arm: omap: Convert L4 interconnect to DT schema dt-bindings: power: Convert TI SmartReflex to DT schema of: reserved_mem: Introduce devres-managed initialization function dt-bindings: interrupt-controller: Add StarFive JHB100 plic dt-bindings: irq: sun7i-nmi: Document the Allwinner A733 NMI controller dt-bindings: Correct white-space style dt-bindings: fix typos and brackets docs: dt: submitting-patches: Mention expectation about dt-check-style docs: dt: maintainer: Add Devicetree and OF maintainer profile document docs: dt: writing-schema: Extend expectations about example part of binding dt-bindings: gpu: powervr-rogue: Add MediaTek MT8173 GPU of: base: Handle optional argument in of_parse_phandle_with_args_map() dt-bindings: update Sudeep Holla's email address ...
2026-08-19Merge tag 'regulator-v7.3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This is a relatively quiet release for the regulator API, we've had no major core work and not really that much driver work either. There's a bunch of activity, including several new devices, but nothing hugely remarkable here. - Reworking of the mode handling in the max14577 driver to fix issues with collisions with enables - Support for onsemi FAN53555BUC23X, Qualcomm IPQ9650, PM4125 VBUS and PM8150B and Unisoc SC2730" * tag 'regulator-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (36 commits) regulator: fan53555: Add support for FAN53555BUC23X type regulator: qcom-rpmh: Fix coding style issues regulator: qcom-rpmh: readback voltage/bypass/mode set during bootup regulator: qcom-rpmh: Fix PMIC5 BOB bypass mode handling soc: qcom: rpmh: Add support to read back resource settings regulator: dt-bindings: ti,pbias-omap: Convert to DT schema regulator: ab8500: Remove stale expand_register kernel-doc entry regulator: dt-bindings: Correct white-space style regulator: pfuze100: add set_suspend_disable for LDO ops regulator: core: use system_freezable_wq for init complete work regulator: rt6245: Restore state on enable failure regulator: tps65185: handle gpiod_get_value_cansleep() error returns regulator: fan53555: Add support for mode operations on Silergy devices regulator: dt-bindings: Add fan53555 allowed modes regulator: wm831x-isink: remove conditional return with no effect regulator: dt-bindings: Convert ltc3589.txt to yaml format regulator: dt-bindings: tps51632: Convert to DT schema regulator: mcp16502: Convert to dev_err_probe() in mcp16502_probe() regulator: adp5055: Fix error code in adp5055_of_parse_cb() regulator: qcom_usb_vbus: add support for qcom,pm4125-vbus-reg ...
2026-08-07dt-bindings: fix typos and bracketsManuel Ebner
Add missing '(', ')', '}' Remove needless '(', ')', '{', '}' 'lover voltage' -> 'lower voltage' Signed-off-by: Manuel Ebner <manuelebnerli@mailbox.org> Link: https://patch.msgid.link/20260722101246.3113818-2-manuelebnerli@mailbox.org [robh: drop .txt binding changes] Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-08-06dt-bindings: leds: backlight: Convert TPS65217 to DT schemaEduard Bostina
Convert the Texas Instruments TPS65217 bindings to DT schema. During the conversion, the following updates were made: - Documented the 'regulators', 'charger' and 'pwrbutton' child nodes, which are used by the boards but were missing from the old txt binding. - Documented the 'interrupts', 'interrupt-controller', '#interrupt-cells' and 'ti,pmic-shutdown-controller' properties, which are used by the am335x boards and read by the driver. The regulator/tps65217.txt binding documented the same 'ti,tps65217' compatible and is superseded by this schema, so remove it as well. Signed-off-by: Eduard Bostina <egbostina@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260723100605.628882-5-egbostina@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-08-03regulator: dt-bindings: ti,pbias-omap: Convert to DT schemaBhargav Joshi
Convert Texas Instruments PBIAS internal regulator from text to DT schema. Since all in tree DT uses SoC specific compatible along with "ti,pbias-omap" Convert compatible property to require the two-string form. Add child regulator nodes as property as they are fixed and node name is matched by driver. Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260729-ti-pbias-omap-v3-1-20fcc0bdc890@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-03regulator: dt-bindings: Correct white-space styleKrzysztof Kozlowski
Correct a few white-space issues, like double space after '=' character, which will be flagged by dt-check-style. No functional changes. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260801195440.234183-2-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-28regulator: dt-bindings: qcom,rpmh: Add support for PM8350BEsteban Urrutia
The PM8350B has only one LDO, which gets its power from a dedicated input. Add support for it. Signed-off-by: Esteban Urrutia <esteuwu@proton.me> Link: https://patch.msgid.link/20260723-pm8350b-ldo-v1-1-42b5428a0d3f@proton.me Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-28regulator: dt-bindings: Add fan53555 allowed modesVictor Krawiec
Fairchild FAN53555 and its clone from Rockchip, Silergy and TCS support two modes of operation: - Auto-PFM: Allow automatic PFM during light load (default mode) - Forced PWM Some boards require forced PWM mode to keep the supply ripple within acceptable limits under light load conditions. Regulator mode indexes are starting from 1 to keep backward compatibility with existing device trees Signed-off-by: Victor Krawiec <victor.krawiec@arturia.com> Link: https://patch.msgid.link/20260723094001.120264-2-victor.krawiec@arturia.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-22regulator: dt-bindings: Convert ltc3589.txt to yaml formatFrank Li
Convert ltc3589.txt to yaml format. Additional changes: - Add interrupts to match driver code - Require lltc,fb-voltage-divider property ^(sw1|sw2|sw3|bb-out|ldo1|ldo2)$ Signed-off-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260714160147.1641379-1-Frank.Li@oss.nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-21regulator: dt-bindings: tps51632: Convert to DT schemaBhargav Joshi
Convert Texas Instruments TPS51632 Voltage regulators from legacy text to DT schema. No functional changes are introduced. Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260717-ti-regulator-tp-v1-1-a49d41dc56d3@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-06regulator: qcom_usb_vbus: add pm4125 VBUS regulator supportMark Brown
Rakesh Kota <rakesh.kota@oss.qualcomm.com> says: Add support for PM4125 USB VBUS regulator. Unlike PM8150B which uses a current-limit selector, PM4125 uses a 2-bit VBOOST voltage selector supporting 4.25 V, 4.5 V, 4.75 V and 5.0 V output. Link: https://patch.msgid.link/20260706-add_pm4125-vbus-reg-v3-0-999d78a87b81@oss.qualcomm.com
2026-07-06regulator: dt-bindings: qcom,usb-vbus-regulator: add qcom,pm4125-vbus-regRakesh Kota
The pm4125 PMIC uses a different USB VBUS register layout than pm8150b. It uses a 2-bit VBOOST voltage selector supporting output voltages of 4.25 V, 4.5 V, 4.75 V and 5.0 V, instead of a current-limit selector. Move qcom,pm4125-vbus-reg from the pm8150b fallback items list into the standalone enum since the driver handles it with its own match-data and register layout. Make regulator-min/max-microamp conditional so they are only required for current-limit variants (pm8150b, pm6150, pm7250b, pmi632). Add an if/then condition for qcom,pm4125-vbus-reg requiring regulator-min/ max-microvolt instead, and update the pm4125 example accordingly. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com> Link: https://patch.msgid.link/20260706-add_pm4125-vbus-reg-v3-1-999d78a87b81@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-03regulator: dt-bindings: ROHM PMIC state-machine voltagesMatti Vaittinen
A few of the ROHM PMICs have a state-machine corrsponding to the SOC power-states. Idea is that by changing the PMIC state, all power-outputs will be switched to a pre-defined state. As an example, the SOC may use a low-power state when system is suspended, and when transitioning from the normal operation to suspend, the PMIC can be told to go to SUSPEND-state - which will then switch outputs of all power-rails to pre-defined low-power state matching the SOC expectation for SUSPEND. In addition to the SUSPEND, there are a few other states as well. The voltage values & enable / disable -states matching the SOC expectations can be set for the PMIC states using rohm,dvs-<state>-voltage -properties. It all started with the BD71837 supporting this, but over the years these same properties have been used for a few other PMICs, and seems like this HW-state machine design is not going away. Copying the descriptions and types in each PMIC specific binding, and discussing them during the reviews is getting tedious for the reviewers and author(s) alike. Furthermore, having separate descriptions makes it very easy to add errors, or differing, and even contradicting documentation for properties with same name. Avoid these issues by using one common file for the common ROHM PMIC state-machine definitions and only referencing this from the individual PMIC bindings. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Suggested-by: Rob Herring <robh@kernel.org> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/akZGe1CaQFDd3idm@mva-rohm Signed-off-by: Mark Brown <broonie@kernel.org>
2026-06-30dt-bindings: Drop incorrect usage of double '::'Krzysztof Kozlowski
There is no use of double colon '::' in YAML. OTOH, the literal style block, e.g. using '|' treats all characters as content [1] therefore single use of ':' in descriptions is perfectly fine, whenever '|' is used. Cleanup existing code, so the confusing style won't be re-used in new contributions. Link: https://yaml.org/spec/1.2.2/#literal-style [1] Acked-by: Conor Dooley <conor.dooley@microchip.com> Acked-by: Alim Akhtar <alim.akhtar@samsung.com> Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com> Acked-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> # renesas Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Acked-by: Andi Shyti <andi.shyti@kernel.org> Link: https://patch.msgid.link/20260623054842.21831-4-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-06-30regulator: rtq2208: Remove the unnecessary MTP_SEL propertyMark Brown
ChiYuan Huang <cy_huang@richtek.com> says: This patch series remove the 'richtek,mtp-sel-high' property usage. Link: https://patch.msgid.link/cover.1782444299.git.cy_huang@richtek.com
2026-06-30regulator: dt-bindings: rtq2208: Label mtp-sel-high property as deprecatedChiYuan Huang
Since it can be identified by hardware register, label the unnecessary property 'richtek,mtp-sel-high' as deprecated. Signed-off-by: ChiYuan Huang <cy_huang@richtek.com> Link: https://patch.msgid.link/594ebe167b33ca885c040984624e4b5d1382c0e2.1782444299.git.cy_huang@richtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-06-29regulator: dt-bindings: qcom,sdm845-refgen-regulator: Document IPQ9650Kathiravan Thirumoorthy
IPQ9650 has two REFGEN blocks which provide reference current to the PCIe, USB and UNIPHY PHYs. Unlike other supported platforms, IPQ9650 requires the REFGEN clocks to be enabled explicitly. Document the IPQ9650 compatible and the required clocks for it. While at it, move the allOf block after the 'required' property section. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> Link: https://patch.msgid.link/20260617-ipq9650_refgen-v4-2-c505ea6c6661@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-06-24regulator: dt-bindings: Add Unisoc SC2730 PMICOtto Pflüger
Add bindings for the regulators found in the Spreadtrum/Unisoc SC2730 PMIC, used e.g. with the UMS512 and UMS9230 SoCs. Signed-off-by: Otto Pflüger <otto.pflueger@abscue.de> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260620-sc2730-regulators-v6-1-bbd2db395231@abscue.de Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-06-09regulator: dt-bindings: mt6311: Convert to DT schemaNinad Naik
Convert mediatek,mt6311 to DT schema. Signed-off-by: Ninad Naik <ninadnaik07@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260604162624.644241-1-ninadnaik07@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>