On 12/04/2024 13:21, Matti Vaittinen wrote: > ROHM BD96801 is a highly configurable automotive grade PMIC. Introduce > DT bindings for the BD96801 core. > > Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx> > > --- > Revision history: > RFCv1 => RFCv2: > - Document rohm,hw-timeout-ms > - Document rohm,wdg-action > --- > .../bindings/mfd/rohm,bd96801-pmic.yaml | 171 ++++++++++++++++++ > 1 file changed, 171 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml b/Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml > new file mode 100644 > index 000000000000..31ef787d6a8a > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml > @@ -0,0 +1,171 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ROHM BD96801 Scalable Power Management Integrated Circuit > + > +maintainers: > + - Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> > + > +description: | Do not need '|' unless you need to preserve formatting. > + BD96801 is an automotive grade single-chip power management IC. > + It integrates 4 buck converters and 3 LDOs with safety features like > + over-/under voltage and over current detection and a watchdog. > + > +properties: > + compatible: > + const: rohm,bd96801 > + > + reg: > + description: > + I2C slave address. Drop description, obvious. > + maxItems: 1 > + > + interrupts: > + description: > + The PMIC provides intb and errb IRQ lines. The errb IRQ line is used > + for fatal IRQs which will cause the PMIC to shut down power outputs. > + In many systems this will shut down the SoC contolling the PMIC and > + connecting/handling the errb can be omitted. However, there are cases > + where the SoC is not powered by the PMIC. In that case it may be > + useful to connect the errb and handle errb events. > + minItems: 1 > + maxItems: 2 > + > + interrupt-names: > + minItems: 1 > + items: > + - enum: [intb, errb] > + - const: errb > + > + rohm,hw-timeout-ms: > + description: > + Watchdog timeout value(s). First walue is timeout limit. Second value is > + optional value for 'too early' watchdog ping if window timeout mode is > + to be used. Standard property timeout-sec does not work for you? It should allow two items as well. > + minItems: 1 > + maxItems: 2 > + > + rohm,wdg-action: > + description: > + Whether the watchdog failure must turn off the regulator power outputs or > + just toggle the INTB line. > + enum: > + - prstb > + - intb-only This is second property controlling bite behavior. The other being: https://lore.kernel.org/all/e86812b3-a3aa-4bdb-9b32-a0339f0f76b5@xxxxxxxxxx/ Probably we need common property in watchdog.yaml. > + > + regulators: > + $ref: ../regulator/rohm,bd96801-regulator.yaml Full path, so /schemas/regulator/.... > + description: > + List of child nodes that specify the regulators. > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-names > + - regulators > + Missing allOf and $ref to watchdog.yaml > +additionalProperties: false > + > +examples: Best regards, Krzysztof