Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: ep93xx: Register ts73xx-fpga manager driver for TS-7300

Register the TS-7300 FPGA manager device drivers which allows us to load
bitstreams into the on-board Altera Cyclone II FPGA.

Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Alan Tull <atull@opensource.altera.com>
Acked-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Florian Fainelli and committed by
Greg Kroah-Hartman
f677e0f3 4348f7e2

+26
+26
arch/arm/mach-ep93xx/ts72xx.c
··· 210 210 .phy_id = 1, 211 211 }; 212 212 213 + #if IS_ENABLED(CONFIG_FPGA_MGR_TS73XX) 214 + 215 + /* Relative to EP93XX_CS1_PHYS_BASE */ 216 + #define TS73XX_FPGA_LOADER_BASE 0x03c00000 217 + 218 + static struct resource ts73xx_fpga_resources[] = { 219 + { 220 + .start = EP93XX_CS1_PHYS_BASE + TS73XX_FPGA_LOADER_BASE, 221 + .end = EP93XX_CS1_PHYS_BASE + TS73XX_FPGA_LOADER_BASE + 1, 222 + .flags = IORESOURCE_MEM, 223 + }, 224 + }; 225 + 226 + static struct platform_device ts73xx_fpga_device = { 227 + .name = "ts73xx-fpga-mgr", 228 + .id = -1, 229 + .resource = ts73xx_fpga_resources, 230 + .num_resources = ARRAY_SIZE(ts73xx_fpga_resources), 231 + }; 232 + 233 + #endif 234 + 213 235 static void __init ts72xx_init_machine(void) 214 236 { 215 237 ep93xx_init_devices(); ··· 240 218 platform_device_register(&ts72xx_wdt_device); 241 219 242 220 ep93xx_register_eth(&ts72xx_eth_data, 1); 221 + #if IS_ENABLED(CONFIG_FPGA_MGR_TS73XX) 222 + if (board_is_ts7300()) 223 + platform_device_register(&ts73xx_fpga_device); 224 + #endif 243 225 } 244 226 245 227 MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")