From eda08dd423ebd3160c7d5e928873fc98c4a028de Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Fri, 6 Feb 2015 11:16:20 +0000
Subject: [PATCH] mvebu: support building images for a single board

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 44290
---
 target/linux/mvebu/image/Makefile             |  6 +-
 target/linux/mvebu/profiles/000-Default.mk    | 25 +++++
 target/linux/mvebu/profiles/200-Evalboards.mk | 21 ----
 target/linux/mvebu/profiles/globalscale.mk    | 21 ++++
 .../profiles/{100-Generic.mk => linksys.mk}   | 10 +-
 target/linux/mvebu/profiles/marvell.mk        | 95 +++++++++++++++++++
 target/linux/mvebu/profiles/plathome.mk       | 21 ++++
 7 files changed, 170 insertions(+), 29 deletions(-)
 create mode 100644 target/linux/mvebu/profiles/000-Default.mk
 delete mode 100644 target/linux/mvebu/profiles/200-Evalboards.mk
 create mode 100644 target/linux/mvebu/profiles/globalscale.mk
 rename target/linux/mvebu/profiles/{100-Generic.mk => linksys.mk} (71%)
 create mode 100644 target/linux/mvebu/profiles/marvell.mk
 create mode 100644 target/linux/mvebu/profiles/plathome.mk

diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile
index 3cf3500858..5d677f95a9 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2012-2014 OpenWrt.org
+# Copyright (C) 2012-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -151,8 +151,8 @@ define Image/Build/Profile/Mamba/squashfs
 	) > $(BIN_DIR)/$(IMG_PREFIX)-armada-xp-mamba-squashfs-factory.img
 endef
 
-$(eval $(call MultiProfile,Generic,$(PROFILES_LIST)))
-$(eval $(call MultiProfile,Evalboards,$(PROFILES_LIST)))
+# The Default profile should build everything
+$(eval $(call MultiProfile,Default,$(PROFILES_LIST)))
 
 define Image/BuildKernel
 	$(call Image/BuildKernel/Profile/$(PROFILE))
diff --git a/target/linux/mvebu/profiles/000-Default.mk b/target/linux/mvebu/profiles/000-Default.mk
new file mode 100644
index 0000000000..981855fa3c
--- /dev/null
+++ b/target/linux/mvebu/profiles/000-Default.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Default
+	NAME:=Default Profile (all drivers)
+	PACKAGES:= \
+		kmod-mmc kmod-mvsdio swconfig \
+		kmod-usb2 kmod-usb3 kmod-usb-storage \
+		kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+		kmod-ata-core kmod-ata-marvell-sata \
+		kmod-rtc-marvell kmod-thermal-armada \
+		kmod-gpio-button-hotplug kmod-hwmon-tmp421 \
+		kmod-hwmon-pwmfan kmod-leds-tlc59116 \
+		kmod-ledtrig-usbdev kmod-mwlwifi wpad-mini
+endef
+
+define Profile/Default/Description
+	Default package set compatible with most boards.
+endef
+
+$(eval $(call Profile,Default))
diff --git a/target/linux/mvebu/profiles/200-Evalboards.mk b/target/linux/mvebu/profiles/200-Evalboards.mk
deleted file mode 100644
index 52d0b9803d..0000000000
--- a/target/linux/mvebu/profiles/200-Evalboards.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Copyright (C) 2013-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Evalboards
-  NAME:=Evaluation / Development boards
-  PACKAGES:= \
-	kmod-mmc kmod-mvsdio kmod-usb2 kmod-usb-storage \
-	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
-	kmod-ata-core kmod-ata-marvell-sata \
-	kmod-rtc-marvell kmod-thermal-armada
-endef
-
-define Profile/Evalboards/Description
- Package set compatible with most Marvell Armada 370/XP development based boards.
-endef
-
-$(eval $(call Profile,Evalboards))
diff --git a/target/linux/mvebu/profiles/globalscale.mk b/target/linux/mvebu/profiles/globalscale.mk
new file mode 100644
index 0000000000..45070db9f2
--- /dev/null
+++ b/target/linux/mvebu/profiles/globalscale.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Mirabox
+  NAME:=Globalscale Mirabox
+  PACKAGES:= \
+	kmod-usb3 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-rtc-marvell kmod-thermal-armada \
+	kmod-gpio-button-hotplug kmod-mmc kmod-mvsdio
+endef
+
+define Profile/Mirabox/Description
+ Package set compatible with the Globalscale Mirabox.
+endef
+
+$(eval $(call Profile,Mirabox))
diff --git a/target/linux/mvebu/profiles/100-Generic.mk b/target/linux/mvebu/profiles/linksys.mk
similarity index 71%
rename from target/linux/mvebu/profiles/100-Generic.mk
rename to target/linux/mvebu/profiles/linksys.mk
index 99d2d305d1..27437e9660 100644
--- a/target/linux/mvebu/profiles/100-Generic.mk
+++ b/target/linux/mvebu/profiles/linksys.mk
@@ -5,8 +5,8 @@
 # See /LICENSE for more information.
 #
 
