Full functionality runtime tested, installation via the OEM firmware web-interface requires a follow-up patch.
Signed-off-by: Paul Fertser <fercer...@gmail.com> --- .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 1 + .../ramips/base-files/lib/preinit/06_set_iface_mac | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 +++ .../ramips/base-files/lib/upgrade/platform.sh | 1 + .../arch/mips/include/asm/mach-ralink/machine.h | 1 + .../arch/mips/ralink/rt305x/mach-dir-300-revb.c | 9 +++++++++ target/linux/ramips/image/Makefile | 12 ++++++++++++ 7 files changed, 28 insertions(+), 0 deletions(-) diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index d7542ca..7dafde9 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -52,6 +52,7 @@ case "$FIRMWARE" in all0256n | \ argus-atp52b | \ bc2 | \ + dir-620-a1 | \ esr-9753 | \ fonera20n | \ freestation5 | \ diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac index db6e5c8..a947d62 100644 --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -13,6 +13,7 @@ preinit_set_mac_address() { ifconfig eth0 hw ether $mac 2>/dev/null ;; bc2 |\ + dir-620-a1 |\ esr-9753 |\ freestation5 |\ nw718 |\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 277d9da..d8b7e73 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -77,6 +77,9 @@ ramips_board_name() { *"DIR-600 B2") name="dir-600-b2" ;; + *"DIR-620 A1") + name="dir-620-a1" + ;; *"ESR-9753") name="esr-9753" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index dba5e79..debbf5a 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -20,6 +20,7 @@ platform_check_image() { dir-300-b1 | \ dir-600-b1 | \ dir-600-b2 | \ + dir-620-a1 | \ esr-9753 | \ fonera20n | \ freestation5 | \ diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h index 6ff24f2..17c4dc24 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h @@ -27,6 +27,7 @@ enum ramips_mach_type { RAMIPS_MACH_DIR_600_B1, /* D-Link DIR-600 B1 */ RAMIPS_MACH_DIR_600_B2, /* D-Link DIR-600 B2 */ RAMIPS_MACH_DIR_615_D, /* D-Link DIR-615 D */ + RAMIPS_MACH_DIR_620_A1, /* D-Link DIR-620 A1 */ RAMIPS_MACH_RT_G32_B1, /* Asus RT-G32 B1 */ RAMIPS_MACH_RT_N10_PLUS, /* Asus RT-N10+ */ RAMIPS_MACH_NW718, /* Netcore NW718 */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c index e4c5c73..1308d47 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c @@ -94,6 +94,12 @@ static void __init dir_300b_init(void) rt305x_register_wdt(); } +static void __init dir_620a1_init(void) +{ + dir_300b_init(); + rt305x_register_usb(); +} + MIPS_MACHINE(RAMIPS_MACH_DIR_300_B1, "DIR-300-B1", "D-Link DIR-300 B1", dir_300b_init); @@ -105,3 +111,6 @@ MIPS_MACHINE(RAMIPS_MACH_DIR_600_B2, "DIR-600-B2", "D-Link DIR-600 B2", MIPS_MACHINE(RAMIPS_MACH_DIR_615_D, "DIR-615-D", "D-Link DIR-615 D", dir_300b_init); + +MIPS_MACHINE(RAMIPS_MACH_DIR_620_A1, "DIR-620-A1", "D-Link DIR-620 A1", + dir_620a1_init); diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index ce81728..b92bd59 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -173,6 +173,17 @@ define BuildFirmware/DIR300B1/initramfs $(call BuildFirmware/Generic/initramfs,$(1),$(2),$(call mkcmdline,$(3),ttyS1,57600) $(call mkmtd/phys,$(mtdlayout_dir300b1)),$(mtd_dir300b1_kernel_part_size),$(mtd_dir300b1_rootfs_part_size)) endef +mtdlayout_dir620a1=192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),6976k(rootfs),7872k@0x50000(firmware) +kernel_size_dir620a1=917504 +rootfs_size_dir620a1=7143424 +define BuildFirmware/DIR620A1 + $(call BuildFirmware/Generic,$(1),$(2),$(call mkcmdline,$(3),ttyS1,57600) $(call mkmtd/phys,$(mtdlayout_dir620a1)),$(kernel_size_dir620a1),$(rootfs_size_dir620a1)) +endef + +define BuildFirmware/DIR620A1/initramfs + $(call BuildFirmware/Generic/initramfs,$(1),$(2),$(call mkcmdline,$(3),ttyS1,57600) $(call mkmtd/phys,$(mtdlayout_dir620a1)),$(kernel_size_dir620a1),$(rootfs_size_dir620a1)) +endef + define BuildFirmware/Edimax if [ -e "$(call sysupname,$(1),$(2))" ]; then \ mkedimaximg -i $(call sysupname,$(1),$(2)) \ @@ -338,6 +349,7 @@ define Image/Build/Profile/DIR300B1 $(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-600-b1,DIR-600-B1,wrgn23_dlwbr_dir600b) $(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-600-b2,DIR-600-B2,wrgn23_dlwbr_dir600b) $(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-615-d,DIR-615-D,wrgn23_dlwbr_dir615d) + $(call Image/Build/Template/$(fs_squash)/$(1),DIR620A1,dir-620-a1,DIR-620-A1) endef define Image/Build/Profile/ESR9753 -- 1.7.5.4 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel