[PATCH 11/11] OMAPDSS: DPI: use VPLL2 regulator if VDDS_DSI is not found
Javier Martinez Canillas
javier.martinez at collabora.co.uk
Sat Nov 16 10:34:36 EST 2013
Hi Tony,
On 11/16/2013 03:18 PM, Tony Lindgren wrote:
> * Javier Martinez Canillas <javier.martinez at collabora.co.uk> [131116 05:25]:
>> On Device Tree boot the VDDS_DSI regulator is not linked to
>> the DPI device so omapfb driver probing fails with:
>>
>> [ 3.186035] OMAPFB: omapfb_probe
>> [ 3.190704] omapdss DPI error: can't get VDDS_DSI regulator
>> [ 3.196594] omapfb omapfb: failed to connect default display
>> [ 3.202667] omapfb omapfb: failed to init overlay connections
>> [ 3.208892] OMAPFB: free_resources
>> [ 3.212493] OMAPFB: free all fbmem
>> [ 3.216735] omapfb omapfb: failed to setup omapfb
>>
>> As a workaround try to use the VPLL2 regulator from twl4030 in
>> dpi_init_regulator() if getting the VDDS_DSI regulator fails.
>
> Probably makes sens to fix this in the dpi.c, but this can also be set
> in the .dts file. I just set up the following in the omap3-ldp.dts file:
>
Sorry is not clear to me if you agree that makes sense to do this fix on dpi.c
or if you think this is a bad idea and prefer to do it in the DTS instead?
I'm asking to know if I have to send a follow up patch or not :)
> &vaux1 {
> /* Needed for ads7846 */
> regulator-name = "vcc";
> };
>
> &vpll2 {
> /* Needed for DSS */
> regulator-name = "vdds_dsi";
> };
>
> Regards,
>
> Tony
>
>
>> Signed-off-by: Javier Martinez Canillas <javier.martinez at collabora.co.uk>
>> ---
>> drivers/video/omap2/dss/dpi.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
>> index bd48cde..e328f0b 100644
>> --- a/drivers/video/omap2/dss/dpi.c
>> +++ b/drivers/video/omap2/dss/dpi.c
>> @@ -550,6 +550,11 @@ static int dpi_init_regulator(void)
>> return 0;
>>
>> vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "vdds_dsi");
>> +
>> + /* DT HACK: try VPLL2 to make omapdss work for OMAP3 IGEPv2 */
>> + if (IS_ERR(vdds_dsi))
>> + vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "VPLL2");
>> +
>> if (IS_ERR(vdds_dsi)) {
>> DSSERR("can't get VDDS_DSI regulator\n");
>> return PTR_ERR(vdds_dsi);
>> --
>> 1.8.4.2
>>
>
Best regards,
Javier
More information about the linux-arm-kernel
mailing list