ath79: GL-AR750S: provide NAND support; increase kernel to 4 MB
[oweals/openwrt.git] / target / linux / ath79 / image / nand.mk
1 include ./common-netgear.mk     # for netgear-uImage
2
3 # attention: only zlib compression is allowed for the boot fs
4 define Build/zyxel-buildkerneljffs
5         rm -rf  $(KDIR_TMP)/zyxelnbg6716
6         mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
7         cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
8         $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
9                 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
10                 -o $@ \
11                 -d $(KDIR_TMP)/zyxelnbg6716/image
12         rm -rf $(KDIR_TMP)/zyxelnbg6716
13 endef
14
15 define Build/zyxel-factory
16         let \
17                 maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
18                 let size="$$(stat -c%s $@)"; \
19                 if [ $$size -lt $$maxsize ]; then \
20                         $(STAGING_DIR_HOST)/bin/mkrasimage \
21                                 -b $(RAS_BOARD) \
22                                 -v $(RAS_VERSION) \
23                                 -r $@ \
24                                 -s $$maxsize \
25                                 -o $@.new \
26                                 -l 131072 \
27                         && mv $@.new $@ ; \
28                 fi
29 endef
30
31 define Device/aerohive_hiveap-121
32   ATH_SOC := ar9344
33   DEVICE_VENDOR := Aerohive
34   DEVICE_MODEL := HiveAP 121
35   DEVICE_PACKAGES := kmod-usb2
36   BLOCKSIZE := 128k
37   PAGESIZE := 2048
38   IMAGE_SIZE := 116m
39   KERNEL_SIZE := 5120k
40   UBINIZE_OPTS := -E 5
41   SUPPORTED_DEVICES += hiveap-121
42   IMAGES += factory.bin
43   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
44   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
45 endef
46 TARGET_DEVICES += aerohive_hiveap-121
47
48 define Device/glinet_gl-ar300m-common-nand
49   ATH_SOC := qca9531
50   DEVICE_VENDOR := GL.iNet
51   DEVICE_MODEL := GL-AR300M
52   DEVICE_PACKAGES := kmod-usb2
53   KERNEL_SIZE := 4096k
54   IMAGE_SIZE := 16000k
55   PAGESIZE := 2048
56   VID_HDR_OFFSET := 2048
57 endef
58
59 define Device/glinet_gl-ar300m-nand
60   $(Device/glinet_gl-ar300m-common-nand)
61   DEVICE_VARIANT := NAND
62   BLOCKSIZE := 128k
63   IMAGES += factory.img
64   IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
65   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
66   SUPPORTED_DEVICES += glinet,gl-ar300m-nor
67 endef
68 TARGET_DEVICES += glinet_gl-ar300m-nand
69
70 define Device/glinet_gl-ar300m-nor
71   $(Device/glinet_gl-ar300m-common-nand)
72   DEVICE_VARIANT := NOR
73   BLOCKSIZE := 64k
74   SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
75 endef
76 TARGET_DEVICES += glinet_gl-ar300m-nor
77
78 define Device/glinet_gl-ar750s-common
79   ATH_SOC := qca9563
80   DEVICE_VENDOR := GL.iNet
81   DEVICE_MODEL := GL-AR750S
82   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct \
83                         kmod-usb2 kmod-usb-storage block-mount
84   KERNEL_SIZE := 4096k
85   IMAGE_SIZE := 16000k
86   PAGESIZE := 2048
87   VID_HDR_OFFSET := 2048
88 endef
89
90 define Device/glinet_gl-ar750s-nor-nand
91   $(Device/glinet_gl-ar750s-common)
92   DEVICE_VARIANT := NOR/NAND
93   BLOCKSIZE := 128k
94   IMAGES += factory.img
95   IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
96   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
97   SUPPORTED_DEVICES += glinet,gl-ar750s-nor
98 endef
99 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
100
101 define Device/glinet_gl-ar750s-nor
102   $(Device/glinet_gl-ar750s-common)
103   DEVICE_VARIANT := NOR
104   BLOCKSIZE := 64k
105   SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
106 endef
107 TARGET_DEVICES += glinet_gl-ar750s-nor
108
109 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
110 define Device/netgear_ath79_nand
111   DEVICE_VENDOR := NETGEAR
112   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
113   KERNEL_SIZE := 2048k
114   BLOCKSIZE := 128k
115   PAGESIZE := 2048
116   IMAGE_SIZE := 25600k
117   KERNEL := kernel-bin | append-dtb | lzma -d20 | \
118         pad-offset $$(KERNEL_SIZE) 129 | \
119         netgear-uImage lzma | append-string -e '\xff' | \
120         append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
121   KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
122   IMAGES := sysupgrade.bin factory.img
123   IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | check-size $$$$(IMAGE_SIZE)
124   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | check-size $$$$(IMAGE_SIZE)
125   UBINIZE_OPTS := -E 5
126 endef
127
128 define Device/netgear_wndr4300
129   ATH_SOC := ar9344
130   DEVICE_MODEL := WNDR4300
131   NETGEAR_KERNEL_MAGIC := 0x33373033
132   NETGEAR_BOARD_ID := WNDR4300
133   NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
134   SUPPORTED_DEVICES += wndr4300
135   $(Device/netgear_ath79_nand)
136 endef
137 TARGET_DEVICES += netgear_wndr4300
138
139 define Device/zyxel_nbg6716
140   ATH_SOC := qca9558
141   DEVICE_VENDOR := ZyXEL
142   DEVICE_MODEL := NBG6716
143   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
144   RAS_BOARD := NBG6716
145   RAS_ROOTFS_SIZE := 29696k
146   RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
147   KERNEL_SIZE := 4096k
148   BLOCKSIZE := 128k
149   PAGESIZE := 2048
150   KERNEL := kernel-bin | append-dtb | uImage none | \
151         zyxel-buildkerneljffs | check-size 4096k
152   IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
153   IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
154   IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
155   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | zyxel-factory
156   UBINIZE_OPTS := -E 5
157 endef
158 TARGET_DEVICES += zyxel_nbg6716
159 DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION