[PATCH 2/3] [ARM] pxa: MFU pin configuration to support Fast ethernet.
Marek Vasut
marek.vasut at gmail.com
Wed Aug 25 09:11:02 EDT 2010
Dne St 25. srpna 2010 11:18:41 Sachin Sanap napsal(a):
> Signed-off-by: Sachin Sanap <ssanap at marvell.com>
> ---
> arch/arm/mach-mmp/aspenite.c | 18 ++++++++++++++++++
> arch/arm/mach-mmp/include/mach/mfp-pxa168.h | 19 +++++++++++++++++++
> 2 files changed, 37 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
> index d19c26c..a235551 100644
> --- a/arch/arm/mach-mmp/aspenite.c
> +++ b/arch/arm/mach-mmp/aspenite.c
> @@ -74,6 +74,24 @@ static unsigned long common_pin_config[] __initdata = {
> GPIO105_CI2C_SDA,
> GPIO106_CI2C_SCL,
>
> + /* MFU */
> + GPIO86_TX_CLK,
> + GPIO87_TX_EN,
> + GPIO88_TX_DQ3,
> + GPIO89_TX_DQ2,
> + GPIO90_TX_DQ1,
> + GPIO91_TX_DQ0,
> + GPIO92_MII_CRS,
> + GPIO93_MII_COL,
> + GPIO94_RX_CLK,
> + GPIO95_RX_ER,
> + GPIO96_RX_DQ3,
> + GPIO97_RX_DQ2,
> + GPIO98_RX_DQ1,
> + GPIO99_RX_DQ0,
> + GPIO100_MII_MDC,
> + GPIO101_MII_MDIO,
> + GPIO103_RX_DV,
> };
>
That's for ethernet, right ? Can you take aspenite apart (aka. remove the
ethernet chip or whatnot) ?
Maybe if you'd go the way I outlined in the previous mail commenting on your 1/3
patch and apply that approach on the whole aspenite, then there's a space for
further improvement. That is, split the MFP config structure into smaller chunks
and configure the pins only in case that particular device is enabled in kernel.
See colibri_pxa320 for reference again.
Cheers
> static struct smc91x_platdata smc91x_info = {
> diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h
> b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h index ded43c4..afea9dc
> 100644
> --- a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h
> +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h
> @@ -266,6 +266,25 @@
> #define GPIO116_I2S_RXD MFP_CFG(GPIO116,AF2)
> #define GPIO117_I2S_TXD MFP_CFG(GPIO117,AF2)
>
> +/* MFU */
> +#define GPIO86_TX_CLK MFP_CFG(GPIO86, AF5)
> +#define GPIO87_TX_EN MFP_CFG(GPIO87, AF5)
> +#define GPIO88_TX_DQ3 MFP_CFG(GPIO88, AF5)
> +#define GPIO89_TX_DQ2 MFP_CFG(GPIO89, AF5)
> +#define GPIO90_TX_DQ1 MFP_CFG(GPIO90, AF5)
> +#define GPIO91_TX_DQ0 MFP_CFG(GPIO91, AF5)
> +#define GPIO92_MII_CRS MFP_CFG(GPIO92, AF5)
> +#define GPIO93_MII_COL MFP_CFG(GPIO93, AF5)
> +#define GPIO94_RX_CLK MFP_CFG(GPIO94, AF5)
> +#define GPIO95_RX_ER MFP_CFG(GPIO95, AF5)
> +#define GPIO96_RX_DQ3 MFP_CFG(GPIO96, AF5)
> +#define GPIO97_RX_DQ2 MFP_CFG(GPIO97, AF5)
> +#define GPIO98_RX_DQ1 MFP_CFG(GPIO98, AF5)
> +#define GPIO99_RX_DQ0 MFP_CFG(GPIO99, AF5)
> +#define GPIO100_MII_MDC MFP_CFG(GPIO100, AF5)
> +#define GPIO101_MII_MDIO MFP_CFG(GPIO101, AF5)
> +#define GPIO103_RX_DV MFP_CFG(GPIO103, AF5)
> +
> /* PWM */
> #define GPIO96_PWM3_OUT MFP_CFG(GPIO96, AF1)
> #define GPIO97_PWM2_OUT MFP_CFG(GPIO97, AF1)
More information about the linux-arm-kernel
mailing list