Re: <Query> Reg: Adding a gpio initialization sequence in dts is valid or not
From: Stephen Warren <hidden>
Date: 2012-08-08 15:38:09
On 08/08/2012 07:30 AM, Rob Herring wrote:
On 08/08/2012 04:52 AM, Leela Krishna Amudala wrote:quoted
Hello All, I came across that to set power to an LCD, few panels require a pull up/pull down operation on single GPIO line and few panels need some gpio line setting sequence with some delay in between.
...
quoted
Putting the sequence in dts file like below for an LCD which requires gpio sequence lcd-reset-gpio = <&gpx1 5 1 3 0>, (3 - for pull up) <&gpx1 5 1 1 0>, (1 - for pull down) <&gpx1 5 1 3 0>; (3 - for pull up) delay = x; and only one gpio entry in the case of LCD which doesn't require gpio sequence setting lcd-reset-gpio = <&gpx1 5 1 3 0>, (3 - pull up) The 4 arguments in the above handle denotes <[phandle of the gpio controller node] [pin number within the gpio controller] [mux function] [pull up/down] [drive strength]>
Mux function, pull-up/down and drive-strength should be handled by the pinctrl subsystem, and associated DT bindings. I suppose the proposal in the "runtime interpreted power sequences" thread could be extended to have an action for activating a particular pinctrl state too.