diff options
| -rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c | 22 | ||||
| -rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h | 2 | 
2 files changed, 24 insertions, 0 deletions
| diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c index ce6e4d8c7..aa8f10e0b 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c @@ -14,6 +14,7 @@  #include <linux/clk.h>  #include <linux/mtd/mtd.h>  #include <linux/mtd/physmap.h> +#include <linux/spi/spi.h>  #include <linux/rt2x00_platform.h>  #include <asm/addrspace.h> @@ -220,3 +221,24 @@ void __init rt305x_register_wdt(void)  	platform_device_register(&rt305x_wdt_device);  } + +static struct resource rt305x_spi_resources[] = { +	{ +		.flags	= IORESOURCE_MEM, +		.start	= RT305X_SPI_BASE, +		.end	= RT305X_SPI_BASE + RT305X_SPI_SIZE - 1, +	}, +}; + +static struct platform_device rt305x_spi_device = { +	.name		= "ramips-spi", +	.id		= 0, +	.resource	= rt305x_spi_resources, +	.num_resources	= ARRAY_SIZE(rt305x_spi_resources), +}; + +void __init rt305x_register_spi(struct spi_board_info *info, int n) +{ +	spi_register_board_info(info, n); +	platform_device_register(&rt305x_spi_device); +} diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h index 352243c14..e37fe47a5 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h @@ -14,6 +14,7 @@  #include <asm/mach-ralink/rt305x_esw_platform.h>  struct physmap_flash_data; +struct spi_board_info;  extern struct rt305x_esw_platform_data rt305x_esw_data; @@ -21,6 +22,7 @@ void rt305x_register_flash(unsigned int id, struct physmap_flash_data *pdata);  void rt305x_register_ethernet(void);  void rt305x_register_wifi(void);  void rt305x_register_wdt(void); +void rt305x_register_spi(struct spi_board_info *info, int n);  #endif  /* __RT305X_DEVICES_H */ | 
