Re: [PATCH 3/7] doc:bindings:Document for hi655x pmic driver

From: Mark Brown
Date: Thu Nov 05 2015 - 09:25:34 EST


On Thu, Nov 05, 2015 at 09:34:44PM +0800, Chen Feng wrote:

> +Required properties:
> +- compatible: Must be "hisilicon,hi655x-regulator-pmic";

If this is a subfunction of a MFD it shouldn't have a compatible string.
If it is instead a standalone device it should just have a name in the
form "vendor,chip" without any random suffixes.

> +- regulator-name: Regulator name in SoC.
> +- regulator-min-microvolt: Smallest voltage support.
> +- regulator-max-microvolt: Largest voltages support.

These should *never* be mandatory properties and the generic regulator
bindings should be reference rather than copied into the binding for a
specific device, that way the standard definitions for things are always
used and people know about any other properties that are available as
standard.

> +- regulator-off-on-delay: The time wait for power steady
> +- regulator-ctrl-regs: Registers offset of control register.
> + In turn with enable disable and status register offset.
> +- regulator-ctrl-mask: The control mask of the register.
> +- regulator-vset-regs: Voltage set register offset.
> +- regulator-vset-mask: voltage set control mask.
> +- regulator-n-vol: The num of support voltages.
> +- regulator-vset-table: The table of support voltages.

Why is this in the binding? This is a binding for a specific device,
there is no point in putting all these data tables in the DT - it just
bloats the DT and makes it harder for us to enhance our support for this
device in the future. Just

> +
> +Example:
> + pmic: pmic@f8000000 {
> + compatible = "hisilicon,hi655x-pmic-driver";
> + ...
> + ldo2: regulator@a21 {
> + compatible = "hisilicon,hi655x-regulator-pmic";
> + regulator-name = "ldo2";
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <3200000>;
> + regulator-valid-modes-mask = <0x02>;
> + regulator-initial-mode = <0x02>;
> + regulator-off-on-delay = <120>;
> + regulator-ctrl-regs = <0x029 0x02a 0x02b>;
> + regulator-ctrl-mask = <0x1>;
> + regulator-vset-regs = <0x072>;
> + regulator-vset-mask = <0x3>;
> + regulator-n-vol = <8>;
> + regulator-vset-table = <2500000>,<2600000>,
> + <2700000>,<2800000>,
> + <2900000>,<3000000>,
> + <3100000>,<3200000>;
> + };
> + ...
> + }
> --
> 1.9.1
>
>

Attachment: signature.asc
Description: PGP signature