Re: [PATCH 2/4] regulator: dt-bindings: Add pm8008 regulator bindings

skakit
2021-09-28T12:44:32Z

On 2021-09-17 21:18, Mark Brown wrote:
> On Fri, Sep 17, 2021 at 04:15:36PM +0530, Satya Priya wrote:
>
>> + properties:
>> + reg:
>> + maxItems: 1
>> + regulator-name: true
>> + regulator-min-microvolt: true
>> + regulator-max-microvolt: true
>
> You shouldn't be forcing these properties, it should be perfectly OK
> for
> boards to have fixed voltages especially for example during bringup or
> for debugging.
>

Okay. I will remove these.

>> + qcom,min-dropout-voltage:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + Specifies the minimum voltage in microvolts that the parent
>> + supply regulator must output, above the output of this
>> + regulator.
>
> If this is needed in DT it should be a generic property since most
> regulators have some requirement here however usually it's a fixed
> property of the silicon and should therefore just gets set in the
> regulator_desc as min_dropout_uV - I'd strongly recommend having a
> default there even if there's some requirement for it to be set per
> board.

Yeah, we are setting the default values for this(headroom_uv) from
driver. Please see below

struct regulator_data {
char *name;
char *supply_name;
int min_uv;
int max_uv;
int min_dropout_uv;
};

static const struct regulator_data reg_data[PM8008_MAX_LDO] = {
/* name parent min_uv max_uv headroom_uv */
{"l1", "vdd_l1_l2", 528000, 1504000, 225000},
{"l2", "vdd_l1_l2", 528000, 1504000, 225000},
{"l3", "vdd_l3_l4", 1504000, 3400000, 200000},
{"l4", "vdd_l3_l4", 1504000, 3400000, 200000},
{"l5", "vdd_l5", 1504000, 3400000, 300000},
{"l6", "vdd_l6", 1504000, 3400000, 300000},
{"l7", "vdd_l7", 1504000, 3400000, 300000},
};

Inside Register LDO API:

pm8008_reg->rdesc.min_dropout_uV = reg_data[i].min_dropout_uv;
of_property_read_u32(reg_node, "qcom,min-dropout-voltage",
&pm8008_reg->rdesc.min_dropout_uV);