Hi, can we get this applied please, before it goes stale? Thanks
On 31 March 2012 23:22, Hanno Schupp <[email protected]> wrote: > Great collaboration on these two fantastic routers on the openwrt forum: > https://forum.openwrt.org/viewtopic.php?id=32320 > > Above all kudos to aryufan. Well done and thank you everyone else who > contributed. > > > > To-Do: LED for wlan is not yet activated > > > > Signed-off-by: Hanno Schupp [email protected] > > > > > > > > Index: target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c > > =================================================================== > > --- target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c (revision > 31152) > > +++ target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c (working copy) > > @@ -9,17 +9,24 @@ > > */ > > #include <linux/export.h> > > +#include <linux/pci.h> > > +#include <linux/ath9k_platform.h> > > #include <linux/platform_device.h> > > #include <linux/phy.h> > > #include <linux/ar8216_platform.h> > > #include <asm/mach-ath79/ar71xx_regs.h> > > #include <asm/mach-ath79/ath79.h> > > +#include <asm/mach-ath79/pci.h> > > +#include <asm/mach-ath79/irq.h> > > #include <asm/mach-ath79/mach-rb750.h> > > #include "common.h" > > +#include "dev-usb.h" > > #include "dev-eth.h" > > #include "machtypes.h" > > +#include "pci-ath9k-fixup.h" > > +#include "pci.h" > > static struct rb750_led_data rb750_leds[] = { > > { > > @@ -270,3 +277,91 @@ > > MIPS_MACHINE(ATH79_MACH_RB_750G_R3, "750Gr3", "MikroTik RouterBOARD 750GL", > > rb750gr3_setup); > > + > > +static struct ath9k_platform_data rb751_wmac_data = { > > + .led_pin = -1, > > +}; > > + > > +static u8 rb751_wmac_mac[6]; > > + > > +static int rb751_pci_plat_dev_init(struct pci_dev *dev) > > +{ > > + switch (PCI_SLOT(dev->devfn)) { > > + case 0: > > + dev->dev.platform_data = &rb751_wmac_data; > > + break; > > + } > > + > > + return 0; > > +} > > + > > +static int decode_rle(char* output, int len, char* in) > > +{ > > + char* ptr = output; > > + char* end = output + len; > > + while(*in) > > + { > > + if(*in < 0) > > + { > > + int i = -*in++; > > + while(i-- > 0) > > + { > > + if(ptr >= end) > > + > return -1; > > + *ptr++ = > *in++; > > + } > > + } > > + else if(*in > 0) > > + { > > + int i = *in++; > > + while(i-- > 0) > > + { > > + if(ptr >= end) > > + > return -1; > > + *ptr++ = *in; > > + } > > + in++; > > + } > > + } > > + return ptr - output; > > +} > > + > > +#define RB751_HARDCONFIG 0x1f00b000 > > +#define RB751_MAC_ADDRESS_OFFSET 0xE80 > > +#define RB751_CALDATA_OFFSET 0x27C > > + > > +static void __init rb751_wlan_and_usb_setup(void) > > +{ > > + u8 *hardconfig = (u8 *) KSEG1ADDR(RB751_HARDCONFIG); > > + > > + ath79_register_usb(); > > + > > + ath79_pci_set_plat_dev_init(rb751_pci_plat_dev_init); > > + ath79_register_pci(); > > + > > + rb751_wmac_data.macaddr = memcpy(rb751_wmac_mac, hardconfig + > RB751_MAC_ADDRESS_OFFSET, 6); > > + > > + if(decode_rle((char*)rb751_wmac_data.eeprom_data, > sizeof(rb751_wmac_data.eeprom_data), hardconfig + RB751_CALDATA_OFFSET) == > sizeof(rb751_wmac_data.eeprom_data)) > > + { > > + pr_info("rb7xx: calibration data found\n"); > > + pci_enable_ath9k_fixup(0, > rb751_wmac_data.eeprom_data); > > + } > > +} > > + > > +static void __init rb751_setup(void) > > +{ > > + rb750_setup(); > > + rb751_wlan_and_usb_setup(); > > +} > > + > > +MIPS_MACHINE(ATH79_MACH_RB_751, "751", "MikroTik RouterBOARD 751", > > + rb751_setup); > > + > > +static void __init rb751g_setup(void) > > +{ > > + rb750gr3_setup(); > > + rb751_wlan_and_usb_setup(); > > +} > > + > > +MIPS_MACHINE(ATH79_MACH_RB_751G, "751g", "MikroTik RouterBOARD 751G", > > + rb751g_setup); > > Index: target/linux/ar71xx/patches-3.2/614-MIPS-ath79-RB751G-support.patch > > =================================================================== > > --- > target/linux/ar71xx/patches-3.2/614-MIPS-ath79-RB751G-support.patch > (revision 0) > > +++ target/linux/ar71xx/patches-3.2/614-MIPS-ath79-RB751G-support.patch > (revision 0) > > @@ -0,0 +1,11 @@ > > +--- a/arch/mips/ath79/machtypes.h > > ++++ b/arch/mips/ath79/machtypes.h > > +@@ -51,6 +51,8 @@ enum ath79_mach_type { > > + ATH79_MACH_RB_493G, /* Mikrotik > RouterBOARD 493G */ > > + ATH79_MACH_RB_750, /* MikroTik > RouterBOARD 750 */ > > + ATH79_MACH_RB_750G_R3, /* MikroTik > RouterBOARD 750GL */ > > ++ ATH79_MACH_RB_751, /* MikroTik > RouterBOARD 751 */ > > ++ ATH79_MACH_RB_751G, /* MikroTik > RouterBOARD 751G */ > > + ATH79_MACH_RW2458N, /* Redwave > RW2458N */ > > + ATH79_MACH_TEW_632BRP, /* TRENDnet > TEW-632BRP */ > > + ATH79_MACH_TEW_673GRU, /* TRENDnet > TEW-673GRU */ > > Index: target/linux/ar71xx/base-files/lib/ar71xx.sh > > =================================================================== > > --- target/linux/ar71xx/base-files/lib/ar71xx.sh (revision 31152) > > +++ target/linux/ar71xx/base-files/lib/ar71xx.sh (working copy) > > @@ -250,6 +250,12 @@ > > *"RouterBOARD 750GL") > > name="rb-750gl" > > ;; > > + *"RouterBOARD 751") > > + name="rb-751" > > + ;; > > + *"RouterBOARD 751G") > > + name="rb-751g" > > + ;; > > *"Rocket M") > > name="rocket-m" > > ;; > > Index: target/linux/ar71xx/base-files/etc/uci-defaults/network > > =================================================================== > > --- target/linux/ar71xx/base-files/etc/uci-defaults/network (revision > 31152) > > +++ target/linux/ar71xx/base-files/etc/uci-defaults/network (working > copy) > > @@ -63,6 +63,7 @@ > > ;; > > rb-750gl |\ > > +rb-751g |\ > > wzr-hp-g450h) > > ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" > > ucidef_add_switch "switch0" "1" "1" > > @@ -153,6 +154,7 @@ > > dir-615-e4 |\ > > ja76pf |\ > > rb-750 |\ > > +rb-751 |\ > > tew-632brp |\ > > tl-mr3220 |\ > > tl-mr3420 |\ > > > > > > > > > > > > > > _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
