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

Configure Feed

Select the types of activity you want to include in your feed.

at v3.0 60 lines 1.5 kB view raw
1/* 2 * Atheros AR913X SoC built-in WMAC device support 3 * 4 * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> 5 * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 as published 9 * by the Free Software Foundation. 10 */ 11 12#include <linux/init.h> 13#include <linux/delay.h> 14#include <linux/irq.h> 15#include <linux/platform_device.h> 16#include <linux/ath9k_platform.h> 17 18#include <asm/mach-ath79/ath79.h> 19#include <asm/mach-ath79/ar71xx_regs.h> 20#include "dev-ar913x-wmac.h" 21 22static struct ath9k_platform_data ar913x_wmac_data; 23 24static struct resource ar913x_wmac_resources[] = { 25 { 26 .start = AR913X_WMAC_BASE, 27 .end = AR913X_WMAC_BASE + AR913X_WMAC_SIZE - 1, 28 .flags = IORESOURCE_MEM, 29 }, { 30 .start = ATH79_CPU_IRQ_IP2, 31 .end = ATH79_CPU_IRQ_IP2, 32 .flags = IORESOURCE_IRQ, 33 }, 34}; 35 36static struct platform_device ar913x_wmac_device = { 37 .name = "ath9k", 38 .id = -1, 39 .resource = ar913x_wmac_resources, 40 .num_resources = ARRAY_SIZE(ar913x_wmac_resources), 41 .dev = { 42 .platform_data = &ar913x_wmac_data, 43 }, 44}; 45 46void __init ath79_register_ar913x_wmac(u8 *cal_data) 47{ 48 if (cal_data) 49 memcpy(ar913x_wmac_data.eeprom_data, cal_data, 50 sizeof(ar913x_wmac_data.eeprom_data)); 51 52 /* reset the WMAC */ 53 ath79_device_reset_set(AR913X_RESET_AMBA2WMAC); 54 mdelay(10); 55 56 ath79_device_reset_clear(AR913X_RESET_AMBA2WMAC); 57 mdelay(10); 58 59 platform_device_register(&ar913x_wmac_device); 60}