diff options
author | Marek Vasut <marex@denx.de> | 2015-11-29 14:31:01 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2015-12-06 23:18:52 -0800 |
commit | d232376fa7b0bf3f22d57c6c747983d00c67e34d (patch) | |
tree | 8b7cc37d8e5e7da9e1e6b8dbe84656844d841a70 /conf/machine/include | |
parent | 2354b2d37412c76d147b515a5f1463e3ae6a775f (diff) | |
download | meta-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.inc | 4 | ||||
-rw-r--r-- | conf/machine/include/nios2/feature-nios2-fpu.inc | 15 | ||||
-rw-r--r-- | conf/machine/include/nios2/feature-nios2-multiply.inc | 10 | ||||
-rw-r--r-- | conf/machine/include/tune-nios2.inc | 20 |
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 @@ | |||
1 | TUNEVALID[hw-div] = "Enable Nios2 hardware divider." | ||
2 | NIOS2CCARGSDIV = "${@bb.utils.contains("TUNE_FEATURES", "hw-div", "-mhw-div", "" ,d)}" | ||
3 | NIOS2PKGDIV = "${@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 @@ | |||
1 | TARGET_FPU = "fpu-other" | ||
2 | |||
3 | TUNEVALID[fpu-soft] = "Use Nios2 software FPU" | ||
4 | TUNEVALID[fpu-custom] = "Enable Nios2 hardware FPU" | ||
5 | TUNEVALID[fpu-customdiv] = "Enable Nios2 hardware FPU with divider" | ||
6 | |||
7 | # Establish which fpu is configured in TUNE_FEATURES. Soft is the default for gcc. | ||
8 | NIOS2CCARGSFPU_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "fpu-custom", "-mcustom-fpu-cfg=60-1", "", d)}" | ||
9 | NIOS2CCARGSFPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-customdiv", "-mcustom-fpu-cfg=60-2", "${NIOS2CCARGSFPU_BASIC}", d)}" | ||
10 | |||
11 | NIOS2PKGFPU_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "fpu-custom", "-fpu", "", d)}" | ||
12 | NIOS2PKGFPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-customdiv", "-fpudiv", "${NIOS2PKGFPU_BASIC}", d)}" | ||
13 | |||
14 | TUNECONFLICTS[fpu-custom] = "fpu-soft fpu-customdiv" | ||
15 | TUNECONFLICTS[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 @@ | |||
1 | TUNEVALID[hw-mul] = "Enable Nios2 Hardware Multiply" | ||
2 | TUNEVALID[hw-mulx] = "Enable Nios2 Extended Hardware Multiply" | ||
3 | |||
4 | # Establish which Multiply output result size to use | ||
5 | NIOS2CCARGSMUL = "${@bb.utils.contains("TUNE_FEATURES", "hw-mul", "-mhw-mul", "" ,d)}" | ||
6 | NIOS2CCARGSMUL += "${@bb.utils.contains("TUNE_FEATURES", "hw-mulx", "-mhw-mulx", "" ,d)}" | ||
7 | |||
8 | NIOS2PKGMUL_BASIC = "${@bb.utils.contains("TUNE_FEATURES", "hw-mul", "-mul", "" ,d)}" | ||
9 | NIOS2PKGMUL = "${@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 | |||
4 | DEFAULTTUNE ?= "nios2" | ||
5 | |||
6 | TUNE_ARCH = "nios2el" | ||
7 | |||
8 | require conf/machine/include/nios2/feature-nios2-multiply.inc | ||
9 | require conf/machine/include/nios2/feature-nios2-divide.inc | ||
10 | require conf/machine/include/nios2/feature-nios2-fpu.inc | ||
11 | |||
12 | AVAILTUNES += "nios2" | ||
13 | TUNEVALID[nios2] = "nios2" | ||
14 | TUNE_FEATURES_tune-nios2 += "nios2" | ||
15 | |||
16 | TUNE_CCARGS += "-mel ${NIOS2CCARGSDIV} ${NIOS2CCARGSFPU} ${NIOS2CCARGSMUL}" | ||
17 | TUNE_PKGARCH = "nios2${NIOS2PKGMUL}${NIOS2PKGDIV}${NIOS2PKGFPU}" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-nios2 = "${TUNE_PKGARCH}" | ||
19 | |||
20 | CSL_TARGET_SYS_nios2 = "nios2-linux-gnu" | ||