* Kamat, Nishant <nskamat@xxxxxx> [080519 02:50]: > Tony, > > > From: Tony Lindgren [mailto:tony@xxxxxxxxxxx] > > > > * Nishant Kamat <nskamat@xxxxxx> [080515 07:45]: > > > > > +#define DEBUG_BASE 0x08000000 > > > + > > > +#define OMAP34XX_ETHR_START DEBUG_BASE > > > +#define LDP_SMC911X_CS 1 > > > +#define LDP_SMC911X_GPIO 152 > > > + > > > > These redefines will conflict when compiling in support for multiple > > boards. They should be passed in the platform_data. > > > > If I understand correctly, the problem is about using the same #define > names as 3430 SDP, right? How about this patch: Yeah that's the problem. Can you please send the defconfig changes in a separate patch? Tony > ------------------------------------ > From: Nishant Kamat <nskamat@xxxxxx> > > This patch adds ethernet support (smc911x) for OMAP LDP platform. > > Signed-off-by: Nishant Kamat <nskamat@xxxxxx> > --- > arch/arm/configs/omap_ldp_defconfig | 164 > ++++++++++++++++++++++++++++++++- > arch/arm/mach-omap2/board-ldp.c | 51 ++++++++++ > include/asm-arm/arch-omap/board-ldp.h | 4 + > 3 files changed, 216 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/configs/omap_ldp_defconfig > b/arch/arm/configs/omap_ldp_defconfig > index 9a90975..fb2880b 100644 > --- a/arch/arm/configs/omap_ldp_defconfig > +++ b/arch/arm/configs/omap_ldp_defconfig > @@ -1,7 +1,7 @@ > # > # Automatically generated make config: don't edit > # Linux kernel version: 2.6.26-rc2-omap1 > -# Thu May 15 19:08:39 2008 > +# Thu May 15 19:09:22 2008 > # > CONFIG_ARM=y > CONFIG_SYS_SUPPORTS_APM_EMULATION=y > @@ -37,8 +37,11 @@ CONFIG_LOCALVERSION_AUTO=y > CONFIG_SWAP=y > CONFIG_SYSVIPC=y > CONFIG_SYSVIPC_SYSCTL=y > +# CONFIG_POSIX_MQUEUE is not set > CONFIG_BSD_PROCESS_ACCT=y > # CONFIG_BSD_PROCESS_ACCT_V3 is not set > +# CONFIG_TASKSTATS is not set > +# CONFIG_AUDIT is not set > # CONFIG_IKCONFIG is not set > CONFIG_LOG_BUF_SHIFT=14 > # CONFIG_CGROUPS is not set > @@ -319,7 +322,86 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y > # > # Networking > # > -# CONFIG_NET is not set > +CONFIG_NET=y > + > +# > +# Networking options > +# > +CONFIG_PACKET=y > +# CONFIG_PACKET_MMAP is not set > +CONFIG_UNIX=y > +CONFIG_XFRM=y > +# CONFIG_XFRM_USER is not set > +# CONFIG_XFRM_SUB_POLICY is not set > +# CONFIG_XFRM_MIGRATE is not set > +# CONFIG_XFRM_STATISTICS is not set > +CONFIG_NET_KEY=y > +# CONFIG_NET_KEY_MIGRATE is not set > +CONFIG_INET=y > +# CONFIG_IP_MULTICAST is not set > +# CONFIG_IP_ADVANCED_ROUTER is not set > +CONFIG_IP_FIB_HASH=y > +CONFIG_IP_PNP=y > +CONFIG_IP_PNP_DHCP=y > +CONFIG_IP_PNP_BOOTP=y > +CONFIG_IP_PNP_RARP=y > +# CONFIG_NET_IPIP is not set > +# CONFIG_NET_IPGRE is not set > +# CONFIG_ARPD is not set > +# CONFIG_SYN_COOKIES is not set > +# CONFIG_INET_AH is not set > +# CONFIG_INET_ESP is not set > +# CONFIG_INET_IPCOMP is not set > +# CONFIG_INET_XFRM_TUNNEL is not set > +# CONFIG_INET_TUNNEL is not set > +CONFIG_INET_XFRM_MODE_TRANSPORT=y > +CONFIG_INET_XFRM_MODE_TUNNEL=y > +CONFIG_INET_XFRM_MODE_BEET=y > +# CONFIG_INET_LRO is not set > +CONFIG_INET_DIAG=y > +CONFIG_INET_TCP_DIAG=y > +# CONFIG_TCP_CONG_ADVANCED is not set > +CONFIG_TCP_CONG_CUBIC=y > +CONFIG_DEFAULT_TCP_CONG="cubic" > +# CONFIG_TCP_MD5SIG is not set > +# CONFIG_IPV6 is not set > +# CONFIG_NETWORK_SECMARK is not set > +# CONFIG_NETFILTER is not set > +# CONFIG_IP_DCCP is not set > +# CONFIG_IP_SCTP is not set > +# CONFIG_TIPC is not set > +# CONFIG_ATM is not set > +# CONFIG_BRIDGE is not set > +# CONFIG_VLAN_8021Q is not set > +# CONFIG_DECNET is not set > +# CONFIG_LLC2 is not set > +# CONFIG_IPX is not set > +# CONFIG_ATALK is not set > +# CONFIG_X25 is not set > +# CONFIG_LAPB is not set > +# CONFIG_ECONET is not set > +# CONFIG_WAN_ROUTER is not set > +# CONFIG_NET_SCHED is not set > + > +# > +# Network testing > +# > +# CONFIG_NET_PKTGEN is not set > +# CONFIG_HAMRADIO is not set > +# CONFIG_CAN is not set > +# CONFIG_IRDA is not set > +# CONFIG_BT is not set > +# CONFIG_AF_RXRPC is not set > + > +# > +# Wireless > +# > +# CONFIG_CFG80211 is not set > +# CONFIG_WIRELESS_EXT is not set > +# CONFIG_MAC80211 is not set > +# CONFIG_IEEE80211 is not set > +# CONFIG_RFKILL is not set > +# CONFIG_NET_9P is not set > > # > # Device Drivers > @@ -335,18 +417,21 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y > # CONFIG_DEBUG_DRIVER is not set > # CONFIG_DEBUG_DEVRES is not set > # CONFIG_SYS_HYPERVISOR is not set > +# CONFIG_CONNECTOR is not set > # CONFIG_MTD is not set > # CONFIG_PARPORT is not set > CONFIG_BLK_DEV=y > # CONFIG_BLK_DEV_COW_COMMON is not set > CONFIG_BLK_DEV_LOOP=y > # CONFIG_BLK_DEV_CRYPTOLOOP is not set > +# CONFIG_BLK_DEV_NBD is not set > # CONFIG_BLK_DEV_UB is not set > CONFIG_BLK_DEV_RAM=y > CONFIG_BLK_DEV_RAM_COUNT=16 > CONFIG_BLK_DEV_RAM_SIZE=16384 > # CONFIG_BLK_DEV_XIP is not set > # CONFIG_CDROM_PKTCDVD is not set > +# CONFIG_ATA_OVER_ETH is not set > CONFIG_MISC_DEVICES=y > # CONFIG_EEPROM_93CX6 is not set > # CONFIG_OMAP_STI is not set > @@ -388,12 +473,61 @@ CONFIG_SCSI_WAIT_SCAN=m > # > # CONFIG_SCSI_SPI_ATTRS is not set > # CONFIG_SCSI_FC_ATTRS is not set > +# CONFIG_SCSI_ISCSI_ATTRS is not set > # CONFIG_SCSI_SAS_LIBSAS is not set > # CONFIG_SCSI_SRP_ATTRS is not set > CONFIG_SCSI_LOWLEVEL=y > +# CONFIG_ISCSI_TCP is not set > # CONFIG_SCSI_DEBUG is not set > # CONFIG_ATA is not set > # CONFIG_MD is not set > +CONFIG_NETDEVICES=y > +# CONFIG_NETDEVICES_MULTIQUEUE is not set > +# CONFIG_DUMMY is not set > +# CONFIG_BONDING is not set > +# CONFIG_MACVLAN is not set > +# CONFIG_EQUALIZER is not set > +# CONFIG_TUN is not set > +# CONFIG_VETH is not set > +# CONFIG_PHYLIB 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_IBM_NEW_EMAC_ZMII is not set > +# CONFIG_IBM_NEW_EMAC_RGMII is not set > +# CONFIG_IBM_NEW_EMAC_TAH is not set > +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set > +# CONFIG_B44 is not set > +CONFIG_NETDEV_1000=y > +# CONFIG_E1000E_ENABLED is not set > +CONFIG_NETDEV_10000=y > + > +# > +# Wireless LAN > +# > +# CONFIG_WLAN_PRE80211 is not set > +# CONFIG_WLAN_80211 is not set > +# CONFIG_IWLWIFI_LEDS is not set > + > +# > +# USB Network Adapters > +# > +# CONFIG_USB_CATC is not set > +# CONFIG_USB_KAWETH is not set > +# CONFIG_USB_PEGASUS is not set > +# CONFIG_USB_RTL8150 is not set > +# CONFIG_USB_USBNET is not set > +# CONFIG_WAN is not set > +# CONFIG_PPP is not set > +# CONFIG_SLIP is not set > +# CONFIG_NETCONSOLE is not set > +# CONFIG_NETPOLL is not set > +# CONFIG_NET_POLL_CONTROLLER is not set > +# CONFIG_ISDN is not set > > # > # Input device support > @@ -615,6 +749,7 @@ CONFIG_SSB_POSSIBLE=y > # Multimedia core support > # > # CONFIG_VIDEO_DEV is not set > +# CONFIG_DVB_CORE is not set > > # > # Multimedia drivers > @@ -926,12 +1061,14 @@ CONFIG_EXT3_FS=y > CONFIG_JBD=y > # CONFIG_REISERFS_FS is not set > # CONFIG_JFS_FS is not set > -# CONFIG_FS_POSIX_ACL is not set > +CONFIG_FS_POSIX_ACL=y > # CONFIG_XFS_FS is not set > +# CONFIG_OCFS2_FS is not set > CONFIG_DNOTIFY=y > CONFIG_INOTIFY=y > CONFIG_INOTIFY_USER=y > CONFIG_QUOTA=y > +# CONFIG_QUOTA_NETLINK_INTERFACE is not set > CONFIG_PRINT_QUOTA_WARNING=y > # CONFIG_QFMT_V1 is not set > CONFIG_QFMT_V2=y > @@ -985,6 +1122,26 @@ CONFIG_TMPFS=y > # CONFIG_ROMFS_FS is not set > # CONFIG_SYSV_FS is not set > # CONFIG_UFS_FS is not set > +CONFIG_NETWORK_FILESYSTEMS=y > +CONFIG_NFS_FS=y > +CONFIG_NFS_V3=y > +CONFIG_NFS_V3_ACL=y > +# CONFIG_NFS_V4 is not set > +# CONFIG_NFSD is not set > +CONFIG_ROOT_NFS=y > +CONFIG_LOCKD=y > +CONFIG_LOCKD_V4=y > +CONFIG_NFS_ACL_SUPPORT=y > +CONFIG_NFS_COMMON=y > +CONFIG_SUNRPC=y > +# CONFIG_SUNRPC_BIND34 is not set > +# CONFIG_RPCSEC_GSS_KRB5 is not set > +# CONFIG_RPCSEC_GSS_SPKM3 is not set > +# CONFIG_SMB_FS is not set > +# CONFIG_CIFS is not set > +# CONFIG_NCP_FS is not set > +# CONFIG_CODA_FS is not set > +# CONFIG_AFS_FS is not set > > # > # Partition Types > @@ -1047,6 +1204,7 @@ CONFIG_NLS_ISO8859_1=y > # CONFIG_NLS_KOI8_R is not set > # CONFIG_NLS_KOI8_U is not set > # CONFIG_NLS_UTF8 is not set > +# CONFIG_DLM is not set > > # > # Kernel hacking > diff --git a/arch/arm/mach-omap2/board-ldp.c > b/arch/arm/mach-omap2/board-ldp.c > index 2ac4c9b..f29c62d 100644 > --- a/arch/arm/mach-omap2/board-ldp.c > +++ b/arch/arm/mach-omap2/board-ldp.c > @@ -46,6 +46,26 @@ > > #define TWL4030_MSECURE_GPIO 22 > > +static struct resource ldp_smc911x_resources[] = { > + [0] = { > + .start = LDP_ETHR_START, > + .end = LDP_ETHR_START + SZ_4K, > + .flags = IORESOURCE_MEM, > + }, > + [1] = { > + .start = 0, > + .end = 0, > + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, > + }, > +}; > + > +static struct platform_device ldp_smc911x_device = { > + .name = "smc911x", > + .id = -1, > + .num_resources = ARRAY_SIZE(ldp_smc911x_resources), > + .resource = ldp_smc911x_resources, > +}; > + > static int ts_gpio; > > #ifdef CONFIG_RTC_DRV_TWL4030 > @@ -184,16 +204,47 @@ static struct spi_board_info ldp_spi_board_info[] > __initdata = { > }; > > static struct platform_device *ldp_devices[] __initdata = { > + &ldp_smc911x_device, > #ifdef CONFIG_RTC_DRV_TWL4030 > &ldp_twl4030rtc_device, > #endif > }; > > +static inline void __init ldp_init_smc911x(void) > +{ > + int eth_cs; > + unsigned long cs_mem_base; > + int eth_gpio = 0; > + > + eth_cs = LDP_SMC911X_CS; > + > + if (gpmc_cs_request(eth_cs, SZ_16M, &cs_mem_base) < 0) { > + printk(KERN_ERR "Failed to request GPMC mem for > smc911x\n"); > + return; > + } > + > + ldp_smc911x_resources[0].start = cs_mem_base + 0x0; > + ldp_smc911x_resources[0].end = cs_mem_base + 0xf; > + udelay(100); > + > + eth_gpio = LDP_SMC911X_GPIO; > + > + ldp_smc911x_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", > + eth_gpio); > + return; > + } > + omap_set_gpio_direction(eth_gpio, 1); > +} > + > static void __init omap_ldp_init_irq(void) > { > omap2_init_common_hw(); > omap_init_irq(); > omap_gpio_init(); > + ldp_init_smc911x(); > } > > static struct omap_uart_config ldp_uart_config __initdata = { > diff --git a/include/asm-arm/arch-omap/board-ldp.h > b/include/asm-arm/arch-omap/board-ldp.h > index b227561..b6197b0 100644 > --- a/include/asm-arm/arch-omap/board-ldp.h > +++ b/include/asm-arm/arch-omap/board-ldp.h > @@ -29,6 +29,10 @@ > #ifndef __ASM_ARCH_OMAP_LDP_H > #define __ASM_ARCH_OMAP_LDP_H > > +#define LDP_ETHR_START 0x08000000 > +#define LDP_SMC911X_CS 1 > +#define LDP_SMC911X_GPIO 152 > + > #define TWL4030_IRQNUM INT_34XX_SYS_NIRQ > > #endif /* __ASM_ARCH_OMAP_LDP_H */ > -- > 1.5.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html