summaryrefslogtreecommitdiffstats
path: root/conf/machine/include
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2015-11-29 14:31:01 +0100
committerKhem Raj <raj.khem@gmail.com>2015-12-06 23:18:52 -0800
commitd232376fa7b0bf3f22d57c6c747983d00c67e34d (patch)
tree8b7cc37d8e5e7da9e1e6b8dbe84656844d841a70 /conf/machine/include
parent2354b2d37412c76d147b515a5f1463e3ae6a775f (diff)
downloadmeta-altera-d232376fa7b0bf3f22d57c6c747983d00c67e34d.tar.gz
Add generic-nios2 machine to meta-altera
Add support for the Altera NIOS2 architecture and a generic machine config. Also add Linux kernel defconfig for linux-yocto 4.1 package. Heavily based on work by Walter Goossens <waltergoossens@home.nl> Signed-off-by: Marek Vasut <marex@denx.de> Cc: Khem Raj <raj.khem@gmail.com> Cc: Ley Foon Tan <lftan@altera.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl> Cc: Yves Vandervennet <yvanderv@opensource.altera.com>
Diffstat (limited to 'conf/machine/include')
-rw-r--r--conf/machine/include/nios2/feature-nios2-divide.inc4
-rw-r--r--conf/machine/include/nios2/feature-nios2-fpu.inc15
-rw-r--r--conf/machine/include/nios2/feature-nios2-multiply.inc10
-rw-r--r--conf/machine/include/tune-nios2.inc20
4 files changed, 49 insertions, 0 deletions
diff --git a/conf/machine/include/nios2/feature-nios2-divide.inc b/conf/machine/include/nios2/feature-nios2-divide.inc
new file mode 100644
index 0000000..5a29570
--- /dev/null
+++ b/conf/machine/include/nios2/feature-nios2-divide.inc
@@ -0,0 +1,4 @@
1TUNEVALID[hw-div] = "Enable Nios2 hardware divider."
2NIOS2CCARGSDIV = "${@bb.utils.contains("TUNE_FEATURES", "hw-div", "-mhw-div", "" ,d)}"
3NIOS2PKGDIV = "${@bb.utils.contains("TUNE_FEATURES", "hw-div", "-div", "" ,d)}"
4
diff --git a/conf/machine/include/nios2/feature-nios2-fpu.inc b/conf/machine/include/nios2/feature-nios2-fpu.inc
new file mode 100644
index 0000000..5baeb40
--- /dev/null
+++ b/conf/machine/include/nios2/feature-nios2-fpu.inc
@@ -0,0 +1,15 @@
1TARGET_FPU = "fpu-other"
2
3TUNEVALID[fpu-soft] = "Use Nios2 software FPU"
4TUNEVALID[fpu-custom] = "Enable Nios2 hardware FPU"
5TUNEVALID[fpu-customdiv] = "Enable Nios2 hardware FPU with divider"
6
7# Establish which fpu is configured in TUNE_FEATURES. Soft is the default for gcc.
8NIOS2CCARGSFPU_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "fpu-custom", "-mcustom-fpu-cfg=60-1", "", d)}"
9NIOS2CCARGSFPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-customdiv", "-mcustom-fpu-cfg=60-2", "${NIOS2CCARGSFPU_BASIC}", d)}"
10
11NIOS2PKGFPU_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "fpu-custom", "-fpu", "", d)}"
12NIOS2PKGFPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-customdiv", "-fpudiv", "${NIOS2PKGFPU_BASIC}", d)}"
13
14TUNECONFLICTS[fpu-custom] = "fpu-soft fpu-customdiv"
15TUNECONFLICTS[fpu-customdiv] = "fpu-soft fpu-custom"
diff --git a/conf/machine/include/nios2/feature-nios2-multiply.inc b/conf/machine/include/nios2/feature-nios2-multiply.inc
new file mode 100644
index 0000000..3dc2ccb
--- /dev/null
+++ b/conf/machine/include/nios2/feature-nios2-multiply.inc
@@ -0,0 +1,10 @@
1TUNEVALID[hw-mul] = "Enable Nios2 Hardware Multiply"
2TUNEVALID[hw-mulx] = "Enable Nios2 Extended Hardware Multiply"
3
4# Establish which Multiply output result size to use
5NIOS2CCARGSMUL = "${@bb.utils.contains("TUNE_FEATURES", "hw-mul", "-mhw-mul", "" ,d)}"
6NIOS2CCARGSMUL += "${@bb.utils.contains("TUNE_FEATURES", "hw-mulx", "-mhw-mulx", "" ,d)}"
7
8NIOS2PKGMUL_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "hw-mul", "-mul", "" ,d)}"
9NIOS2PKGMUL = "${@bb.utils.contains("TUNE_FEATURES", "hw-mulx", "-mulx", "${NIOS2PKGMUL_BASIC}" ,d)}"
10
diff --git a/conf/machine/include/tune-nios2.inc b/conf/machine/include/tune-nios2.inc
new file mode 100644
index 0000000..4a132a4
--- /dev/null
+++ b/conf/machine/include/tune-nios2.inc
@@ -0,0 +1,20 @@
1#@TYPE: Machine configuration
2#@NAME: nios2
3
4DEFAULTTUNE ?= "nios2"
5
6TUNE_ARCH = "nios2el"
7
8require conf/machine/include/nios2/feature-nios2-multiply.inc
9require conf/machine/include/nios2/feature-nios2-divide.inc
10require conf/machine/include/nios2/feature-nios2-fpu.inc
11
12AVAILTUNES += "nios2"
13TUNEVALID[nios2] = "nios2"
14TUNE_FEATURES_tune-nios2 += "nios2"
15
16TUNE_CCARGS += "-mel ${NIOS2CCARGSDIV} ${NIOS2CCARGSFPU} ${NIOS2CCARGSMUL}"
17TUNE_PKGARCH = "nios2${NIOS2PKGMUL}${NIOS2PKGDIV}${NIOS2PKGFPU}"
18PACKAGE_EXTRA_ARCHS_tune-nios2 = "${TUNE_PKGARCH}"
19
20CSL_TARGET_SYS_nios2 = "nios2-linux-gnu"