From: "stanley.miao" <stanley.miao@windriver.com>
To: Steve Glendinning <steve.glendinning@smsc.com>
Cc: linux-arm-kernel@lists.arm.linux.org.uk, netdev@vger.kernel.org,
David Miller <davem@davemloft.net>,
Russell King <linux@arm.linux.org.uk>,
Ian Saturley <ian.saturley@smsc.com>
Subject: Re: [PATCH 5/5] arm: convert omap ldp platform to use smsc911x
Date: Thu, 15 Jan 2009 17:23:51 +0800 [thread overview]
Message-ID: <1232011431.6810.34.camel@localhost> (raw)
In-Reply-To: <1232010482-3744-6-git-send-email-steve.glendinning@smsc.com>
This patch should be sent to linux-omap mail list. But linux-omap git
tree is still in 2.6.28 and it doesn't have smsc911x driver.
Stanley.
On Thu, 2009-01-15 at 09:08 +0000, Steve Glendinning wrote:
> Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
> ---
> arch/arm/configs/omap_ldp_defconfig | 24 ++++++++++++++-
> arch/arm/mach-omap2/board-ldp.c | 41 +++++++++++++++++----------
> arch/arm/plat-omap/include/mach/board-ldp.h | 4 +-
> 3 files changed, 50 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/configs/omap_ldp_defconfig b/arch/arm/configs/omap_ldp_defconfig
> index b77d054..c164ff2 100644
> --- a/arch/arm/configs/omap_ldp_defconfig
> +++ b/arch/arm/configs/omap_ldp_defconfig
> @@ -474,14 +474,34 @@ CONFIG_NETDEVICES=y
> # CONFIG_EQUALIZER is not set
> # CONFIG_TUN is not set
> # CONFIG_VETH is not set
> -# CONFIG_PHYLIB is not set
> +CONFIG_PHYLIB=y
> +
> +#
> +# MII PHY device drivers
> +#
> +# CONFIG_MARVELL_PHY is not set
> +# CONFIG_DAVICOM_PHY is not set
> +# CONFIG_QSEMI_PHY is not set
> +# CONFIG_LXT_PHY is not set
> +# CONFIG_CICADA_PHY is not set
> +# CONFIG_VITESSE_PHY is not set
> +CONFIG_SMSC_PHY=y
> +# CONFIG_BROADCOM_PHY is not set
> +# CONFIG_ICPLUS_PHY is not set
> +# CONFIG_REALTEK_PHY is not set
> +# CONFIG_NATIONAL_PHY is not set
> +# CONFIG_STE10XP is not set
> +# CONFIG_LSI_ET1011C_PHY is not set
> +# CONFIG_FIXED_PHY is not set
> +# CONFIG_MDIO_BITBANG is not set
> CONFIG_NET_ETHERNET=y
> CONFIG_MII=y
> # CONFIG_AX88796 is not set
> # CONFIG_SMC91X is not set
> # CONFIG_DM9000 is not set
> # CONFIG_ENC28J60 is not set
> -CONFIG_SMC911X=y
> +# CONFIG_SMC911X is not set
> +CONFIG_SMSC911X=y
> # CONFIG_IBM_NEW_EMAC_ZMII is not set
> # CONFIG_IBM_NEW_EMAC_RGMII is not set
> # CONFIG_IBM_NEW_EMAC_TAH is not set
> diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
> index aa69727..b8810bd 100644
> --- a/arch/arm/mach-omap2/board-ldp.c
> +++ b/arch/arm/mach-omap2/board-ldp.c
> @@ -22,6 +22,7 @@
> #include <linux/spi/spi.h>
> #include <linux/spi/ads7846.h>
> #include <linux/i2c/twl4030.h>
> +#include <linux/smsc911x.h>
>
> #include <mach/hardware.h>
> #include <asm/mach-types.h>
> @@ -43,7 +44,7 @@
>
> #define SDP3430_SMC91X_CS 3
>
> -static struct resource ldp_smc911x_resources[] = {
> +static struct resource ldp_smsc911x_resources[] = {
> [0] = {
> .start = OMAP34XX_ETHR_START,
> .end = OMAP34XX_ETHR_START + SZ_4K,
> @@ -56,40 +57,50 @@ static struct resource ldp_smc911x_resources[] = {
> },
> };
>
> -static struct platform_device ldp_smc911x_device = {
> - .name = "smc911x",
> +static struct smsc911x_platform_config ldp_smsc911x_config = {
> + .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
> + .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
> + .flags = SMSC911X_USE_32BIT,
> + .phy_interface = PHY_INTERFACE_MODE_MII,
> +};
> +
> +static struct platform_device ldp_smsc911x_device = {
> + .name = "smsc911x",
> .id = -1,
> - .num_resources = ARRAY_SIZE(ldp_smc911x_resources),
> - .resource = ldp_smc911x_resources,
> + .num_resources = ARRAY_SIZE(ldp_smsc911x_resources),
> + .resource = ldp_smsc911x_resources,
> + .dev = {
> + .platform_data = &ldp_smsc911x_config,
> + },
> };
>
> static struct platform_device *ldp_devices[] __initdata = {
> - &ldp_smc911x_device,
> + &ldp_smsc911x_device,
> };
>
> -static inline void __init ldp_init_smc911x(void)
> +static inline void __init ldp_init_smsc911x(void)
> {
> int eth_cs;
> unsigned long cs_mem_base;
> int eth_gpio = 0;
>
> - eth_cs = LDP_SMC911X_CS;
> + eth_cs = LDP_SMSC911X_CS;
>
> if (gpmc_cs_request(eth_cs, SZ_16M, &cs_mem_base) < 0) {
> - printk(KERN_ERR "Failed to request GPMC mem for smc911x\n");
> + printk(KERN_ERR "Failed to request GPMC mem for smsc911x\n");
> return;
> }
>
> - ldp_smc911x_resources[0].start = cs_mem_base + 0x0;
> - ldp_smc911x_resources[0].end = cs_mem_base + 0xf;
> + ldp_smsc911x_resources[0].start = cs_mem_base + 0x0;
> + ldp_smsc911x_resources[0].end = cs_mem_base + 0xf;
> udelay(100);
>
> - eth_gpio = LDP_SMC911X_GPIO;
> + eth_gpio = LDP_SMSC911X_GPIO;
>
> - ldp_smc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
> + ldp_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
>
> if (omap_request_gpio(eth_gpio) < 0) {
> - printk(KERN_ERR "Failed to request GPIO%d for smc911x IRQ\n",
> + printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
> eth_gpio);
> return;
> }
> @@ -101,7 +112,7 @@ static void __init omap_ldp_init_irq(void)
> omap2_init_common_hw();
> omap_init_irq();
> omap_gpio_init();
> - ldp_init_smc911x();
> + ldp_init_smsc911x();
> }
>
> static struct omap_uart_config ldp_uart_config __initdata = {
> diff --git a/arch/arm/plat-omap/include/mach/board-ldp.h b/arch/arm/plat-omap/include/mach/board-ldp.h
> index f233996..74e98eb 100644
> --- a/arch/arm/plat-omap/include/mach/board-ldp.h
> +++ b/arch/arm/plat-omap/include/mach/board-ldp.h
> @@ -32,8 +32,8 @@
> extern void twl4030_bci_battery_init(void);
>
> #define TWL4030_IRQNUM INT_34XX_SYS_NIRQ
> -#define LDP_SMC911X_CS 1
> -#define LDP_SMC911X_GPIO 152
> +#define LDP_SMSC911X_CS 1
> +#define LDP_SMSC911X_GPIO 152
> #define DEBUG_BASE 0x08000000
> #define OMAP34XX_ETHR_START DEBUG_BASE
> #endif /* __ASM_ARCH_OMAP_LDP_H */
next prev parent reply other threads:[~2009-01-15 9:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-15 9:07 [PATCH REPOST 0/5] convert arm platforms to smsc911x Steve Glendinning
2009-01-15 9:07 ` [PATCH 1/5] smsc911x: add support for platform-specific irq flags Steve Glendinning
2009-01-15 9:07 ` [PATCH 2/5] smsc911x: register isr as IRQF_SHARED Steve Glendinning
2009-01-15 9:08 ` [PATCH 3/5] arm: convert pcm037 platform to use smsc911x Steve Glendinning
2009-01-15 9:08 ` [PATCH 4/5] arm: convert realview " Steve Glendinning
2009-01-15 9:08 ` [PATCH 5/5] arm: convert omap ldp " Steve Glendinning
2009-01-15 9:23 ` stanley.miao [this message]
2009-01-19 22:35 ` Russell King - ARM Linux
2009-01-20 0:30 ` David Miller
2009-01-19 5:53 ` [PATCH REPOST 0/5] convert arm platforms to smsc911x David Miller
2009-01-19 8:04 ` stanley.miao
2009-01-19 9:22 ` Russell King - ARM Linux
2009-01-19 9:53 ` Steve.Glendinning
2009-01-19 21:15 ` David Miller
2009-01-19 21:31 ` Russell King - ARM Linux
2009-01-19 22:12 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1232011431.6810.34.camel@localhost \
--to=stanley.miao@windriver.com \
--cc=davem@davemloft.net \
--cc=ian.saturley@smsc.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux@arm.linux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=steve.glendinning@smsc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.