linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* How to add GPIO outputs to the PXA2xx MFP configuration?
@ 2012-03-28 18:12 Paul Parsons
  2012-03-30  1:33 ` Haojian Zhuang
  2012-03-30 14:59 ` Igor Grinberg
  0 siblings, 2 replies; 14+ messages in thread
From: Paul Parsons @ 2012-03-28 18:12 UTC (permalink / raw)
  To: linux-arm-kernel

On PXA2xx platforms, the MFP API (described in Documentation/arm/pxa/mfp.txt)
provides values for the following:

1. GPIO inputs (e.g. GPIO105_GPIO).
2. Alternate function inputs (e.g. GPIO105_CIF_DD_1).
3. Alternate function outputs (e.g. GPIO105_KP_MKOUT_2).

It does not provide values for GPIO outputs (i.e. AF0 outputs).

One cannot use the macro used by the MFP API internally - MFP_CFG_OUT() - to
define new GPIO output values, since that macro is forbidden in platform code.

Without the ability to add GPIO outputs to the MFP configuration, it is not
possible to drive GPIO outputs high during sleep mode.

This would be useful, for example, on the hx4700 platform, where driving the
infrared powerdown GPIO 105 high during sleep mode would save some mA.

So my question is: what method should one use to add GPIO outputs to the MFP
configuration?

One possible method, namely manually defining values in the platform code:

	MFP_PIN_GPIO105 | MFP_AF0 | MFP_DIR_OUT | MFP_LPM_DRIVE_HIGH,

is essentially no different from using the forbidden MFP_CFG_OUT() macro.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-03-30 21:40 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-28 18:12 How to add GPIO outputs to the PXA2xx MFP configuration? Paul Parsons
2012-03-30  1:33 ` Haojian Zhuang
2012-03-30 10:41   ` Paul Parsons
2012-03-30 13:25     ` Haojian Zhuang
2012-03-30 14:30       ` Paul Parsons
2012-03-30 14:50         ` Haojian Zhuang
2012-03-30 14:59 ` Igor Grinberg
2012-03-30 15:06   ` Paul Parsons
2012-03-30 15:28     ` Igor Grinberg
2012-03-30 15:34     ` Igor Grinberg
2012-03-30 15:52       ` Paul Parsons
2012-03-30 17:59         ` Igor Grinberg
2012-03-30 21:13           ` Paul Parsons
2012-03-30 21:40             ` Paul Parsons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).