Subject: [PATCH v3] PM / AVS: rockchip-io: add driver handling Rockchip io domains

From: [email-masked] (Kevin Hilman)
Date: Wed, 24 Sep 2014 16:27:07 -0700

Kevin Hilman <[email-masked]> writes:

> Rafael,
>
> Doug Anderson <[email-masked]> writes:
>
>> From: Heiko St?bner <[email-masked]>
>>
>> IO domain voltages on some Rockchip SoCs are variable but need to be
>> kept in sync between the regulators and the SoC using a special
>> register.
>>
>> A specific example using rk3288:
>> - If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then
>>   bit 7 of GRF_IO_VSEL needs to be 0.  If the regulator hooked up to
>>   that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1.
>>
>> Said another way, this driver simply handles keeping bits in the SoC's
>> general register file (GRF) in sync with the actual value of a voltage
>> hooked up to the pins.
>>
>> Note that this driver specifically doesn't include:
>> - any logic for deciding what voltage we should set regulators to
>> - any logic for deciding whether regulators (or internal SoC blocks)
>>   should have power or not have power
>>
>> If there were some other software that had the smarts of making
>> decisions about regulators, it would work in conjunction with this
>> driver.  When that other software adjusted a regulator's voltage then
>> this driver would handle telling the SoC about it.  A good example is
>> vqmmc for SD.  In that case the dw_mmc driver simply is told about a
>> regulator.  It changes the regulator between 3.3V and 1.8V at the
>> right time.  This driver notices the change and makes sure that the
>> SoC is on the same page.
>>
>> Signed-off-by: Heiko St?bner <[email-masked]>
>> Signed-off-by: Doug Anderson <[email-masked]>
>> Reviewed-by: Santosh Shilimkar <[email-masked]>
>> ---
>> Changes in v3:
>> - Changed compatible string as per Santosh.
>
> Thanks, I like the new string better.
>
>> - Added code docs about the slop in 1.8V and 3.3V as per Santosh.
>> - Moved some #defines to the top as per Santosh.
>
> All nice changes, thanks Santosh!
>
> Reviewed-by: Kevin Hilman <[email-masked]>
>
> Rafael, how do you want to handle drivers/avs/* ?  Along with Nishanth,
> I'm maintaining everything there currently (only one driver :)), and
> since I recommended $SUBJECT driver go into drivers/avs[1], I'm happy to
> queue it for you and update MAINTAINERS to cover drivers/avs/* instead
> of just smartreflex.c.
>
> Let me know how you'd like to proceed.

For the benefit of the archives... Rafael and I talked off-list and
agreed that I'll queue it up for him and update MAINTAINERS to reflect
maintenance of drivesr/power/avs

Kevin