Message ID | 1429332729-32338-1-git-send-email-teslamint@gmail.com |
---|---|
State | Superseded |
Headers | show |
Hi, sorry patch no longer applies. could you rebase it and then send it again please ? John On 18/04/2015 06:52, Jaehoon You wrote: > Signed-off-by: Jaehoon You <teslamint@gmail.com> > --- > target/linux/ar71xx/base-files/etc/diag.sh | 1 + > .../ar71xx/base-files/etc/uci-defaults/01_leds | 8 ++ > .../ar71xx/base-files/etc/uci-defaults/02_network | 0 > target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + > .../base-files/lib/preinit/05_set_iface_mac_ar71xx | 3 + > .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + > target/linux/ar71xx/config-3.18 | 1 + > .../ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c | 141 +++++++++++++++++++++ > target/linux/ar71xx/generic/profiles/d-link.mk | 10 ++ > target/linux/ar71xx/image/Makefile | 9 ++ > .../610-MIPS-ath79-openwrt-machines.patch | 25 +++- > 11 files changed, 196 insertions(+), 6 deletions(-) > mode change 100644 => 100755 target/linux/ar71xx/base-files/etc/uci-defaults/02_network > create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c > > diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh > index 52a73ee..07b1769 100644 > --- a/target/linux/ar71xx/base-files/etc/diag.sh > +++ b/target/linux/ar71xx/base-files/etc/diag.sh > @@ -54,6 +54,7 @@ get_status_led() { > dir-505-a1 |\ > dir-600-a1 |\ > dir-615-e1 |\ > + dir-615-i1 |\ > dir-615-e4) > status_led="d-link:green:power" > ;; > diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > index 787523a..aff8f1f 100644 > --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > @@ -139,6 +139,14 @@ dir-825-b1) > ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" > ;; > > +dir-615-i1) > + ucidef_set_led_default "power" "POWER" "d-link:green:power" "1" > + ucidef_set_led_default "diag" "DIAG" "d-link:amber:power" "0" > + ucidef_set_led_default "wps" "WPS" "d-link:blue:wps" "0" > + ucidef_set_led_netdev "wan" "WAN" "d-link:green:wan" "eth0" > + ucidef_set_led_wlan "wlan" "WLAN" "d-link:green:wlan" "phy0tpt" > + ;; > + > dir-825-c1) > ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" > ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt" > diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network > old mode 100644 > new mode 100755 > diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh > index b3dbcf5..3e4453d 100755 > --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh > +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh > @@ -398,6 +398,9 @@ ar71xx_board_detect() { > *"DIR-615 rev. E4") > name="dir-615-e4" > ;; > + *"DIR-615 rev. I1") > + name="dir-615-i1" > + ;; > *"DIR-825 rev. B1") > name="dir-825-b1" > ;; > diff --git a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > index b40dff5..c39169a 100644 > --- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > +++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > @@ -29,6 +29,9 @@ preinit_set_mac_address() { > fetch_mac_from_mtd config lan_mac wan_mac > echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness > ;; > + dir-615-i1) > + fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac > + ;; > r6100) > mac_lan=$(mtd_get_mac_binary caldata 0) > [ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan" > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > index 0cbee1d..4899f78 100755 > --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > @@ -203,6 +203,7 @@ platform_check_image() { > dir-615-c1 | \ > dir-615-e1 | \ > dir-615-e4 | \ > + dir-615-i1 | \ > dir-825-c1 | \ > dir-835-a1 | \ > dragino2 | \ > diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18 > index 1ee99f4..6374c54 100644 > --- a/target/linux/ar71xx/config-3.18 > +++ b/target/linux/ar71xx/config-3.18 > @@ -50,6 +50,7 @@ CONFIG_ATH79_MACH_DHP_1565_A1=y > CONFIG_ATH79_MACH_DIR_505_A1=y > CONFIG_ATH79_MACH_DIR_600_A1=y > CONFIG_ATH79_MACH_DIR_615_C1=y > +CONFIG_ATH79_MACH_DIR_615_I1=y > CONFIG_ATH79_MACH_DIR_825_B1=y > CONFIG_ATH79_MACH_DIR_825_C1=y > CONFIG_ATH79_MACH_DRAGINO2=y > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c > new file mode 100644 > index 0000000..bae1f05 > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c > @@ -0,0 +1,141 @@ > +/* > + * D-Link DIR-615 rev. I1 board support > + * Copyright (C) 2013-2015 Jaehoon You <teslamint@gmail.com> > + * > + * based on the DIR-600 rev. A1 board support code > + * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org> > + * Copyright (C) 2012 Vadim Girlin <vadimgirlin@gmail.com> > + * > + * based on the TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support code > + * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published > + * by the Free Software Foundation. > + */ > + > +#include <linux/platform_device.h> > + > +#include <asm/mach-ath79/ath79.h> > +#include <asm/mach-ath79/ar71xx_regs.h> > + > +#include "common.h" > +#include "dev-eth.h" > +#include "dev-gpio-buttons.h" > +#include "dev-leds-gpio.h" > +#include "dev-m25p80.h" > +#include "dev-wmac.h" > +#include "machtypes.h" > +#include "nvram.h" > + > +#define DIR_615_I1_GPIO_LED_WPS 15 > +#define DIR_615_I1_GPIO_LED_POWER_AMBER 14 > +#define DIR_615_I1_GPIO_LED_POWER_GREEN 4 > +#define DIR_615_I1_GPIO_LED_WAN_AMBER 22 > +#define DIR_615_I1_GPIO_LED_WAN_GREEN 12 > +#define DIR_615_I1_GPIO_LED_WLAN_GREEN 13 > + > +#define DIR_615_I1_GPIO_BTN_WPS 16 > +#define DIR_615_I1_GPIO_BTN_RESET 17 > + > +#define DIR_615_I1_KEYS_POLL_INTERVAL 20 /* msecs */ > +#define DIR_615_I1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_615_I1_KEYS_POLL_INTERVAL) > + > +#define DIR_615_I1_NVRAM_ADDR 0x1fff0000 > +#define DIR_615_I1_NVRAM_SIZE 0x10000 > +#define DIR_615_I1_LAN_PHYMASK BIT(0) > +#define DIR_615_I1_WAN_PHYMASK BIT(4) > +#define DIR_615_I1_WLAN_MAC_ADDR 0x1fffffb4 > + > +static struct gpio_led dir_615_i1_leds_gpio[] __initdata = { > + { > + .name = "d-link:green:power", > + .gpio = DIR_615_I1_GPIO_LED_POWER_GREEN, > + }, { > + .name = "d-link:amber:power", > + .gpio = DIR_615_I1_GPIO_LED_POWER_AMBER, > + }, { > + .name = "d-link:amber:wan", > + .gpio = DIR_615_I1_GPIO_LED_WAN_AMBER, > + }, { > + .name = "d-link:green:wan", > + .gpio = DIR_615_I1_GPIO_LED_WAN_GREEN, > + .active_low = 1, > + }, { > + .name = "d-link:green:wlan", > + .gpio = DIR_615_I1_GPIO_LED_WLAN_GREEN, > + .active_low = 1, > + }, { > + .name = "d-link:blue:wps", > + .gpio = DIR_615_I1_GPIO_LED_WPS, > + .active_low = 1, > + } > +}; > + > +static struct gpio_keys_button dir_615_i1_gpio_keys[] __initdata = { > + { > + .desc = "reset", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, > + .gpio = DIR_615_I1_GPIO_BTN_RESET, > + .active_low = 1, > + }, { > + .desc = "wps", > + .type = EV_KEY, > + .code = KEY_WPS_BUTTON, > + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, > + .gpio = DIR_615_I1_GPIO_BTN_WPS, > + .active_low = 1, > + } > +}; > + > +static void __init dir_615_i1_setup(void) > +{ > + const char *nvram = (char *) KSEG1ADDR(DIR_615_I1_NVRAM_ADDR); > + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); > + u8 mac[ETH_ALEN], wlan_mac[ETH_ALEN]; > + > + ath79_register_mdio(0, 0x0); > + ath79_register_mdio(1, ~(DIR_615_I1_WAN_PHYMASK)); > + > + if (ath79_nvram_parse_mac_addr(nvram, DIR_615_I1_NVRAM_SIZE, > + "sys_lan_mac=", mac) == 0) { > + ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0); > + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); > + } > + > + /* GMAC0 is connected to the PHY0 of the internal switch */ > + ath79_switch_data.phy4_mii_en = 1; > + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; > + ath79_eth0_data.phy_mask = DIR_615_I1_WAN_PHYMASK; > + ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; > + > + /* GMAC1 is connected to the internal switch */ > + ath79_eth1_data.phy_mask = DIR_615_I1_LAN_PHYMASK; > + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; > + > + ath79_register_eth(0); > + ath79_register_eth(1); > + > + ath79_register_m25p80(NULL); > + > + /* Disable JTAG, enabling GPIOs 0-3 */ > + /* Configure OBS4 line, for GPIO 4*/ > + ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, > + AR934X_GPIO_FUNC_CLK_OBS4_EN); > + > + ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615_i1_leds_gpio), > + dir_615_i1_leds_gpio); > + > + ath79_register_gpio_keys_polled(-1, DIR_615_I1_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(dir_615_i1_gpio_keys), > + dir_615_i1_gpio_keys); > + > + ath79_parse_ascii_mac((char *) KSEG1ADDR(DIR_615_I1_WLAN_MAC_ADDR), wlan_mac); > + > + ath79_register_wmac(eeprom, wlan_mac); > +} > + > +MIPS_MACHINE(ATH79_MACH_DIR_615_I1, "DIR-615-I1", "D-Link DIR-615 rev. I1", > + dir_615_i1_setup); > diff --git a/target/linux/ar71xx/generic/profiles/d-link.mk b/target/linux/ar71xx/generic/profiles/d-link.mk > index 0909df5..f782a41 100644 > --- a/target/linux/ar71xx/generic/profiles/d-link.mk > +++ b/target/linux/ar71xx/generic/profiles/d-link.mk > @@ -93,6 +93,16 @@ endef > > $(eval $(call Profile,DIR615E4)) > > +define Profile/DIR615IX > + NAME:=D-Link DIR-615 rev. I1 > + PACKAGES:= > +endef > + > +define Profile/DIR615IX/Description > + Package set optimized for the D-Link DIR-615 rev. I1. > +endef > + > +$(eval $(call Profile,DIR615IX)) > > define Profile/DIR825B1 > NAME:=D-Link DIR-825 rev. B1 > diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile > index 8766756..7b4e63b 100644 > --- a/target/linux/ar71xx/image/Makefile > +++ b/target/linux/ar71xx/image/Makefile > @@ -451,6 +451,7 @@ cameo_ap91_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3712k(firmware) > cameo_ap99_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3520k(firmware),64k(mac)ro,192k(lp)ro,64k(art)ro > cameo_ap121_mtdlayout=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,192k(language)ro,3648k(firmware) > cameo_ap121_mtdlayout_8M=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,256k(language)ro,7680k@0x80000(firmware) > +cameo_ap123_mtdlayout_4M=mtdparts=spi0.0:64k(u-boot)ro,64k(nvram)ro,3712k(firmware),192k(lang)ro,64k(art)ro > cameo_db120_mtdlayout=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,15936k(firmware),192k(lang)ro,64k(mac)ro,64k(art)ro > cameo_db120_mtdlayout_8M=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,7872k(firmware),128k(lang)ro,64k(art)ro > cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe),64k(art),13632k@0xa0000(firmware) > @@ -627,6 +628,10 @@ Image/Build/CameoAP99/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap99_mtd > Image/Build/CameoAP99=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap99_mtdlayout),$(4),65536) > Image/Build/CameoAP99/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap99_mtdlayout)) > > +Image/Build/CameoAP123_4M/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) > +Image/Build/CameoAP123_4M=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap123_mtdlayout_4M),$(4),26) > +Image/Build/CameoAP123_4M/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) > + > Image/Build/CameoAP135/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4)) > Image/Build/CameoAP135=$(call Image/Build/Cameo,$(1),$(2),$(3),$(4),$(5),26) > Image/Build/CameoAP135/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4)) > @@ -1359,6 +1364,9 @@ $(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,1 > $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00")) > $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05")) > > +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I1,dir-615-i1,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-1012I1-00")) > +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I3,dir-615-i3,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-101214-00")) > + > $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,A02RBW300N,a02-rb-w300n,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-03")) > $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,DIR615C1,dir-615-c1,DIR-615-C1,ttyS0,115200,"AP81-AR9130-RT-070614-02")) > $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW632BRP,tew-632brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-00")) > @@ -1545,6 +1553,7 @@ $(eval $(call SingleProfile,Zcomax,64k,ZCN1523H516,zcn-1523h-5-16,ZCN-1523H-5,tt > $(eval $(call SingleProfile,ZyXEL,64k,NBG_460N_550N_550NH,nbg460n_550n_550nh,NBG460N,ttyS0,115200,NBG-460N)) > > $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M)) > +$(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3)) > $(eval $(call MultiProfile,AP136,AP136_010 AP136_020)) > $(eval $(call MultiProfile,ARCHERC7, ARCHERC5 ARCHERC7V1 ARCHERC7V2)) > $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M)) > diff --git a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch > index 2aca064..5a8d132 100644 > --- a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch > +++ b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch > @@ -1,6 +1,6 @@ > --- a/arch/mips/ath79/machtypes.h > +++ b/arch/mips/ath79/machtypes.h > -@@ -16,22 +16,190 @@ > +@@ -16,22 +16,191 @@ > > enum ath79_mach_type { > ATH79_MACH_GENERIC = 0, > @@ -35,6 +35,7 @@ > + ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */ > + ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */ > + ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */ > ++ ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */ > + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */ > + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */ > + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */ > @@ -264,7 +265,7 @@ > config ATH79_MACH_AP121 > bool "Atheros AP121 reference board" > select SOC_AR933X > -@@ -11,62 +75,976 @@ config ATH79_MACH_AP121 > +@@ -11,62 +75,987 @@ config ATH79_MACH_AP121 > select ATH79_DEV_M25P80 > select ATH79_DEV_USB > select ATH79_DEV_WMAC > @@ -560,6 +561,17 @@ > + select ATH79_DEV_WMAC > + select ATH79_NVRAM > + > ++config ATH79_MACH_DIR_615_I1 > ++ bool "D-Link DIR-615 rev. I1 support" > ++ select SOC_AR934X > ++ select ATH79_DEV_AP9X_PCI if PCI > ++ select ATH79_DEV_ETH > ++ select ATH79_DEV_GPIO_BUTTONS > ++ select ATH79_DEV_LEDS_GPIO > ++ select ATH79_DEV_M25P80 > ++ select ATH79_DEV_WMAC > ++ select ATH79_NVRAM > ++ > +config ATH79_MACH_DIR_825_B1 > + bool "D-Link DIR-825 rev. B1 board support" > + select SOC_AR71XX > @@ -1269,7 +1281,7 @@ > > config ATH79_MACH_UBNT_XM > bool "Ubiquiti Networks XM/UniFi boards" > -@@ -83,6 +1061,97 @@ config ATH79_MACH_UBNT_XM > +@@ -83,6 +1072,97 @@ config ATH79_MACH_UBNT_XM > Say 'Y' here if you want your kernel to support the > Ubiquiti Networks XM (rev 1.0) board. > > @@ -1367,7 +1379,7 @@ > endmenu > > config SOC_AR71XX > -@@ -124,7 +1193,10 @@ config ATH79_DEV_DSA > +@@ -124,7 +1204,10 @@ config ATH79_DEV_DSA > config ATH79_DEV_ETH > def_bool n > > @@ -1379,7 +1391,7 @@ > def_bool n > > config ATH79_DEV_GPIO_BUTTONS > -@@ -154,6 +1226,11 @@ config ATH79_PCI_ATH9K_FIXUP > +@@ -154,6 +1237,11 @@ config ATH79_PCI_ATH9K_FIXUP > def_bool n > > config ATH79_ROUTERBOOT > @@ -1393,7 +1405,7 @@ > endif > --- a/arch/mips/ath79/Makefile > +++ b/arch/mips/ath79/Makefile > -@@ -38,9 +38,119 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route > +@@ -38,9 +38,120 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route > # > # Machines > # > @@ -1419,6 +1431,7 @@ > +obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o > +obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o > +obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o > ++obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o > +obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o > +obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o > +obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o >
Hi, John. No problem. I will send new patch soon. -Jaehoon Jaehoon You http://about.me/jhyou 2015-07-07 20:54 GMT+09:00 John Crispin <blogic@openwrt.org>: > Hi, > > sorry patch no longer applies. could you rebase it and then send it > again please ? > > John > > On 18/04/2015 06:52, Jaehoon You wrote: >> Signed-off-by: Jaehoon You <teslamint@gmail.com> >> --- >> target/linux/ar71xx/base-files/etc/diag.sh | 1 + >> .../ar71xx/base-files/etc/uci-defaults/01_leds | 8 ++ >> .../ar71xx/base-files/etc/uci-defaults/02_network | 0 >> target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + >> .../base-files/lib/preinit/05_set_iface_mac_ar71xx | 3 + >> .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + >> target/linux/ar71xx/config-3.18 | 1 + >> .../ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c | 141 +++++++++++++++++++++ >> target/linux/ar71xx/generic/profiles/d-link.mk | 10 ++ >> target/linux/ar71xx/image/Makefile | 9 ++ >> .../610-MIPS-ath79-openwrt-machines.patch | 25 +++- >> 11 files changed, 196 insertions(+), 6 deletions(-) >> mode change 100644 => 100755 target/linux/ar71xx/base-files/etc/uci-defaults/02_network >> create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c >> >> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh >> index 52a73ee..07b1769 100644 >> --- a/target/linux/ar71xx/base-files/etc/diag.sh >> +++ b/target/linux/ar71xx/base-files/etc/diag.sh >> @@ -54,6 +54,7 @@ get_status_led() { >> dir-505-a1 |\ >> dir-600-a1 |\ >> dir-615-e1 |\ >> + dir-615-i1 |\ >> dir-615-e4) >> status_led="d-link:green:power" >> ;; >> diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds >> index 787523a..aff8f1f 100644 >> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds >> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds >> @@ -139,6 +139,14 @@ dir-825-b1) >> ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" >> ;; >> >> +dir-615-i1) >> + ucidef_set_led_default "power" "POWER" "d-link:green:power" "1" >> + ucidef_set_led_default "diag" "DIAG" "d-link:amber:power" "0" >> + ucidef_set_led_default "wps" "WPS" "d-link:blue:wps" "0" >> + ucidef_set_led_netdev "wan" "WAN" "d-link:green:wan" "eth0" >> + ucidef_set_led_wlan "wlan" "WLAN" "d-link:green:wlan" "phy0tpt" >> + ;; >> + >> dir-825-c1) >> ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" >> ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt" >> diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network >> old mode 100644 >> new mode 100755 >> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh >> index b3dbcf5..3e4453d 100755 >> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh >> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh >> @@ -398,6 +398,9 @@ ar71xx_board_detect() { >> *"DIR-615 rev. E4") >> name="dir-615-e4" >> ;; >> + *"DIR-615 rev. I1") >> + name="dir-615-i1" >> + ;; >> *"DIR-825 rev. B1") >> name="dir-825-b1" >> ;; >> diff --git a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx >> index b40dff5..c39169a 100644 >> --- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx >> +++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx >> @@ -29,6 +29,9 @@ preinit_set_mac_address() { >> fetch_mac_from_mtd config lan_mac wan_mac >> echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness >> ;; >> + dir-615-i1) >> + fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac >> + ;; >> r6100) >> mac_lan=$(mtd_get_mac_binary caldata 0) >> [ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan" >> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> index 0cbee1d..4899f78 100755 >> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> @@ -203,6 +203,7 @@ platform_check_image() { >> dir-615-c1 | \ >> dir-615-e1 | \ >> dir-615-e4 | \ >> + dir-615-i1 | \ >> dir-825-c1 | \ >> dir-835-a1 | \ >> dragino2 | \ >> diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18 >> index 1ee99f4..6374c54 100644 >> --- a/target/linux/ar71xx/config-3.18 >> +++ b/target/linux/ar71xx/config-3.18 >> @@ -50,6 +50,7 @@ CONFIG_ATH79_MACH_DHP_1565_A1=y >> CONFIG_ATH79_MACH_DIR_505_A1=y >> CONFIG_ATH79_MACH_DIR_600_A1=y >> CONFIG_ATH79_MACH_DIR_615_C1=y >> +CONFIG_ATH79_MACH_DIR_615_I1=y >> CONFIG_ATH79_MACH_DIR_825_B1=y >> CONFIG_ATH79_MACH_DIR_825_C1=y >> CONFIG_ATH79_MACH_DRAGINO2=y >> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c >> new file mode 100644 >> index 0000000..bae1f05 >> --- /dev/null >> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c >> @@ -0,0 +1,141 @@ >> +/* >> + * D-Link DIR-615 rev. I1 board support >> + * Copyright (C) 2013-2015 Jaehoon You <teslamint@gmail.com> >> + * >> + * based on the DIR-600 rev. A1 board support code >> + * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org> >> + * Copyright (C) 2012 Vadim Girlin <vadimgirlin@gmail.com> >> + * >> + * based on the TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support code >> + * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org> >> + * >> + * This program is free software; you can redistribute it and/or modify it >> + * under the terms of the GNU General Public License version 2 as published >> + * by the Free Software Foundation. >> + */ >> + >> +#include <linux/platform_device.h> >> + >> +#include <asm/mach-ath79/ath79.h> >> +#include <asm/mach-ath79/ar71xx_regs.h> >> + >> +#include "common.h" >> +#include "dev-eth.h" >> +#include "dev-gpio-buttons.h" >> +#include "dev-leds-gpio.h" >> +#include "dev-m25p80.h" >> +#include "dev-wmac.h" >> +#include "machtypes.h" >> +#include "nvram.h" >> + >> +#define DIR_615_I1_GPIO_LED_WPS 15 >> +#define DIR_615_I1_GPIO_LED_POWER_AMBER 14 >> +#define DIR_615_I1_GPIO_LED_POWER_GREEN 4 >> +#define DIR_615_I1_GPIO_LED_WAN_AMBER 22 >> +#define DIR_615_I1_GPIO_LED_WAN_GREEN 12 >> +#define DIR_615_I1_GPIO_LED_WLAN_GREEN 13 >> + >> +#define DIR_615_I1_GPIO_BTN_WPS 16 >> +#define DIR_615_I1_GPIO_BTN_RESET 17 >> + >> +#define DIR_615_I1_KEYS_POLL_INTERVAL 20 /* msecs */ >> +#define DIR_615_I1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_615_I1_KEYS_POLL_INTERVAL) >> + >> +#define DIR_615_I1_NVRAM_ADDR 0x1fff0000 >> +#define DIR_615_I1_NVRAM_SIZE 0x10000 >> +#define DIR_615_I1_LAN_PHYMASK BIT(0) >> +#define DIR_615_I1_WAN_PHYMASK BIT(4) >> +#define DIR_615_I1_WLAN_MAC_ADDR 0x1fffffb4 >> + >> +static struct gpio_led dir_615_i1_leds_gpio[] __initdata = { >> + { >> + .name = "d-link:green:power", >> + .gpio = DIR_615_I1_GPIO_LED_POWER_GREEN, >> + }, { >> + .name = "d-link:amber:power", >> + .gpio = DIR_615_I1_GPIO_LED_POWER_AMBER, >> + }, { >> + .name = "d-link:amber:wan", >> + .gpio = DIR_615_I1_GPIO_LED_WAN_AMBER, >> + }, { >> + .name = "d-link:green:wan", >> + .gpio = DIR_615_I1_GPIO_LED_WAN_GREEN, >> + .active_low = 1, >> + }, { >> + .name = "d-link:green:wlan", >> + .gpio = DIR_615_I1_GPIO_LED_WLAN_GREEN, >> + .active_low = 1, >> + }, { >> + .name = "d-link:blue:wps", >> + .gpio = DIR_615_I1_GPIO_LED_WPS, >> + .active_low = 1, >> + } >> +}; >> + >> +static struct gpio_keys_button dir_615_i1_gpio_keys[] __initdata = { >> + { >> + .desc = "reset", >> + .type = EV_KEY, >> + .code = KEY_RESTART, >> + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, >> + .gpio = DIR_615_I1_GPIO_BTN_RESET, >> + .active_low = 1, >> + }, { >> + .desc = "wps", >> + .type = EV_KEY, >> + .code = KEY_WPS_BUTTON, >> + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, >> + .gpio = DIR_615_I1_GPIO_BTN_WPS, >> + .active_low = 1, >> + } >> +}; >> + >> +static void __init dir_615_i1_setup(void) >> +{ >> + const char *nvram = (char *) KSEG1ADDR(DIR_615_I1_NVRAM_ADDR); >> + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); >> + u8 mac[ETH_ALEN], wlan_mac[ETH_ALEN]; >> + >> + ath79_register_mdio(0, 0x0); >> + ath79_register_mdio(1, ~(DIR_615_I1_WAN_PHYMASK)); >> + >> + if (ath79_nvram_parse_mac_addr(nvram, DIR_615_I1_NVRAM_SIZE, >> + "sys_lan_mac=", mac) == 0) { >> + ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0); >> + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); >> + } >> + >> + /* GMAC0 is connected to the PHY0 of the internal switch */ >> + ath79_switch_data.phy4_mii_en = 1; >> + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; >> + ath79_eth0_data.phy_mask = DIR_615_I1_WAN_PHYMASK; >> + ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; >> + >> + /* GMAC1 is connected to the internal switch */ >> + ath79_eth1_data.phy_mask = DIR_615_I1_LAN_PHYMASK; >> + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; >> + >> + ath79_register_eth(0); >> + ath79_register_eth(1); >> + >> + ath79_register_m25p80(NULL); >> + >> + /* Disable JTAG, enabling GPIOs 0-3 */ >> + /* Configure OBS4 line, for GPIO 4*/ >> + ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, >> + AR934X_GPIO_FUNC_CLK_OBS4_EN); >> + >> + ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615_i1_leds_gpio), >> + dir_615_i1_leds_gpio); >> + >> + ath79_register_gpio_keys_polled(-1, DIR_615_I1_KEYS_POLL_INTERVAL, >> + ARRAY_SIZE(dir_615_i1_gpio_keys), >> + dir_615_i1_gpio_keys); >> + >> + ath79_parse_ascii_mac((char *) KSEG1ADDR(DIR_615_I1_WLAN_MAC_ADDR), wlan_mac); >> + >> + ath79_register_wmac(eeprom, wlan_mac); >> +} >> + >> +MIPS_MACHINE(ATH79_MACH_DIR_615_I1, "DIR-615-I1", "D-Link DIR-615 rev. I1", >> + dir_615_i1_setup); >> diff --git a/target/linux/ar71xx/generic/profiles/d-link.mk b/target/linux/ar71xx/generic/profiles/d-link.mk >> index 0909df5..f782a41 100644 >> --- a/target/linux/ar71xx/generic/profiles/d-link.mk >> +++ b/target/linux/ar71xx/generic/profiles/d-link.mk >> @@ -93,6 +93,16 @@ endef >> >> $(eval $(call Profile,DIR615E4)) >> >> +define Profile/DIR615IX >> + NAME:=D-Link DIR-615 rev. I1 >> + PACKAGES:= >> +endef >> + >> +define Profile/DIR615IX/Description >> + Package set optimized for the D-Link DIR-615 rev. I1. >> +endef >> + >> +$(eval $(call Profile,DIR615IX)) >> >> define Profile/DIR825B1 >> NAME:=D-Link DIR-825 rev. B1 >> diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile >> index 8766756..7b4e63b 100644 >> --- a/target/linux/ar71xx/image/Makefile >> +++ b/target/linux/ar71xx/image/Makefile >> @@ -451,6 +451,7 @@ cameo_ap91_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3712k(firmware) >> cameo_ap99_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3520k(firmware),64k(mac)ro,192k(lp)ro,64k(art)ro >> cameo_ap121_mtdlayout=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,192k(language)ro,3648k(firmware) >> cameo_ap121_mtdlayout_8M=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,256k(language)ro,7680k@0x80000(firmware) >> +cameo_ap123_mtdlayout_4M=mtdparts=spi0.0:64k(u-boot)ro,64k(nvram)ro,3712k(firmware),192k(lang)ro,64k(art)ro >> cameo_db120_mtdlayout=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,15936k(firmware),192k(lang)ro,64k(mac)ro,64k(art)ro >> cameo_db120_mtdlayout_8M=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,7872k(firmware),128k(lang)ro,64k(art)ro >> cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe),64k(art),13632k@0xa0000(firmware) >> @@ -627,6 +628,10 @@ Image/Build/CameoAP99/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap99_mtd >> Image/Build/CameoAP99=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap99_mtdlayout),$(4),65536) >> Image/Build/CameoAP99/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap99_mtdlayout)) >> >> +Image/Build/CameoAP123_4M/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) >> +Image/Build/CameoAP123_4M=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap123_mtdlayout_4M),$(4),26) >> +Image/Build/CameoAP123_4M/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) >> + >> Image/Build/CameoAP135/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4)) >> Image/Build/CameoAP135=$(call Image/Build/Cameo,$(1),$(2),$(3),$(4),$(5),26) >> Image/Build/CameoAP135/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4)) >> @@ -1359,6 +1364,9 @@ $(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,1 >> $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00")) >> $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05")) >> >> +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I1,dir-615-i1,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-1012I1-00")) >> +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I3,dir-615-i3,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-101214-00")) >> + >> $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,A02RBW300N,a02-rb-w300n,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-03")) >> $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,DIR615C1,dir-615-c1,DIR-615-C1,ttyS0,115200,"AP81-AR9130-RT-070614-02")) >> $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW632BRP,tew-632brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-00")) >> @@ -1545,6 +1553,7 @@ $(eval $(call SingleProfile,Zcomax,64k,ZCN1523H516,zcn-1523h-5-16,ZCN-1523H-5,tt >> $(eval $(call SingleProfile,ZyXEL,64k,NBG_460N_550N_550NH,nbg460n_550n_550nh,NBG460N,ttyS0,115200,NBG-460N)) >> >> $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M)) >> +$(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3)) >> $(eval $(call MultiProfile,AP136,AP136_010 AP136_020)) >> $(eval $(call MultiProfile,ARCHERC7, ARCHERC5 ARCHERC7V1 ARCHERC7V2)) >> $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M)) >> diff --git a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch >> index 2aca064..5a8d132 100644 >> --- a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch >> +++ b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch >> @@ -1,6 +1,6 @@ >> --- a/arch/mips/ath79/machtypes.h >> +++ b/arch/mips/ath79/machtypes.h >> -@@ -16,22 +16,190 @@ >> +@@ -16,22 +16,191 @@ >> >> enum ath79_mach_type { >> ATH79_MACH_GENERIC = 0, >> @@ -35,6 +35,7 @@ >> + ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */ >> + ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */ >> + ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */ >> ++ ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */ >> + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */ >> + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */ >> + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */ >> @@ -264,7 +265,7 @@ >> config ATH79_MACH_AP121 >> bool "Atheros AP121 reference board" >> select SOC_AR933X >> -@@ -11,62 +75,976 @@ config ATH79_MACH_AP121 >> +@@ -11,62 +75,987 @@ config ATH79_MACH_AP121 >> select ATH79_DEV_M25P80 >> select ATH79_DEV_USB >> select ATH79_DEV_WMAC >> @@ -560,6 +561,17 @@ >> + select ATH79_DEV_WMAC >> + select ATH79_NVRAM >> + >> ++config ATH79_MACH_DIR_615_I1 >> ++ bool "D-Link DIR-615 rev. I1 support" >> ++ select SOC_AR934X >> ++ select ATH79_DEV_AP9X_PCI if PCI >> ++ select ATH79_DEV_ETH >> ++ select ATH79_DEV_GPIO_BUTTONS >> ++ select ATH79_DEV_LEDS_GPIO >> ++ select ATH79_DEV_M25P80 >> ++ select ATH79_DEV_WMAC >> ++ select ATH79_NVRAM >> ++ >> +config ATH79_MACH_DIR_825_B1 >> + bool "D-Link DIR-825 rev. B1 board support" >> + select SOC_AR71XX >> @@ -1269,7 +1281,7 @@ >> >> config ATH79_MACH_UBNT_XM >> bool "Ubiquiti Networks XM/UniFi boards" >> -@@ -83,6 +1061,97 @@ config ATH79_MACH_UBNT_XM >> +@@ -83,6 +1072,97 @@ config ATH79_MACH_UBNT_XM >> Say 'Y' here if you want your kernel to support the >> Ubiquiti Networks XM (rev 1.0) board. >> >> @@ -1367,7 +1379,7 @@ >> endmenu >> >> config SOC_AR71XX >> -@@ -124,7 +1193,10 @@ config ATH79_DEV_DSA >> +@@ -124,7 +1204,10 @@ config ATH79_DEV_DSA >> config ATH79_DEV_ETH >> def_bool n >> >> @@ -1379,7 +1391,7 @@ >> def_bool n >> >> config ATH79_DEV_GPIO_BUTTONS >> -@@ -154,6 +1226,11 @@ config ATH79_PCI_ATH9K_FIXUP >> +@@ -154,6 +1237,11 @@ config ATH79_PCI_ATH9K_FIXUP >> def_bool n >> >> config ATH79_ROUTERBOOT >> @@ -1393,7 +1405,7 @@ >> endif >> --- a/arch/mips/ath79/Makefile >> +++ b/arch/mips/ath79/Makefile >> -@@ -38,9 +38,119 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route >> +@@ -38,9 +38,120 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route >> # >> # Machines >> # >> @@ -1419,6 +1431,7 @@ >> +obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o >> +obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o >> +obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o >> ++obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o >> +obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o >> +obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o >> +obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o >>
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh index 52a73ee..07b1769 100644 --- a/target/linux/ar71xx/base-files/etc/diag.sh +++ b/target/linux/ar71xx/base-files/etc/diag.sh @@ -54,6 +54,7 @@ get_status_led() { dir-505-a1 |\ dir-600-a1 |\ dir-615-e1 |\ + dir-615-i1 |\ dir-615-e4) status_led="d-link:green:power" ;; diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds index 787523a..aff8f1f 100644 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds @@ -139,6 +139,14 @@ dir-825-b1) ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" ;; +dir-615-i1) + ucidef_set_led_default "power" "POWER" "d-link:green:power" "1" + ucidef_set_led_default "diag" "DIAG" "d-link:amber:power" "0" + ucidef_set_led_default "wps" "WPS" "d-link:blue:wps" "0" + ucidef_set_led_netdev "wan" "WAN" "d-link:green:wan" "eth0" + ucidef_set_led_wlan "wlan" "WLAN" "d-link:green:wlan" "phy0tpt" + ;; + dir-825-c1) ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt" diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network old mode 100644 new mode 100755 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index b3dbcf5..3e4453d 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -398,6 +398,9 @@ ar71xx_board_detect() { *"DIR-615 rev. E4") name="dir-615-e4" ;; + *"DIR-615 rev. I1") + name="dir-615-i1" + ;; *"DIR-825 rev. B1") name="dir-825-b1" ;; diff --git a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx index b40dff5..c39169a 100644 --- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx +++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx @@ -29,6 +29,9 @@ preinit_set_mac_address() { fetch_mac_from_mtd config lan_mac wan_mac echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness ;; + dir-615-i1) + fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac + ;; r6100) mac_lan=$(mtd_get_mac_binary caldata 0) [ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan" diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index 0cbee1d..4899f78 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -203,6 +203,7 @@ platform_check_image() { dir-615-c1 | \ dir-615-e1 | \ dir-615-e4 | \ + dir-615-i1 | \ dir-825-c1 | \ dir-835-a1 | \ dragino2 | \ diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18 index 1ee99f4..6374c54 100644 --- a/target/linux/ar71xx/config-3.18 +++ b/target/linux/ar71xx/config-3.18 @@ -50,6 +50,7 @@ CONFIG_ATH79_MACH_DHP_1565_A1=y CONFIG_ATH79_MACH_DIR_505_A1=y CONFIG_ATH79_MACH_DIR_600_A1=y CONFIG_ATH79_MACH_DIR_615_C1=y +CONFIG_ATH79_MACH_DIR_615_I1=y CONFIG_ATH79_MACH_DIR_825_B1=y CONFIG_ATH79_MACH_DIR_825_C1=y CONFIG_ATH79_MACH_DRAGINO2=y diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c new file mode 100644 index 0000000..bae1f05 --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c @@ -0,0 +1,141 @@ +/* + * D-Link DIR-615 rev. I1 board support + * Copyright (C) 2013-2015 Jaehoon You <teslamint@gmail.com> + * + * based on the DIR-600 rev. A1 board support code + * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org> + * Copyright (C) 2012 Vadim Girlin <vadimgirlin@gmail.com> + * + * based on the TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support code + * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#include <linux/platform_device.h> + +#include <asm/mach-ath79/ath79.h> +#include <asm/mach-ath79/ar71xx_regs.h> + +#include "common.h" +#include "dev-eth.h" +#include "dev-gpio-buttons.h" +#include "dev-leds-gpio.h" +#include "dev-m25p80.h" +#include "dev-wmac.h" +#include "machtypes.h" +#include "nvram.h" + +#define DIR_615_I1_GPIO_LED_WPS 15 +#define DIR_615_I1_GPIO_LED_POWER_AMBER 14 +#define DIR_615_I1_GPIO_LED_POWER_GREEN 4 +#define DIR_615_I1_GPIO_LED_WAN_AMBER 22 +#define DIR_615_I1_GPIO_LED_WAN_GREEN 12 +#define DIR_615_I1_GPIO_LED_WLAN_GREEN 13 + +#define DIR_615_I1_GPIO_BTN_WPS 16 +#define DIR_615_I1_GPIO_BTN_RESET 17 + +#define DIR_615_I1_KEYS_POLL_INTERVAL 20 /* msecs */ +#define DIR_615_I1_KEYS_DEBOUNCE_INTERVAL (3 * DIR_615_I1_KEYS_POLL_INTERVAL) + +#define DIR_615_I1_NVRAM_ADDR 0x1fff0000 +#define DIR_615_I1_NVRAM_SIZE 0x10000 +#define DIR_615_I1_LAN_PHYMASK BIT(0) +#define DIR_615_I1_WAN_PHYMASK BIT(4) +#define DIR_615_I1_WLAN_MAC_ADDR 0x1fffffb4 + +static struct gpio_led dir_615_i1_leds_gpio[] __initdata = { + { + .name = "d-link:green:power", + .gpio = DIR_615_I1_GPIO_LED_POWER_GREEN, + }, { + .name = "d-link:amber:power", + .gpio = DIR_615_I1_GPIO_LED_POWER_AMBER, + }, { + .name = "d-link:amber:wan", + .gpio = DIR_615_I1_GPIO_LED_WAN_AMBER, + }, { + .name = "d-link:green:wan", + .gpio = DIR_615_I1_GPIO_LED_WAN_GREEN, + .active_low = 1, + }, { + .name = "d-link:green:wlan", + .gpio = DIR_615_I1_GPIO_LED_WLAN_GREEN, + .active_low = 1, + }, { + .name = "d-link:blue:wps", + .gpio = DIR_615_I1_GPIO_LED_WPS, + .active_low = 1, + } +}; + +static struct gpio_keys_button dir_615_i1_gpio_keys[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, + .gpio = DIR_615_I1_GPIO_BTN_RESET, + .active_low = 1, + }, { + .desc = "wps", + .type = EV_KEY, + .code = KEY_WPS_BUTTON, + .debounce_interval = DIR_615_I1_KEYS_DEBOUNCE_INTERVAL, + .gpio = DIR_615_I1_GPIO_BTN_WPS, + .active_low = 1, + } +}; + +static void __init dir_615_i1_setup(void) +{ + const char *nvram = (char *) KSEG1ADDR(DIR_615_I1_NVRAM_ADDR); + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); + u8 mac[ETH_ALEN], wlan_mac[ETH_ALEN]; + + ath79_register_mdio(0, 0x0); + ath79_register_mdio(1, ~(DIR_615_I1_WAN_PHYMASK)); + + if (ath79_nvram_parse_mac_addr(nvram, DIR_615_I1_NVRAM_SIZE, + "sys_lan_mac=", mac) == 0) { + ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0); + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); + } + + /* GMAC0 is connected to the PHY0 of the internal switch */ + ath79_switch_data.phy4_mii_en = 1; + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; + ath79_eth0_data.phy_mask = DIR_615_I1_WAN_PHYMASK; + ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; + + /* GMAC1 is connected to the internal switch */ + ath79_eth1_data.phy_mask = DIR_615_I1_LAN_PHYMASK; + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; + + ath79_register_eth(0); + ath79_register_eth(1); + + ath79_register_m25p80(NULL); + + /* Disable JTAG, enabling GPIOs 0-3 */ + /* Configure OBS4 line, for GPIO 4*/ + ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, + AR934X_GPIO_FUNC_CLK_OBS4_EN); + + ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615_i1_leds_gpio), + dir_615_i1_leds_gpio); + + ath79_register_gpio_keys_polled(-1, DIR_615_I1_KEYS_POLL_INTERVAL, + ARRAY_SIZE(dir_615_i1_gpio_keys), + dir_615_i1_gpio_keys); + + ath79_parse_ascii_mac((char *) KSEG1ADDR(DIR_615_I1_WLAN_MAC_ADDR), wlan_mac); + + ath79_register_wmac(eeprom, wlan_mac); +} + +MIPS_MACHINE(ATH79_MACH_DIR_615_I1, "DIR-615-I1", "D-Link DIR-615 rev. I1", + dir_615_i1_setup); diff --git a/target/linux/ar71xx/generic/profiles/d-link.mk b/target/linux/ar71xx/generic/profiles/d-link.mk index 0909df5..f782a41 100644 --- a/target/linux/ar71xx/generic/profiles/d-link.mk +++ b/target/linux/ar71xx/generic/profiles/d-link.mk @@ -93,6 +93,16 @@ endef $(eval $(call Profile,DIR615E4)) +define Profile/DIR615IX + NAME:=D-Link DIR-615 rev. I1 + PACKAGES:= +endef + +define Profile/DIR615IX/Description + Package set optimized for the D-Link DIR-615 rev. I1. +endef + +$(eval $(call Profile,DIR615IX)) define Profile/DIR825B1 NAME:=D-Link DIR-825 rev. B1 diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index 8766756..7b4e63b 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -451,6 +451,7 @@ cameo_ap91_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3712k(firmware) cameo_ap99_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,3520k(firmware),64k(mac)ro,192k(lp)ro,64k(art)ro cameo_ap121_mtdlayout=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,192k(language)ro,3648k(firmware) cameo_ap121_mtdlayout_8M=mtdparts=spi0.0:64k(u-boot)ro,64k(art)ro,64k(mac)ro,64k(nvram)ro,256k(language)ro,7680k@0x80000(firmware) +cameo_ap123_mtdlayout_4M=mtdparts=spi0.0:64k(u-boot)ro,64k(nvram)ro,3712k(firmware),192k(lang)ro,64k(art)ro cameo_db120_mtdlayout=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,15936k(firmware),192k(lang)ro,64k(mac)ro,64k(art)ro cameo_db120_mtdlayout_8M=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,7872k(firmware),128k(lang)ro,64k(art)ro cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe),64k(art),13632k@0xa0000(firmware) @@ -627,6 +628,10 @@ Image/Build/CameoAP99/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap99_mtd Image/Build/CameoAP99=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap99_mtdlayout),$(4),65536) Image/Build/CameoAP99/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap99_mtdlayout)) +Image/Build/CameoAP123_4M/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) +Image/Build/CameoAP123_4M=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo_ap123_mtdlayout_4M),$(4),26) +Image/Build/CameoAP123_4M/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo_ap123_mtdlayout_4M)) + Image/Build/CameoAP135/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4)) Image/Build/CameoAP135=$(call Image/Build/Cameo,$(1),$(2),$(3),$(4),$(5),26) Image/Build/CameoAP135/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4)) @@ -1359,6 +1364,9 @@ $(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,1 $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00")) $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05")) +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I1,dir-615-i1,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-1012I1-00")) +$(eval $(call SingleProfile,CameoAP123_4M,64kraw,DIR615I3,dir-615-i3,DIR-615-I1,ttyS0,115200,"00DB120AR9341-RT-101214-00")) + $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,A02RBW300N,a02-rb-w300n,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-03")) $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,DIR615C1,dir-615-c1,DIR-615-C1,ttyS0,115200,"AP81-AR9130-RT-070614-02")) $(eval $(call SingleProfile,CameoAP81,64kraw-nojffs,TEW632BRP,tew-632brp,TEW-632BRP,ttyS0,115200,"AP81-AR9130-RT-070614-00")) @@ -1545,6 +1553,7 @@ $(eval $(call SingleProfile,Zcomax,64k,ZCN1523H516,zcn-1523h-5-16,ZCN-1523H-5,tt $(eval $(call SingleProfile,ZyXEL,64k,NBG_460N_550N_550NH,nbg460n_550n_550nh,NBG460N,ttyS0,115200,NBG-460N)) $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M)) +$(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3)) $(eval $(call MultiProfile,AP136,AP136_010 AP136_020)) $(eval $(call MultiProfile,ARCHERC7, ARCHERC5 ARCHERC7V1 ARCHERC7V2)) $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M)) diff --git a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch index 2aca064..5a8d132 100644 --- a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch +++ b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -16,22 +16,190 @@ +@@ -16,22 +16,191 @@ enum ath79_mach_type { ATH79_MACH_GENERIC = 0, @@ -35,6 +35,7 @@ + ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */ + ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */ + ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */ ++ ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */ + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */ + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */ + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */ @@ -264,7 +265,7 @@ config ATH79_MACH_AP121 bool "Atheros AP121 reference board" select SOC_AR933X -@@ -11,62 +75,976 @@ config ATH79_MACH_AP121 +@@ -11,62 +75,987 @@ config ATH79_MACH_AP121 select ATH79_DEV_M25P80 select ATH79_DEV_USB select ATH79_DEV_WMAC @@ -560,6 +561,17 @@ + select ATH79_DEV_WMAC + select ATH79_NVRAM + ++config ATH79_MACH_DIR_615_I1 ++ bool "D-Link DIR-615 rev. I1 support" ++ select SOC_AR934X ++ select ATH79_DEV_AP9X_PCI if PCI ++ select ATH79_DEV_ETH ++ select ATH79_DEV_GPIO_BUTTONS ++ select ATH79_DEV_LEDS_GPIO ++ select ATH79_DEV_M25P80 ++ select ATH79_DEV_WMAC ++ select ATH79_NVRAM ++ +config ATH79_MACH_DIR_825_B1 + bool "D-Link DIR-825 rev. B1 board support" + select SOC_AR71XX @@ -1269,7 +1281,7 @@ config ATH79_MACH_UBNT_XM bool "Ubiquiti Networks XM/UniFi boards" -@@ -83,6 +1061,97 @@ config ATH79_MACH_UBNT_XM +@@ -83,6 +1072,97 @@ config ATH79_MACH_UBNT_XM Say 'Y' here if you want your kernel to support the Ubiquiti Networks XM (rev 1.0) board. @@ -1367,7 +1379,7 @@ endmenu config SOC_AR71XX -@@ -124,7 +1193,10 @@ config ATH79_DEV_DSA +@@ -124,7 +1204,10 @@ config ATH79_DEV_DSA config ATH79_DEV_ETH def_bool n @@ -1379,7 +1391,7 @@ def_bool n config ATH79_DEV_GPIO_BUTTONS -@@ -154,6 +1226,11 @@ config ATH79_PCI_ATH9K_FIXUP +@@ -154,6 +1237,11 @@ config ATH79_PCI_ATH9K_FIXUP def_bool n config ATH79_ROUTERBOOT @@ -1393,7 +1405,7 @@ endif --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -38,9 +38,119 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route +@@ -38,9 +38,120 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route # # Machines # @@ -1419,6 +1431,7 @@ +obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o +obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o +obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o ++obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o +obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o +obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o +obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
Signed-off-by: Jaehoon You <teslamint@gmail.com> --- target/linux/ar71xx/base-files/etc/diag.sh | 1 + .../ar71xx/base-files/etc/uci-defaults/01_leds | 8 ++ .../ar71xx/base-files/etc/uci-defaults/02_network | 0 target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + .../base-files/lib/preinit/05_set_iface_mac_ar71xx | 3 + .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + target/linux/ar71xx/config-3.18 | 1 + .../ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c | 141 +++++++++++++++++++++ target/linux/ar71xx/generic/profiles/d-link.mk | 10 ++ target/linux/ar71xx/image/Makefile | 9 ++ .../610-MIPS-ath79-openwrt-machines.patch | 25 +++- 11 files changed, 196 insertions(+), 6 deletions(-) mode change 100644 => 100755 target/linux/ar71xx/base-files/etc/uci-defaults/02_network create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c