[LEDE-DEV] [PATCH 08/13] sunxi: split into cortex A8 and A7 subtarget
Hauke Mehrtens
hauke at hauke-m.de
Thu Aug 3 14:37:54 PDT 2017
Now we can activate some compiler optimizations for the cortex A7.
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
package/boot/uboot-sunxi/Makefile | 17 ++++
target/linux/sunxi/Makefile | 3 +-
target/linux/sunxi/cortexa7/target.mk | 12 +++
target/linux/sunxi/cortexa8/target.mk | 12 +++
target/linux/sunxi/image/Makefile | 151 +---------------------------------
target/linux/sunxi/image/cortex-a7.mk | 110 +++++++++++++++++++++++++
target/linux/sunxi/image/cortex-a8.mk | 59 +++++++++++++
7 files changed, 213 insertions(+), 151 deletions(-)
create mode 100644 target/linux/sunxi/cortexa7/target.mk
create mode 100644 target/linux/sunxi/cortexa8/target.mk
create mode 100644 target/linux/sunxi/image/cortex-a7.mk
create mode 100644 target/linux/sunxi/image/cortex-a8.mk
diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile
index 817c47bd20..27dff1074e 100644
--- a/package/boot/uboot-sunxi/Makefile
+++ b/package/boot/uboot-sunxi/Makefile
@@ -26,85 +26,102 @@ define U-Boot/Default
endef
define U-Boot/A10-OLinuXino-Lime
+ BUILD_SUBTARGET:=cortexa8
NAME:=A10 OLinuXino LIME
BUILD_DEVICES:=sun4i-a10-olinuxino-lime
endef
define U-Boot/A13-OLinuXino
+ BUILD_SUBTARGET:=cortexa8
NAME:=A13 OlinuXino
BUILD_DEVICES:=sun5i-a13-olinuxino
endef
define U-Boot/A20-OLinuXino-Lime
+ BUILD_SUBTARGET:=cortexa7
NAME:=A20 OLinuXino LIME
BUILD_DEVICES:=sun7i-a20-olinuxino-lime
endef
define U-Boot/A20-OLinuXino_MICRO
+ BUILD_SUBTARGET:=cortexa7
NAME:=A20 OLinuXino MICRO
BUILD_DEVICES:=sun7i-a20-olinuxino-micro
endef
define U-Boot/Bananapi
+ BUILD_SUBTARGET:=cortexa7
NAME:=Bananapi
BUILD_DEVICES:=sun7i-a20-bananapi
endef
define U-Boot/Bananapro
+ BUILD_SUBTARGET:=cortexa7
NAME:=Bananapro
BUILD_DEVICES:=sun7i-a20-bananapro
endef
define U-Boot/Cubieboard
+ BUILD_SUBTARGET:=cortexa8
NAME:=Cubieboard
BUILD_DEVICES:=sun4i-a10-cubieboard
endef
define U-Boot/Cubieboard2
+ BUILD_SUBTARGET:=cortexa7
NAME:=Cubieboard2
BUILD_DEVICES:=sun7i-a20-cubieboard2
endef
define U-Boot/Cubietruck
+ BUILD_SUBTARGET:=cortexa7
NAME:=Cubietruck
BUILD_DEVICES:=sun7i-a20-cubietruck
endef
define U-Boot/Hummingbird_A31
+ BUILD_SUBTARGET:=cortexa7
NAME:=Hummingbird A31 board
endef
define U-Boot/Mele_M9
+ BUILD_SUBTARGET:=cortexa7
NAME:=Mele M9 (A31)
BUILD_DEVICES:=sun6i-a31-m9
endef
define U-Boot/OLIMEX_A13_SOM
+ BUILD_SUBTARGET:=cortexa8
NAME:=Olimex A13 SOM
BUILD_DEVICES:=sun5i-a13-olimex-som
endef
define U-Boot/Linksprite_pcDuino
+ BUILD_SUBTARGET:=cortexa8
NAME:=Linksprite pcDuino
BUILD_DEVICES:=sun4i-a10-pcduino
endef
define U-Boot/Linksprite_pcDuino3
+ BUILD_SUBTARGET:=cortexa7
NAME:=Linksprite pcDuino3
BUILD_DEVICES:=sun7i-a20-pcduino3
endef
define U-Boot/Lamobo_R1
+ BUILD_SUBTARGET:=cortexa7
NAME:=Lamobo R1
BUILD_DEVICES:=sun7i-a20-lamobo-r1
endef
define U-Boot/orangepi_plus
+ BUILD_SUBTARGET:=cortexa7
NAME:=Orange Pi Plus (H3)
BUILD_DEVICES:=sun8i-h3-orangepi-plus
endef
define U-Boot/pangolin
+ BUILD_SUBTARGET:=cortexa7
NAME:=Theobroma A31-yQ7 devboard
UENV:=pangolin
endef
diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile
index 483c9eb21c..65d43358c9 100644
--- a/target/linux/sunxi/Makefile
+++ b/target/linux/sunxi/Makefile
@@ -11,8 +11,7 @@ ARCH:=arm
BOARD:=sunxi
BOARDNAME:=Allwinner A1x/A20/A3x
FEATURES:=fpu usb ext4 display rtc squashfs
-CPU_TYPE:=cortex-a8
-CPU_SUBTYPE:=vfpv3
+SUBTARGETS:=cortexa8 cortexa7
MAINTAINER:=Zoltan HERPAI <wigyori at uid0.hu>
KERNEL_PATCHVER:=4.9
diff --git a/target/linux/sunxi/cortexa7/target.mk b/target/linux/sunxi/cortexa7/target.mk
new file mode 100644
index 0000000000..16aa9f7d0a
--- /dev/null
+++ b/target/linux/sunxi/cortexa7/target.mk
@@ -0,0 +1,12 @@
+#
+# Copyright (C) 2017 Hauke Mehrtens
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+BOARDNAME:=Allwinner A20/A3x
+CPU_TYPE:=cortex-a7
+CPU_SUBTYPE:=neon-vfpv4
diff --git a/target/linux/sunxi/cortexa8/target.mk b/target/linux/sunxi/cortexa8/target.mk
new file mode 100644
index 0000000000..d7d18f6ca4
--- /dev/null
+++ b/target/linux/sunxi/cortexa8/target.mk
@@ -0,0 +1,12 @@
+#
+# Copyright (C) 2017 Hauke Mehrtens
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+BOARDNAME:=Allwinner A1x
+CPU_TYPE:=cortex-a8
+CPU_SUBTYPE:=vfpv3
diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile
index d0d86ee10d..20ecf66a9c 100644
--- a/target/linux/sunxi/image/Makefile
+++ b/target/linux/sunxi/image/Makefile
@@ -39,154 +39,7 @@ define Device/Default
IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip
endef
-define Device/sun4i-a10-olinuxino-lime
- DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
- SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
- SUNXI_DTS:=sun4i-a10-olinuxino-lime
-endef
-
-TARGET_DEVICES += sun4i-a10-olinuxino-lime
-
-
-define Device/sun5i-a13-olimex-som
- DEVICE_TITLE:=Olimex A13 SOM
- DEVICE_PACKAGES:=kmod-rtl8192cu
- SUPPORTED_DEVICES:=olimex,a13-olinuxino
- SUNXI_DTS:=sun5i-a13-olinuxino
-endef
-
-TARGET_DEVICES += sun5i-a13-olimex-som
-
-
-define Device/sun5i-a13-olinuxino
- DEVICE_TITLE:=Olimex A13-Olinuxino
- DEVICE_PACKAGES:=kmod-rtl8192cu
- SUPPORTED_DEVICES:=olimex,a13-olinuxino
- SUNXI_DTS:=sun5i-a13-olinuxino
-endef
-
-TARGET_DEVICES += sun5i-a13-olinuxino
-
-
-define Device/sun7i-a20-olinuxino-lime
- DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
- SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
- SUNXI_DTS:=sun7i-a20-olinuxino-lime
-endef
-
-TARGET_DEVICES += sun7i-a20-olinuxino-lime
-
-
-define Device/sun7i-a20-olinuxino-micro
- DEVICE_TITLE:=Olimex A20-Olinuxino Micro
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
- SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
- SUNXI_DTS:=sun7i-a20-olinuxino-micro
-endef
-
-TARGET_DEVICES += sun7i-a20-olinuxino-micro
-
-
-define Device/sun7i-a20-bananapi
- DEVICE_TITLE:=LeMaker Banana Pi
- DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
- SUPPORTED_DEVICES:=lemaker,bananapi
- SUNXI_DTS:=sun7i-a20-bananapi
-endef
-
-TARGET_DEVICES += sun7i-a20-bananapi
-
-
-define Device/sun7i-a20-bananapro
- DEVICE_TITLE:=LeMaker Banana Pro
- DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
- SUPPORTED_DEVICES:=lemaker,bananapro
- SUNXI_DTS:=sun7i-a20-bananapro
-endef
-
-TARGET_DEVICES += sun7i-a20-bananapro
-
-
-define Device/sun7i-a20-cubieboard2
- DEVICE_TITLE:=Cubietech Cubieboard2
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
- SUPPORTED_DEVICES:=cubietech,cubieboard2
- SUNXI_DTS:=sun7i-a20-cubieboard2
-endef
-
-TARGET_DEVICES += sun7i-a20-cubieboard2
-
-
-define Device/sun4i-a10-cubieboard
- DEVICE_TITLE:=Cubietech Cubieboard
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
- SUPPORTED_DEVICES:=cubietech,a10-cubieboard
- SUNXI_DTS:=sun4i-a10-cubieboard
-endef
-
-TARGET_DEVICES += sun4i-a10-cubieboard
-
-
-define Device/sun7i-a20-cubietruck
- DEVICE_TITLE:=Cubietech Cubietruck
- DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
- SUPPORTED_DEVICES:=cubietech,cubietruck
- SUNXI_DTS:=sun7i-a20-cubietruck
-endef
-
-TARGET_DEVICES += sun7i-a20-cubietruck
-
-
-define Device/sun7i-a20-lamobo-r1
- DEVICE_TITLE:=Lamobo R1
- DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
- SUPPORTED_DEVICES:=lamobo,lamobo-r1
- SUNXI_DTS:=sun7i-a20-lamobo-r1
-endef
-
-TARGET_DEVICES += sun7i-a20-lamobo-r1
-
-
-define Device/sun6i-a31-m9
- DEVICE_TITLE:=Mele M9 top set box
- DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
- SUPPORTED_DEVICES:=mele,m9
- SUNXI_DTS:=sun6i-a31-m9
-endef
-
-TARGET_DEVICES += sun6i-a31-m9
-
-
-define Device/sun8i-h3-orangepi-plus
- DEVICE_TITLE:=Xunlong Orange Pi Plus
- DEVICE_PACKAGES:=kmod-rtc-sunxi
- SUPPORTED_DEVICES:=xunlong,orangepi-plus
- SUNXI_DTS:=sun8i-h3-orangepi-plus
-endef
-
-TARGET_DEVICES += sun8i-h3-orangepi-plus
-
-
-define Device/sun7i-a20-pcduino3
- DEVICE_TITLE:=LinkSprite pcDuino3
- DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
- SUPPORTED_DEVICES:=linksprite,pcduino3
- SUNXI_DTS:=sun7i-a20-pcduino3
-endef
-
-TARGET_DEVICES += sun7i-a20-pcduino3
-
-
-define Device/sun4i-a10-pcduino
- DEVICE_TITLE:=LinkSprite pcDuino
- DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
- SUPPORTED_DEVICES:=linksprite,a10-pcduino
- SUNXI_DTS:=sun4i-a10-pcduino
-endef
-
-TARGET_DEVICES += sun4i-a10-pcduino
-
+include cortex-a7.mk
+include cortex-a8.mk
$(eval $(call BuildImage))
diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk
new file mode 100644
index 0000000000..0a7efbac62
--- /dev/null
+++ b/target/linux/sunxi/image/cortex-a7.mk
@@ -0,0 +1,110 @@
+#
+# Copyright (C) 2013-2016 OpenWrt.org
+# Copyright (C) 2016 Yousong Zhou
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+ifeq ($(SUBTARGET),cortexa7)
+
+define Device/sun7i-a20-olinuxino-lime
+ DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
+ SUNXI_DTS:=sun7i-a20-olinuxino-lime
+endef
+
+TARGET_DEVICES += sun7i-a20-olinuxino-lime
+
+
+define Device/sun7i-a20-olinuxino-micro
+ DEVICE_TITLE:=Olimex A20-Olinuxino Micro
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
+ SUNXI_DTS:=sun7i-a20-olinuxino-micro
+endef
+
+TARGET_DEVICES += sun7i-a20-olinuxino-micro
+
+
+define Device/sun7i-a20-bananapi
+ DEVICE_TITLE:=LeMaker Banana Pi
+ DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
+ SUPPORTED_DEVICES:=lemaker,bananapi
+ SUNXI_DTS:=sun7i-a20-bananapi
+endef
+
+TARGET_DEVICES += sun7i-a20-bananapi
+
+
+define Device/sun7i-a20-bananapro
+ DEVICE_TITLE:=LeMaker Banana Pro
+ DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
+ SUPPORTED_DEVICES:=lemaker,bananapro
+ SUNXI_DTS:=sun7i-a20-bananapro
+endef
+
+TARGET_DEVICES += sun7i-a20-bananapro
+
+
+define Device/sun7i-a20-cubieboard2
+ DEVICE_TITLE:=Cubietech Cubieboard2
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=cubietech,cubieboard2
+ SUNXI_DTS:=sun7i-a20-cubieboard2
+endef
+
+TARGET_DEVICES += sun7i-a20-cubieboard2
+
+
+define Device/sun7i-a20-cubietruck
+ DEVICE_TITLE:=Cubietech Cubietruck
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
+ SUPPORTED_DEVICES:=cubietech,cubietruck
+ SUNXI_DTS:=sun7i-a20-cubietruck
+endef
+
+TARGET_DEVICES += sun7i-a20-cubietruck
+
+
+define Device/sun7i-a20-lamobo-r1
+ DEVICE_TITLE:=Lamobo R1
+ DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
+ SUPPORTED_DEVICES:=lamobo,lamobo-r1
+ SUNXI_DTS:=sun7i-a20-lamobo-r1
+endef
+
+TARGET_DEVICES += sun7i-a20-lamobo-r1
+
+
+define Device/sun6i-a31-m9
+ DEVICE_TITLE:=Mele M9 top set box
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
+ SUPPORTED_DEVICES:=mele,m9
+ SUNXI_DTS:=sun6i-a31-m9
+endef
+
+TARGET_DEVICES += sun6i-a31-m9
+
+
+define Device/sun8i-h3-orangepi-plus
+ DEVICE_TITLE:=Xunlong Orange Pi Plus
+ DEVICE_PACKAGES:=kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=xunlong,orangepi-plus
+ SUNXI_DTS:=sun8i-h3-orangepi-plus
+endef
+
+TARGET_DEVICES += sun8i-h3-orangepi-plus
+
+
+define Device/sun7i-a20-pcduino3
+ DEVICE_TITLE:=LinkSprite pcDuino3
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
+ SUPPORTED_DEVICES:=linksprite,pcduino3
+ SUNXI_DTS:=sun7i-a20-pcduino3
+endef
+
+TARGET_DEVICES += sun7i-a20-pcduino3
+
+endif
diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortex-a8.mk
new file mode 100644
index 0000000000..97e033dbb3
--- /dev/null
+++ b/target/linux/sunxi/image/cortex-a8.mk
@@ -0,0 +1,59 @@
+#
+# Copyright (C) 2013-2016 OpenWrt.org
+# Copyright (C) 2016 Yousong Zhou
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+ifeq ($(SUBTARGET),cortexa8)
+
+define Device/sun4i-a10-olinuxino-lime
+ DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
+ SUNXI_DTS:=sun4i-a10-olinuxino-lime
+endef
+
+TARGET_DEVICES += sun4i-a10-olinuxino-lime
+
+
+define Device/sun5i-a13-olimex-som
+ DEVICE_TITLE:=Olimex A13 SOM
+ DEVICE_PACKAGES:=kmod-rtl8192cu
+ SUPPORTED_DEVICES:=olimex,a13-olinuxino
+ SUNXI_DTS:=sun5i-a13-olinuxino
+endef
+
+TARGET_DEVICES += sun5i-a13-olimex-som
+
+
+define Device/sun5i-a13-olinuxino
+ DEVICE_TITLE:=Olimex A13-Olinuxino
+ DEVICE_PACKAGES:=kmod-rtl8192cu
+ SUPPORTED_DEVICES:=olimex,a13-olinuxino
+ SUNXI_DTS:=sun5i-a13-olinuxino
+endef
+
+TARGET_DEVICES += sun5i-a13-olinuxino
+
+
+define Device/sun4i-a10-cubieboard
+ DEVICE_TITLE:=Cubietech Cubieboard
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ SUPPORTED_DEVICES:=cubietech,a10-cubieboard
+ SUNXI_DTS:=sun4i-a10-cubieboard
+endef
+
+TARGET_DEVICES += sun4i-a10-cubieboard
+
+
+define Device/sun4i-a10-pcduino
+ DEVICE_TITLE:=LinkSprite pcDuino
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
+ SUPPORTED_DEVICES:=linksprite,a10-pcduino
+ SUNXI_DTS:=sun4i-a10-pcduino
+endef
+
+TARGET_DEVICES += sun4i-a10-pcduino
+
+endif
--
2.11.0
More information about the Lede-dev
mailing list