Makefile 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. #
  2. # Copyright (C) 2016 Jiang Yutang <[email protected]>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/image.mk
  9. ITB_BOARDS = traverse-five64
  10. define Build/append-ls-rcw
  11. rm -f $@
  12. dd if=$(STAGING_DIR_IMAGE)/$(1)-rcw.bin >> $@
  13. endef
  14. define Build/append-ls-uboot
  15. dd if=$(STAGING_DIR_IMAGE)/$(1)-uboot.bin >> $@
  16. endef
  17. define Build/append-ls-ppa
  18. dd if=$(STAGING_DIR_IMAGE)/$(1)-ppa.itb >> $@
  19. endef
  20. define Build/append-ls-fman
  21. dd if=$(STAGING_DIR_IMAGE)/$(1)-fman.bin >> $@
  22. endef
  23. define Build/append-ls-mc
  24. dd if=$(STAGING_DIR_IMAGE)/$(1)-mc.itb >> $@
  25. endef
  26. define Build/append-ls-ppfe
  27. dd if=$(STAGING_DIR_IMAGE)/pfe.itb >> $@
  28. endef
  29. define Build/append-ls-dpl
  30. dd if=$(STAGING_DIR_IMAGE)/$(1)-dpl.dtb >> $@
  31. endef
  32. define Build/append-ls-dpc
  33. dd if=$(STAGING_DIR_IMAGE)/$(1)-dpc.dtb >> $@
  34. endef
  35. define Build/append-ls-dtb
  36. $(call Image/BuildDTB,$(DTS_DIR)/$(1).dts,$(DTS_DIR)/$(1).dtb)
  37. dd if=$(DTS_DIR)/$(1).dtb >> $@
  38. endef
  39. define Build/traverse-fit
  40. ./mkits-multiple-config.sh -o [email protected] -A $(LINUX_KARCH) -v $(LINUX_VERSION) \
  41. -k $@ -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
  42. -C gzip -c 1 -c 2 \
  43. -d $(DEVICE_DTS_DIR)/freescale/traverse-ls1043s.dtb -D "Traverse_LS1043S" -n "ls1043s" -a $(FDT_LOADADDR) -c 1 \
  44. -d $(DEVICE_DTS_DIR)/freescale/traverse-ls1043v.dtb -D "Traverse_LS1043V" -n "ls1043v" -a $(FDT_LOADADDR) -c 2
  45. PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f [email protected] [email protected]
  46. @mv -f [email protected] $@
  47. endef
  48. define Device/Default
  49. PROFILES = Default
  50. FILESYSTEMS := squashfs
  51. DEVICE_DTS :=
  52. IMAGES = firmware.bin
  53. ifeq ($(SUBTARGET),armv8_64b)
  54. KERNEL := kernel-bin | gzip | uImage gzip
  55. KERNEL_LOADADDR = 0x80080000
  56. KERNEL_ENTRY_POINT = 0x80080000
  57. endif
  58. ifeq ($(SUBTARGET),armv8_32b)
  59. KERNEL := kernel-bin | uImage none
  60. KERNEL_NAME := zImage
  61. KERNEL_LOADADDR = 0x80008000
  62. KERNEL_ENTRY_POINT = 0x80008000
  63. endif
  64. FDT_LOADADDR = 0x90000000
  65. endef
  66. define Device/ls1043ardb
  67. DEVICE_TITLE := ls1043ardb-$(SUBTARGET)
  68. DEVICE_PACKAGES += layerscape-rcw-ls1043ardb layerscape-fman-ls1043ardb \
  69. layerscape-ppa-ls1043ardb
  70. ifeq ($(SUBTARGET),armv8_32b)
  71. DEVICE_PACKAGES += u-boot-ls1043ardb-image
  72. endif
  73. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk
  74. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  75. append-ls-uboot $(1) | pad-to 4M | \
  76. append-ls-ppa $(1) | pad-to 9M | \
  77. append-ls-fman $(1) | pad-to 15M | \
  78. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  79. append-kernel | pad-to 32M | \
  80. append-rootfs | pad-rootfs | check-size 67108865
  81. endef
  82. TARGET_DEVICES += ls1043ardb
  83. define Device/ls1046ardb
  84. DEVICE_TITLE := ls1046ardb-$(SUBTARGET)
  85. DEVICE_PACKAGES += layerscape-rcw-ls1046ardb layerscape-fman-ls1046ardb \
  86. layerscape-ppa-ls1046ardb
  87. ifeq ($(SUBTARGET),armv8_32b)
  88. DEVICE_PACKAGES += u-boot-ls1046ardb-image
  89. endif
  90. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk
  91. FILESYSTEMS := ubifs
  92. UBIFS_OPTS := -m 1 -e 262016 -c 128
  93. UBINIZE_OPTS := -E 5
  94. BLOCKSIZE := 256KiB
  95. PAGESIZE := 1
  96. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  97. append-ls-uboot $(1) | pad-to 4M | \
  98. append-ls-ppa $(1) | pad-to 9M | \
  99. append-ls-fman $(1) | pad-to 15M | \
  100. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  101. append-kernel | pad-to 32M | \
  102. append-ubi | check-size 67108865
  103. endef
  104. TARGET_DEVICES += ls1046ardb
  105. define Device/ls1012ardb
  106. DEVICE_TITLE := ls1012ardb-$(SUBTARGET)
  107. DEVICE_PACKAGES += layerscape-rcw-ls1012ardb layerscape-ppfe \
  108. layerscape-ppa-ls1012ardb kmod-ppfe
  109. ifeq ($(SUBTARGET),armv8_32b)
  110. DEVICE_PACKAGES += u-boot-ls1012ardb-image
  111. endif
  112. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-rdb
  113. FILESYSTEMS := ubifs
  114. UBIFS_OPTS := -m 1 -e 262016 -c 128
  115. UBINIZE_OPTS := -E 5
  116. BLOCKSIZE := 256KiB
  117. PAGESIZE := 1
  118. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  119. append-ls-uboot $(1) | pad-to 4M | \
  120. append-ls-ppa $(1) | pad-to 10M | \
  121. append-ls-ppfe | pad-to 15M | \
  122. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  123. append-kernel | pad-to 32M | \
  124. append-ubi | check-size 67108865
  125. endef
  126. TARGET_DEVICES += ls1012ardb
  127. define Device/ls1012afrdm
  128. DEVICE_TITLE := ls1012afrdm-$(SUBTARGET)
  129. DEVICE_PACKAGES += layerscape-rcw-ls1012afrdm layerscape-ppfe \
  130. layerscape-ppa-ls1012afrdm kmod-ppfe
  131. ifeq ($(SUBTARGET),armv8_32b)
  132. DEVICE_PACKAGES += u-boot-ls1012afrdm-image
  133. endif
  134. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-frdm
  135. FILESYSTEMS := ubifs
  136. UBIFS_OPTS := -m 1 -e 262016 -c 128
  137. UBINIZE_OPTS := -E 5
  138. BLOCKSIZE := 256KiB
  139. PAGESIZE := 1
  140. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  141. append-ls-uboot $(1) | pad-to 4M | \
  142. append-ls-ppa $(1) | pad-to 10M | \
  143. append-ls-ppfe | pad-to 15M | \
  144. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  145. append-kernel | pad-to 32M | \
  146. append-ubi | check-size 67108865
  147. endef
  148. TARGET_DEVICES += ls1012afrdm
  149. ifeq ($(SUBTARGET),armv8_64b)
  150. define Device/ls1088ardb
  151. DEVICE_TITLE := ls1088ardb-$(SUBTARGET)
  152. DEVICE_PACKAGES += layerscape-rcw-ls1088ardb uboot-layerscape-$(SUBTARGET)-ls1088ardb \
  153. layerscape-mc-ls1088ardb layerscape-dpl-ls1088ardb restool \
  154. layerscape-ppa-ls1088ardb
  155. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1088a-rdb
  156. FILESYSTEMS := ubifs
  157. UBIFS_OPTS := -m 1 -e 262016 -c 128
  158. UBINIZE_OPTS := -E 5
  159. BLOCKSIZE := 256KiB
  160. PAGESIZE := 1
  161. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  162. append-ls-uboot $(1) | pad-to 4M | \
  163. append-ls-ppa $(1) | pad-to 10M | \
  164. append-ls-mc $(1) | pad-to 13M | \
  165. append-ls-dpl $(1) | pad-to 14M | \
  166. append-ls-dpc $(1) | pad-to 15M | \
  167. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  168. append-kernel | pad-to 32M | \
  169. append-ubi | check-size 67108865
  170. endef
  171. TARGET_DEVICES += ls1088ardb
  172. define Device/ls2088ardb
  173. DEVICE_TITLE := ls2088ardb-$(SUBTARGET)
  174. DEVICE_PACKAGES += layerscape-rcw-ls2088ardb uboot-layerscape-$(SUBTARGET)-ls2088ardb \
  175. layerscape-mc-ls2088ardb layerscape-dpl-ls2088ardb restool \
  176. layerscape-ppa-ls2088ardb
  177. DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls2088a-rdb
  178. IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
  179. append-ls-uboot $(1) | pad-to 4M | \
  180. append-ls-ppa $(1) | pad-to 10M | \
  181. append-ls-mc $(1) | pad-to 13M | \
  182. append-ls-dpl $(1) | pad-to 14M | \
  183. append-ls-dpc $(1) | pad-to 15M | \
  184. append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
  185. append-kernel | pad-to 32M | \
  186. append-rootfs | pad-rootfs | check-size 67108865
  187. endef
  188. TARGET_DEVICES += ls2088ardb
  189. endif
  190. define Device/traverse-five64
  191. KERNEL_NAME := Image
  192. KERNEL_SUFFIX := -kernel.itb
  193. KERNEL_INSTALL := 1
  194. FILESYSTEMS := ubifs
  195. DEVICE_TITLE := Traverse LS1043 Boards (Five64, LS1043S)
  196. DEVICE_PACKAGES += layerscape-fman-ls1043ardb kmod-i2c-core kmod-rtc-isl1208 uboot-envtools \
  197. uboot-traverse-ls1043v uboot-traverse-ls1043v-sdcard \
  198. kmod-hwmon-core kmod-hwmon-ltc2990 kmod-gpio-pca953x kmod-input-gpio-keys-polled \
  199. kmod-i2c-mux-pca954x kmod-hwmon-pac1934 kmod-hwmon-emc17xx
  200. DEVICE_DESCRIPTION = Build images for Traverse LS1043 boards. This generates a single image \
  201. capable of booting on any of the boards in this family.
  202. DEVICE_DTS = freescale/traverse-ls1043s
  203. DEVICE_DTS_DIR = $(LINUX_DIR)/arch/arm64/boot/dts
  204. DEVICE_DTS_CONFIG = ls1043s
  205. KERNEL := kernel-bin | gzip | traverse-fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR)
  206. KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR)
  207. IMAGES = root sysupgrade.tar
  208. IMAGE/root = append-rootfs
  209. IMAGE/sysupgrade.tar = sysupgrade-tar
  210. UBIFS_OPTS := -m 2048 -e 124KiB -c 4096
  211. endef
  212. TARGET_DEVICES += traverse-five64
  213. $(eval $(call BuildImage))