sunxi: split into cortex A8 and A7 subtarget
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 15 Jul 2017 18:35:57 +0000 (20:35 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 18 Sep 2017 16:36:26 +0000 (18:36 +0200)
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
target/linux/sunxi/Makefile
target/linux/sunxi/cortexa7/config-default [new file with mode: 0644]
target/linux/sunxi/cortexa7/target.mk [new file with mode: 0644]
target/linux/sunxi/cortexa8/config-default [new file with mode: 0644]
target/linux/sunxi/cortexa8/target.mk [new file with mode: 0644]
target/linux/sunxi/image/Makefile
target/linux/sunxi/image/cortex-a7.mk [new file with mode: 0644]
target/linux/sunxi/image/cortex-a8.mk [new file with mode: 0644]

index 817c47b..27dff10 100644 (file)
@@ -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
index 483c9eb..65d4335 100644 (file)
@@ -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/config-default b/target/linux/sunxi/cortexa7/config-default
new file mode 100644 (file)
index 0000000..aabfa5a
--- /dev/null
@@ -0,0 +1,6 @@
+# CONFIG_MACH_SUN4I is not set
+# CONFIG_MACH_SUN5I is not set
+# CONFIG_PINCTRL_GR8 is not set
+# CONFIG_PINCTRL_SUN4I_A10 is not set
+# CONFIG_PINCTRL_SUN5I_A10S is not set
+# CONFIG_PINCTRL_SUN5I_A13 is not set
diff --git a/target/linux/sunxi/cortexa7/target.mk b/target/linux/sunxi/cortexa7/target.mk
new file mode 100644 (file)
index 0000000..16aa9f7
--- /dev/null
@@ -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/config-default b/target/linux/sunxi/cortexa8/config-default
new file mode 100644 (file)
index 0000000..fa40deb
--- /dev/null
@@ -0,0 +1,21 @@
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+# CONFIG_ARM_ERRATA_643719 is not set
+# CONFIG_ARM_LPAE is not set
+# CONFIG_MACH_SUN6I is not set
+# CONFIG_MACH_SUN7I is not set
+# CONFIG_MACH_SUN8I is not set
+# CONFIG_MACH_SUN9I is not set
+CONFIG_PGTABLE_LEVELS=2
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+# CONFIG_PINCTRL_SUN6I_A31 is not set
+# CONFIG_PINCTRL_SUN6I_A31S is not set
+# CONFIG_PINCTRL_SUN6I_A31_R is not set
+# CONFIG_PINCTRL_SUN7I_A20 is not set
+# CONFIG_PINCTRL_SUN8I_A23 is not set
+# CONFIG_PINCTRL_SUN8I_A23_R is not set
+# CONFIG_PINCTRL_SUN8I_A33 is not set
+# CONFIG_PINCTRL_SUN8I_A83T is not set
+# CONFIG_PINCTRL_SUN8I_H3 is not set
+# CONFIG_PINCTRL_SUN8I_H3_R is not set
+# CONFIG_PINCTRL_SUN9I_A80 is not set
+# CONFIG_PINCTRL_SUN9I_A80_R is not set
diff --git a/target/linux/sunxi/cortexa8/target.mk b/target/linux/sunxi/cortexa8/target.mk
new file mode 100644 (file)
index 0000000..d7d18f6
--- /dev/null
@@ -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
index d0d86ee..20ecf66 100644 (file)
@@ -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 (file)
index 0000000..0a7efba
--- /dev/null
@@ -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 (file)
index 0000000..97e033d
--- /dev/null
@@ -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