[LEDE-DEV,08/13] sunxi: split into cortex A8 and A7 subtarget

Message ID 20170803213759.8875-9-hauke@hauke-m.de
State Accepted
Delegated to: Hauke Mehrtens
Headers show

Commit Message

Hauke Mehrtens Aug. 3, 2017, 9:37 p.m.
Now we can activate some compiler optimizations for the cortex A7.

Signed-off-by: Hauke Mehrtens <hauke@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

Patch

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@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