1/* 2 * RSK+SH7264 Support. 3 * 4 * Copyright (C) 2012 Renesas Electronics Europe 5 * 6 * This file is subject to the terms and conditions of the GNU General Public 7 * License. See the file "COPYING" in the main directory of this archive 8 * for more details. 9 */ 10#include <linux/init.h> 11#include <linux/types.h> 12#include <linux/platform_device.h> 13#include <linux/interrupt.h> 14#include <linux/input.h> 15#include <linux/smsc911x.h> 16#include <asm/machvec.h> 17#include <asm/io.h> 18 19static struct smsc911x_platform_config smsc911x_config = { 20 .phy_interface = PHY_INTERFACE_MODE_MII, 21 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, 22 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, 23 .flags = SMSC911X_USE_16BIT | SMSC911X_SWAP_FIFO, 24}; 25 26static struct resource smsc911x_resources[] = { 27 [0] = { 28 .start = 0x28000000, 29 .end = 0x280000ff, 30 .flags = IORESOURCE_MEM, 31 }, 32 [1] = { 33 .start = 65, 34 .end = 65, 35 .flags = IORESOURCE_IRQ, 36 }, 37}; 38 39static struct platform_device smsc911x_device = { 40 .name = "smsc911x", 41 .id = -1, 42 .num_resources = ARRAY_SIZE(smsc911x_resources), 43 .resource = smsc911x_resources, 44 .dev = { 45 .platform_data = &smsc911x_config, 46 }, 47}; 48 49static struct platform_device *rsk7264_devices[] __initdata = { 50 &smsc911x_device, 51}; 52 53static int __init rsk7264_devices_setup(void) 54{ 55 return platform_add_devices(rsk7264_devices, 56 ARRAY_SIZE(rsk7264_devices)); 57} 58device_initcall(rsk7264_devices_setup); 59