ramips: add support for Edimax EW-7476RPC / EW-7478AC
[openwrt/staging/blogic.git] / target / linux / ramips / image / mt7620.mk
index c526f9681e0f22486ac46877a0566b64740e6456..721cd7f43d8dc028570a49fee67d5392b725909d 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION \
-       DLINK_ROM_ID DLINK_FAMILY_MEMBER DLINK_FIRMWARE_SIZE
+       DLINK_ROM_ID DLINK_FAMILY_MEMBER DLINK_FIRMWARE_SIZE DLINK_IMAGE_OFFSET
 
 define Build/elecom-header
        cp $@ $(KDIR)/v_0.0.0.bin
@@ -16,6 +16,25 @@ define Build/elecom-header
                -f $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
 endef
 
+define Build/elx-header
+  $(eval hw_id=$(word 1,$(1)))
+  $(eval xor_pattern=$(word 2,$(1)))
+  ( \
+    echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \
+      dd bs=42 count=1 conv=sync; \
+    hw_id="$(hw_id)"; \
+    echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" | \
+      dd bs=20 count=1 conv=sync; \
+    echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+      dd bs=8 count=1 conv=sync; \
+    echo -ne "$$($(STAGING_DIR_HOST)/bin/mkhash md5 $@ | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+      dd bs=58 count=1 conv=sync; \
+  ) > $(KDIR)/tmp/$(DEVICE_NAME).header
+  $(call Build/xor-image,-p $(xor_pattern) -x)
+  cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > $@.new
+  mv $@.new $@
+endef
+
 define Device/ai-br100
   DTS := AI-BR100
   IMAGE_SIZE := 7936k
@@ -32,6 +51,24 @@ define Device/alfa-network_ac1200rm
 endef
 TARGET_DEVICES += alfa-network_ac1200rm
 
+define Device/alfa-network_tube-e4g
+  DTS := TUBE-E4G
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := ALFA Network Tube-E4G
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci uboot-envtools uqmi \
+       -iwinfo -kmod-rt2800-soc -wpad-basic
+endef
+TARGET_DEVICES += alfa-network_tube-e4g
+
+define Device/amit_jboot
+  DLINK_IMAGE_OFFSET := 0x10000
+  KERNEL := $(KERNEL_DTB)
+  IMAGES += factory.bin
+  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
+  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
+  DEVICE_PACKAGES := jboot-tools kmod-usb2 kmod-usb-ohci
+endef
+
 define Device/Archer
   TPLINK_HWREVADD := 0
   TPLINK_HVERSION := 3
@@ -51,7 +88,7 @@ define Device/ArcherC20i
   IMAGES += factory.bin
   DEVICE_PACKAGES := kmod-mt76x0e
   DEVICE_TITLE := TP-Link ArcherC20i
-  DEVICE_PACKAGES := kmod-mt76x0e
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ArcherC20i
 
@@ -66,7 +103,7 @@ define Device/ArcherC50v1
   IMAGE/factory-us.bin := tplink-v2-image -e -w 0
   IMAGE/factory-eu.bin := tplink-v2-image -e -w 2
   DEVICE_TITLE := TP-Link ArcherC50v1
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ArcherC50v1
 
@@ -135,20 +172,11 @@ endef
 TARGET_DEVICES += db-wrt01
 
 define Device/dch-m225
+  $(Device/seama)
   DTS := DCH-M225
   BLOCKSIZE := 4k
-  IMAGES += factory.bin
+  SEAMA_SIGNATURE := wapn22_dlink.2013gui_dap1320b
   IMAGE_SIZE := 6848k
-  IMAGE/sysupgrade.bin := \
-       append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
-       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
-       pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
-  IMAGE/factory.bin := \
-       append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
-       append-rootfs | pad-rootfs -x 64 | \
-       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
-       seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
-       check-size $$$$(IMAGE_SIZE)
   DEVICE_TITLE := D-Link DCH-M225
   DEVICE_PACKAGES := kmod-sound-core kmod-sound-mt7620 kmod-i2c-ralink
 endef
@@ -162,47 +190,59 @@ define Device/dir-810l
 endef
 TARGET_DEVICES += dir-810l
 
+define Device/dlink_dir-510l
+  $(Device/amit_jboot)
+  DTS := DIR-510L
+  DEVICE_TITLE := D-Link DIR-510L
+  DEVICE_PACKAGES += kmod-mt76x0e
+  DLINK_ROM_ID := DLK6E3805001
+  DLINK_FAMILY_MEMBER := 0x6E38
+  DLINK_FIRMWARE_SIZE := 0xDE0000
+  DLINK_IMAGE_OFFSET := 0x210000
+endef
+TARGET_DEVICES += dlink_dir-510l
+
 define Device/dlink_dwr-116-a1
+  $(Device/amit_jboot)
   DTS := DWR-116-A1
   DEVICE_TITLE := D-Link DWR-116 A1/A2
-  DEVICE_PACKAGES := kmod-usb2 jboot-tools
   DLINK_ROM_ID := DLK6E3803001
   DLINK_FAMILY_MEMBER := 0x6E38
   DLINK_FIRMWARE_SIZE := 0x7E0000
-  KERNEL := $(KERNEL_DTB)
-  IMAGES += factory.bin
-  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
-  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
 endef
 TARGET_DEVICES += dlink_dwr-116-a1
 
+define Device/dlink_dwr-118-a1
+  $(Device/amit_jboot)
+  DTS := DWR-118-A1
+  DEVICE_TITLE := D-Link DWR-118 A1
+  DEVICE_PACKAGES += kmod-mt76x0e
+  DLINK_ROM_ID := DLK6E3811001
+  DLINK_FAMILY_MEMBER := 0x6E38
+  DLINK_FIRMWARE_SIZE := 0xFE0000
+endef
+TARGET_DEVICES += dlink_dwr-118-a1
+
 define Device/dlink_dwr-118-a2
+  $(Device/amit_jboot)
   DTS := DWR-118-A2
   DEVICE_TITLE := D-Link DWR-118 A2
-  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 jboot-tools
+  DEVICE_PACKAGES += kmod-mt76x2
   DLINK_ROM_ID := DLK6E3814001
   DLINK_FAMILY_MEMBER := 0x6E38
   DLINK_FIRMWARE_SIZE := 0xFE0000
-  KERNEL := $(KERNEL_DTB)
-  IMAGES += factory.bin
-  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
-  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
 endef
 TARGET_DEVICES += dlink_dwr-118-a2
 
 define Device/dlink_dwr-921-c1
+  $(Device/amit_jboot)
   DTS := DWR-921-C1
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := D-Link DWR-921 C1
   DLINK_ROM_ID := DLK6E2414001
   DLINK_FAMILY_MEMBER := 0x6E24
   DLINK_FIRMWARE_SIZE := 0xFE0000
-  KERNEL := $(KERNEL_DTB)
-  IMAGES += factory.bin
-  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
-  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
-  DEVICE_PACKAGES := jboot-tools \
-       kmod-usb2 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
+  DEVICE_PACKAGES += kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
 endef
 TARGET_DEVICES += dlink_dwr-921-c1
 
@@ -214,6 +254,18 @@ define Device/dlink_dwr-921-c3
 endef
 TARGET_DEVICES += dlink_dwr-921-c3
 
+define Device/dlink_dwr-922-e2
+  $(Device/amit_jboot)
+  DTS := DWR-922-E2
+  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+  DEVICE_TITLE := D-Link DWR-922 E2
+  DLINK_ROM_ID := DLK6E2414005
+  DLINK_FAMILY_MEMBER := 0x6E24
+  DLINK_FIRMWARE_SIZE := 0xFE0000
+  DEVICE_PACKAGES += kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
+endef
+TARGET_DEVICES += dlink_dwr-922-e2
+
 define Device/e1700
   DTS := E1700
   IMAGES += factory.bin
@@ -244,7 +296,7 @@ define Device/ex3700-ex3800
   IMAGE_SIZE := 7744k
   IMAGES += factory.chk
   IMAGE/factory.chk := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | netgear-chk
-  DEVICE_PACKAGES := mod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2
   DEVICE_TITLE := Netgear EX3700/EX3800
   SUPPORTED_DEVICES := ex3700
 endef
@@ -262,6 +314,7 @@ define Device/u25awf-h1
   DTS := U25AWF-H1
   IMAGE_SIZE := 16064k
   DEVICE_TITLE := Kimax U25AWF-H1
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += u25awf-h1
 
@@ -283,15 +336,15 @@ TARGET_DEVICES += gl-mt750
 
 define Device/hc5661
   DTS := HC5661
-  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+  IMAGE_SIZE := 15872k
   DEVICE_TITLE := HiWiFi HC5661
-  DEVICE_PACKAGES := kmod-usb2 kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-sdhci-mt7620
 endef
 TARGET_DEVICES += hc5661
 
 define Device/hc5761
   DTS := HC5761
-  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+  IMAGE_SIZE := 15872k
   DEVICE_TITLE := HiWiFi HC5761
   DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
 endef
@@ -299,16 +352,50 @@ TARGET_DEVICES += hc5761
 
 define Device/hc5861
   DTS := HC5861
-  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+  IMAGE_SIZE := 15872k
   DEVICE_TITLE := HiWiFi HC5861
-  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += hc5861
 
+define Device/head-weblink_hdrm200
+  DTS := HDRM200
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := Head Weblink HDRM2000
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 \
+                    uqmi kmod-usb-serial kmod-usb-serial-option
+endef
+TARGET_DEVICES += head-weblink_hdrm200
+
+define Device/iodata_wn-ac1167gr
+  DTS := WN-AC1167GR
+  DEVICE_TITLE := I-O DATA WN-AC1167GR
+  IMAGE_SIZE := 6864k
+  IMAGES += factory.bin
+  IMAGE/factory.bin := \
+    $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
+    elx-header 01040016 8844A2D168B45A2D
+  DEVICE_PACKAGES := kmod-mt76x2
+endef
+TARGET_DEVICES += iodata_wn-ac1167gr
+
+define Device/iodata_wn-ac733gr3
+  DTS := WN-AC733GR3
+  DEVICE_TITLE := I-O DATA WN-AC733GR3
+  IMAGE_SIZE := 6992k
+  IMAGES += factory.bin
+  IMAGE/factory.bin := \
+    $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
+    elx-header 01040006 8844A2D168B45A2D
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-switch-rtl8367b
+endef
+TARGET_DEVICES += iodata_wn-ac733gr3
+
 define Device/kimax_u35wf
   DTS := U35WF
   IMAGE_SIZE := 16064k
   DEVICE_TITLE := Kimax U35WF
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += kimax_u35wf
 
@@ -350,20 +437,18 @@ define Device/microwrt
   DTS := MicroWRT
   IMAGE_SIZE := 16128k
   DEVICE_TITLE := Microduino MicroWRT
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += microwrt
 
 define Device/lava_lr-25g001
+  $(Device/amit_jboot)
   DTS := LR-25G001
   DEVICE_TITLE := LAVA LR-25G001
   DLINK_ROM_ID := LVA6E3804001
   DLINK_FAMILY_MEMBER := 0x6E38
   DLINK_FIRMWARE_SIZE := 0xFE0000
-  KERNEL := $(KERNEL_DTB)
-  IMAGES += factory.bin
-  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
-  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
-  DEVICE_PACKAGES := jboot-tools kmod-usb2 kmod-mt76x0e
+  DEVICE_PACKAGES += kmod-mt76x0e
 endef
 TARGET_DEVICES += lava_lr-25g001
 
@@ -379,6 +464,7 @@ define Device/mlw221
   DTS := MLW221
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Kingston MLW221
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += mlw221
 
@@ -386,6 +472,7 @@ define Device/mlwg2
   DTS := MLWG2
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Kingston MLWG2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += mlwg2
 
@@ -405,6 +492,7 @@ TARGET_DEVICES += mt7620a_mt7530
 define Device/mt7620a_mt7610e
   DTS := MT7620a_MT7610e
   DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
+  DEVICE_PACKAGES := kmod-mt76x0e
   SUPPORTED_DEVICES := mt7620a_mt7610e
 endef
 TARGET_DEVICES += mt7620a_mt7610e
@@ -440,6 +528,7 @@ define Device/na930
   DTS := NA930
   IMAGE_SIZE := 20m
   DEVICE_TITLE := Sercomm NA930
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += na930
 
@@ -447,6 +536,7 @@ define Device/oy-0001
   DTS := OY-0001
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Oh Yeah OY-0001
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += oy-0001
 
@@ -484,6 +574,7 @@ TARGET_DEVICES += phicomm_k2g
 define Device/rp-n53
   DTS := RP-N53
   DEVICE_TITLE := Asus RP-N53
+  DEVICE_PACKAGES := kmod-rt2800-pci
 endef
 TARGET_DEVICES += rp-n53
 
@@ -496,6 +587,7 @@ TARGET_DEVICES += rt-n12p
 define Device/rt-n14u
   DTS := RT-N14U
   DEVICE_TITLE := Asus RT-N14u
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += rt-n14u
 
@@ -503,7 +595,7 @@ define Device/rt-ac51u
   DTS := RT-AC51U
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Asus RT-AC51U
-  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb-core kmod-usb2 kmod-usb-ehci kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += rt-ac51u
 
@@ -526,6 +618,30 @@ define Device/edimax_br-6478ac-v2
 endef
 TARGET_DEVICES += edimax_br-6478ac-v2
 
+define Device/edimax_ew-7476rpc
+  DTS := EW-7476RPC
+  DEVICE_TITLE := Edimax EW-7476RPC
+  BLOCKSIZE := 4k
+  IMAGE_SIZE := 7744k
+  IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
+        edimax-header -s CSYS -m RN79 -f 0x70000 -S 0x01100000 | pad-rootfs | \
+        append-metadata | check-size $$$$(IMAGE_SIZE)
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-phy-realtek
+endef
+TARGET_DEVICES += edimax_ew-7476rpc
+
+define Device/edimax_ew-7478ac
+  DTS := EW-7478AC
+  DEVICE_TITLE := Edimax EW-7478AC
+  BLOCKSIZE := 4k
+  IMAGE_SIZE := 7744k
+  IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
+        edimax-header -s CSYS -m RN70 -f 0x70000 -S 0x01100000 | pad-rootfs | \
+        append-metadata | check-size $$$$(IMAGE_SIZE)
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-phy-realtek
+endef
+TARGET_DEVICES += edimax_ew-7478ac
+
 define Device/tplink_c2-v1
   $(Device/Archer)
   DTS := ArcherC2-v1
@@ -547,7 +663,7 @@ define Device/tplink_c20-v1
   TPLINK_HWREVADD := 0x1
   IMAGES += factory.bin
   DEVICE_TITLE := TP-Link ArcherC20 v1
-  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += tplink_c20-v1
 
@@ -563,7 +679,7 @@ define Device/ravpower_wd03
   DTS := WD03
   IMAGE_SIZE := $(ralink_default_fw_size_8M)
   DEVICE_TITLE := Ravpower WD03
-  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ehci
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ravpower_wd03
 
@@ -586,6 +702,7 @@ define Device/whr-600d
   DTS := WHR-600D
   IMAGE_SIZE := 6848k
   DEVICE_TITLE := Buffalo WHR-600D
+  DEVICE_PACKAGES := kmod-rt2800-pci
 endef
 TARGET_DEVICES += whr-600d
 
@@ -623,6 +740,7 @@ define Device/wrtnode
   DTS := WRTNODE
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := WRTNode
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += wrtnode
 
@@ -653,7 +771,7 @@ define Device/y1
   DTS := Y1
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Lenovo Y1
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += y1
 
@@ -661,7 +779,7 @@ define Device/y1s
   DTS := Y1S
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Lenovo Y1S
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += y1s
 
@@ -699,6 +817,7 @@ TARGET_DEVICES += zbt-cpe102
 define Device/zbt-wa05
   DTS := ZBT-WA05
   DEVICE_TITLE := Zbtlink ZBT-WA05
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zbt-wa05
 
@@ -725,14 +844,25 @@ define Device/zbt-we826-32M
 endef
 TARGET_DEVICES += zbt-we826-32M
 
+define Device/zbtlink_zbt-we826-e
+  DTS := ZBT-WE826-E
+  IMAGE_SIZE := 32448k
+  DEVICE_TITLE := Zbtlink ZBT-WE826-E
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 uqmi \
+                    kmod-usb-serial kmod-usb-serial-option
+endef
+TARGET_DEVICES += zbtlink_zbt-we826-e
+
 define Device/zbt-wr8305rt
   DTS := ZBT-WR8305RT
   DEVICE_TITLE := Zbtlink ZBT-WR8305RT
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zbt-wr8305rt
 
 define Device/zte-q7
   DTS := ZTE-Q7
   DEVICE_TITLE := ZTE Q7
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zte-q7