linux: add support of Synopsys ARCHS38-based boards
[openwrt/openwrt.git] / target / linux / archs38 / image / Makefile
diff --git a/target/linux/archs38/image/Makefile b/target/linux/archs38/image/Makefile
new file mode 100644 (file)
index 0000000..9b0e53f
--- /dev/null
@@ -0,0 +1,41 @@
+#
+# Copyright (C) 2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+define Build/patch-dtb
+       $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb)
+       $(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb
+endef
+
+# Shared device definition: applies to every defined device
+define Device/Default
+  PROFILES = Default $$(DEVICE_PROFILE)
+  KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts)
+  KERNEL_SUFFIX := .elf
+  KERNEL_INITRAMFS := kernel-bin | patch-dtb
+  KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs.elf
+  DEVICE_PROFILE :=
+  DEVICE_DTS :=
+endef
+DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS
+
+define add_archs38
+  define Device/$(1)
+    DEVICE_PROFILE := $(1)
+    DEVICE_DTS := $(1)
+  endef
+  TARGET_DEVICES += $(1)
+endef
+
+# DesignWare AXS103
+$(eval $(call add_archs38,axs103_idu))
+
+# nSIM with ARCHS38
+$(eval $(call add_archs38,nsim_hs_idu))
+
+$(eval $(call BuildImage))