[PATCH 00/11] regulator updates

Sascha Hauer s.hauer at pengutronix.de
Wed Sep 20 03:33:05 PDT 2023


This series is the result of a longer debugging session on a phyCORE
STM32MP1 board. It turned out that the 'regulator' command prints the
valid voltage range that a regulator has, but by no means makes sure
that a regulator is set to a voltage inside that range, but instead
happily enables a regulator with whatever default voltage it happens
to have.

On my Phytec board this resulted in the ethernet phy regulator being
enabled with a too low voltage with the effect that ethernet was working
with a very high package loss.

This series fixes that. Another bonus of this series is that the
regulator command now prints the regulators in a tree structure instead
of a plain list.

Sascha

Sascha Hauer (11):
  regulator: rename variable rd to rdev
  regulator: merge struct regulator_internal fields into struct
    regulator_dev
  regulator: introduce regulator logging functions.
  regulator: add regulator_get_voltage_internal()
  regulator: Add missing cases in regulator_map_voltage()
  regulator: stpmic1: add .get_voltage_sel
  regulator: stpmic1: add .supply_name
  regulator: register regulator as last step in of_regulator_register()
  regulator: Set initial voltage
  regulator: drop struct regulator_dev::supply_name
  regulator: print regulator tree

 drivers/regulator/bcm2835.c           |   2 +-
 drivers/regulator/core.c              | 377 +++++++++++++++-----------
 drivers/regulator/stpmic1_regulator.c |  11 +
 include/regulator.h                   |  24 +-
 4 files changed, 254 insertions(+), 160 deletions(-)

-- 
2.39.2




More information about the barebox mailing list