From 41e7d2e2e8796d83e82169ae5a87d022c58ab4be Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 15 Jul 2017 20:35:57 +0200 Subject: [PATCH] sunxi: split into cortex A8 and A7 subtarget Now we can activate some compiler optimizations for the cortex A7. Signed-off-by: Hauke Mehrtens --- package/boot/uboot-sunxi/Makefile | 17 +++ target/linux/sunxi/Makefile | 3 +- target/linux/sunxi/cortexa7/config-default | 6 + target/linux/sunxi/cortexa7/target.mk | 12 ++ target/linux/sunxi/cortexa8/config-default | 21 +++ 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 ++++++++ 9 files changed, 240 insertions(+), 151 deletions(-) create mode 100644 target/linux/sunxi/cortexa7/config-default create mode 100644 target/linux/sunxi/cortexa7/target.mk create mode 100644 target/linux/sunxi/cortexa8/config-default 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 817c47bd2057..27dff1074e73 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 483c9eb21cd8..65d43358c9bf 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 KERNEL_PATCHVER:=4.9 diff --git a/target/linux/sunxi/cortexa7/config-default b/target/linux/sunxi/cortexa7/config-default new file mode 100644 index 000000000000..aabfa5ab1024 --- /dev/null +++ b/target/linux/sunxi/cortexa7/config-default @@ -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 index 000000000000..16aa9f7d0a1f --- /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/config-default b/target/linux/sunxi/cortexa8/config-default new file mode 100644 index 000000000000..fa40deb6f821 --- /dev/null +++ b/target/linux/sunxi/cortexa8/config-default @@ -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 index 000000000000..d7d18f6ca48b --- /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 d0d86ee10d76..20ecf66a9ce0 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 000000000000..0a7efbac62b5 --- /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 000000000000..97e033dbb3c4 --- /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.30.2