DT on s3c24xx

Alexandre Courbot gnurou at gmail.com
Thu Dec 18 05:42:22 PST 2014


On Thu, Dec 18, 2014 at 5:34 PM, Vasily Khoruzhick <anarsoul at gmail.com> wrote:
> On Thu, Dec 18, 2014 at 10:52 AM, Uwe Kleine-König
> <u.kleine-koenig at pengutronix.de> wrote:
>> Hello,
>
> Hi Uwe,
>
>> [Cc += linusw, linux-gpio]
>>
>> On Wed, Dec 17, 2014 at 10:04:24PM +0300, Vasily Khoruzhick wrote:
>>> I'd like to port several s3c24xx to DT, and I'm stuck with s3c24xx LCD
>>> controller and power drivers for H1940 and RX1950.
>>>
>>> Please see [1]. I want to move this function into another LCD power
>>> driver, but I'm not sure what to do with s3c_gpio_cfgpin(). I need to
>>> change pin function in runtime, and as far as I understand it should
>>> be handled via pinctrl driver somehow. But how?
>> You can pass >1 pinctrl setups to a node:
>>
>>         somedevice {
>>                 pinctrl-names = "default", "foo", "bar";
>>                 pinctrl-0 = <&pinctrl_somedevice_default>;
>>                 pinctrl-1 = <&pinctrl_somedevice_foo>;
>>                 pinctrl-2 = <&pinctrl_somedevice_bar>;
>>                 cfg-gpios = <&gpio4 12 3>, <&gpio2 7 5>;
>>         };
>>
>> Then I think you can fiddle with pinctrl_select_state(). For the gpios
>> you can then use the standard gpiod_{request,direction_{in,out}put}
>> combo.
>
> Thanks for you response!
>
> Can I change pin function after gpio was requested? In low-power state
> (i.e. when display is disabled) it's gpio driving some level,
> and in active state it's some LCD controller pin (don't remember which
> one exactly)

If your driver can release the GPIO and change the pinctrl when
switching to active state (and change the pinctrl again and request
the GPIO when switching to low-power state) then this should be
doable. I suspect the switch is made by the same driver anyway, isn't
it?



More information about the linux-arm-kernel mailing list