On 25/10/13 14:14, Nishanth Menon wrote:

> one additional angle before I forget - this is something we do as part
> of power optimization - to identify pins which are programmed for a
> pull in non-functional scenario as it has direct impact on idle power
> numbers.
> 
> For example patch #3 in this series
> &omap4_pmx_core {
> pinctrl-0
> ...
>       &lcd2_pins
> ..
> }
> &lcd2_pins
> 
> lcd2_pins: pinmux_lcd2_pins {
> +             pinctrl-single,pins = <
> +                     0x20 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)  /* gpio_40 */
> +                     0x46 (PIN_OUTPUT_PULLUP | MUX_MODE3)    /* gpio_59 */
> +                     0x56 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)  /* gpio_104 */
> +             >;
> 
> 3 pins are driven around 300uA at boot, even with display OFF -> which
> means wasted current that could have been optimized by hooking the pin
> to the dts node corresponding to the device and used by the driver
> appropriately.
> 
> Unfortunately, folks feel simplifying the driver is traditionally a
> better alternative but with a 400 odd pins on a typical SoC of today,
> these defaults add up and end user tends to suffer with bad overall
> power numbers :(..

Good point. I guess that also makes my point of having default values
for GPIOs a bit silly. Driving the GPIO high by default would be ever
worse than the mux pull-up, I believe.

 Tomi


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to