-define Profile/Generic
-  NAME:=Generic (default)
+define Profile/Mamba
+  NAME:=Linksys WRT1900AC (Mamba)
   PACKAGES:= \
 	kmod-usb2 kmod-usb3 kmod-usb-storage \
 	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
@@ -18,8 +18,8 @@ define Profile/Generic
 	swconfig
 endef
 
-define Profile/Generic/Description
- Package set compatible with most supported Marvell Armada 370/XP based boards.
+define Profile/Mamba/Description
+ Package set compatible with the Linksys WRT1900AC (Mamba).
 endef
 
-$(eval $(call Profile,Generic))
+$(eval $(call Profile,Mamba))
diff --git a/target/linux/mvebu/profiles/marvell.mk b/target/linux/mvebu/profiles/marvell.mk
new file mode 100644
index 0000000000..875c55e158
--- /dev/null
+++ b/target/linux/mvebu/profiles/marvell.mk
@@ -0,0 +1,95 @@
+#
+# Copyright (C) 2013-2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/370-DB
+  NAME:=Marvell Armada 370 DB (DB-88F6710-BP-DDR3)
+  PACKAGES:= \
+	kmod-mmc kmod-mvsdio kmod-usb2 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-rtc-marvell kmod-thermal-armada
+endef
+
+define Profile/370-DB/Description
+ Package set compatible with the Armada 370 evaluation board (DB-88F6710-BP-DDR3).
+endef
+
+$(eval $(call Profile,370-DB))
+
+define Profile/370-RD
+  NAME:=Marvell Armada 370 RD (RD-88F6710-A1)
+  PACKAGES:= \
+	kmod-mmc kmod-mvsdio kmod-usb2 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-rtc-marvell kmod-thermal-armada
+endef
+
+define Profile/370-RD/Description
+ Package set compatible with the Armada 370 reference design board (RD-88F6710-A1).
+endef
+
+$(eval $(call Profile,385-RD))
+
+define Profile/385-RD
+  NAME:=Marvell Armada 385 RD (RD-88F6820-AP)
+  PACKAGES:= \
+	kmod-mmc kmod-mvsdio kmod-usb3 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-thermal-armada
+endef
+
+define Profile/385-RD/Description
+ Package set compatible with the Armada 385 reference design board (RD-88F6820-AP).
+endef
+
+$(eval $(call Profile,385-RD))
+
+define Profile/385-DB-AP
+  NAME:=Marvell Armada 385 DB AP (DB-88F6820-AP)
+  PACKAGES:= \
+	kmod-usb3 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-thermal-armada
+endef
+
+define Profile/385-DB-AP/Description
+ Package set compatible with the Armada 385 access point development board (DB-88F6820-AP).
+endef
+
+$(eval $(call Profile,385-DB-AP))
+
+define Profile/XP-DB
+  NAME:=Marvell Armada XP DB (DB-78460-BP)
+  PACKAGES:= \
+	kmod-mmc kmod-mvsdio kmod-usb2 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-rtc-marvell kmod-thermal-armada
+endef
+
+define Profile/XP-DB/Description
+ Package set compatible with the Marvell Armada XP evaluation board (DB-78460-BP).
+endef
+
+$(eval $(call Profile,XP-DB))
+
+define Profile/XP-GP
+  NAME:=Marvell Armada XP GP (DB-MV784MP-GP)
+  PACKAGES:= \
+	kmod-mmc kmod-mvsdio kmod-usb2 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-rtc-marvell kmod-thermal-armada
+endef
+
+define Profile/XP-GP/Description
+ Package set compatible with the Armada XP development board (DB-MV784MP-GP).
+endef
+
+$(eval $(call Profile,XP-GP))
diff --git a/target/linux/mvebu/profiles/plathome.mk b/target/linux/mvebu/profiles/plathome.mk
new file mode 100644
index 0000000000..fac31e6fc6
--- /dev/null
+++ b/target/linux/mvebu/profiles/plathome.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/OpenBlocks-AX-3-4
+  NAME:=Plat'Home OpenBlocks AX3
+  PACKAGES:= \
+	kmod-usb2 kmod-usb-storage \
+	kmod-of-i2c kmod-i2c-core kmod-i2c-mv64xxx \
+	kmod-ata-core kmod-ata-marvell-sata \
+	kmod-rtc-marvell kmod-thermal-armada
+endef
+
+define Profile/OpenBlocks-AX-3-4/Description
+ Package set compatible with the Plat'Home OpenBlocks AX3.
+endef
+
+$(eval $(call Profile,OpenBlocks-AX-3-4))
-- 
GitLab