armadeus-commitlog Mailing List for armadeus (Page 33)
Brought to you by:
sszy
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(43) |
Feb
(8) |
Mar
(7) |
Apr
(8) |
May
(14) |
Jun
(6) |
Jul
(4) |
Aug
(17) |
Sep
(18) |
Oct
(19) |
Nov
(52) |
Dec
(30) |
| 2008 |
Jan
(6) |
Feb
(6) |
Mar
(15) |
Apr
(22) |
May
(13) |
Jun
(11) |
Jul
(41) |
Aug
(10) |
Sep
(14) |
Oct
(21) |
Nov
(4) |
Dec
(66) |
| 2009 |
Jan
(67) |
Feb
(57) |
Mar
(90) |
Apr
(54) |
May
(64) |
Jun
(76) |
Jul
(14) |
Aug
(18) |
Sep
(18) |
Oct
(20) |
Nov
(15) |
Dec
(36) |
| 2010 |
Jan
(28) |
Feb
(25) |
Mar
(32) |
Apr
(23) |
May
(22) |
Jun
(62) |
Jul
(36) |
Aug
(16) |
Sep
(12) |
Oct
(20) |
Nov
(44) |
Dec
(25) |
| 2011 |
Jan
(36) |
Feb
(49) |
Mar
(28) |
Apr
(38) |
May
(26) |
Jun
(52) |
Jul
(33) |
Aug
(32) |
Sep
(19) |
Oct
(26) |
Nov
(13) |
Dec
(32) |
| 2012 |
Jan
(38) |
Feb
(34) |
Mar
(91) |
Apr
(35) |
May
(31) |
Jun
(72) |
Jul
(23) |
Aug
(13) |
Sep
(33) |
Oct
(47) |
Nov
(18) |
Dec
(22) |
| 2013 |
Jan
(31) |
Feb
(22) |
Mar
(26) |
Apr
(11) |
May
(38) |
Jun
(15) |
Jul
(37) |
Aug
(68) |
Sep
(34) |
Oct
(11) |
Nov
(26) |
Dec
(31) |
| 2014 |
Jan
(60) |
Feb
(55) |
Mar
(21) |
Apr
(31) |
May
(17) |
Jun
(35) |
Jul
(24) |
Aug
(17) |
Sep
(11) |
Oct
(23) |
Nov
(10) |
Dec
(23) |
| 2015 |
Jan
(15) |
Feb
(34) |
Mar
(46) |
Apr
(23) |
May
(12) |
Jun
(14) |
Jul
(18) |
Aug
(22) |
Sep
(6) |
Oct
(2) |
Nov
(1) |
Dec
(6) |
| 2016 |
Jan
(5) |
Feb
(7) |
Mar
(10) |
Apr
(10) |
May
(17) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
(22) |
Oct
(8) |
Nov
(9) |
Dec
(5) |
| 2017 |
Jan
(11) |
Feb
(12) |
Mar
(27) |
Apr
(9) |
May
(1) |
Jun
(5) |
Jul
(11) |
Aug
(10) |
Sep
(6) |
Oct
(10) |
Nov
(4) |
Dec
(6) |
| 2018 |
Jan
(6) |
Feb
(13) |
Mar
(9) |
Apr
(7) |
May
(10) |
Jun
(9) |
Jul
(21) |
Aug
(13) |
Sep
(10) |
Oct
(4) |
Nov
(6) |
Dec
(1) |
| 2019 |
Jan
(6) |
Feb
(2) |
Mar
(5) |
Apr
(6) |
May
(19) |
Jun
(14) |
Jul
(18) |
Aug
(3) |
Sep
(5) |
Oct
(7) |
Nov
(8) |
Dec
(4) |
| 2020 |
Jan
(10) |
Feb
(3) |
Mar
(9) |
Apr
(7) |
May
(2) |
Jun
(18) |
Jul
(3) |
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
(1) |
| 2021 |
Jan
(9) |
Feb
(6) |
Mar
(4) |
Apr
(11) |
May
(7) |
Jun
(5) |
Jul
(2) |
Aug
(4) |
Sep
(10) |
Oct
(9) |
Nov
(5) |
Dec
|
| 2022 |
Jan
(2) |
Feb
(12) |
Mar
(3) |
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(4) |
Oct
(4) |
Nov
(1) |
Dec
(3) |
| 2023 |
Jan
(5) |
Feb
(3) |
Mar
(3) |
Apr
(2) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(4) |
| 2024 |
Jan
(2) |
Feb
(3) |
Mar
(8) |
Apr
(4) |
May
(1) |
Jun
(13) |
Jul
(7) |
Aug
(1) |
Sep
(6) |
Oct
(5) |
Nov
(11) |
Dec
(7) |
| 2025 |
Jan
(3) |
Feb
(1) |
Mar
(6) |
Apr
(4) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(7) |
Sep
(4) |
Oct
(4) |
Nov
(4) |
Dec
(1) |
| 2026 |
Jan
(3) |
Feb
(7) |
Mar
(3) |
Apr
(1) |
May
(6) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-28 14:44:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 59bb68bbba79b1d955567a0f38fd6aa669221098 (commit)
from 8f54c39ae1a011bbdd6e2f4a457071a1da8f7258 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 59bb68bbba79b1d955567a0f38fd6aa669221098
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 28 16:39:18 2015 +0200
[BUILDROOT] 2015.02: install ldd too when using external toolchains
-----------------------------------------------------------------------
Summary of changes:
...deus-install-ldd-with-external-toolchains.patch | 17 +++++++++++++++++
patches/buildroot/2015.02/cleanup_buildroot.sh | 1 +
2 files changed, 18 insertions(+), 0 deletions(-)
create mode 100644 patches/buildroot/2015.02/026-armadeus-install-ldd-with-external-toolchains.patch
diff --git a/patches/buildroot/2015.02/026-armadeus-install-ldd-with-external-toolchains.patch b/patches/buildroot/2015.02/026-armadeus-install-ldd-with-external-toolchains.patch
new file mode 100644
index 0000000..cb4e09e
--- /dev/null
+++ b/patches/buildroot/2015.02/026-armadeus-install-ldd-with-external-toolchains.patch
@@ -0,0 +1,17 @@
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: buildroot/toolchain/toolchain-external/toolchain-external.mk
+===================================================================
+--- buildroot.orig/toolchain/toolchain-external/toolchain-external.mk 2015-03-01 22:26:12.000000000 +0100
++++ buildroot/toolchain/toolchain-external/toolchain-external.mk 2015-07-28 16:31:31.446392834 +0200
+@@ -578,6 +578,10 @@
+ echo "Could not find gdbserver in external toolchain" ; \
+ exit 1 ; \
+ fi ; \
++ fi ; \
++ if test -f $${d}/usr/bin/ldd ; then \
++ install -m 0755 -D $${d}/usr/bin/ldd $(TARGET_DIR)/usr/bin/ldd ; \
++ $(SED) 's:/bin/bash:/bin/sh:' $(TARGET_DIR)/usr/bin/ldd ; \
+ fi
+ endef
+
diff --git a/patches/buildroot/2015.02/cleanup_buildroot.sh b/patches/buildroot/2015.02/cleanup_buildroot.sh
index d098f53..f8f153a 100755
--- a/patches/buildroot/2015.02/cleanup_buildroot.sh
+++ b/patches/buildroot/2015.02/cleanup_buildroot.sh
@@ -168,5 +168,6 @@ rm -rf buildroot/package/xenomai/xenomai.mk
rm -rf buildroot/system/Config.in
rm -rf buildroot/system/system.mk
rm -rf buildroot/toolchain/toolchain-common.in
+rm -rf buildroot/toolchain/toolchain-external/toolchain-external.mk
rm -rf buildroot/toolchain/toolchain.mk
rm -rf buildroot/toolchain/uClibc/uClibc-0.9.33.2-OpenWRT-add___kernel_long_and___kernel_ulong.patch
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-28 09:37:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 8f54c39ae1a011bbdd6e2f4a457071a1da8f7258 (commit)
from 3fa95c545ed21ae18f8e50328c6be7ae50955aa2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8f54c39ae1a011bbdd6e2f4a457071a1da8f7258
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 28 11:33:14 2015 +0200
Fixes buildroot/.gitignore for 2015.02
-----------------------------------------------------------------------
Summary of changes:
buildroot/.gitignore | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/buildroot/.gitignore b/buildroot/.gitignore
index bf9a495..fd25b13 100644
--- a/buildroot/.gitignore
+++ b/buildroot/.gitignore
@@ -1,5 +1,8 @@
+/arch/
+/board/
/boot/
+/build/
/dl
/docs/
/downloads
@@ -10,6 +13,7 @@
/toolchain
/scripts/
/support
+/system/
/.*
!/.gitignore
/Config.in
@@ -17,6 +21,7 @@
/TODO
/CHANGES
/COPYING
+/README
*.depend
*.o
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-28 09:19:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 3fa95c545ed21ae18f8e50328c6be7ae50955aa2 (commit)
from 2f13c792457628d4399f6413624eec3ada3e732f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3fa95c545ed21ae18f8e50328c6be7ae50955aa2
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 28 11:14:54 2015 +0200
[BUILDROOT] 2015.02: bump openssl to 1.0.2d (mainline backport)
-----------------------------------------------------------------------
Summary of changes:
...d-openssl-security-bump-to-version-1.0.2d.patch | 27 ++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
create mode 100644 patches/buildroot/2015.02/224-d-openssl-security-bump-to-version-1.0.2d.patch
diff --git a/patches/buildroot/2015.02/224-d-openssl-security-bump-to-version-1.0.2d.patch b/patches/buildroot/2015.02/224-d-openssl-security-bump-to-version-1.0.2d.patch
new file mode 100644
index 0000000..3d8989b
--- /dev/null
+++ b/patches/buildroot/2015.02/224-d-openssl-security-bump-to-version-1.0.2d.patch
@@ -0,0 +1,27 @@
+From d4e547438cf3add7ad7c816e8fbcb8dd205cac20 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gu...@za...>
+Date: Thu, 09 Jul 2015 18:45:13 +0000
+Subject: openssl: security bump to version 1.0.2d
+
+Fixes CVE-2015-1793 - Alternative chains certificate forgery.
+
+Signed-off-by: Gustavo Zacarias <gu...@za...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+(limited to 'package/openssl/openssl.mk')
+
+diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
+index 37c640d..3d87919 100644
+--- a/package/openssl/openssl.mk
++++ b/package/openssl/openssl.mk
+@@ -4,7 +4,7 @@
+ #
+ ################################################################################
+
+-OPENSSL_VERSION = 1.0.2c
++OPENSSL_VERSION = 1.0.2d
+ OPENSSL_SITE = http://www.openssl.org/source
+ OPENSSL_LICENSE = OpenSSL or SSLeay
+ OPENSSL_LICENSE_FILES = LICENSE
+--
+cgit v0.9.1
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-27 14:25:44
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 2f13c792457628d4399f6413624eec3ada3e732f (commit)
from 9dc6d90ba77d5a1da4be808693190730b9389fe2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2f13c792457628d4399f6413624eec3ada3e732f
Author: Julien Boibessot <jul...@ar...>
Date: Mon Jul 27 16:20:39 2015 +0200
[BUILDROOT] Add new package apf-config and activate it by default for apf6failsafe_defconfig
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6failsafe_defconfig | 1 +
.../025-armadeus-apf-config-add-package.patch | 63 ++++++++++++++++++++
patches/buildroot/2015.02/cleanup_buildroot.sh | 2 +
3 files changed, 66 insertions(+), 0 deletions(-)
create mode 100644 patches/buildroot/2015.02/025-armadeus-apf-config-add-package.patch
diff --git a/buildroot/configs/apf6failsafe_defconfig b/buildroot/configs/apf6failsafe_defconfig
index 4ea422f..2e5c03d 100644
--- a/buildroot/configs/apf6failsafe_defconfig
+++ b/buildroot/configs/apf6failsafe_defconfig
@@ -39,6 +39,7 @@ BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_MMC_UTILS=y
+BR2_PACKAGE_APF_CONFIG=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_FSCK=y
diff --git a/patches/buildroot/2015.02/025-armadeus-apf-config-add-package.patch b/patches/buildroot/2015.02/025-armadeus-apf-config-add-package.patch
new file mode 100644
index 0000000..4697198
--- /dev/null
+++ b/patches/buildroot/2015.02/025-armadeus-apf-config-add-package.patch
@@ -0,0 +1,63 @@
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: buildroot/package/apf-config/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/apf-config/Config.in 2015-07-27 16:16:25.679411119 +0200
+@@ -0,0 +1,21 @@
++config BR2_PACKAGE_APF_CONFIG
++ bool "apf-config"
++ depends on BR2_LARGEFILE # e2fsprogs
++ depends on BR2_USE_WCHAR # e2fsprogs
++ depends on BR2_USE_MMU # e2fsprogs, util-linux
++ select BR2_PACKAGE_NEWT # whiptail
++ select BR2_PACKAGE_NCURSES
++ select BR2_PACKAGE_NCURSES_TARGET_PROGS # tput
++ select BR2_PACKAGE_E2FSPROGS
++ select BR2_PACKAGE_E2FSPROGS_E2FSCK
++ select BR2_PACKAGE_E2FSPROGS_RESIZE2FS
++ select BR2_PACKAGE_UTIL_LINUX # fdisk
++ select BR2_PACKAGE_LUA
++ help
++ Configuration tool for Armadeus APF6 modules
++ (Ã la raspi-config).
++
++ https://github.com/artemysfr/raspi-config
++
++comment "apf-config needs a toolchain w/ largefile, mmu, wchar"
++ depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && BR2_USE_MMU)
+Index: buildroot/package/apf-config/apf-config.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/apf-config/apf-config.mk 2015-07-27 16:08:07.883416925 +0200
+@@ -0,0 +1,18 @@
++################################################################################
++#
++# apf-config
++#
++################################################################################
++
++APF_CONFIG_VERSION = e8903ad36a048dd7fad17f3d1216bc4b22d981fa
++APF_CONFIG_SITE = $(call github,artemysfr,raspi-config,$(APF_CONFIG_VERSION))
++APF_CONFIG_LICENSE = MIT
++APF_CONFIG_LICENSE_FILES = LICENSE
++APF_CONFIG_DEPENDENCIES = e2fsprogs lua newt ncurses util-linux
++
++define APF_CONFIG_INSTALL_TARGET_CMDS
++ $(INSTALL) -D -m 755 $(@D)/apf-config $(TARGET_DIR)/usr/sbin/apf-config
++endef
++
++
++$(eval $(generic-package))
+Index: buildroot/package/Config.in
+===================================================================
+--- buildroot.orig/package/Config.in 2015-07-27 15:34:24.295440527 +0200
++++ buildroot/package/Config.in 2015-07-27 16:06:00.035418416 +0200
+@@ -305,6 +305,7 @@
+ source "package/a10disp/Config.in"
+ source "package/acpid/Config.in"
+ source "package/am335x-pru-package/Config.in"
++ source "package/apf-config/Config.in"
+ source "package/avrdude/Config.in"
+ source "package/bcache-tools/Config.in"
+ source "package/biosdevname/Config.in"
diff --git a/patches/buildroot/2015.02/cleanup_buildroot.sh b/patches/buildroot/2015.02/cleanup_buildroot.sh
index 25de5b5..d098f53 100755
--- a/patches/buildroot/2015.02/cleanup_buildroot.sh
+++ b/patches/buildroot/2015.02/cleanup_buildroot.sh
@@ -22,6 +22,8 @@ rm -rf buildroot/package/Config.in.host
rm -rf buildroot/package/agg/Config.in
rm -rf buildroot/package/agg/agg.mk
rm -rf buildroot/package/alsa-utils/alsa-utils.mk
+rm -rf buildroot/package/apf-config/Config.in
+rm -rf buildroot/package/apf-config/apf-config.mk
rm -rf buildroot/package/beremiz/Config.in
rm -rf buildroot/package/beremiz/beremiz.mk
rm -rf buildroot/package/beremiz/host-beremiz-fix_compare_and_swap_problem_to_be_removed_with_kernel_3.1.patch
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-26 15:50:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 9dc6d90ba77d5a1da4be808693190730b9389fe2 (commit)
from 9f13594d43cd5a6bbb586e36ab1270c5a88ac825 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9dc6d90ba77d5a1da4be808693190730b9389fe2
Author: Julien Boibessot <jul...@ar...>
Date: Sun Jul 26 17:46:22 2015 +0200
[BUILDROOT] APF6: failsafe_defconfig: append rootfs to kernel image as initrd
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6failsafe_defconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/buildroot/configs/apf6failsafe_defconfig b/buildroot/configs/apf6failsafe_defconfig
index c549f36..4ea422f 100644
--- a/buildroot/configs/apf6failsafe_defconfig
+++ b/buildroot/configs/apf6failsafe_defconfig
@@ -42,8 +42,8 @@ BR2_PACKAGE_MMC_UTILS=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_FSCK=y
-BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-26 14:55:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 9f13594d43cd5a6bbb586e36ab1270c5a88ac825 (commit)
from 30f062f29296f8f7d6c95b8af95a556ab7c1f197 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9f13594d43cd5a6bbb586e36ab1270c5a88ac825
Author: Julien Boibessot <jul...@ar...>
Date: Sun Jul 26 16:51:14 2015 +0200
[BUILDROOT] APF6: Updates failsafe config to default APF6 one
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6failsafe_defconfig | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/buildroot/configs/apf6failsafe_defconfig b/buildroot/configs/apf6failsafe_defconfig
index c00ef5a..c549f36 100644
--- a/buildroot/configs/apf6failsafe_defconfig
+++ b/buildroot/configs/apf6failsafe_defconfig
@@ -1,12 +1,22 @@
BR2_arm=y
BR2_cortex_a9=y
+BR2_ARM_EABIHF=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_FPU_VFPV3D16=y
BR2_DL_DIR="$(BASE_DIR)/../downloads"
+BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
+BR2_CCACHE=y
+BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
BR2_TOOLCHAIN_EXTERNAL=y
+BR2_ENABLE_LOCALE_PURGE=y
BR2_TARGET_GENERIC_HOSTNAME="apf6"
-BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !"
+BR2_TARGET_GENERIC_ISSUE="Welcome to APF6 rescue/failsafe system !"
BR2_ROOTFS_SKELETON_CUSTOM=y
BR2_ROOTFS_SKELETON_CUSTOM_PATH="$(ARMADEUS_PATH)/rootfs/target_skeleton"
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3"
+BR2_TARGET_TZ_INFO=y
+BR2_TARGET_TZ_ZONELIST="europe"
+BR2_TARGET_LOCALTIME="Europe/Paris"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(ARMADEUS_PATH)/rootfs/post_build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(ARMADEUS_PATH)/rootfs/post_image_creation.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="apf6 imx6"
@@ -17,10 +27,10 @@ BR2_TARGET_ARMADEUS_NR_SDRAM="2"
BR2_TARGET_ARMADEUS_SDRAM_SIZE="512"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.14.28"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.19.8"
BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)failsafe-linux-$(BR2_LINUX_KERNEL_VERSION).config"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apf6dev imx6dl-apf6dev"
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-14 17:45:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 7c17cae198d734c0445c6299a8273c6cb0414cf2 (commit)
from 8d66441dd02856f0856e2836e94f4a52f2d6b0b5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7c17cae198d734c0445c6299a8273c6cb0414cf2
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 14 19:44:56 2015 +0200
[TEST] Add APF6 support to test_wifi.sh
-----------------------------------------------------------------------
Summary of changes:
target/test/test_wifi.sh | 34 +++++++++++++++++++++++++---------
1 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/target/test/test_wifi.sh b/target/test/test_wifi.sh
index e8097de..523af92 100755
--- a/target/test/test_wifi.sh
+++ b/target/test/test_wifi.sh
@@ -3,7 +3,7 @@
#
# Script to test Armadeus Software release
#
-# Copyright (C) 2010-2013 The Armadeus Project - Armadeus systems
+# Copyright (C) 2010-2015 The Armadeus Project - Armadeus systems
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -23,7 +23,7 @@ get_interface_name()
{
if [ "$1" == "APF27" ]; then
WLAN_IF=eth1
- elif [ "$1" == "APF51" ]; then
+ elif [[ "$1" == "APF51" || "$1" == "APF6" ]]; then
WLAN_IF=wlan0
else
echo "Platform not supported by this test"
@@ -31,6 +31,26 @@ get_interface_name()
fi
}
+load_driver()
+{
+ RES=1
+ if [[ "$1" == "APF27" || "$1" == "APF51" ]]; then
+ DRIVER_NAME=Libertas
+ modprobe libertas_sdio
+ RES=$?
+ elif [ "$1" == "APF6" ]; then
+ DRIVER_NAME=WL127x
+ modprobe wl12xx
+ modprobe wlcore_sdio
+ RES=$?
+ sleep 1
+ fi
+ if [ "$RES" != 0 ]; then
+ echo "Failed to load $DRIVER_NAME driver !!"
+ exit_failed
+ fi
+}
+
test_wifi()
{
show_test_banner "Wi-Fi (802.11 b/g)"
@@ -38,17 +58,13 @@ test_wifi()
ask_user "This test assumes that you run a private Wi-Fi network (WEP shared key security). \nYour Access Point (AP) should be connected to your Host. Press ENTER to continue"
if [ "$1" == "" ]; then
- ask_user "Do you have an APW wireless extension board or an APF51Dev ? (Y/n)"
+ ask_user "Do you have an APF27Dev+APW extension or an APF51Dev or an APF6+Wi-Fi? (Y/n)"
if [ "$response" == "n" ] || [ "$response" == "no" ]; then
- echo "Currently, only the APW & the APF51Dev are supported by this test !!"
+ echo "Currently, only the APW, the APF51Dev & the APF6 are supported by this test !!"
exit_failed
fi
- modprobe libertas_sdio
- if [ "$?" != 0 ]; then
- echo "Failed to load Libertas driver !!"
- exit_failed
- fi
+ execute_for_target load_driver
execute_for_target get_interface_name
else
WLAN_IF=$1
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-14 15:56:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 8d66441dd02856f0856e2836e94f4a52f2d6b0b5 (commit)
from ebafae462d155455c97de4c833c402dfc75ce1d0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8d66441dd02856f0856e2836e94f4a52f2d6b0b5
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 14 17:55:59 2015 +0200
[TEST] Add APF6 support to backlight test
-----------------------------------------------------------------------
Summary of changes:
target/test/test_backlight.sh | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/target/test/test_backlight.sh b/target/test/test_backlight.sh
index 0788868..a353e08 100755
--- a/target/test/test_backlight.sh
+++ b/target/test/test_backlight.sh
@@ -40,6 +40,13 @@ load_driver()
LOOP=`seq 1 1 8`
LOOP_DELAY=500000
fi
+ elif [ "$1" == "APF6" ]; then
+ SYS_DIR=/sys/class/backlight/backlight_lcd/
+ min_bright=7
+ mid_bright=4
+ max_bright=0 # inverted polarity
+ LOOP=`seq 1 1 8`
+ LOOP_DELAY=500000
else
echo "Platform not supported by this test"
exit 0
@@ -64,7 +71,9 @@ test_backlight()
fi
fi
current=`cat $SYS_DIR/actual_brightness`
- max_bright=`cat $SYS_DIR/max_brightness`
+ if [ "$max_bright" == "" ]; then
+ max_bright=`cat $SYS_DIR/max_brightness`
+ fi
echo "Current brightness level: $current / $max_bright"
echo $mid_bright > $SYS_DIR/brightness
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-14 14:49:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via ebafae462d155455c97de4c833c402dfc75ce1d0 (commit)
from c9f6dd62e1985b2ae09bd37141220823e7543853 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ebafae462d155455c97de4c833c402dfc75ce1d0
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 14 16:48:37 2015 +0200
[U-BOOT] apf6: fixes DTB directory when booting from external MMC/SD (using Buildroot default DTB dir inside rootfs)
-----------------------------------------------------------------------
Summary of changes:
.../device/armadeus/apf6/apf6-u-boot-2014.07.h | 12 ++++++------
.../device/armadeus/apf6/apf6-u-boot-2015.01.h | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/buildroot/target/device/armadeus/apf6/apf6-u-boot-2014.07.h b/buildroot/target/device/armadeus/apf6/apf6-u-boot-2014.07.h
index 1768023..2784a95 100644
--- a/buildroot/target/device/armadeus/apf6/apf6-u-boot-2014.07.h
+++ b/buildroot/target/device/armadeus/apf6/apf6-u-boot-2014.07.h
@@ -16,7 +16,7 @@
#define CONFIG_SYS_GENERIC_BOARD
#define CONFIG_VERSION_VARIABLE
-#define CONFIG_ENV_VERSION 7
+#define CONFIG_ENV_VERSION 8
#define CONFIG_BOARD_NAME apf6
/* SPL */
@@ -259,7 +259,7 @@
"checknload_firmware=if test ${firmware_autoload} = 1;" \
"then run flash_firmware; else exit; fi;\0" \
"mmcloadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${mmcdir}/${board_name}-linux.bin\0" \
- "mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${mmcdir}/dtbs/${cpu_type}-${fdt_name}.dtb\0" \
+ "mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${mmcdtbdir}/${cpu_type}-${fdt_name}.dtb\0" \
"addipargs=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:" \
"${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
"addmmcargs=setenv bootargs ${bootargs} root=${mmcroot} " \
@@ -267,10 +267,10 @@
"genmmcboot=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs}; " \
"run addmmcargs; " \
"run mmcloadzimage && run mmcloadfdt && bootz ${loadaddr} - ${fdt_addr};\0" \
- "mmcboot=setenv mmcdev 1; setenv mmcpart 1; setenv mmcdir /boot; setenv mmcroot /dev/mmcblk1p1 ro; " \
- "run genmmcboot;\0" \
- "emmcboot=setenv mmcdev 0; setenv mmcpart 1; setenv mmcdir; setenv mmcroot /dev/mmcblk2p2 ro; " \
- "run genmmcboot;\0" \
+ "mmcboot=setenv mmcdev 1; setenv mmcpart 1; setenv mmcdir /boot; setenv mmcdtbdir /boot;" \
+ "setenv mmcroot /dev/mmcblk1p1 ro; run genmmcboot;\0" \
+ "emmcboot=setenv mmcdev 0; setenv mmcpart 1; setenv mmcdir; setenv mmcdtbdir /dtbs;" \
+ "setenv mmcroot /dev/mmcblk2p2 ro; run genmmcboot;\0" \
"addnfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"nfsboot=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs}; " \
diff --git a/buildroot/target/device/armadeus/apf6/apf6-u-boot-2015.01.h b/buildroot/target/device/armadeus/apf6/apf6-u-boot-2015.01.h
index 1768023..2784a95 100644
--- a/buildroot/target/device/armadeus/apf6/apf6-u-boot-2015.01.h
+++ b/buildroot/target/device/armadeus/apf6/apf6-u-boot-2015.01.h
@@ -16,7 +16,7 @@
#define CONFIG_SYS_GENERIC_BOARD
#define CONFIG_VERSION_VARIABLE
-#define CONFIG_ENV_VERSION 7
+#define CONFIG_ENV_VERSION 8
#define CONFIG_BOARD_NAME apf6
/* SPL */
@@ -259,7 +259,7 @@
"checknload_firmware=if test ${firmware_autoload} = 1;" \
"then run flash_firmware; else exit; fi;\0" \
"mmcloadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${mmcdir}/${board_name}-linux.bin\0" \
- "mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${mmcdir}/dtbs/${cpu_type}-${fdt_name}.dtb\0" \
+ "mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${mmcdtbdir}/${cpu_type}-${fdt_name}.dtb\0" \
"addipargs=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:" \
"${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
"addmmcargs=setenv bootargs ${bootargs} root=${mmcroot} " \
@@ -267,10 +267,10 @@
"genmmcboot=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs}; " \
"run addmmcargs; " \
"run mmcloadzimage && run mmcloadfdt && bootz ${loadaddr} - ${fdt_addr};\0" \
- "mmcboot=setenv mmcdev 1; setenv mmcpart 1; setenv mmcdir /boot; setenv mmcroot /dev/mmcblk1p1 ro; " \
- "run genmmcboot;\0" \
- "emmcboot=setenv mmcdev 0; setenv mmcpart 1; setenv mmcdir; setenv mmcroot /dev/mmcblk2p2 ro; " \
- "run genmmcboot;\0" \
+ "mmcboot=setenv mmcdev 1; setenv mmcpart 1; setenv mmcdir /boot; setenv mmcdtbdir /boot;" \
+ "setenv mmcroot /dev/mmcblk1p1 ro; run genmmcboot;\0" \
+ "emmcboot=setenv mmcdev 0; setenv mmcpart 1; setenv mmcdir; setenv mmcdtbdir /dtbs;" \
+ "setenv mmcroot /dev/mmcblk2p2 ro; run genmmcboot;\0" \
"addnfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"nfsboot=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs}; " \
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-14 13:09:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c9f6dd62e1985b2ae09bd37141220823e7543853 (commit)
via d0ce111195c4d7d9c595c97753d8f972f773016c (commit)
from 31615b3651523443c4219cdbd2b2da44e6573b2d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c9f6dd62e1985b2ae09bd37141220823e7543853
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 14 15:05:56 2015 +0200
[BUILDROOT] Beautifying of apf6legacy_defconfig apf6mediacenter_defconfig & apf6xenomai_defconfig
commit d0ce111195c4d7d9c595c97753d8f972f773016c
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jul 14 15:04:47 2015 +0200
[BUILDROOT] apf6_defconfig & apf6test_defconfig: add Linux image in rootfs /boot/ when generating image
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6_defconfig | 3 ++-
buildroot/configs/apf6legacy_defconfig | 2 +-
buildroot/configs/apf6mediacenter_defconfig | 2 +-
buildroot/configs/apf6test_defconfig | 1 +
buildroot/configs/apf6xenomai_defconfig | 2 +-
5 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/buildroot/configs/apf6_defconfig b/buildroot/configs/apf6_defconfig
index 06bd6ec..fda97c4 100644
--- a/buildroot/configs/apf6_defconfig
+++ b/buildroot/configs/apf6_defconfig
@@ -1,9 +1,9 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_ARM_EABIHF=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_FPU_VFPV3D16=y
+BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
@@ -34,6 +34,7 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apf6dev imx6dl-apf6dev"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_BUSYBOX_CONFIG="$(ARMADEUS_PATH)/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_ALSA_UTILS=y
diff --git a/buildroot/configs/apf6legacy_defconfig b/buildroot/configs/apf6legacy_defconfig
index e367a44..c10fd67 100644
--- a/buildroot/configs/apf6legacy_defconfig
+++ b/buildroot/configs/apf6legacy_defconfig
@@ -1,9 +1,9 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_ARM_EABIHF=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_FPU_VFPV3D16=y
+BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
diff --git a/buildroot/configs/apf6mediacenter_defconfig b/buildroot/configs/apf6mediacenter_defconfig
index 97e8c6c..45f170a 100644
--- a/buildroot/configs/apf6mediacenter_defconfig
+++ b/buildroot/configs/apf6mediacenter_defconfig
@@ -1,9 +1,9 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_ARM_EABIHF=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_FPU_VFPV3D16=y
+BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
diff --git a/buildroot/configs/apf6test_defconfig b/buildroot/configs/apf6test_defconfig
index 9c025e9..4407e5c 100644
--- a/buildroot/configs/apf6test_defconfig
+++ b/buildroot/configs/apf6test_defconfig
@@ -34,6 +34,7 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apf6dev imx6dl-apf6dev"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_BUSYBOX_CONFIG="$(ARMADEUS_PATH)/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_DEMOS=y
diff --git a/buildroot/configs/apf6xenomai_defconfig b/buildroot/configs/apf6xenomai_defconfig
index 6dc750b..77572e7 100644
--- a/buildroot/configs/apf6xenomai_defconfig
+++ b/buildroot/configs/apf6xenomai_defconfig
@@ -1,9 +1,9 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_ARM_EABIHF=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_FPU_VFPV3D16=y
+BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-13 14:26:24
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 31615b3651523443c4219cdbd2b2da44e6573b2d (commit)
from d130c6137f78d6f5286d04ae41e615ffc1dc6e25 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 31615b3651523443c4219cdbd2b2da44e6573b2d
Author: Julien Boibessot <jul...@ar...>
Date: Mon Jul 13 16:25:37 2015 +0200
[TESTS] Update some release tests for APF28 mainline kernel
-----------------------------------------------------------------------
Summary of changes:
target/test/test_adc.sh | 15 ++++++++++-----
target/test/test_backlight.sh | 27 +++++++++++++++++++--------
target/test/test_gpio.sh | 8 ++++++--
target/test/test_helpers.sh | 5 ++++-
target/test/test_pwm.sh | 11 ++++++++---
target/test/test_touchscreen.sh | 11 ++++++++---
6 files changed, 55 insertions(+), 22 deletions(-)
diff --git a/target/test/test_adc.sh b/target/test/test_adc.sh
index 9233af6..50b216a 100755
--- a/target/test/test_adc.sh
+++ b/target/test/test_adc.sh
@@ -3,7 +3,7 @@
#
# Script to test Armadeus Software release
#
-# Copyright (C) 2008-2011 The Armadeus Project - ARMadeus Systems
+# Copyright (C) 2008-2015 The Armadeus Project - ARMadeus Systems
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -79,12 +79,17 @@ test_running_as1531()
test_running_lradc()
{
- VALUE=`cat /sys/class/hwmon/hwmon0/device/in0_input`
- if [ "$VALUE" -gt 15 ]; then
+ if [ "$LINUX_VERSION" == "2.6.35" ]; then
+ VALUE0=`cat /sys/class/hwmon/hwmon0/device/in0_input`
+ VALUE1=`cat /sys/class/hwmon/hwmon0/device/in1_input`
+ else
+ VALUE0=`cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw`
+ VALUE1=`cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw`
+ fi
+ if [ "$VALUE0" -gt 15 ]; then
exit_failed
fi
- VALUE=`cat /sys/class/hwmon/hwmon0/device/in1_input`
- if [ "$VALUE" -lt 16 ]; then
+ if [ "$VALUE1" -lt 16 ]; then
exit_failed
fi
return 0
diff --git a/target/test/test_backlight.sh b/target/test/test_backlight.sh
index a94c856..0788868 100755
--- a/target/test/test_backlight.sh
+++ b/target/test/test_backlight.sh
@@ -3,7 +3,7 @@
#
# Script to test Armadeus Software release
#
-# Copyright (C) 2008-2013 The Armadeus Project - Armadeus Systems
+# Copyright (C) 2008-2015 The Armadeus Project - Armadeus Systems
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,12 +14,15 @@
source ./test_helpers.sh
SYS_DIR=/sys/class/backlight/imx-bl
+min_bright=0
+mid_bright=50
+LOOP=`seq 1 5 150`
+LOOP_DELAY=100000
load_driver()
{
- LINUX_VERSION=`uname -r`
if [ "$1" == "APF9328" ] || [ "$1" == "APF27" ]; then
- if [ "$LINUX_VERSION" == "2.6.29.6" ]; then
+ if [ "$LINUX_VERSION" == "2.6.29" ]; then
modprobe imx_bl
else
SYS_DIR=/sys/class/backlight/imxfb-bl
@@ -28,7 +31,15 @@ load_driver()
echo "Not supported yet"
exit 0
elif [ "$1" == "APF28" ]; then
- SYS_DIR=/sys/class/backlight/mxs-bl
+ if [ "$LINUX_VERSION" == "2.6.35" ]; then
+ SYS_DIR=/sys/class/backlight/mxs-bl
+ else
+ SYS_DIR=/sys/class/backlight/backlight
+ min_bright=1
+ mid_bright=4
+ LOOP=`seq 1 1 8`
+ LOOP_DELAY=500000
+ fi
else
echo "Platform not supported by this test"
exit 0
@@ -56,18 +67,18 @@ test_backlight()
max_bright=`cat $SYS_DIR/max_brightness`
echo "Current brightness level: $current / $max_bright"
- echo 50 > $SYS_DIR/brightness
+ echo $mid_bright > $SYS_DIR/brightness
ask_user "Backlight set to MIDDLE, press ENTER"
echo $max_bright > $SYS_DIR/brightness
ask_user "Backlight set to MAX, press ENTER"
- echo 0 > $SYS_DIR/brightness
+ echo $min_bright > $SYS_DIR/brightness
ask_user "Backlight set to MIN, press ENTER"
echo $current > $SYS_DIR/brightness
ask_user "I will now loop through brightness, press ENTER when ready"
- for loop in `seq 1 2 150`; do
+ for loop in $LOOP; do
if [ "$loop" -lt "$max_bright" ]; then
- usleep 100000
+ usleep $LOOP_DELAY
echo $loop > $SYS_DIR/brightness
echo -n "."
fi
diff --git a/target/test/test_gpio.sh b/target/test/test_gpio.sh
index 448be7c..172d4dd 100755
--- a/target/test/test_gpio.sh
+++ b/target/test/test_gpio.sh
@@ -124,7 +124,11 @@ blink_led()
blink_led_gpiolib 2
blink_led_gpioled apfdev\:green\:user
elif [ "$1" == "APF28" ]; then
- blink_led_gpioled apfdev\:green\:user
+ if [ "$LINUX_VERSION" == "2.6.35" ]; then
+ blink_led_gpioled apfdev\:green\:user
+ else
+ blink_led_gpioled Heartbeat
+ fi
else
echo "Platform not supported by this test"
fi
@@ -155,7 +159,7 @@ test_led_gpio()
execute_for_target load_module
- ask_user "I will now blink a LED on your board. Press ENTER to continue"
+ ask_user "I will now blink the User LED on your board at 1Hz. Press ENTER to continue"
execute_for_target blink_led
ask_user "Did you see "$LED_NAME" LED blinking ? (y/N)"
diff --git a/target/test/test_helpers.sh b/target/test/test_helpers.sh
index 186978b..d40494f 100755
--- a/target/test/test_helpers.sh
+++ b/target/test/test_helpers.sh
@@ -3,7 +3,7 @@
#
# Helpers for Armadeus Software release's test scripts
#
-# Copyright (C) 2008-2013 The Armadeus Project
+# Copyright (C) 2008-2015 The Armadeus Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -25,6 +25,9 @@ NORMAL="\033[0;39m"
RED="\033[1;31m"
BOLD="\033[1m"
+LINUX_VERSION=`uname -r | cut -d . -f 1-3`
+LINUX_VERSION_2=`uname -r | cut -d . -f 1-2`
+
echo_red()
{
echo -n -e "$RED""$1""$NORMAL"
diff --git a/target/test/test_pwm.sh b/target/test/test_pwm.sh
index 43f356e..b2fed06 100755
--- a/target/test/test_pwm.sh
+++ b/target/test/test_pwm.sh
@@ -40,7 +40,12 @@ LED so you can't have both\nwith default\
exit_failed
fi
elif [ "$1" == "APF28" ]; then
- SYS_DIR="/sys/class/pwm/pwm4/"
+ if [ "$LINUX_VERSION" == "2.6.35" ]; then
+ SYS_DIR="/sys/class/pwm/pwm4/"
+ else
+ SYS_DIR="/sys/class/pwm/pwmchip0/pwm0"
+ echo 0 > /sys/class/pwm/pwmchip0/export
+ fi
if [ ! -d "$SYS_DIR" ]; then
echo "can't find /sys/ interface"
exit_failed
@@ -81,7 +86,7 @@ prepare_test()
test_pwm_frequency()
{
- if [ "$1" == "APF6" ]; then
+ if [ "$1" == "APF6" ] || [[ "$1" == "APF28" && "$LINUX_VERSION" != "2.6.35" ]]; then
return
fi
ask_user "Press ENTER when ready to check PWM output (frequencies starting at 100Hz)"
@@ -98,7 +103,7 @@ test_pwm_period()
{
UNIT=us
ONE_MHZ=1000000 # us
- if [ "$1" == "APF6" ]; then
+ if [ "$1" == "APF6" ] || [[ "$1" == "APF28" && "$LINUX_VERSION" != "2.6.35" ]]; then
UNIT=ns
ONE_MHZ=1000000000 # ns
echo 1 > $SYS_DIR/enable
diff --git a/target/test/test_touchscreen.sh b/target/test/test_touchscreen.sh
index a22d6c9..5fc2af1 100755
--- a/target/test/test_touchscreen.sh
+++ b/target/test/test_touchscreen.sh
@@ -3,7 +3,7 @@
#
# Script to test Armadeus Software release
#
-# Copyright (C) 2008-2012 The Armadeus Project - Armadeus Systems
+# Copyright (C) 2008-2015 The Armadeus Project - Armadeus Systems
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,8 +27,13 @@ load_driver()
RES="$?"
elif [ "$1" == "APF28" ]; then
# driver is in-kernel/static
- dmesg | grep "MXS touch"
- RES="$?"
+ if [ "$LINUX_VERSION_2" == "2.6" ]; then
+ dmesg | grep "MXS touch"
+ RES="$?"
+ else
+ dmesg | grep "input: mxs-lradc"
+ RES="$?"
+ fi
elif [ "$1" == "APF6" ]; then
# driver is in-kernel/static
grep "SX8674 Touchscreen" $(echo /sys/class/input/event*/device/name)
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-10 08:45:27
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via d130c6137f78d6f5286d04ae41e615ffc1dc6e25 (commit)
via f0b1ae9fa1cd274b1b0be4bd48fb9c2452a2a3e5 (commit)
from c64e8702093dcedce1abc9313f87a18aa03d3673 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d130c6137f78d6f5286d04ae41e615ffc1dc6e25
Author: Julien Boibessot <jul...@ar...>
Date: Fri Jul 10 10:41:35 2015 +0200
[LINUX] APF28: 3.9+: add ext4 + USB mass storage & serial gadget support
commit f0b1ae9fa1cd274b1b0be4bd48fb9c2452a2a3e5
Author: Julien Boibessot <jul...@ar...>
Date: Fri Jul 10 10:40:01 2015 +0200
[BUILDROOT] apf28mainlinetest_defconfig: add madplay
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf28mainlinetest_defconfig | 19 +++++++------------
.../device/armadeus/apf28/apf28-linux-3.19.config | 5 +++++
.../device/armadeus/apf28/apf28-linux-4.0.config | 5 +++++
3 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/buildroot/configs/apf28mainlinetest_defconfig b/buildroot/configs/apf28mainlinetest_defconfig
index 02c8d3a..6cb94ba 100644
--- a/buildroot/configs/apf28mainlinetest_defconfig
+++ b/buildroot/configs/apf28mainlinetest_defconfig
@@ -4,7 +4,6 @@ BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
-BR2_STRIP_sstrip=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.19.8"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19=y
@@ -78,6 +77,7 @@ BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_H264PARSE=y
BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RTPMUX=y
BR2_PACKAGE_GST_PLUGINS_UGLY=y
BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD=y
+BR2_PACKAGE_MADPLAY=y
BR2_PACKAGE_MPLAYER=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_LMBENCH=y
@@ -86,15 +86,15 @@ BR2_PACKAGE_STRACE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_MTD_SUMTOOL=y
+BR2_PACKAGE_DOOM_WAD=y
BR2_PACKAGE_LBREAKOUT2=y
BR2_PACKAGE_OPENTYRIAN=y
-BR2_PACKAGE_DOOM_WAD=y
BR2_PACKAGE_PRBOOM=y
BR2_PACKAGE_SLIDESHOW=y
BR2_PACKAGE_FBDUMP=y
BR2_PACKAGE_FBGRAB=y
-BR2_PACKAGE_FBV=y
BR2_PACKAGE_FB_TEST_APP=y
+BR2_PACKAGE_FBV=y
BR2_PACKAGE_SDL_GFX=y
BR2_PACKAGE_SDL_IMAGE_GIF=y
BR2_PACKAGE_SDL_SOUND=y
@@ -106,15 +106,8 @@ BR2_PACKAGE_INPUT_TOOLS=y
# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set
# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set
BR2_PACKAGE_UBOOT_TOOLS=y
-BR2_PACKAGE_LIBV4L=y
-BR2_PACKAGE_LIBV4L_UTILS=y
-# BR 2013.11:
-#BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE=y
-#BR2_PACKAGE_LIBV4L_V4L2_DBG=y
BR2_PACKAGE_LUA=y
BR2_PACKAGE_LUA_READLINE=y
-# BR 2013.11:
-#BR2_PACKAGE_LUA_INTERPRETER_READLINE
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_READLINE=y
BR2_PACKAGE_PYTHON_PYGAME=y
@@ -125,6 +118,8 @@ BR2_PACKAGE_PYTHON_PYGAME_MIXER_MUSIC=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_SPEEX=y
BR2_PACKAGE_LIBUSB=y
+BR2_PACKAGE_LIBV4L=y
+BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_TSLIB=y
BR2_PACKAGE_LIBXML2=y
BR2_PACKAGE_BLUEZ_UTILS=y
@@ -145,11 +140,11 @@ BR2_PACKAGE_PPPD=y
BR2_PACKAGE_TCPDUMP=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
-BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
-BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_IEEE80211W=y
BR2_PACKAGE_NANO=y
BR2_TARGET_ROOTFS_UBIFS=y
diff --git a/buildroot/target/device/armadeus/apf28/apf28-linux-3.19.config b/buildroot/target/device/armadeus/apf28/apf28-linux-3.19.config
index 4d19500..384cd11 100644
--- a/buildroot/target/device/armadeus/apf28/apf28-linux-3.19.config
+++ b/buildroot/target/device/armadeus/apf28/apf28-linux-3.19.config
@@ -133,6 +133,8 @@ CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
CONFIG_MMC=y
CONFIG_MMC_MXS=y
CONFIG_NEW_LEDS=y
@@ -161,6 +163,9 @@ CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
CONFIG_AUTOFS4_FS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
diff --git a/buildroot/target/device/armadeus/apf28/apf28-linux-4.0.config b/buildroot/target/device/armadeus/apf28/apf28-linux-4.0.config
index 4d19500..384cd11 100644
--- a/buildroot/target/device/armadeus/apf28/apf28-linux-4.0.config
+++ b/buildroot/target/device/armadeus/apf28/apf28-linux-4.0.config
@@ -133,6 +133,8 @@ CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
CONFIG_MMC=y
CONFIG_MMC_MXS=y
CONFIG_NEW_LEDS=y
@@ -161,6 +163,9 @@ CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
CONFIG_AUTOFS4_FS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
hooks/post-receive
--
armadeus
|
|
From: Sébastien S. <ss...@us...> - 2015-07-08 15:59:21
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c64e8702093dcedce1abc9313f87a18aa03d3673 (commit)
from bbd5569323727cce58b99cd571db91e68be1b3e4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c64e8702093dcedce1abc9313f87a18aa03d3673
Author: Sébastien Szymanski <seb...@ar...>
Date: Wed Jul 8 18:03:00 2015 +0200
[BUILDROOT] 2015.02: owfs: bump to latest version
-----------------------------------------------------------------------
Summary of changes:
.../2015.02/006-armadeus-add-owfs-package.patch | 18 +++++++++---------
patches/buildroot/2015.02/cleanup_buildroot.sh | 1 +
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/patches/buildroot/2015.02/006-armadeus-add-owfs-package.patch b/patches/buildroot/2015.02/006-armadeus-add-owfs-package.patch
index 09209ee..6b9be5f 100644
--- a/patches/buildroot/2015.02/006-armadeus-add-owfs-package.patch
+++ b/patches/buildroot/2015.02/006-armadeus-add-owfs-package.patch
@@ -28,9 +28,9 @@ Index: buildroot/package/owfs/owfs.mk
+###############################################################################
+
+OWFS_SITE = http://downloads.sourceforge.net/owfs/
-+OWFS_VERSION = 2.9p2
++OWFS_VERSION = 3.1p0
+OWFS_DEPENDENCIES = libfuse
-+OWFS_CONF_OPTS += --disable-owhttpd --disable-owftpd --disable-swig
++OWFS_CONF_OPTS += --disable-swig
+OWFS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
@@ -45,11 +45,11 @@ Index: buildroot/package/Config.in
===================================================================
--- buildroot.orig/package/Config.in
+++ buildroot/package/Config.in
-@@ -353,6 +353,7 @@ endif
- source "package/open2300/Config.in"
- source "package/openocd/Config.in"
- source "package/openpowerlink/Config.in"
+@@ -357,6 +357,7 @@ endif
+ source "package/open2300/Config.in"
+ source "package/openocd/Config.in"
+ source "package/openpowerlink/Config.in"
+ source "package/owfs/Config.in"
- source "package/owl-linux/Config.in"
- source "package/parted/Config.in"
- source "package/pciutils/Config.in"
+ source "package/owl-linux/Config.in"
+ source "package/parted/Config.in"
+ source "package/pciutils/Config.in"
diff --git a/patches/buildroot/2015.02/cleanup_buildroot.sh b/patches/buildroot/2015.02/cleanup_buildroot.sh
index d99a8e5..25de5b5 100755
--- a/patches/buildroot/2015.02/cleanup_buildroot.sh
+++ b/patches/buildroot/2015.02/cleanup_buildroot.sh
@@ -81,6 +81,7 @@ rm -rf buildroot/package/marble/marble.mk
rm -rf buildroot/package/matiec/Config.in
rm -rf buildroot/package/matiec/host-matiec-001-fix_bison_compilation_error.patch
rm -rf buildroot/package/matiec/matiec.mk
+rm -rf buildroot/package/mmc-utils/mmc-utils.mk
rm -rf buildroot/package/mplayer/mplayer-1.0rc2-add_pld_asm_inst_for_non_armv5_arch.patch
rm -rf buildroot/package/multimedia/fsl-mm-codeclib/fsl-mm-codeclib.mk
rm -rf buildroot/package/ncurses/ncurses-5.7-allows_build_with_old_ncurses_host_installation.patch
hooks/post-receive
--
armadeus
|
|
From: Sébastien S. <ss...@us...> - 2015-07-08 11:59:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via bbd5569323727cce58b99cd571db91e68be1b3e4 (commit)
from 1d17a4a08849cd8812d338b116bc3a7296c94cc3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bbd5569323727cce58b99cd571db91e68be1b3e4
Author: Sébastien Szymanski <seb...@ar...>
Date: Wed Jul 8 14:05:35 2015 +0200
[LINUX] 3.19/4.0: apf28: add Tianma TM035 support
-----------------------------------------------------------------------
Summary of changes:
.../3.19/0420-armadeus-Improve-apf28dev-dts.patch | 72 ++++++++++++++++---
.../3.19/0421-armadeus-mxsfb-red-blue-fix.patch | 43 ++++++++++++
.../4.0/0420-armadeus-Improve-apf28dev-dts.patch | 72 ++++++++++++++++---
.../4.0/0421-armadeus-mxsfb-red-blue-fix.patch | 43 ++++++++++++
4 files changed, 206 insertions(+), 24 deletions(-)
create mode 100644 patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
create mode 100644 patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
diff --git a/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch b/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
index 72a4e0c..6c29d62 100644
--- a/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
+++ b/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
@@ -1,11 +1,11 @@
Remaining Armadeus tweaks for APF28Dev device tree.
---
-Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
+Index: linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
===================================================================
---- linux-3.18.2.orig/arch/arm/boot/dts/imx28-apf28dev.dts
-+++ linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
-@@ -77,6 +77,15 @@
+--- linux-3.19.8.orig/arch/arm/boot/dts/imx28-apf28dev.dts
++++ linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
+@@ -77,22 +77,35 @@
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
@@ -21,21 +21,69 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
lcdif@80030000 {
-@@ -110,6 +119,13 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcdif_16bit_pins_a
+ &lcdif_pins_apf28dev>;
+- display = <&display0>;
++ display = <&st0700>;
++ /*
++ * To use the Tianma TM035 LCD comment the line above
++ * and uncomment the line below.
++ */
++ //display = <&tm035>;
+ status = "okay";
+
+- display0: display0 {
++ st0700: st0700 {
+ bits-per-pixel = <16>;
+ bus-width = <16>;
+
+ display-timings {
+- native-mode = <&timing0>;
+- timing0: timing0 {
++ timing {
+ clock-frequency = <33000033>;
+ hactive = <800>;
+ vactive = <480>;
+@@ -109,6 +122,37 @@
+ };
};
};
- };
++
++ tm035: tm035 {
++ bits-per-pixel = <16>;
++ bus-width = <16>;
++ red-blue-fix;
++
++ display-timings {
++ timing {
++ clock-frequency = <28000000>;
++ hactive = <320>;
++ vactive = <240>;
++ hback-porch = <10>;
++ hfront-porch = <15>;
++ vback-porch = <9>;
++ vfront-porch = <4>;
++ hsync-len = <60>;
++ vsync-len = <4>;
++ hsync-active = <0>;
++ vsync-active = <0>;
++ de-active = <0>;
++ pixelclk-active = <1>;
++ };
++ };
++ };
++ };
+
+ can0: can@80032000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins_a>;
+ xceiver-supply = <®_can0_vcc>;
+ status = "okay";
-+ };
+ };
};
- apbx@80040000 {
-@@ -130,6 +146,13 @@
+@@ -130,6 +174,13 @@
status = "okay";
};
@@ -49,7 +97,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
usbphy0: usbphy@8007c000 {
status = "okay";
};
-@@ -143,7 +166,8 @@
+@@ -143,7 +194,8 @@
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
@@ -59,7 +107,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
vbus-supply = <®_usb0_vbus>;
status = "okay";
};
-@@ -175,6 +199,14 @@
+@@ -175,6 +227,14 @@
gpio = <&gpio1 23 1>;
enable-active-high;
};
@@ -74,7 +122,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
leds {
-@@ -202,6 +234,7 @@
+@@ -202,6 +262,7 @@
label = "User button";
gpios = <&gpio0 17 0>;
linux,code = <0x100>;
diff --git a/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch b/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
new file mode 100644
index 0000000..bbdbc69
--- /dev/null
+++ b/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
@@ -0,0 +1,43 @@
+Add option to handle red / blue inversion on apf28
+
+Signed-off-by: Sébastien Szymanski <seb...@ar...>
+Index: linux-3.19.8/drivers/video/fbdev/mxsfb.c
+===================================================================
+--- linux-3.19.8.orig/drivers/video/fbdev/mxsfb.c
++++ linux-3.19.8/drivers/video/fbdev/mxsfb.c
+@@ -182,6 +182,7 @@ struct mxsfb_info {
+ const struct mxsfb_devdata *devdata;
+ u32 sync;
+ struct regulator *reg_lcd;
++ bool red_blue_fix;
+ };
+
+ #define mxsfb_is_v3(host) (host->devdata->ipversion == 3)
+@@ -308,9 +309,16 @@ static int mxsfb_check_var(struct fb_var
+ * Copy the RGB parameters for this display
+ * from the machine specific parameters.
+ */
+- var->red = rgb[RED];
++
++ if (host->red_blue_fix) {
++ var->red = rgb[BLUE];
++ var->blue = rgb[RED];
++ } else {
++ var->red = rgb[RED];
++ var->blue = rgb[BLUE];
++ }
++
+ var->green = rgb[GREEN];
+- var->blue = rgb[BLUE];
+ var->transp = rgb[TRANSP];
+
+ return 0;
+@@ -742,6 +750,8 @@ static int mxsfb_init_fbinfo_dt(struct m
+ goto put_display_node;
+ }
+
++ host->red_blue_fix = of_property_read_bool(display_np, "red-blue-fix");
++
+ ret = of_get_videomode(display_np, &vm, OF_USE_NATIVE_MODE);
+ if (ret) {
+ dev_err(dev, "failed to get videomode from DT\n");
diff --git a/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch b/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
index 72a4e0c..6c29d62 100644
--- a/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
+++ b/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
@@ -1,11 +1,11 @@
Remaining Armadeus tweaks for APF28Dev device tree.
---
-Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
+Index: linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
===================================================================
---- linux-3.18.2.orig/arch/arm/boot/dts/imx28-apf28dev.dts
-+++ linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
-@@ -77,6 +77,15 @@
+--- linux-3.19.8.orig/arch/arm/boot/dts/imx28-apf28dev.dts
++++ linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
+@@ -77,22 +77,35 @@
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
@@ -21,21 +21,69 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
lcdif@80030000 {
-@@ -110,6 +119,13 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcdif_16bit_pins_a
+ &lcdif_pins_apf28dev>;
+- display = <&display0>;
++ display = <&st0700>;
++ /*
++ * To use the Tianma TM035 LCD comment the line above
++ * and uncomment the line below.
++ */
++ //display = <&tm035>;
+ status = "okay";
+
+- display0: display0 {
++ st0700: st0700 {
+ bits-per-pixel = <16>;
+ bus-width = <16>;
+
+ display-timings {
+- native-mode = <&timing0>;
+- timing0: timing0 {
++ timing {
+ clock-frequency = <33000033>;
+ hactive = <800>;
+ vactive = <480>;
+@@ -109,6 +122,37 @@
+ };
};
};
- };
++
++ tm035: tm035 {
++ bits-per-pixel = <16>;
++ bus-width = <16>;
++ red-blue-fix;
++
++ display-timings {
++ timing {
++ clock-frequency = <28000000>;
++ hactive = <320>;
++ vactive = <240>;
++ hback-porch = <10>;
++ hfront-porch = <15>;
++ vback-porch = <9>;
++ vfront-porch = <4>;
++ hsync-len = <60>;
++ vsync-len = <4>;
++ hsync-active = <0>;
++ vsync-active = <0>;
++ de-active = <0>;
++ pixelclk-active = <1>;
++ };
++ };
++ };
++ };
+
+ can0: can@80032000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins_a>;
+ xceiver-supply = <®_can0_vcc>;
+ status = "okay";
-+ };
+ };
};
- apbx@80040000 {
-@@ -130,6 +146,13 @@
+@@ -130,6 +174,13 @@
status = "okay";
};
@@ -49,7 +97,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
usbphy0: usbphy@8007c000 {
status = "okay";
};
-@@ -143,7 +166,8 @@
+@@ -143,7 +194,8 @@
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
@@ -59,7 +107,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
vbus-supply = <®_usb0_vbus>;
status = "okay";
};
-@@ -175,6 +199,14 @@
+@@ -175,6 +227,14 @@
gpio = <&gpio1 23 1>;
enable-active-high;
};
@@ -74,7 +122,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
leds {
-@@ -202,6 +234,7 @@
+@@ -202,6 +262,7 @@
label = "User button";
gpios = <&gpio0 17 0>;
linux,code = <0x100>;
diff --git a/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch b/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
new file mode 100644
index 0000000..bbdbc69
--- /dev/null
+++ b/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
@@ -0,0 +1,43 @@
+Add option to handle red / blue inversion on apf28
+
+Signed-off-by: Sébastien Szymanski <seb...@ar...>
+Index: linux-3.19.8/drivers/video/fbdev/mxsfb.c
+===================================================================
+--- linux-3.19.8.orig/drivers/video/fbdev/mxsfb.c
++++ linux-3.19.8/drivers/video/fbdev/mxsfb.c
+@@ -182,6 +182,7 @@ struct mxsfb_info {
+ const struct mxsfb_devdata *devdata;
+ u32 sync;
+ struct regulator *reg_lcd;
++ bool red_blue_fix;
+ };
+
+ #define mxsfb_is_v3(host) (host->devdata->ipversion == 3)
+@@ -308,9 +309,16 @@ static int mxsfb_check_var(struct fb_var
+ * Copy the RGB parameters for this display
+ * from the machine specific parameters.
+ */
+- var->red = rgb[RED];
++
++ if (host->red_blue_fix) {
++ var->red = rgb[BLUE];
++ var->blue = rgb[RED];
++ } else {
++ var->red = rgb[RED];
++ var->blue = rgb[BLUE];
++ }
++
+ var->green = rgb[GREEN];
+- var->blue = rgb[BLUE];
+ var->transp = rgb[TRANSP];
+
+ return 0;
+@@ -742,6 +750,8 @@ static int mxsfb_init_fbinfo_dt(struct m
+ goto put_display_node;
+ }
+
++ host->red_blue_fix = of_property_read_bool(display_np, "red-blue-fix");
++
+ ret = of_get_videomode(display_np, &vm, OF_USE_NATIVE_MODE);
+ if (ret) {
+ dev_err(dev, "failed to get videomode from DT\n");
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-07-08 10:42:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 1d17a4a08849cd8812d338b116bc3a7296c94cc3 (commit)
from 300c86a22db39e16a9c505a351e20c6afbd626bc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1d17a4a08849cd8812d338b116bc3a7296c94cc3
Author: Julien Boibessot <jul...@ar...>
Date: Wed Jul 8 12:39:07 2015 +0200
[BUILDROOT] Add new APF28 defconfig: apf28mainlinetest (release tests with mainline kernel)
-----------------------------------------------------------------------
Summary of changes:
...8test_defconfig => apf28mainlinetest_defconfig} | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
copy buildroot/configs/{apf28test_defconfig => apf28mainlinetest_defconfig} (90%)
diff --git a/buildroot/configs/apf28test_defconfig b/buildroot/configs/apf28mainlinetest_defconfig
similarity index 90%
copy from buildroot/configs/apf28test_defconfig
copy to buildroot/configs/apf28mainlinetest_defconfig
index a97b457..02c8d3a 100644
--- a/buildroot/configs/apf28test_defconfig
+++ b/buildroot/configs/apf28mainlinetest_defconfig
@@ -6,7 +6,8 @@ BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
BR2_STRIP_sstrip=y
BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="2.6.35.3"
+BR2_DEFAULT_KERNEL_VERSION="3.19.8"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19=y
BR2_UCLIBC_CONFIG="target/device/armadeus/uClibc-$(BR2_UCLIBC_VERSION_STRING).config"
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
@@ -26,7 +27,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
BR2_ROOTFS_DEVICE_TABLE="$(ARMADEUS_PATH)/rootfs/device_table.txt"
BR2_ROOTFS_SKELETON_CUSTOM=y
BR2_ROOTFS_SKELETON_CUSTOM_PATH="$(ARMADEUS_PATH)/rootfs/target_skeleton"
-BR2_TARGET_GENERIC_GETTY_PORT="ttyAM0"
+BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(ARMADEUS_PATH)/rootfs/post_build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(ARMADEUS_PATH)/rootfs/post_image_creation.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="apf28 imx28"
@@ -36,10 +37,13 @@ BR2_CPU_NAME="imx28"
BR2_TARGET_ARMADEUS_SDRAM_SIZE="128"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.35.3"
-BR2_LINUX_KERNEL_PATCH="ftp://ftp2.armadeus.com/armadeusw/linux-2.6.35.3-imx_10.12.01.patch.tar.gz ftp://ftp2.armadeus.com/armadeusw/patches_for_L2.6.35_MX28_SDK_10.12_SOURCE.tar.gz ftp://ftp2.armadeus.com/armadeusw/L2.6.35_10.12_EMI_FREQ_PATCH_UP.tar.gz ftp://ftp2.armadeus.com/armadeusw/MX28-FEC-PROBLEM-PATCH.tar.gz ftp://ftp2.armadeus.com/armadeusw/linux-2.6.35.3-imx_11.09.01.patch.tar.gz ../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.19.8"
+BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="40008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-apf28dev"
BR2_PACKAGE_BUSYBOX_CONFIG="$(ARMADEUS_PATH)/busybox.config"
BR2_PACKAGE_AS_DEVICES=y
BR2_PACKAGE_AS_DEVICES_TESTS=y
@@ -159,7 +163,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01"
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="../patches/u-boot/2015.01"
BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
-BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-u-boot-2015.01.h"
+BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)mainline-u-boot-2015.01.h"
BR2_TARGET_UBOOT_FORMAT_SB=y
BR2_TARGET_UBOOT_NETWORK=y
BR2_TARGET_UBOOT_SERVERIP="192.168.0.2"
hooks/post-receive
--
armadeus
|
|
From: Sébastien S. <ss...@us...> - 2015-06-29 15:47:00
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 300c86a22db39e16a9c505a351e20c6afbd626bc (commit)
from f6923c2d2c066ccf85812e99e1da914251a364e3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 300c86a22db39e16a9c505a351e20c6afbd626bc
Author: Sébastien Szymanski <seb...@ar...>
Date: Mon Jun 29 17:52:18 2015 +0200
[DEMOS] pcie_msi: use Armadeus vars
-----------------------------------------------------------------------
Summary of changes:
target/demos/pcie_msi/Makefile | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/target/demos/pcie_msi/Makefile b/target/demos/pcie_msi/Makefile
index c4f3984..8edcbc3 100644
--- a/target/demos/pcie_msi/Makefile
+++ b/target/demos/pcie_msi/Makefile
@@ -5,17 +5,18 @@ obj-m += pcie_msi.o
else
-PWD := $(shell pwd)
+PWD = $(shell pwd)
-BSP_APF6_BROUTPUT := $(PWD)/../../../buildroot/output/
+ARMADEUS_BASE_DIR=$(PWD)/../../..
+-include $(ARMADEUS_BASE_DIR)/Makefile.in
-CC = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-gcc
-LD = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-ld
-OBJDUMP = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-objdump
-KDIR := $(BSP_APF6_BROUTPUT)build/linux-3.19.3/
+CC = $(ARMADEUS_TOOLCHAIN_PATH)/$(ARMADEUS_TOOLCHAIN_PREFIX)gcc
+LD = $(ARMADEUS_TOOLCHAIN_PATH)/$(ARMADEUS_TOOLCHAIN_PREFIX)ld
+OBJDUMP = $(ARMADEUS_TOOLCHAIN_PATH)/$(ARMADEUS_TOOLCHAIN_PREFIX)objdump
+KDIR = $(ARMADEUS_LINUX_DIR)
default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=arm-linux- modules CC=$(CC) LD=$(LD) OBJDUMP=$(OBJDUMP)
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=$(ARMADEUS_TOOLCHAIN_PREFIX) modules CC=$(CC) LD=$(LD) OBJDUMP=$(OBJDUMP)
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2015-06-25 07:03:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via f6923c2d2c066ccf85812e99e1da914251a364e3 (commit)
via f976f3f884de894763222806f73a9ff5b1e064f0 (commit)
from c0febd24b54a688f8993333d46a7229c34f8700b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f6923c2d2c066ccf85812e99e1da914251a364e3
Author: Fabien Marteau <fab...@ar...>
Date: Thu Jun 25 08:58:31 2015 +0200
[TOOLS][APF6]apf6_recovery.py: python nitpicks
commit f976f3f884de894763222806f73a9ff5b1e064f0
Author: Fabien Marteau <fab...@ar...>
Date: Thu Jun 25 08:57:21 2015 +0200
[DEMOS][APF6SP][DRIVER] Adding a simple demo driver for MSI interrupt with PCIe
-----------------------------------------------------------------------
Summary of changes:
software/uboot_recover/apf6_recovery.py | 5 +-
target/demos/pcie_msi/Makefile | 26 +++++++++++
target/demos/pcie_msi/pcie_msi.c | 73 +++++++++++++++++++++++++++++++
target/demos/pcie_msi/readme.txt | 8 +++
4 files changed, 110 insertions(+), 2 deletions(-)
create mode 100644 target/demos/pcie_msi/Makefile
create mode 100644 target/demos/pcie_msi/pcie_msi.c
create mode 100644 target/demos/pcie_msi/readme.txt
diff --git a/software/uboot_recover/apf6_recovery.py b/software/uboot_recover/apf6_recovery.py
index bcdc6ee..395ec34 100644
--- a/software/uboot_recover/apf6_recovery.py
+++ b/software/uboot_recover/apf6_recovery.py
@@ -30,7 +30,8 @@ import time
from helpers import color
-class UBoot:
+
+class UBoot(object):
def __init__(self, serial):
self.serial = serial
@@ -50,7 +51,7 @@ class UBoot:
return self.__getOutput(r'C')
def resetEnv(self, save=True):
- if save == False:
+ if save is False:
self.serial.write("env default -f -a\n")
else:
self.serial.write("run flash_reset_env\n")
diff --git a/target/demos/pcie_msi/Makefile b/target/demos/pcie_msi/Makefile
new file mode 100644
index 0000000..c4f3984
--- /dev/null
+++ b/target/demos/pcie_msi/Makefile
@@ -0,0 +1,26 @@
+# Part executed when called from kernel build system:
+ifneq ($(KERNELRELEASE),)
+
+obj-m += pcie_msi.o
+
+else
+
+PWD := $(shell pwd)
+
+BSP_APF6_BROUTPUT := $(PWD)/../../../buildroot/output/
+
+CC = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-gcc
+LD = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-ld
+OBJDUMP = $(BSP_APF6_BROUTPUT)host/usr/bin/arm-linux-gnueabihf-objdump
+KDIR := $(BSP_APF6_BROUTPUT)build/linux-3.19.3/
+
+default:
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=arm-linux- modules CC=$(CC) LD=$(LD) OBJDUMP=$(OBJDUMP)
+
+clean:
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
+ rm -f modules.order
+ rm -rf .tmp_versions/
+ rm -f Module.markers
+
+endif
diff --git a/target/demos/pcie_msi/pcie_msi.c b/target/demos/pcie_msi/pcie_msi.c
new file mode 100644
index 0000000..dbf1bb0
--- /dev/null
+++ b/target/demos/pcie_msi/pcie_msi.c
@@ -0,0 +1,73 @@
+/*
+ * pcie_msi.c - Driver to register an MSI interrupt in kernel
+ *
+ * Copyright 2015 Fabien Marteau fab...@ar...
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/pci.h>
+#include <linux/interrupt.h>
+#include <linux/device.h>
+
+#define DRV_NAME "pcie_msi"
+#define DRV_VERSION "0.1"
+
+static irqreturn_t interrupt_msi(int irq, void *data)
+{
+ printk("msi %d\n", irq);
+ return IRQ_HANDLED;
+}
+
+static int msi_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+{
+ int ret = -EAGAIN;
+ int msi_num = 0;
+
+ /* acquire resources */
+ ret = pcim_enable_device(pdev);
+ if (ret)
+ return ret;
+ /* Set up a single MSI interrupt */
+ msi_num = pci_enable_msi_range(pdev, 1, 4);
+ if (msi_num) {
+ ret = request_irq(pdev->irq, interrupt_msi, 0, "test_msi_pcie", NULL);
+ if(ret) {
+ printk("can't request msi interrupt\n");
+ pci_disable_msi(pdev);
+ }
+
+ }
+ printk("%d: %d msi registered\n", pdev->irq, msi_num);
+
+ pci_set_master(pdev);
+
+ return 0;
+}
+
+static void msi_remove(struct pci_dev *pdev)
+{
+ pci_clear_master(pdev);
+ free_irq(pdev->irq, NULL);
+ pci_disable_msi(pdev);
+ pci_disable_device(pdev);
+}
+
+static const struct pci_device_id msi_pci_tbl[] = {
+ { PCI_DEVICE(0x1172, 0xE001), 0},
+ {}
+};
+
+static struct pci_driver msi_pci_driver = {
+ .name = DRV_NAME,
+ .id_table = msi_pci_tbl,
+ .probe = msi_probe,
+ .remove = msi_remove,
+};
+
+module_pci_driver(msi_pci_driver);
+MODULE_AUTHOR("Fabien Marteau");
+MODULE_DESCRIPTION("Register an MSI interrupt");
+MODULE_LICENSE("GPL");
+MODULE_DEVICE_TABLE(pci, msi_pci_tbl);
diff --git a/target/demos/pcie_msi/readme.txt b/target/demos/pcie_msi/readme.txt
new file mode 100644
index 0000000..abe0245
--- /dev/null
+++ b/target/demos/pcie_msi/readme.txt
@@ -0,0 +1,8 @@
+Simple module example to register a MSI interrupt
+=================================================
+
+To compile it, compile your BSP before, and do :
+
+ $ make
+
+in this directory
hooks/post-receive
--
armadeus
|
|
From: Sébastien S. <ss...@us...> - 2015-06-24 08:50:41
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c0febd24b54a688f8993333d46a7229c34f8700b (commit)
from 64b985fc4e74085def70166567bf6028ccadebe1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c0febd24b54a688f8993333d46a7229c34f8700b
Author: Sébastien Szymanski <seb...@ar...>
Date: Wed Jun 24 10:55:50 2015 +0200
[BUILDROOT] openssl: bump to version 1.0.2c
Patches come from upstream.
-----------------------------------------------------------------------
Summary of changes:
...-openssl-security-bump-to-version-1.0.2a.patch} | 0
...b-openssl-security-bump-to-version-1.0.2b.patch | 82 ++++++++++++++++++++
.../2015.02/224-c-bump-to-version-1.0.2c.patch | 43 ++++++++++
3 files changed, 125 insertions(+), 0 deletions(-)
rename patches/buildroot/2015.02/{224-openssl-security-bump-to-version-1.0.2a.patch => 224-a-openssl-security-bump-to-version-1.0.2a.patch} (100%)
create mode 100644 patches/buildroot/2015.02/224-b-openssl-security-bump-to-version-1.0.2b.patch
create mode 100644 patches/buildroot/2015.02/224-c-bump-to-version-1.0.2c.patch
diff --git a/patches/buildroot/2015.02/224-openssl-security-bump-to-version-1.0.2a.patch b/patches/buildroot/2015.02/224-a-openssl-security-bump-to-version-1.0.2a.patch
similarity index 100%
rename from patches/buildroot/2015.02/224-openssl-security-bump-to-version-1.0.2a.patch
rename to patches/buildroot/2015.02/224-a-openssl-security-bump-to-version-1.0.2a.patch
diff --git a/patches/buildroot/2015.02/224-b-openssl-security-bump-to-version-1.0.2b.patch b/patches/buildroot/2015.02/224-b-openssl-security-bump-to-version-1.0.2b.patch
new file mode 100644
index 0000000..867d8a1
--- /dev/null
+++ b/patches/buildroot/2015.02/224-b-openssl-security-bump-to-version-1.0.2b.patch
@@ -0,0 +1,82 @@
+From 53c8d64c08028f0057965a436707c1422c6fd331 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gu...@za...>
+Date: Fri, 12 Jun 2015 08:35:59 -0300
+Subject: [PATCH 1/2] openssl: security bump to version 1.0.2b
+
+CVE-2015-1790 - PKCS7 crash with missing EnvelopedContent
+CVE-2015-1789 - Exploitable out-of-bounds read in X509_cmp_time
+CVE-2015-1788 - Malformed ECParameters causes infinite loop
+CVE-2015-1792 - CMS verify infinite loop with unknown hash function
+CVE-2015-1791 - Race condition handling NewSessionTicket
+
+Signed-off-by: Gustavo Zacarias <gu...@za...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+ ...-match-commands-starting-with-minus-inste.patch | 27 ----------------------
+ package/openssl/openssl.hash | 8 +++----
+ package/openssl/openssl.mk | 2 +-
+ 3 files changed, 5 insertions(+), 32 deletions(-)
+ delete mode 100644 package/openssl/005-Make-c_rehash-match-commands-starting-with-minus-inste.patch
+
+diff --git a/package/openssl/005-Make-c_rehash-match-commands-starting-with-minus-inste.patch b/package/openssl/005-Make-c_rehash-match-commands-starting-with-minus-inste.patch
+deleted file mode 100644
+index 5db95d6..0000000
+--- a/package/openssl/005-Make-c_rehash-match-commands-starting-with-minus-inste.patch
++++ /dev/null
+@@ -1,27 +0,0 @@
+-From 079cae9d7628f16b9efdf5723d2bfae5bdc2ba4e Mon Sep 17 00:00:00 2001
+-From: Gustavo Zacarias <gu...@za...>
+-Date: Tue, 27 Jan 2015 18:27:32 -0300
+-Subject: [PATCH] Make c_rehash match commands starting with - (minus) instead
+- of minus in any starting position, otherwise a directory named a-b breaks it
+-
+-Signed-off-by: Gustavo Zacarias <gu...@za...>
+----
+- tools/c_rehash.in | 2 +-
+- 1 file changed, 1 insertion(+), 1 deletion(-)
+-
+-diff --git a/tools/c_rehash.in b/tools/c_rehash.in
+-index 887e927..1df2fab 100644
+---- a/tools/c_rehash.in
+-+++ b/tools/c_rehash.in
+-@@ -15,7 +15,7 @@ my $symlink_exists=eval {symlink("",""); 1};
+- my $removelinks = 1;
+-
+- ## Parse flags.
+--while ( $ARGV[0] =~ '-.*' ) {
+-+while ( $ARGV[0] =~ '^-.*' ) {
+- my $flag = shift @ARGV;
+- last if ( $flag eq '--');
+- if ( $flag =~ /-old/) {
+---
+-2.0.5
+-
+diff --git a/package/openssl/openssl.hash b/package/openssl/openssl.hash
+index c9987fc..673f99f 100644
+--- a/package/openssl/openssl.hash
++++ b/package/openssl/openssl.hash
+@@ -1,4 +1,4 @@
+-# From https://www.openssl.org/source/openssl-1.0.2a.tar.gz.md5
+-# From https://www.openssl.org/source/openssl-1.0.2a.tar.gz.sha1
+-md5 a06c547dac9044161a477211049f60ef openssl-1.0.2a.tar.gz
+-sha1 46ecd325b8e587fa491f6bb02ad4a9fb9f382f5f openssl-1.0.2a.tar.gz
++# From https://www.openssl.org/source/openssl-1.0.2b.tar.gz.md5
++# From https://www.openssl.org/source/openssl-1.0.2b.tar.gz.sha1
++md5 7729b259e2dea7d60b32fc3934d6984b openssl-1.0.2b.tar.gz
++sha1 9006e53ca56a14d041e3875320eedfa63d82aba7 openssl-1.0.2b.tar.gz
+diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
+index f90c811..8051a9b 100644
+--- a/package/openssl/openssl.mk
++++ b/package/openssl/openssl.mk
+@@ -4,7 +4,7 @@
+ #
+ ################################################################################
+
+-OPENSSL_VERSION = 1.0.2a
++OPENSSL_VERSION = 1.0.2b
+ OPENSSL_SITE = http://www.openssl.org/source
+ OPENSSL_LICENSE = OpenSSL or SSLeay
+ OPENSSL_LICENSE_FILES = LICENSE
+--
+2.3.6
+
diff --git a/patches/buildroot/2015.02/224-c-bump-to-version-1.0.2c.patch b/patches/buildroot/2015.02/224-c-bump-to-version-1.0.2c.patch
new file mode 100644
index 0000000..45e073f
--- /dev/null
+++ b/patches/buildroot/2015.02/224-c-bump-to-version-1.0.2c.patch
@@ -0,0 +1,43 @@
+From e4f2d3b12acf9f056d6cbbfab2e60c14f755bb88 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gu...@za...>
+Date: Fri, 12 Jun 2015 16:44:31 -0300
+Subject: [PATCH 2/2] openssl: bump to version 1.0.2c
+
+Fixes HMAC ABI breakage from 1.0.2b
+
+Signed-off-by: Gustavo Zacarias <gu...@za...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+ package/openssl/openssl.hash | 8 ++++----
+ package/openssl/openssl.mk | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/package/openssl/openssl.hash b/package/openssl/openssl.hash
+index 673f99f..4b212fb 100644
+--- a/package/openssl/openssl.hash
++++ b/package/openssl/openssl.hash
+@@ -1,4 +1,4 @@
+-# From https://www.openssl.org/source/openssl-1.0.2b.tar.gz.md5
+-# From https://www.openssl.org/source/openssl-1.0.2b.tar.gz.sha1
+-md5 7729b259e2dea7d60b32fc3934d6984b openssl-1.0.2b.tar.gz
+-sha1 9006e53ca56a14d041e3875320eedfa63d82aba7 openssl-1.0.2b.tar.gz
++# From https://www.openssl.org/source/openssl-1.0.2c.tar.gz.md5
++# From https://www.openssl.org/source/openssl-1.0.2c.tar.gz.sha1
++md5 8c8d81a9ae7005276e486702edbcd4b6 openssl-1.0.2c.tar.gz
++sha1 6e4a5e91159eb32383296c7c83ac0e59b83a0a44 openssl-1.0.2c.tar.gz
+diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
+index 8051a9b..fd8904d 100644
+--- a/package/openssl/openssl.mk
++++ b/package/openssl/openssl.mk
+@@ -4,7 +4,7 @@
+ #
+ ################################################################################
+
+-OPENSSL_VERSION = 1.0.2b
++OPENSSL_VERSION = 1.0.2c
+ OPENSSL_SITE = http://www.openssl.org/source
+ OPENSSL_LICENSE = OpenSSL or SSLeay
+ OPENSSL_LICENSE_FILES = LICENSE
+--
+2.3.6
+
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-06-17 12:29:26
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 64b985fc4e74085def70166567bf6028ccadebe1 (commit)
via 640c1773e7ddddfd4d0750c7445cd654b8af257c (commit)
from 6f92d8919174cf4d950517c3fed55907234646e2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 64b985fc4e74085def70166567bf6028ccadebe1
Author: Julien Boibessot <jul...@ar...>
Date: Wed Jun 17 14:27:41 2015 +0200
[LINUX] APF6: 3.19+: desactivate 8bpp support in framebuffer as it doesn't work and may confuse upper layer (like SDL)
commit 640c1773e7ddddfd4d0750c7445cd654b8af257c
Author: Julien Boibessot <jul...@ar...>
Date: Wed Jun 17 14:25:41 2015 +0200
[LINUX] APF6: 3.19+: desactivate 8bpp support in framebuffer as it doesn't work and may confuse upper layer (like SDL)
-----------------------------------------------------------------------
Summary of changes:
...deactivate-8bpp-support-as-it-doesnt-work.patch | 24 ++++++++++++++++++++
...deactivate-8bpp-support-as-it-doesnt-work.patch | 24 ++++++++++++++++++++
2 files changed, 48 insertions(+), 0 deletions(-)
create mode 100644 patches/linux/3.19/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
create mode 100644 patches/linux/4.0/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
diff --git a/patches/linux/3.19/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch b/patches/linux/3.19/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
new file mode 100644
index 0000000..2ca58a3
--- /dev/null
+++ b/patches/linux/3.19/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
@@ -0,0 +1,24 @@
+Until i.MX6 framebuffer really supports 8bpp...
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-3.19.8/drivers/gpu/drm/drm_fb_helper.c
+===================================================================
+--- linux-3.19.8.orig/drivers/gpu/drm/drm_fb_helper.c 2015-05-11 14:34:10.000000000 +0200
++++ linux-3.19.8/drivers/gpu/drm/drm_fb_helper.c 2015-06-17 14:00:03.895815385 +0200
+@@ -852,6 +852,7 @@
+ }
+
+ switch (depth) {
++/* Don't advertise 8bpp is supported as it's buggy
+ case 8:
+ var->red.offset = 0;
+ var->green.offset = 0;
+@@ -862,6 +863,7 @@
+ var->transp.length = 0;
+ var->transp.offset = 0;
+ break;
++*/
+ case 15:
+ var->red.offset = 10;
+ var->green.offset = 5;
diff --git a/patches/linux/4.0/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch b/patches/linux/4.0/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
new file mode 100644
index 0000000..2ca58a3
--- /dev/null
+++ b/patches/linux/4.0/0513-armadeus-gpu-drm-fb-deactivate-8bpp-support-as-it-doesnt-work.patch
@@ -0,0 +1,24 @@
+Until i.MX6 framebuffer really supports 8bpp...
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-3.19.8/drivers/gpu/drm/drm_fb_helper.c
+===================================================================
+--- linux-3.19.8.orig/drivers/gpu/drm/drm_fb_helper.c 2015-05-11 14:34:10.000000000 +0200
++++ linux-3.19.8/drivers/gpu/drm/drm_fb_helper.c 2015-06-17 14:00:03.895815385 +0200
+@@ -852,6 +852,7 @@
+ }
+
+ switch (depth) {
++/* Don't advertise 8bpp is supported as it's buggy
+ case 8:
+ var->red.offset = 0;
+ var->green.offset = 0;
+@@ -862,6 +863,7 @@
+ var->transp.length = 0;
+ var->transp.offset = 0;
+ break;
++*/
+ case 15:
+ var->red.offset = 10;
+ var->green.offset = 5;
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-06-16 18:39:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 6f92d8919174cf4d950517c3fed55907234646e2 (commit)
from c7f0a4502af24f6b42531c6d41d7cf7808defc5b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6f92d8919174cf4d950517c3fed55907234646e2
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jun 16 20:37:20 2015 +0200
[BUILDROOT] apf6test_defconfig: bump also to linux 3.19.8
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6test_defconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/buildroot/configs/apf6test_defconfig b/buildroot/configs/apf6test_defconfig
index 2373c88..9c025e9 100644
--- a/buildroot/configs/apf6test_defconfig
+++ b/buildroot/configs/apf6test_defconfig
@@ -27,7 +27,7 @@ BR2_TARGET_ARMADEUS_NR_SDRAM="2"
BR2_TARGET_ARMADEUS_SDRAM_SIZE="512"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.19.3"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.19.8"
BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-06-16 18:33:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c7f0a4502af24f6b42531c6d41d7cf7808defc5b (commit)
from e8d6342a4b839b518141b43edc11db41c05e37a9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c7f0a4502af24f6b42531c6d41d7cf7808defc5b
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jun 16 20:31:53 2015 +0200
[BUILDROOT] apf6legacy-preempt-rt_defconfig: add rt-tests package
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6legacy-preempt-rt_defconfig | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/buildroot/configs/apf6legacy-preempt-rt_defconfig b/buildroot/configs/apf6legacy-preempt-rt_defconfig
index bb4f1e8..0ec8a1a 100644
--- a/buildroot/configs/apf6legacy-preempt-rt_defconfig
+++ b/buildroot/configs/apf6legacy-preempt-rt_defconfig
@@ -1,9 +1,9 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_ARM_EABIHF=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_FPU_VFPV3D16=y
+BR2_DL_DIR="$(BASE_DIR)/../downloads"
BR2_BACKUP_SITE="ftp://ftp2.armadeus.com/armadeusw/download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
@@ -70,6 +70,7 @@ BR2_PACKAGE_GST_FSL_PLUGINS=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_LTRACE=y
BR2_PACKAGE_RAMSMP=y
+BR2_PACKAGE_RT_TESTS=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
hooks/post-receive
--
armadeus
|
|
From: Sébastien S. <ss...@us...> - 2015-06-16 12:33:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via e8d6342a4b839b518141b43edc11db41c05e37a9 (commit)
via 0f1962ee9d2faf4ecec101cf6ea97f1c2c159e23 (commit)
via 983eadf48153a6bd3179fa57249c8c2f4a8ec522 (commit)
via 0b48deee0d4f8c6e7b7c6961b9b95c88fd701beb (commit)
via 8d9322424b4461b6b348835af46bfe50fda6baed (commit)
from 252b81a8eb8f67a14b9bd67cc32c936accb3e23c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e8d6342a4b839b518141b43edc11db41c05e37a9
Author: Sébastien Szymanski <seb...@ar...>
Date: Tue Jun 16 14:31:21 2015 +0200
[LINUX] apf6 (legacy): do not change PCIe clock frequency
U-Boot does it.
commit 0f1962ee9d2faf4ecec101cf6ea97f1c2c159e23
Author: Sébastien Szymanski <seb...@ar...>
Date: Tue Jun 16 14:30:40 2015 +0200
[LINUX] apf6 (legacy): fix fpgaloader building.
commit 983eadf48153a6bd3179fa57249c8c2f4a8ec522
Author: Sébastien Szymanski <seb...@ar...>
Date: Tue Jun 16 14:29:54 2015 +0200
[LINUX] apf6 (legacy): add Armadeus drivers
commit 0b48deee0d4f8c6e7b7c6961b9b95c88fd701beb
Author: Sébastien Szymanski <seb...@ar...>
Date: Tue Jun 16 14:27:48 2015 +0200
[LINUX] apf6 (legacy): add PCIe support (backport PCIe driver from 3.14)
The patches come from Gateworks' github:
https://github.com/Gateworks/linux-imx6/
commit 8d9322424b4461b6b348835af46bfe50fda6baed
Author: Sébastien Szymanski <seb...@ar...>
Date: Tue Jun 16 14:22:10 2015 +0200
[LINUX] apf6 (legacy): add support for eMMC 5.0
-----------------------------------------------------------------------
Summary of changes:
...50-armadeus-add_custom_drivers_to_kconfig.patch | 27 +
..._star_completion_for_source_in_menuconfig.patch | 21 +-
...rmadeus-add-apf6q-and-apf6dl-device-trees.patch | 4 +-
...adeus-allow-forwad-compatibility-for-eMMC.patch | 20 +
...3-PCI-imx6-backport-PCIe-driver-from-3.14.patch | 1943 ++++++++++++++++++++
...6-fix-boot-hang-when-link-already-enabled.patch | 99 +
...ditional-fix-for-boot-hang-when-link-alre.patch | 48 +
...0456-PCI-imx6-fix-occasional-link-failure.patch | 48 +
.../0457-armadeus-pcie-clk-defined-in-uboot.patch | 18 +
.../modules/fpga/dev_tools/loader/altera_cvp.c | 1 +
10 files changed, 2215 insertions(+), 14 deletions(-)
create mode 100644 patches/linux/3.10.mx6_legacy/0050-armadeus-add_custom_drivers_to_kconfig.patch
copy patches/linux/{3.9 => 3.10.mx6_legacy}/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch (93%)
create mode 100644 patches/linux/3.10.mx6_legacy/0452-armadeus-allow-forwad-compatibility-for-eMMC.patch
create mode 100644 patches/linux/3.10.mx6_legacy/0453-PCI-imx6-backport-PCIe-driver-from-3.14.patch
create mode 100644 patches/linux/3.10.mx6_legacy/0454-PCI-imx6-fix-boot-hang-when-link-already-enabled.patch
create mode 100644 patches/linux/3.10.mx6_legacy/0455-PCI-imx6-additional-fix-for-boot-hang-when-link-alre.patch
create mode 100644 patches/linux/3.10.mx6_legacy/0456-PCI-imx6-fix-occasional-link-failure.patch
create mode 100644 patches/linux/3.10.mx6_legacy/0457-armadeus-pcie-clk-defined-in-uboot.patch
diff --git a/patches/linux/3.10.mx6_legacy/0050-armadeus-add_custom_drivers_to_kconfig.patch b/patches/linux/3.10.mx6_legacy/0050-armadeus-add_custom_drivers_to_kconfig.patch
new file mode 100644
index 0000000..545b09f
--- /dev/null
+++ b/patches/linux/3.10.mx6_legacy/0050-armadeus-add_custom_drivers_to_kconfig.patch
@@ -0,0 +1,27 @@
+This patch adds the possibility to have custom Armadeus drivers built in kernel or compiled as modules.
+
+This patch adds the possibility to have custom Armadeus drivers built in kernel or compiled as modules.
+
+Index: linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/Kconfig
+===================================================================
+--- linux-wandboard_imx_3.10.31_1.1.0_beta2.orig/drivers/Kconfig
++++ linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/Kconfig
+@@ -168,4 +168,6 @@ source "drivers/ipack/Kconfig"
+
+ source "drivers/reset/Kconfig"
+
++source "drivers/armadeus/Kconfig"
++
+ endmenu
+Index: linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/Makefile
+===================================================================
+--- linux-wandboard_imx_3.10.31_1.1.0_beta2.orig/drivers/Makefile
++++ linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/Makefile
+@@ -126,6 +126,7 @@ obj-$(CONFIG_DCA) += dca/
+ obj-$(CONFIG_HID) += hid/
+ obj-$(CONFIG_PPC_PS3) += ps3/
+ obj-$(CONFIG_OF) += of/
++obj-$(CONFIG_ARMADEUS_DRIVERS) += armadeus/
+ obj-$(CONFIG_SSB) += ssb/
+ obj-$(CONFIG_BCMA) += bcma/
+ obj-$(CONFIG_VHOST_RING) += vhost/
diff --git a/patches/linux/3.9/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch b/patches/linux/3.10.mx6_legacy/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch
similarity index 93%
copy from patches/linux/3.9/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch
copy to patches/linux/3.10.mx6_legacy/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch
index 18e5b98..75183e5 100644
--- a/patches/linux/3.9/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch
+++ b/patches/linux/3.10.mx6_legacy/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch
@@ -8,21 +8,21 @@ Index: linux-3.8-rc1/scripts/kconfig/zconf.tab.c_shipped
#include <stdbool.h>
+#include <dirent.h>
+#include <sys/stat.h>
-
+
#include "lkc.h"
-
+
@@ -93,6 +95,7 @@
-
+
#define PRINTD 0x0001
#define DEBUG_PARSE 0x0002
+#define BUFF_SIZE 300
-
+
int cdebug = PRINTD;
-
+
@@ -109,6 +112,27 @@
-
-
-
+
+
+
+
+static int isDir(const char *, const char *);
+
@@ -49,7 +49,7 @@ Index: linux-3.8-rc1/scripts/kconfig/zconf.tab.c_shipped
# define YYDEBUG 1
@@ -1900,8 +1924,30 @@
case 83:
-
+
{
+ char *name;
+ char *ptr;
@@ -58,7 +58,7 @@ Index: linux-3.8-rc1/scripts/kconfig/zconf.tab.c_shipped
+ struct dirent *lecture;
+ DIR *rep;
+
- printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+ printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
- zconf_nextfile((yyvsp[(2) - (3)].string));
+ name = (yyvsp[(2) -(3)].string);
+ ptr = strchr(name, '*');
@@ -78,4 +78,3 @@ Index: linux-3.8-rc1/scripts/kconfig/zconf.tab.c_shipped
+ }
;}
break;
-
diff --git a/patches/linux/3.10.mx6_legacy/0450-armadeus-add-apf6q-and-apf6dl-device-trees.patch b/patches/linux/3.10.mx6_legacy/0450-armadeus-add-apf6q-and-apf6dl-device-trees.patch
index aa65fb7..85c6b8a 100644
--- a/patches/linux/3.10.mx6_legacy/0450-armadeus-add-apf6q-and-apf6dl-device-trees.patch
+++ b/patches/linux/3.10.mx6_legacy/0450-armadeus-add-apf6q-and-apf6dl-device-trees.patch
@@ -174,7 +174,7 @@ Index: linux-wandboard_imx_3.10.31_1.1.0_beta2/arch/arm/boot/dts/imx6qdl-apf6dev
===================================================================
--- /dev/null
+++ linux-wandboard_imx_3.10.31_1.1.0_beta2/arch/arm/boot/dts/imx6qdl-apf6dev.dtsi
-@@ -0,0 +1,543 @@
+@@ -0,0 +1,541 @@
+/*
+ * Copyright 2015 Armadeus Systems
+ *
@@ -444,14 +444,12 @@ Index: linux-wandboard_imx_3.10.31_1.1.0_beta2/arch/arm/boot/dts/imx6qdl-apf6dev
+ status = "okay";
+};
+
-+/*
+&pcie {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pcie>;
+ reset-gpio = <&gpio6 2 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
-+*/
+
+&pwm3 {
+ pinctrl-names = "default";
diff --git a/patches/linux/3.10.mx6_legacy/0452-armadeus-allow-forwad-compatibility-for-eMMC.patch b/patches/linux/3.10.mx6_legacy/0452-armadeus-allow-forwad-compatibility-for-eMMC.patch
new file mode 100644
index 0000000..8b4907c
--- /dev/null
+++ b/patches/linux/3.10.mx6_legacy/0452-armadeus-allow-forwad-compatibility-for-eMMC.patch
@@ -0,0 +1,20 @@
+Add support for eMMC 5.0.
+
+Signed-off-by: Sébastien Szymanski <seb...@ar...>
+Index: linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/mmc/core/mmc.c
+===================================================================
+--- linux-wandboard_imx_3.10.31_1.1.0_beta2.orig/drivers/mmc/core/mmc.c
++++ linux-wandboard_imx_3.10.31_1.1.0_beta2/drivers/mmc/core/mmc.c
+@@ -293,12 +293,6 @@ static int mmc_read_ext_csd(struct mmc_c
+ }
+
+ card->ext_csd.rev = ext_csd[EXT_CSD_REV];
+- if (card->ext_csd.rev > 6) {
+- pr_err("%s: unrecognised EXT_CSD revision %d\n",
+- mmc_hostname(card->host), card->ext_csd.rev);
+- err = -EINVAL;
+- goto out;
+- }
+
+ card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0];
+ card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1];
diff --git a/patches/linux/3.10.mx6_legacy/0453-PCI-imx6-backport-PCIe-driver-from-3.14.patch b/patches/linux/3.10.mx6_legacy/0453-PCI-imx6-backport-PCIe-driver-from-3.14.patch
new file mode 100644
index 0000000..d53d09d
--- /dev/null
+++ b/patches/linux/3.10.mx6_legacy/0453-PCI-imx6-backport-PCIe-driver-from-3.14.patch
@@ -0,0 +1,1943 @@
+From b314869a35fd10005ae21689d744ffee344ec592 Mon Sep 17 00:00:00 2001
+From: Tim Harvey <th...@ga...>
+Date: Tue, 14 Oct 2014 21:30:51 -0700
+Subject: [PATCH 1/4] PCI: imx6: backport PCIe driver from 3.14
+
+Signed-off-by: Tim Harvey <th...@ga...>
+---
+ drivers/pci/host/Kconfig | 21 -
+ drivers/pci/host/Makefile | 1 -
+ drivers/pci/host/pci-imx6.c | 971 ++++++++-----------------------------
+ drivers/pci/host/pcie-designware.c | 321 +++++++-----
+ drivers/pci/host/pcie-designware.h | 52 +-
+ 5 files changed, 396 insertions(+), 970 deletions(-)
+
+diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
+index 0512d10..9402419 100644
+--- a/drivers/pci/host/Kconfig
++++ b/drivers/pci/host/Kconfig
+@@ -20,27 +20,6 @@ config PCI_IMX6
+ select PCIEPORTBUS
+ select PCIE_DW
+
+-config PCI_IMX6SX_EXTREMELY_PWR_SAVE
+- bool "Freescale i.MX6SX PCIe controller extremely power save mode"
+- depends on PCI_IMX6
+-
+-config EP_MODE_IN_EP_RC_SYS
+- bool "PCI Express EP mode in the IMX6 RC/EP interconnection system"
+- depends on PCI_IMX6
+-
+-config EP_SELF_IO_TEST
+- bool "PCI Express EP_SELF_IO_TEST in EP mode"
+- depends on EP_MODE_IN_EP_RC_SYS
+-
+-config RC_MODE_IN_EP_RC_SYS
+- bool "PCI Express RC mode in the IMX6 RC/EP interconnection system"
+- depends on PCI_IMX6
+-
+-config PCI_IMX_EP_DRV
+- bool "i.MX6 PCI Express EP skeleton driver"
+- depends on RC_MODE_IN_EP_RC_SYS
+- default y
+-
+ config PCI_TEGRA
+ bool "NVIDIA Tegra PCIe controller"
+ depends on ARCH_TEGRA
+diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile
+index df45c7f..3fe3900 100644
+--- a/drivers/pci/host/Makefile
++++ b/drivers/pci/host/Makefile
+@@ -1,5 +1,4 @@
+ obj-$(CONFIG_PCIE_DW) += pcie-designware.o
+ obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
+ obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
+-obj-$(CONFIG_PCI_IMX_EP_DRV) += pci-imx6-ep-driver.o
+ obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
+diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
+index 9a0ae16..ee08250 100644
+--- a/drivers/pci/host/pci-imx6.c
++++ b/drivers/pci/host/pci-imx6.c
+@@ -1,7 +1,6 @@
+ /*
+ * PCIe host controller driver for Freescale i.MX6 SoCs
+ *
+- * Copyright (C) 2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2013 Kosagi
+ * http://www.kosagi.com
+ *
+@@ -15,72 +14,48 @@
+ #include <linux/clk.h>
+ #include <linux/delay.h>
+ #include <linux/gpio.h>
+-#include <linux/interrupt.h>
+ #include <linux/kernel.h>
+ #include <linux/mfd/syscon.h>
+ #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
+ #include <linux/module.h>
+ #include <linux/of_gpio.h>
+-#include <linux/of_device.h>
+-#include <linux/of_address.h>
+ #include <linux/pci.h>
+ #include <linux/platform_device.h>
+ #include <linux/regmap.h>
+ #include <linux/resource.h>
+ #include <linux/signal.h>
+-#include <linux/syscore_ops.h>
+ #include <linux/types.h>
+-#include <linux/busfreq-imx6.h>
+-#include <linux/regulator/consumer.h>
+
+ #include "pcie-designware.h"
+
+ #define to_imx6_pcie(x) container_of(x, struct imx6_pcie, pp)
+
+-/*
+- * The default value of the reserved ddr memory
+- * used to verify EP/RC memory space access operations.
+- * The layout of the 1G ddr on SD boards
+- * [others]0x1000_0000 ~ 0x4FFF_FFFF
+- * [imx6sx]0x8000_0000 ~ 0xBFFF_FFFF
+- *
+- */
+-static u32 ddr_test_region = 0x40000000;
+-static u32 test_region_size = SZ_2M;
+-
+-/* The pcie who have standalone power domain */
+-#define PCIE_PHY_HAS_PWR_DOMAIN BIT(0)
+-
+-struct imx_pcie_data {
+- unsigned int flags;
+-};
+-
+-static const struct imx_pcie_data imx6sx_pcie_data = {
+- .flags = PCIE_PHY_HAS_PWR_DOMAIN,
+-};
+-
+ struct imx6_pcie {
+ int reset_gpio;
+ int power_on_gpio;
+ int wake_up_gpio;
+ int disable_gpio;
+- const struct imx_pcie_data *data;
+ struct clk *lvds_gate;
+ struct clk *sata_ref_100m;
+ struct clk *pcie_ref_125m;
+ struct clk *pcie_axi;
+- struct clk *dis_axi;
+ struct pcie_port pp;
+ struct regmap *iomuxc_gpr;
+- struct regulator *pcie_regulator;
+ void __iomem *mem_base;
+ };
+-static struct imx6_pcie *imx6_pcie;
++
++/* PCIe Root Complex registers (memory-mapped) */
++#define PCIE_RC_LCR 0x7c
++#define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN1 0x1
++#define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN2 0x2
++#define PCIE_RC_LCR_MAX_LINK_SPEEDS_MASK 0xf
+
+ /* PCIe Port Logic registers (memory-mapped) */
+ #define PL_OFFSET 0x700
+ #define PCIE_PHY_DEBUG_R0 (PL_OFFSET + 0x28)
+ #define PCIE_PHY_DEBUG_R1 (PL_OFFSET + 0x2c)
++#define PCIE_PHY_DEBUG_R1_XMLH_LINK_IN_TRAINING (1 << 29)
++#define PCIE_PHY_DEBUG_R1_XMLH_LINK_UP (1 << 4)
+
+ #define PCIE_PHY_CTRL (PL_OFFSET + 0x114)
+ #define PCIE_PHY_CTRL_DATA_LOC 0
+@@ -92,6 +67,9 @@ static struct imx6_pcie *imx6_pcie;
+ #define PCIE_PHY_STAT (PL_OFFSET + 0x110)
+ #define PCIE_PHY_STAT_ACK_LOC 16
+
++#define PCIE_LINK_WIDTH_SPEED_CONTROL 0x80C
++#define PORT_LOGIC_SPEED_CHANGE (0x1 << 17)
++
+ /* PHY registers (not memory-mapped) */
+ #define PCIE_PHY_RX_ASIC_OUT 0x100D
+
+@@ -99,40 +77,6 @@ static struct imx6_pcie *imx6_pcie;
+ #define PHY_RX_OVRD_IN_LO_RX_DATA_EN (1 << 5)
+ #define PHY_RX_OVRD_IN_LO_RX_PLL_EN (1 << 3)
+
+-static inline bool is_imx6sx_pcie(struct imx6_pcie *imx6_pcie)
+-{
+- return imx6_pcie->data == &imx6sx_pcie_data;
+-}
+-
+-#ifdef DEBUG
+-static int pcie_reg_dump(struct imx6_pcie *imx6_pcie)
+-{
+- u32 val;
+- struct regmap *anatop_g;
+-
+- /* GPRs registers */
+- regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1, &val);
+- pr_info("<F> %s <L> %d gpr1 0x%08x.\n", __func__, __LINE__, val);
+- regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5, &val);
+- pr_info("<F> %s <L> %d gpr5 0x%08x.\n", __func__, __LINE__, val);
+- regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8, &val);
+- pr_info("<F> %s <L> %d gpr8 0x%08x.\n", __func__, __LINE__, val);
+- regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, &val);
+- pr_info("<F> %s <L> %d gpr12 0x%08x.\n", __func__, __LINE__, val);
+- regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR13, &val);
+- pr_info("<F> %s <L> %d gpr13 0x%08x.\n", __func__, __LINE__, val);
+-
+- /* anatop registers: pll6_enet, misc1 */
+- anatop_g = syscon_regmap_lookup_by_compatible("fsl,imx6q-anatop");
+- if (IS_ERR(anatop_g))
+- pr_err("failed to find fsl,imx6sx-anatop regmap\n");
+- regmap_read(anatop_g, 0xe0, &val);
+- pr_info("<F> %s <L> %d pll6_enet 0x%08x.\n", __func__, __LINE__, val);
+- regmap_read(anatop_g, 0x160, &val);
+- pr_info("<F> %s <L> %d misc1 0x%08x.\n", __func__, __LINE__, val);
+-}
+-#endif
+-
+ static int pcie_phy_poll_ack(void __iomem *dbi_base, int exp_val)
+ {
+ u32 val;
+@@ -270,6 +214,18 @@ static int imx6q_pcie_abort_handler(unsigned long addr,
+ return 0;
+ }
+
++static int imx6_pcie_assert_core_reset(struct pcie_port *pp)
++{
++ struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);
++
++ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
++ IMX6Q_GPR1_PCIE_TEST_PD, 1 << 18);
++ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
++ IMX6Q_GPR1_PCIE_REF_CLK_EN, 0 << 16);
++
++ return 0;
++}
++
+ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
+ {
+ struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);
+@@ -278,28 +234,15 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
+ if (gpio_is_valid(imx6_pcie->power_on_gpio))
+ gpio_set_value(imx6_pcie->power_on_gpio, 1);
+
+- request_bus_freq(BUS_FREQ_HIGH);
+-
+- if (is_imx6sx_pcie(imx6_pcie)) {
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- IMX6Q_GPR12_PCIE_TEST_PD, 0 << 30);
+-
+- ret = clk_prepare_enable(imx6_pcie->dis_axi);
+- if (ret) {
+- dev_err(pp->dev, "unable to enable dis_axi\n");
+- goto err_dis_axi;
+- }
+- } else {
+- /* Those bits are not used anymore on imx6sx */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
+- IMX6Q_GPR1_PCIE_TEST_PD, 0 << 18);
++ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
++ IMX6Q_GPR1_PCIE_TEST_PD, 0 << 18);
++ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
++ IMX6Q_GPR1_PCIE_REF_CLK_EN, 1 << 16);
+
+- /* sata_ref is not used by pcie on imx6sx */
+- ret = clk_prepare_enable(imx6_pcie->sata_ref_100m);
+- if (ret) {
+- dev_err(pp->dev, "unable to enable sata_ref_100m\n");
+- goto err_sata_ref;
+- }
++ ret = clk_prepare_enable(imx6_pcie->sata_ref_100m);
++ if (ret) {
++ dev_err(pp->dev, "unable to enable sata_ref_100m\n");
++ goto err_sata_ref;
+ }
+
+ ret = clk_prepare_enable(imx6_pcie->pcie_ref_125m);
+@@ -308,13 +251,10 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
+ goto err_pcie_ref;
+ }
+
+- if (!IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)
+- && !IS_ENABLED(CONFIG_RC_MODE_IN_EP_RC_SYS)) {
+- ret = clk_prepare_enable(imx6_pcie->lvds_gate);
+- if (ret) {
+- dev_err(pp->dev, "unable to enable lvds_gate\n");
+- goto err_lvds_gate;
+- }
++ ret = clk_prepare_enable(imx6_pcie->lvds_gate);
++ if (ret) {
++ dev_err(pp->dev, "unable to enable lvds_gate\n");
++ goto err_lvds_gate;
+ }
+
+ ret = clk_prepare_enable(imx6_pcie->pcie_axi);
+@@ -323,26 +263,15 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
+ goto err_pcie_axi;
+ }
+
+- if (!is_imx6sx_pcie(imx6_pcie)) {
+- /*
+- * This bit is not used anymore on imx6sx.
+- * wailt for the pcie clks are stable.
+- * ~4us is requried, let it to be 10us here.
+- */
+- udelay(10);
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
+- IMX6Q_GPR1_PCIE_REF_CLK_EN, 1 << 16);
+- }
+-
+ /* allow the clocks to stabilize */
+ usleep_range(200, 500);
+
++ /* Some boards don't have PCIe reset GPIO. */
+ if (gpio_is_valid(imx6_pcie->reset_gpio)) {
+ gpio_set_value(imx6_pcie->reset_gpio, 0);
+- mdelay(1);
++ msleep(100);
+ gpio_set_value(imx6_pcie->reset_gpio, 1);
+ }
+-
+ return 0;
+
+ err_pcie_axi:
+@@ -350,13 +279,8 @@ err_pcie_axi:
+ err_lvds_gate:
+ clk_disable_unprepare(imx6_pcie->pcie_ref_125m);
+ err_pcie_ref:
+- if (!is_imx6sx_pcie(imx6_pcie))
+- clk_disable_unprepare(imx6_pcie->sata_ref_100m);
++ clk_disable_unprepare(imx6_pcie->sata_ref_100m);
+ err_sata_ref:
+- if (is_imx6sx_pcie(imx6_pcie))
+- clk_disable_unprepare(imx6_pcie->dis_axi);
+-err_dis_axi:
+- release_bus_freq(BUS_FREQ_HIGH);
+ return ret;
+
+ }
+@@ -364,36 +288,13 @@ err_dis_axi:
+ static void imx6_pcie_init_phy(struct pcie_port *pp)
+ {
+ struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);
+- int ret;
+-
+- /*
+- * iMX6SX PCIe has the stand-alone power domain
+- * add the initialization here for iMX6SX PCIe.
+- */
+- if (is_imx6sx_pcie(imx6_pcie)) {
+- /* Force PCIe PHY reset */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5,
+- BIT(19), 1 << 19);
+
+- /* Power up PCIe PHY, ANATOP_REG_CORE offset 0x140, bit13-9 */
+- regulator_set_voltage(imx6_pcie->pcie_regulator, 1100000, 1100000);
+- ret = regulator_enable(imx6_pcie->pcie_regulator);
+- if (ret)
+- dev_info(pp->dev, "failed to enable pcie regulator.\n");
+-
+- }
+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+ IMX6Q_GPR12_PCIE_CTL_2, 0 << 10);
+
+ /* configure constant input signal to the pcie ctrl and phy */
+- if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS))
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- IMX6Q_GPR12_DEVICE_TYPE,
+- PCI_EXP_TYPE_ENDPOINT << 12);
+- else
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- IMX6Q_GPR12_DEVICE_TYPE,
+- PCI_EXP_TYPE_ROOT_PORT << 12);
++ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
++ IMX6Q_GPR12_DEVICE_TYPE, PCI_EXP_TYPE_ROOT_PORT << 12);
+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+ IMX6Q_GPR12_LOS_LEVEL, 9 << 4);
+
+@@ -409,75 +310,155 @@ static void imx6_pcie_init_phy(struct pcie_port *pp)
+ IMX6Q_GPR8_TX_SWING_LOW, 127 << 25);
+ }
+
+-static irqreturn_t imx_pcie_msi_irq_handler(int irq, void *arg)
++static int imx6_pcie_wait_for_link(struct pcie_port *pp)
+ {
+- struct pcie_port *pp = arg;
++ int count = 200;
++
++ while (!dw_pcie_link_up(pp)) {
++ usleep_range(100, 1000);
++ if (--count)
++ continue;
+
+- dw_handle_msi_irq(pp);
++ dev_err(pp->dev, "phy link never came up\n");
++ dev_dbg(pp->dev, "DEBUG_R0: 0x%08x, DEBUG_R1: 0x%08x\n",
++ readl(pp->dbi_base + PCIE_PHY_DEBUG_R0),
++ readl(pp->dbi_base + PCIE_PHY_DEBUG_R1));
++ return -EINVAL;
++ }
+
+- return IRQ_HANDLED;
++ return 0;
+ }
+
+-static void imx6_pcie_host_init(struct pcie_port *pp)
++static int imx6_pcie_start_link(struct pcie_port *pp)
+ {
+- int count = 0;
+ struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);
+-
+- imx6_pcie_init_phy(pp);
+-
+- imx6_pcie_deassert_core_reset(pp);
++ uint32_t tmp;
++ int ret, count;
+
+ /*
+- * iMX6SX PCIe has the stand-alone power domain.
+- * refer to the initialization for iMX6SX PCIe,
+- * release the PCIe PHY reset here,
+- * before LTSSM enable is set.
++ * Force Gen1 operation when starting the link. In case the link is
++ * started in Gen2 mode, there is a possibility the devices on the
++ * bus will not be detected at all. This happens with PCIe switches.
+ */
+- if (is_imx6sx_pcie(imx6_pcie))
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5,
+- BIT(19), 0 << 19);
++ tmp = readl(pp->dbi_base + PCIE_RC_LCR);
++ tmp &= ~PCIE_RC_LCR_MAX_LINK_SPEEDS_MASK;
++ tmp |= PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN1;
++ writel(tmp, pp->dbi_base + PCIE_RC_LCR);
+
+-
+- dw_pcie_setup_rc(pp);
+-
+-#ifdef DEBUG
+- pcie_reg_dump(imx6_pcie);
+-#endif
++ /* Start LTSSM. */
+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+ IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);
+
+- while (!dw_pcie_link_up(pp)) {
++ ret = imx6_pcie_wait_for_link(pp);
++ if (ret)
++ return ret;
++
++ /* Allow Gen2 mode after the link is up. */
++ tmp = readl(pp->dbi_base + PCIE_RC_LCR);
++ tmp &= ~PCIE_RC_LCR_MAX_LINK_SPEEDS_MASK;
++ tmp |= PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN2;
++ writel(tmp, pp->dbi_base + PCIE_RC_LCR);
++
++ /*
++ * Start Directed Speed Change so the best possible speed both link
++ * partners support can be negotiated.
++ */
++ tmp = readl(pp->dbi_base + PCIE_LINK_WIDTH_SPEED_CONTROL);
++ tmp |= PORT_LOGIC_SPEED_CHANGE;
++ writel(tmp, pp->dbi_base + PCIE_LINK_WIDTH_SPEED_CONTROL);
++
++ count = 200;
++ while (count--) {
++ tmp = readl(pp->dbi_base + PCIE_LINK_WIDTH_SPEED_CONTROL);
++ /* Test if the speed change finished. */
++ if (!(tmp & PORT_LOGIC_SPEED_CHANGE))
++ break;
+ usleep_range(100, 1000);
+- count++;
+- if (count >= 200) {
+- dev_err(pp->dev, "phy link never came up\n");
+- dev_dbg(pp->dev,
+- "DEBUG_R0: 0x%08x, DEBUG_R1: 0x%08x\n",
+- readl(pp->dbi_base + PCIE_PHY_DEBUG_R0),
+- readl(pp->dbi_base + PCIE_PHY_DEBUG_R1));
+- return;
+- }
+ }
+
+- if (IS_ENABLED(CONFIG_PCI_MSI)) {
+- pp->quirks |= DW_PCIE_QUIRK_NO_MSI_VEC;
+- pp->quirks |= DW_PCIE_QUIRK_MSI_SELF_EN;
+- dw_pcie_msi_init(pp);
++ /* Make sure link training is finished as well! */
++ if (count)
++ ret = imx6_pcie_wait_for_link(pp);
++ else
++ ret = -EINVAL;
++
++ if (ret) {
++ dev_err(pp->dev, "Failed to bring link up!\n");
++ } else {
++ tmp = readl(pp->dbi_base + 0x80);
++ dev_dbg(pp->dev, "Link up, Gen=%i\n", (tmp >> 16) & 0xf);
+ }
+
+- return;
++ return ret;
+ }
+
+-static int imx6_pcie_link_up(struct pcie_port *pp)
++static void imx6_pcie_host_init(struct pcie_port *pp)
+ {
+- u32 rc, ltssm, rx_valid, temp;
++ imx6_pcie_assert_core_reset(pp);
++
++ imx6_pcie_init_phy(pp);
++
++ imx6_pcie_deassert_core_reset(pp);
+
+- /* link is debug bit 36, debug register 1 starts at bit 32 */
+- rc = readl(pp->dbi_base + PCIE_PHY_DEBUG_R1) & (0x1 << (36 - 32));
+- if (rc)
+- return -EAGAIN;
++ dw_pcie_setup_rc(pp);
++
++ imx6_pcie_start_link(pp);
++}
++
++static void imx6_pcie_reset_phy(struct pcie_port *pp)
++{
++ uint32_t temp;
++
++ pcie_phy_read(pp->dbi_base, PHY_RX_OVRD_IN_LO, &temp);
++ temp |= (PHY_RX_OVRD_IN_LO_RX_DATA_EN |
++ PHY_RX_OVRD_IN_LO_RX_PLL_EN);
++ pcie_phy_write(pp->dbi_base, PHY_RX_OVRD_IN_LO, temp);
++
++ usleep_range(2000, 3000);
++
++ pcie_phy_read(pp->dbi_base, PHY_RX_OVRD_IN_LO, &temp);
++ temp &= ~(PHY_RX_OVRD_IN_LO_RX_DATA_EN |
++ PHY_RX_OVRD_IN_LO_RX_PLL_EN);
++ pcie_phy_write(pp->dbi_base, PHY_RX_OVRD_IN_LO, temp);
++}
++
++static int imx6_pcie_link_up(struct pcie_port *pp)
++{
++ u32 rc, debug_r0, rx_valid;
++ int count = 5;
+
+ /*
++ * Test if the PHY reports that the link is up and also that the LTSSM
++ * training finished. There are three possible states of the link when
++ * this code is called:
++ * 1) The link is DOWN (unlikely)
++ * The link didn't come up yet for some reason. This usually means
++ * we have a real problem somewhere. Reset the PHY and exit. This
++ * state calls for inspection of the DEBUG registers.
++ * 2) The link is UP, but still in LTSSM training
++ * Wait for the training to finish, which should take a very short
++ * time. If the training does not finish, we have a problem and we
++ * need to inspect the DEBUG registers. If the training does finish,
++ * the link is up and operating correctly.
++ * 3) The link is UP and no longer in LTSSM training
++ * The link is up and operating correctly.
++ */
++ while (1) {
++ rc = readl(pp->dbi_base + PCIE_PHY_DEBUG_R1);
++ if (!(rc & PCIE_PHY_DEBUG_R1_XMLH_LINK_UP))
++ break;
++ if (!(rc & PCIE_PHY_DEBUG_R1_XMLH_LINK_IN_TRAINING))
++ return 1;
++ if (!count--)
++ break;
++ dev_dbg(pp->dev, "Link is up, but still in training\n");
++ /*
++ * Wait a little bit, then re-check if the link finished
++ * the training.
++ */
++ usleep_range(1000, 2000);
++ }
++ /*
+ * From L0, initiate MAC entry to gen2 if EP/RC supports gen2.
+ * Wait 2ms (LTSSM timeout is 24ms, PHY lock is ~5us in gen2).
+ * If (MAC/LTSSM.state == Recovery.RcvrLock)
+@@ -485,31 +466,18 @@ static int imx6_pcie_link_up(struct pcie_port *pp)
+ * to gen2 is stuck
+ */
+ pcie_phy_read(pp->dbi_base, PCIE_PHY_RX_ASIC_OUT, &rx_valid);
+- ltssm = readl(pp->dbi_base + PCIE_PHY_DEBUG_R0) & 0x3F;
++ debug_r0 = readl(pp->dbi_base + PCIE_PHY_DEBUG_R0);
+
+ if (rx_valid & 0x01)
+ return 0;
+
+- if (ltssm != 0x0d)
++ if ((debug_r0 & 0x3f) != 0x0d)
+ return 0;
+
+ dev_err(pp->dev, "transition to gen2 is stuck, reset PHY!\n");
++ dev_dbg(pp->dev, "debug_r0=%08x debug_r1=%08x\n", debug_r0, rc);
+
+- pcie_phy_read(pp->dbi_base,
+- PHY_RX_OVRD_IN_LO, &temp);
+- temp |= (PHY_RX_OVRD_IN_LO_RX_DATA_EN
+- | PHY_RX_OVRD_IN_LO_RX_PLL_EN);
+- pcie_phy_write(pp->dbi_base,
+- PHY_RX_OVRD_IN_LO, temp);
+-
+- usleep_range(2000, 3000);
+-
+- pcie_phy_read(pp->dbi_base,
+- PHY_RX_OVRD_IN_LO, &temp);
+- temp &= ~(PHY_RX_OVRD_IN_LO_RX_DATA_EN
+- | PHY_RX_OVRD_IN_LO_RX_PLL_EN);
+- pcie_phy_write(pp->dbi_base,
+- PHY_RX_OVRD_IN_LO, temp);
++ imx6_pcie_reset_phy(pp);
+
+ return 0;
+ }
+@@ -530,22 +498,6 @@ static int imx6_add_pcie_port(struct pcie_port *pp,
+ return -ENODEV;
+ }
+
+- if (IS_ENABLED(CONFIG_PCI_MSI)) {
+- pp->msi_irq = pp->irq - 3;
+- if (!pp->msi_irq) {
+- dev_err(&pdev->dev, "failed to get msi irq\n");
+- return -ENODEV;
+- }
+-
+- ret = devm_request_irq(&pdev->dev, pp->msi_irq,
+- imx_pcie_msi_irq_handler,
+- IRQF_SHARED, "imx6q-pcie", pp);
+- if (ret) {
+- dev_err(&pdev->dev, "failed to request msi irq\n");
+- return ret;
+- }
+- }
+-
+ pp->root_bus_nr = -1;
+ pp->ops = &imx6_pcie_host_ops;
+
+@@ -559,359 +511,13 @@ static int imx6_add_pcie_port(struct pcie_port *pp,
+ return 0;
+ }
+
+-static ssize_t imx_pcie_bar0_addr_info(struct device *dev,
+- struct device_attribute *devattr, char *buf)
+-{
+- struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
+- struct pcie_port *pp = &imx6_pcie->pp;
+-
+- return sprintf(buf, "imx-pcie-bar0-addr-info start 0x%08x\n",
+- readl(pp->dbi_base + PCI_BASE_ADDRESS_0));
+-}
+-
+-static ssize_t imx_pcie_bar0_addr_start(struct device *dev,
+- struct device_attribute *attr, const char *buf, size_t count)
+-{
+- u32 bar_start;
+- struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
+- struct pcie_port *pp = &imx6_pcie->pp;
+-
+- sscanf(buf, "%x\n", &bar_start);
+- writel(bar_start, pp->dbi_base + PCI_BASE_ADDRESS_0);
+-
+- return count;
+-}
+-
+-static void imx_pcie_regions_setup(struct device *dev)
+-{
+- struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
+- struct pcie_port *pp = &imx6_pcie->pp;
+-
+- if (is_imx6sx_pcie(imx6_pcie))
+- ddr_test_region = 0xb0000000;
+-
+- if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)) {
+- /*
+- * region2 outbound used to access rc mem
+- * in imx6 pcie ep/rc validation system
+- */
+- writel(2, pp->dbi_base + PCIE_ATU_VIEWPORT);
+- writel(pp->mem_base, pp->dbi_base + PCIE_ATU_LOWER_BASE);
+- writel(0, pp->dbi_base + PCIE_ATU_UPPER_BASE);
+- writel(pp->mem_base + test_region_size,
+- pp->dbi_base + PCIE_ATU_LIMIT);
+-
+- writel(ddr_test_region,
+- pp->dbi_base + PCIE_ATU_LOWER_TARGET);
+- writel(0, pp->dbi_base + PCIE_ATU_UPPER_TARGET);
+- writel(PCIE_ATU_TYPE_MEM, pp->dbi_base + PCIE_ATU_CR1);
+- writel(PCIE_ATU_ENABLE, pp->dbi_base + PCIE_ATU_CR2);
+- }
+-
+- if (IS_ENABLED(CONFIG_RC_MODE_IN_EP_RC_SYS)) {
+- /*
+- * region2 outbound used to access ep mem
+- * in imx6 pcie ep/rc validation system
+- */
+- writel(2, pp->dbi_base + PCIE_ATU_VIEWPORT);
+- writel(pp->mem_base, pp->dbi_base + PCIE_ATU_LOWER_BASE);
+- writel(0, pp->dbi_base + PCIE_ATU_UPPER_BASE);
+- writel(pp->mem_base + test_region_size,
+- pp->dbi_base + PCIE_ATU_LIMIT);
+-
+- writel(ddr_test_region,
+- pp->dbi_base + PCIE_ATU_LOWER_TARGET);
+- writel(0, pp->dbi_base + PCIE_ATU_UPPER_TARGET);
+- writel(PCIE_ATU_TYPE_MEM, pp->dbi_base + PCIE_ATU_CR1);
+- writel(PCIE_ATU_ENABLE, pp->dbi_base + PCIE_ATU_CR2);
+- }
+-}
+-
+-static ssize_t imx_pcie_memw_info(struct device *dev,
+- struct device_attribute *devattr, char *buf)
+-{
+- return sprintf(buf, "imx-pcie-rc-memw-info start 0x%08x, size 0x%08x\n",
+- ddr_test_region, test_region_size);
+-}
+-
+-static ssize_t
+-imx_pcie_memw_start(struct device *dev, struct device_attribute *attr,
+- const char *buf, size_t count)
+-{
+- u32 memw_start;
+-
+- sscanf(buf, "%x\n", &memw_start);
+-
+- if (memw_start < 0x10000000) {
+- dev_err(dev, "Invalid memory start address.\n");
+- dev_info(dev, "For example: echo 0x41000000 > /sys/...");
+- return -1;
+- }
+-
+- if (ddr_test_region != memw_start) {
+- ddr_test_region = memw_start;
+- /* Re-setup the iATU */
+- imx_pcie_regions_setup(dev);
+- }
+-
+- return count;
+-}
+-
+-static ssize_t
+-imx_pcie_memw_size(struct device *dev, struct device_attribute *attr,
+- const char *buf, size_t count)
+-{
+- u32 memw_size;
+-
+- sscanf(buf, "%x\n", &memw_size);
+-
+- if ((memw_size > (SZ_16M - SZ_1M)) || (memw_size < SZ_64K)) {
+- dev_err(dev, "Invalid, should be [SZ_64K,SZ_16M - SZ_1MB].\n");
+- dev_info(dev, "For example: echo 0x800000 > /sys/...");
+- return -1;
+- }
+-
+- if (test_region_size != memw_size) {
+- test_region_size = memw_size;
+- /* Re-setup the iATU */
+- imx_pcie_regions_setup(dev);
+- }
+-
+- return count;
+-}
+-
+-static DEVICE_ATTR(memw_info, S_IRUGO, imx_pcie_memw_info, NULL);
+-static DEVICE_ATTR(memw_start_set, S_IWUGO, NULL, imx_pcie_memw_start);
+-static DEVICE_ATTR(memw_size_set, S_IWUGO, NULL, imx_pcie_memw_size);
+-static DEVICE_ATTR(ep_bar0_addr, S_IRWXUGO, imx_pcie_bar0_addr_info,
+- imx_pcie_bar0_addr_start);
+-
+-static struct attribute *imx_pcie_attrs[] = {
+- /*
+- * The start address, and the limitation (64KB ~ (16MB - 1MB))
+- * of the ddr mem window reserved by RC, and used for EP to access.
+- * BTW, these attrs are only configured at EP side.
+- */
+- &dev_attr_memw_info.attr,
+- &dev_attr_memw_start_set.attr,
+- &dev_attr_memw_size_set.attr,
+- &dev_attr_ep_bar0_addr.attr,
+- NULL
+-};
+-
+-static struct attribute_group imx_pcie_attrgroup = {
+- .attrs = imx_pcie_attrs,
+-};
+-
+-static const struct of_device_id imx6_pcie_of_match[] = {
+- { .compatible = "fsl,imx6q-pcie", },
+- { .compatible = "fsl,imx6sx-pcie", .data = &imx6sx_pcie_data},
+- { /* sentinel */ }
+-};
+-MODULE_DEVICE_TABLE(of, imx6_pcie_of_match);
+-
+-static void imx6_pcie_setup_ep(struct pcie_port *pp)
+-{
+- /* CMD reg:I/O space, MEM space, and Bus Master Enable */
+- writel(readl(pp->dbi_base + PCI_COMMAND)
+- | PCI_COMMAND_IO
+- | PCI_COMMAND_MEMORY
+- | PCI_COMMAND_MASTER,
+- pp->dbi_base + PCI_COMMAND);
+-
+- /*
+- * configure the class_rev(emaluate one memory ram ep device),
+- * bar0 and bar1 of ep
+- */
+- writel(0xdeadbeaf, pp->dbi_base + PCI_VENDOR_ID);
+- writel(readl(pp->dbi_base + PCI_CLASS_REVISION)
+- | (PCI_CLASS_MEMORY_RAM << 16),
+- pp->dbi_base + PCI_CLASS_REVISION);
+- writel(0xdeadbeaf, pp->dbi_base
+- + PCI_SUBSYSTEM_VENDOR_ID);
+-
+- /* 32bit none-prefetchable 8M bytes memory on bar0 */
+- writel(0x0, pp->dbi_base + PCI_BASE_ADDRESS_0);
+- writel(SZ_8M - 1, pp->dbi_base + (1 << 12)
+- + PCI_BASE_ADDRESS_0);
+-
+- /* None used bar1 */
+- writel(0x0, pp->dbi_base + PCI_BASE_ADDRESS_1);
+- writel(0, pp->dbi_base + (1 << 12) + PCI_BASE_ADDRESS_1);
+-
+- /* 4K bytes IO on bar2 */
+- writel(0x1, pp->dbi_base + PCI_BASE_ADDRESS_2);
+- writel(SZ_4K - 1, pp->dbi_base + (1 << 12) +
+- PCI_BASE_ADDRESS_2);
+-
+- /*
+- * 32bit prefetchable 1M bytes memory on bar3
+- * FIXME BAR MASK3 is not changable, the size
+- * is fixed to 256 bytes.
+- */
+- writel(0x8, pp->dbi_base + PCI_BASE_ADDRESS_3);
+- writel(SZ_1M - 1, pp->dbi_base + (1 << 12)
+- + PCI_BASE_ADDRESS_3);
+-
+- /*
+- * 64bit prefetchable 1M bytes memory on bar4-5.
+- * FIXME BAR4,5 are not enabled yet
+- */
+- writel(0xc, pp->dbi_base + PCI_BASE_ADDRESS_4);
+- writel(SZ_1M - 1, pp->dbi_base + (1 << 12)
+- + PCI_BASE_ADDRESS_4);
+- writel(0, pp->dbi_base + (1 << 12) + PCI_BASE_ADDRESS_5);
+-}
+-
+-#ifdef CONFIG_PM_SLEEP
+-static int pci_imx_suspend(void)
+-{
+- int rc = 0;
+-
+- if (is_imx6sx_pcie(imx6_pcie)) {
+- if (IS_ENABLED(CONFIG_PCI_IMX6SX_EXTREMELY_PWR_SAVE)) {
+- /* Disable clks and power down PCIe PHY */
+- clk_disable_unprepare(imx6_pcie->pcie_axi);
+- if (!IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)
+- && !IS_ENABLED(CONFIG_RC_MODE_IN_EP_RC_SYS))
+- clk_disable_unprepare(imx6_pcie->lvds_gate);
+- clk_disable_unprepare(imx6_pcie->pcie_ref_125m);
+- clk_disable_unprepare(imx6_pcie->dis_axi);
+- release_bus_freq(BUS_FREQ_HIGH);
+-
+- /* Put PCIe PHY to be isolation */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR0,
+- BIT(6), 1 << 6);
+-
+- /*
+- * Power down PCIe PHY.
+- */
+- regulator_disable(imx6_pcie->pcie_regulator);
+- } else {
+- /* PM_TURN_OFF */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- BIT(16), 1 << 16);
+- udelay(10);
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- BIT(16), 0 << 16);
+- clk_disable_unprepare(imx6_pcie->pcie_axi);
+- if (!IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)
+- && !IS_ENABLED(CONFIG_RC_MODE_IN_EP_RC_SYS))
+- clk_disable_unprepare(imx6_pcie->lvds_gate);
+- clk_disable_unprepare(imx6_pcie->pcie_ref_125m);
+- clk_disable_unprepare(imx6_pcie->dis_axi);
+- release_bus_freq(BUS_FREQ_HIGH);
+- }
+- }
+-
+- return rc;
+-}
+-
+-static void pci_imx_resume(void)
+-{
+- struct pcie_port *pp = &imx6_pcie->pp;
+-
+- if (is_imx6sx_pcie(imx6_pcie)) {
+- if (IS_ENABLED(CONFIG_PCI_IMX6SX_EXTREMELY_PWR_SAVE)) {
+- /* Power up PCIe PHY, and so on again */
+- imx6_pcie_init_phy(pp);
+- imx6_pcie_deassert_core_reset(pp);
+-
+- /*
+- * iMX6SX PCIe has the stand-alone power domain.
+- * refer to the initialization for iMX6SX PCIe,
+- * release the PCIe PHY reset here,
+- * before LTSSM enable is set
+- * .
+- */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr,
+- IOMUXC_GPR5, BIT(19), 0 << 19);
+-
+- if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)) {
+- imx6_pcie_setup_ep(pp);
+- } else {
+- /*
+- * CMD reg:I/O space, MEM space,
+- * and Bus Master
+- */
+- writel(readl(pp->dbi_base + PCI_COMMAND)
+- | PCI_COMMAND_IO
+- | PCI_COMMAND_MEMORY
+- | PCI_COMMAND_MASTER,
+- pp->dbi_base + PCI_COMMAND);
+- /*
+- * Set the CLASS_REV of RC CFG header to
+- * PCI_CLASS_BRIDGE_PCI
+- */
+- writel(readl(pp->dbi_base + PCI_CLASS_REVISION)
+- | (PCI_CLASS_BRIDGE_PCI << 16),
+- pp->dbi_base + PCI_CLASS_REVISION);
+- }
+-
+- /* assert LTSSM enable */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);
+- } else {
+- /* Wake up re-enable clks */
+- request_bus_freq(BUS_FREQ_HIGH);
+- clk_prepare_enable(imx6_pcie->dis_axi);
+- if (!IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)
+- && !IS_ENABLED(CONFIG_RC_MODE_IN_EP_RC_SYS))
+- clk_prepare_enable(imx6_pcie->lvds_gate);
+- clk_prepare_enable(imx6_pcie->pcie_ref_125m);
+- clk_prepare_enable(imx6_pcie->pcie_axi);
+-
+- /* reset iMX6SX PCIe */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr,
+- IOMUXC_GPR5, BIT(18), 1 << 18);
+-
+- regmap_update_bits(imx6_pcie->iomuxc_gpr,
+- IOMUXC_GPR5, BIT(18), 0 << 18);
+-
+- /*
+- * controller maybe turn off, re-configure again
+- * Set the CLASS_REV of RC CFG header to
+- * PCI_CLASS_BRIDGE_PCI
+- */
+- writel(readl(pp->dbi_base + PCI_CLASS_REVISION)
+- | (PCI_CLASS_BRIDGE_PCI << 16),
+- pp->dbi_base + PCI_CLASS_REVISION);
+-
+- dw_pcie_setup_rc(pp);
+-
+- /* reset iMX6SX PCIe */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr,
+- IOMUXC_GPR5, BIT(18), 1 << 18);
+-
+- regmap_update_bits(imx6_pcie->iomuxc_gpr,
+- IOMUXC_GPR5, BIT(18), 0 << 18);
+-
+- /* RESET EP */
+- gpio_set_value(imx6_pcie->reset_gpio, 0);
+- udelay(10);
+- gpio_set_value(imx6_pcie->reset_gpio, 1);
+- }
+- }
+-}
+-#endif
+-
+-static struct syscore_ops pci_imx_syscore_ops = {
+- .suspend = pci_imx_suspend,
+- .resume = pci_imx_resume,
+-};
+-
+ static int __init imx6_pcie_probe(struct platform_device *pdev)
+ {
++ struct imx6_pcie *imx6_pcie;
+ struct pcie_port *pp;
+- const struct of_device_id *of_id =
+- of_match_device(imx6_pcie_of_match, &pdev->dev);
+ struct device_node *np = pdev->dev.of_node;
+ struct resource *dbi_base;
+- int ret, i;
+- void *test_reg1, *test_reg2;
+- void __iomem *pcie_arb_base_addr;
+- struct timeval tv1, tv2, tv3;
+- u32 tv_count1, tv_count2;
++ int ret;
+
+ imx6_pcie = devm_kzalloc(&pdev->dev, sizeof(*imx6_pcie), GFP_KERNEL);
+ if (!imx6_pcie)
+@@ -919,41 +525,24 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
+
+ pp = &imx6_pcie->pp;
+ pp->dev = &pdev->dev;
+- imx6_pcie->data = of_id->data;
+-
+- if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)) {
+- /* add attributes for device */
+- ret = sysfs_create_group(&pdev->dev.kobj, &imx_pcie_attrgroup);
+- if (ret)
+- return -EINVAL;
+- }
+
+ /* Added for PCI abort handling */
+ hook_fault_code(16 + 6, imx6q_pcie_abort_handler, SIGBUS, 0,
+ "imprecise external abort");
+
+ dbi_base = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+- if (!dbi_base) {
+- dev_err(&pdev->dev, "dbi_base memory resource not found\n");
+- return -ENODEV;
+- }
+-
+ pp->dbi_base = devm_ioremap_resource(&pdev->dev, dbi_base);
+- if (IS_ERR(pp->dbi_base)) {
+- ret = PTR_ERR(pp->dbi_base);
+- goto err;
+- }
++ if (IS_ERR(pp->dbi_base))
++ return PTR_ERR(pp->dbi_base);
+
+ /* Fetch GPIOs */
+ imx6_pcie->reset_gpio = of_get_named_gpio(np, "reset-gpio", 0);
+ if (gpio_is_valid(imx6_pcie->reset_gpio)) {
+- ret = devm_gpio_request_one(&pdev->dev,
+- imx6_pcie->reset_gpio,
+- GPIOF_OUT_INIT_LOW,
+- "PCIe reset");
++ ret = devm_gpio_request_one(&pdev->dev, imx6_pcie->reset_gpio,
++ GPIOF_OUT_INIT_LOW, "PCIe reset");
+ if (ret) {
+ dev_err(&pdev->dev, "unable to get reset gpio\n");
+- goto err;
++ return ret;
+ }
+ }
+
+@@ -965,7 +554,7 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
+ "PCIe power enable");
+ if (ret) {
+ dev_err(&pdev->dev, "unable to get power-on gpio\n");
+- goto err;
++ return ret;
+ }
+ }
+
+@@ -977,7 +566,7 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
+ "PCIe wake up");
+ if (ret) {
+ dev_err(&pdev->dev, "unable to get wake-up gpio\n");
+- goto err;
++ return ret;
+ }
+ }
+
+@@ -989,7 +578,7 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
+ "PCIe disable endpoint");
+ if (ret) {
+ dev_err(&pdev->dev, "unable to get disable-ep gpio\n");
+- goto err;
++ return ret;
+ }
+ }
+
+@@ -998,208 +587,52 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
+ if (IS_ERR(imx6_pcie->lvds_gate)) {
+ dev_err(&pdev->dev,
+ "lvds_gate clock select missing or invalid\n");
+- ret = PTR_ERR(imx6_pcie->lvds_gate);
+- goto err;
++ return PTR_ERR(imx6_pcie->lvds_gate);
++ }
++
++ imx6_pcie->sata_ref_100m = devm_clk_get(&pdev->dev, "sata_ref_100m");
++ if (IS_ERR(imx6_pcie->sata_ref_100m)) {
++ dev_err(&pdev->dev,
++ "sata_ref_100m clock source missing or invalid\n");
++ return PTR_ERR(imx6_pcie->sata_ref_100m);
+ }
+
+ imx6_pcie->pcie_ref_125m = devm_clk_get(&pdev->dev, "pcie_ref_125m");
+ if (IS_ERR(imx6_pcie->pcie_ref_125m)) {
+ dev_err(&pdev->dev,
+ "pcie_ref_125m clock source missing or invalid\n");
+- ret = PTR_ERR(imx6_pcie->pcie_ref_125m);
+- goto err;
++ return PTR_ERR(imx6_pcie->pcie_ref_125m);
+ }
+
+ imx6_pcie->pcie_axi = devm_clk_get(&pdev->dev, "pcie_axi");
+ if (IS_ERR(imx6_pcie->pcie_axi)) {
+ dev_err(&pdev->dev,
+ "pcie_axi clock source missing or invalid\n");
+- ret = PTR_ERR(imx6_pcie->pcie_axi);
+- goto err;
+- }
+-
+- if (is_imx6sx_pcie(imx6_pcie)) {
+- imx6_pcie->dis_axi = devm_clk_get(&pdev->dev, "display_axi");
+- if (IS_ERR(imx6_pcie->dis_axi)) {
+- dev_err(&pdev->dev,
+- "dis_axi clock source missing or invalid\n");
+- ret = PTR_ERR(imx6_pcie->dis_axi);
+- goto err;
+- }
+-
+- /* Get pcie regulator */
+- imx6_pcie->pcie_regulator = devm_regulator_get(pp->dev, "pcie");
+-
+- /* Grab GPR config register range */
+- imx6_pcie->iomuxc_gpr =
+- syscon_regmap_lookup_by_compatible("fsl,imx6sx-iomuxc-gpr");
+- } else {
+- /* sata_ref is not used by pcie on imx6sx */
+- imx6_pcie->sata_ref_100m = devm_clk_get(&pdev->dev, "sata_ref_100m");
+- if (IS_ERR(imx6_pcie->sata_ref_100m)) {
+- dev_err(&pdev->dev,
+- "sata_ref_100m clock source missing or invalid\n");
+- ret = PTR_ERR(imx6_pcie->sata_ref_100m);
+- goto err;
+- }
+-
+- /* Grab GPR config register range */
+- imx6_pcie->iomuxc_gpr =
+- syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
++ return PTR_ERR(imx6_pcie->pcie_axi);
+ }
+
++ /* Grab GPR config register range */
++ imx6_pcie->iomuxc_gpr =
++ syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
+ if (IS_ERR(imx6_pcie->iomuxc_gpr)) {
+ dev_err(&pdev->dev, "unable to find iomuxc registers\n");
+- ret = PTR_ERR(imx6_pcie->iomuxc_gpr);
+- goto err;
++ return PTR_ERR(imx6_pcie->iomuxc_gpr);
+ }
+
+- if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)) {
+- struct device_node *np = pp->dev->of_node;
+- struct of_pci_range range;
+- struct of_pci_range_parser parser;
+- unsigned long restype;
+-
+- if (of_pci_range_parser_init(&parser, np)) {
+- dev_err(pp->dev, "missing ranges property\n");
+- return -EINVAL;
+- }
+-
+- /* Get the memory ranges from DT */
+- for_each_of_pci_range(&parser, &range) {
+- restype = range.flags & IORESOURCE_TYPE_BITS;
+- if (restype == IORESOURCE_MEM) {
+- of_pci_range_to_resource(&range,
+- np, &pp->mem);
+- pp->mem.name = "MEM";
+- }
+- }
+-
+- pp->mem_base = pp->mem.start;
+- if (IS_ENABLED(CONFIG_EP_SELF_IO_TEST)) {
+- /* Prepare the test regions and data */
+- test_reg1 = devm_kzalloc(&pdev->dev,
+- test_region_size, GFP_KERNEL);
+- if (!test_reg1) {
+- pr_err("pcie ep: can't alloc the test reg1.\n");
+- ret = PTR_ERR(test_reg1);
+- goto err;
+- }
+-
+- test_reg2 = devm_kzalloc(&pdev->dev,
+- test_region_size, GFP_KERNEL);
+- if (!test_reg2) {
+- pr_err("pcie ep: can't alloc the test reg2.\n");
+- ret = PTR_ERR(test_reg1);
+- goto err;
+- }
+-
+- pcie_arb_base_addr = ioremap_cached(pp->mem_base,
+- test_region_size);
+-
+- if (!pcie_arb_base_addr) {
+- pr_err("error with ioremap in ep selftest\n");
+- ret = PTR_ERR(pcie_arb_base_addr);
+- goto err;
+- }
+-
+- for (i = 0; i < test_region_size; i = i + 4) {
+- writel(0xE6600D00 + i, test_reg1 + i);
+- writel(0xDEADBEAF, test_reg2 + i);
+- }
+- }
+-
+- imx6_pcie_init_phy(pp);
+-
+- imx6_pcie_deassert_core_reset(pp);
+-
+- /*
+- * iMX6SX PCIe has the stand-alone power domain.
+- * refer to the initialization for iMX6SX PCIe,
+- * release the PCIe PHY reset here,
+- * before LTSSM enable is set
+- * .
+- */
+- if (is_imx6sx_pcie(imx6_pcie))
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5,
+- BIT(19), 0 << 19);
+-
+- /* assert LTSSM enable */
+- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+- IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);
+-
+- dev_info(&pdev->dev, "PCIe EP: waiting for link up...\n");
+-
+- platform_set_drvdata(pdev, imx6_pcie);
+- /* link is indicated by the bit4 of DB_R1 register */
+- do {
+- usleep_range(10, 20);
+- } while ((readl(pp->dbi_base + PCIE_PHY_DEBUG_R1) & 0x10) == 0);
+-
+- imx6_pcie_setup_ep(pp);
+-
+- /* Re-setup the iATU */
+- imx_pcie_regions_setup(&pdev->dev);
+-
+- if (IS_ENABLED(CONFIG_EP_SELF_IO_TEST)) {
+- /* PCIe EP start the data transfer after link up */
+- pr_info("pcie ep: Starting data transfer...\n");
+- do_gettimeofday(&tv1);
+-
+- memcpy((unsigned long *)pcie_arb_base_addr,
+- (unsigned long *)test_reg1,
+- test_region_size);
+-
+- do_gettimeofday(&tv2);
+-
+- memcpy((unsigned long *)test_reg2,
+- (unsigned long *)pcie_arb_base_addr,
+- test_region_size);
+-
+- do_gettimeofday(&tv3);
+-
+- if (memcmp(test_reg2, test_reg1, test_region_size) == 0) {
+- tv_count1 = (tv2.tv_sec - tv1.tv_sec)
+- * USEC_PER_SEC
+- + tv2.tv_usec - tv1.tv_usec;
+- tv_count2 = (tv3.tv_sec - tv2.tv_sec)
+- * USEC_PER_SEC
+- + tv3.tv_usec - tv2.tv_usec;
+-
+- pr_info("pcie ep: Data transfer is successful."
+- " tv_count1 %dus,"
+- " tv_count2 %dus.\n",
+- tv_count1, tv_count2);
+- pr_info("pcie ep: Data write speed:%ldMB/s.\n",
+- ((test_region_size/1024)
+- * MSEC_PER_SEC)
+- /(tv_count1));
+- pr_info("pcie ep: Data read speed:%ldMB/s.\n",
+- ((test_region_size/1024)
+- * MSEC_PER_SEC)
+- /(tv_count2));
+- } else {
+- pr_info("pcie ep: Data transfer is failed.\n");
+- }
+- }
+- } else {
+- ret = imx6_add_pcie_port(pp, pdev);
+- if (ret < 0)
+- goto err;
+-
+- platform_set_drvdata(pdev, imx6_pcie);
+-
+- /* Re-setup the iATU */
+- imx_pcie_regions_setup(&pdev->dev);
+- }
++ ret = imx6_add_pcie_port(pp, pdev);
++ if (ret < 0)
++ return ret;
+
+- register_syscore_ops(&pci_imx_syscore_ops);
++ platform_set_drvdata(pdev, imx6_pcie);
+ return 0;
+-
+-err:
+- return ret;
+ }
+
++static const struct of_device_id imx6_pcie_of_match[] = {
++ { .compatible = "fsl,imx6q-pcie", },
++ {},
++};
++MODULE_DEVICE_TABLE(of, imx6_pcie_of_match);
++
+ static struct platform_driver imx6_pcie_driver = {
+ .driver = {
+ .name = "imx6q-pcie",
+diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c
+index e7a82ee..6fa24d6 100644
+--- a/drivers/pci/host/pcie-designware.c
++++ b/drivers/pci/host/pcie-designware.c
+@@ -17,12 +17,55 @@
+ #include <linux/module.h>
+ #include <linux/msi.h>
+ #include <linux/of_address.h>
++#include <linux/of_pci.h>
+ #include <linux/pci.h>
+ #include <linux/pci_regs.h>
+ #include <linux/types.h>
+
+ #include "pcie-designware.h"
+
++/* Synopsis specific PCIE configuration registers */
++#define PCIE_PORT_LINK_CONTROL 0x710
++#define PORT_LINK_MODE_MASK (0x3f << 16)
++#define PORT_LINK_MODE_1_LANES (0x1 << 16)
++#define PORT_LINK_MODE_2_LANES (0x3 << 16)
++#define PORT_LINK_MODE_4_LANES (0x7 << 16)
++
++#define PCIE_LINK_WIDTH_SPEED_CONTROL 0x80C
++#define PORT_LOGIC_SPEED_CHANGE (0x1 << 17)
++#define PORT_LOGIC_LINK_WIDTH_MASK (0x1ff << 8)
++#define PORT_LOGIC_LINK_WIDTH_1_LANES (0x1 << 8)
++#define PORT_LOGIC_LINK_WIDTH_2_LANES (0x2 << 8)
++#define PORT_LOGIC_LINK_WIDTH_4_LANES (0x4 << 8)
++
++#define PCIE_MSI_ADDR_LO 0x820
++#define PCIE_MSI_ADDR_HI 0x824
++#define PCIE_MSI_INTR0_ENABLE 0x828
++#define PCIE_MSI_INTR0_MASK 0x82C
++#define PCIE_MSI_INTR0_STATUS 0x830
++
++#define PCIE_ATU_VIEWPORT 0x900
++#define PCIE_ATU_REGION_INBOUND (0x1 << 31)
++#define PCIE_ATU_REGION_OUTBOUND (0x0 << 31)
++#define PCIE_ATU_REGION_INDEX1 (0x1 << 0)
++#define PCIE_ATU_REGION_INDEX0 (0x0 << 0)
++#define PCIE_ATU_CR1 0x904
++#define PCIE_ATU_TYPE_MEM (0x0 << 0)
++#define PCIE_ATU_TYPE_IO (0x2 << 0)
++#define PCIE_ATU_TYPE_CFG0 (0x4 << 0)
++#define PCIE_ATU_TYPE_CFG1 (0x5 << 0)
++#define PCIE_ATU_CR2 0x908
++#define PCIE_ATU_ENABLE (0x1 << 31)
++#define PCIE_ATU_BAR_MODE_ENABLE (0x1 << 30)
++#define PCIE_ATU_LOWER_BASE 0x90C
++#define PCIE_ATU_UPPER_BASE 0x910
++#define PCIE_ATU_LIMIT 0x914
++#define PCIE_ATU_LOWER_TARGET 0x918
++#define PCIE_ATU_BUS(x) (((x) & 0xff) << 24)
++#define PCIE_ATU_DEV(x) (((x) & 0x1f) << 19)
++#define PCIE_ATU_FUNC(x) (((x) & 0x7) << 16)
++#define PCIE_ATU_UPPER_TARGET 0x91C
++
+ static struct hw_pci dw_pci;
+
+ static unsigned long global_io_offset;
+@@ -32,7 +75,7 @@ static inline struct pcie_port *sys_to_pcie(struct pci_sys_data *sys)
+ return sys->private_data;
+ }
+
+-int cfg_read(void __iomem *addr, int where, int size, u32 *val)
++int dw_pcie_cfg_read(void __iomem *addr, int where, int size, u32 *val)
+ {
+ *val = readl(addr);
+
+@@ -46,7 +89,7 @@ int cfg_read(void __iomem *addr, int where, int size, u32 *val)
+ return PCIBIOS_SUCCESSFUL;
+ }
+
+-int cfg_write(void __iomem *addr, int where, int size, u32 val)
++int dw_pcie_cfg_write(void __iomem *addr, int where, int size, u32 val)
+ {
+ if (size == 4)
+ writel(val, addr);
+@@ -60,22 +103,20 @@ int cfg_write(void __iomem *addr, int where, int size, u32 val)
+ return PCIBIOS_SUCCESSFUL;
+ }
+
+-static inline void dw_pcie_readl_rc(struct pcie_port *pp,
+- void __iomem *dbi_addr, u32 *val)
++static inline void dw_pcie_readl_rc(struct pcie_port *pp, u32 reg, u32 *val)
+ {
+ if (pp->ops->readl_rc)
+- pp->ops->readl_rc(pp, dbi_addr, val);
++ pp->ops->readl_rc(pp, pp->dbi_base + reg, val);
+ else
+- *val = readl(dbi_addr);
++ *val = readl(pp->dbi_base + reg);
+ }
+
+-static inline void dw_pcie_writel_rc(struct pcie_port *pp,
+- u32 val, void __iomem *dbi_addr)
++static inline void dw_pcie_writel_rc(struct pcie_port *pp, u32 val, u32 reg)
+ {
+ if (pp->ops->writel_rc)
+- pp->ops->writel_rc(pp, val, dbi_addr);
++ pp->ops->writel_rc(pp, val, pp->dbi_base + reg);
+ else
+- writel(val, dbi_addr);
++ writel(val, pp->dbi_base + reg);
+ }
+
+ static int dw_pcie_rd_own_conf(struct pcie_port *pp, int where, int size,
+@@ -86,7 +127,8 @@ static int dw_pcie_rd_own_conf(struct pcie_port *pp, int where, int size,
+ if (pp->ops->rd_own_conf)
+ ret = pp->ops->rd_own_conf(pp, where, size, val);
+ else
+- ret = cfg_read(pp->dbi_base + (where & ~0x3), where, size, val);
++ ret = dw_pcie_cfg_read(pp->dbi_base + (where & ~0x3), where,
++ size, val);
+
+ return ret;
+ }
+@@ -99,8 +141,8 @@ static int dw_pcie_wr_own_conf(struct pcie_port *pp, int where, int size,
+ if (pp->ops->wr_own_conf)
+ ret = pp->ops->wr_own_conf(pp, where, size, val);
+ else
+- ret = cfg_write(pp->dbi_base + (where & ~0x3), where, size,
+- val);
++ ret = dw_pcie_cfg_write(pp->dbi_base + (where & ~0x3), where,
++ size, val);
+
+ return ret;
+ }
+@@ -127,11 +169,13 @@ void dw_handle_msi_irq(struct pcie_port *pp)
+ while ((pos = find_next_bit(&val, 32, pos)) != 32) {
+ irq = irq_find_mapping(pp->irq_domain,
+ i * 32 + pos);
++ dw_pcie_wr_own_conf(pp,
++ PCIE_MSI_INTR0_STATUS + i * 12,
++ 4, 1 << pos);
+ generic_handle_irq(irq);
+ pos++;
+ }
+ }
+- dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_STATUS + i * 12, 4, val);
+ }
+ }
+
+@@ -157,7 +201,7 @@ static int find_valid_pos0(struct pcie_port *pp, int msgvec, int pos, int *pos0)
+ return -ENOSPC;
+ /*
+ * Check if this position is at correct offset.nvec is always a
+- * power of two. pos0 must be nvec bit alligned.
++ * power of two. pos0 must be nvec bit aligned.
+ */
+ if (pos % msgvec)
+ pos += msgvec - (pos % msgvec);
+@@ -169,6 +213,23 @@ static int find_valid_pos0(struct pcie_port *pp, int msgvec, int pos, int *pos0)
+ return 0;
+ }
+
++static void clear_irq_range(struct pcie_port *pp, unsigned int irq_base,
++ unsigned int nvec, unsigned int pos)
++{
++ unsigned int i, res, bit, val;
++
++ for (i = 0; i < nvec; i++) {
++ irq_set_msi_desc_off(irq_base, i, NULL);
++ clear_bit(pos + i, pp->msi_irq_in_use);
++ /* Disable corresponding interrupt on MSI controller */
++ res = ((pos + i) / 32) * 12;
++ bit = (pos + i) % 32;
++ dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, &val);
++ val &= ~(1 << bit);
++ dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, val);
++ }
++}
++
+ static int assign_irq(int no_irqs, struct msi_desc *desc, int *pos)
+ {
+ int res, bit, irq, pos0, pos1, i;
+@@ -202,18 +263,25 @@ static int assign_irq(int no_irqs, struct msi_desc *desc, int *pos)
+ if (!irq)
+ goto no_valid_irq;
+
+- i = 0;
+- while (i < no_irqs) {
++ /*
++ * irq_create_mapping (called from dw_pcie_host_init) pre-allocates
++ * descs so there is no need to allocate descs here. We can therefore
++ * assume that if irq_find_mapping above returns non-zero, then the
++ * descs are also successfully allocated.
++ */
++
++ for (i = 0; i < no_irqs; i++) {
++ if (irq_set_msi_desc_off(irq, i, desc) != 0) {
++ clear_irq_range(pp, irq, i, pos0);
++ goto no_valid_irq;
++ }
+ set_bit(pos0 + i, pp->msi_irq_in_use);
+- irq_alloc_descs((irq + i), (irq + i), 1, 0);
+- irq_set_msi_desc(irq + i, desc);
+ /*Enable corresponding interrupt in MSI interrupt controller */
+ res = ((pos0 + i) / 32) * 12;
+ bit = (pos0 + i) % 32;
+ dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, &val);
+ val |= 1 << bit;
+ dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, val);
+- i++;
+ }
+
+ *pos = pos0;
+@@ -226,7 +294,7 @@ no_valid_irq:
+
+ static void clear_irq(unsigned int irq)
+ {
+- int res, bit, val, pos;
++ unsigned int pos, nvec;
+ struct irq_desc *desc;
+ struct msi_desc *msi;
+ struct pcie_port *pp;
+@@ -241,18 +309,15 @@ static void clear_irq(unsigned int irq)
+ return;
+ }
+
++ /* undo what was done in assign_irq */
+ pos = data->hwirq;
++ nvec = 1 << msi->msi_attrib.multiple;
+
+- irq_free_desc(irq);
+-
+- clear_bit(pos, pp->msi_irq_in_use);
++ clear_irq_range(pp, irq, nvec, pos);
+
+- /* Disable corresponding interrupt on MSI interrupt controller */
+- res = (pos / 32) * 12;
+- bit = pos % 32;
+- dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, &val);
+- val &= ~(1 << bit);
+- dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_ENABLE + res, 4, val);
++ /* all irqs cleared; reset attributes */
++ msi->irq = 0;
++ msi->msi_attrib.multiple = 0;
+ }
+
+ static int dw_msi_setup_irq(struct msi_chip *chip, struct pci_dev *pdev,
+@@ -268,28 +333,23 @@ static int dw_msi_setup_irq(struct msi_chip *chip, struct pci_dev *pdev,
+ return -EINVAL;
+ }
+
+- if (pp->quirks & DW_PCIE_QUIRK_NO_MSI_VEC) {
+- irq = assign_irq(1, desc, &pos);
+- set_irq_flags(irq, IRQF_VALID);
+- } else {
+- pci_read_config_word(pdev, desc->msi_attrib.pos+PCI_MSI_FLAGS,
+- &msg_ctr);
+- msgvec = (msg_ctr&PCI_MSI_FLAGS_QSIZE) >> 4;
+- if (msgvec == 0)
+- msgvec = (msg_ctr & PCI_MSI_FLAGS_QMASK) >> 1;
+- if (msgvec > 5)
+- msgvec = 0;
+-
+- irq = assign_irq((1 << msgvec), desc, &pos);
+- if (irq < 0)
+- return irq;
+-
+- msg_ctr &= ~PCI_MSI_FLAGS_QSIZE;
+- msg_ctr |= msgvec << 4;
+- pci_write_config_word(pdev, desc->msi_attrib.pos + PCI_MSI_FLAGS,
+- msg_ctr);
+- desc->msi_attrib.multiple = msgvec;
+- }
++ pci_read_config_word(pdev, desc->msi_attrib.pos+PCI_MSI_FLAGS,
++ &msg_ctr);
++ msgvec = (msg_ctr&PCI_MSI_FLAGS_QSIZE) >> 4;
++ if (msgvec == 0)
++ msgvec = (msg_ctr & PCI_MSI_FLAGS_QMASK) >> 1;
++ if (msgvec > 5)
++ msgvec = 0;
++
++ irq = assign_irq((1 << msgvec), desc, &pos);
++ if (irq < 0)
++ return irq;
++
++ /*
++ * write_msi_msg() will update PCI_MSI_FLAGS so there is
++ * no need to explicitly call pci_write_config_word().
++ */
++ desc->msi_attrib.multiple = msgvec;
+
+ msg.address_lo = virt_to_phys((void *)pp->msi_data);
+ msg.address_hi = 0x0;
+@@ -304,30 +364,9 @@ static void dw_msi_teardown_irq(struct msi_chip *chip, unsigned int irq)
+ clear_irq(irq);
+ }
+
+-static int dw_msi_check_device(struct msi_chip *chip, struct pci_dev *pdev,
+- int nvec, int type)
+-{
+- struct pcie_port *pp = sys_to_pcie(pdev->bus->sysdata);
+- u32 val;
+-
+- if (pp->quirks & DW_PCIE_QUIRK_MSI_SELF_EN) {
+- if ((type == PCI_CAP_ID_MSI) || (type == PCI_CAP_ID_MSIX)) {
+- /* Set MSI enable of RC here */
+- val = readl(pp->dbi_base + 0x50);
+- if ((val & (PCI_MSI_FLAGS_ENABLE << 16)) == 0) {
+- val |= PCI_MSI_FLAGS_ENABLE << 16;
+- writel(val, pp->dbi_base + 0x50);
+- }
+- }
+- }
+-
+- return 0;
+-}
+-
+ static struct msi_chip dw_pcie_msi_chip = {
+ .setup_irq = dw_msi_setup_irq,
+ .teardown_irq = dw_msi_teardown_irq,
+- .check_device = dw_msi_check_device,
+ };
+
+ int dw_pcie_link_up(struct pcie_port *pp)
+@@ -380,6 +419,7 @@ int __init dw_pcie_host_init(struct pcie_port *pp)
+ + global_io_offset);
+ pp->config.io_size = resource_size(&pp->io);
+ pp->config.io_bus_addr = range.pci_addr;
++ pp->io_base = range.cpu_addr;
+ }
+ if (restype == IORESOURCE_MEM) {
+ of_pci_range_to_resource(&range, np, &pp->mem);
+@@ -405,7 +445,6 @@ int __init dw_pcie_host_init(struct pcie_port *pp)
+
+ pp->cfg0_base = pp->cfg.start;
+ pp->cfg1_base = pp->cfg.start + pp->config.cfg0_size;
+- pp->io_base = pp->io.start;
+ pp->mem_base = pp->mem.start;
+
+ pp->va_cfg0_base = devm_ioremap(pp->dev, pp->cfg0_base,
+@@ -465,42 +504,64 @@ int __init dw_pcie_host_init(struct pcie_port *pp)
+
+ static void dw_pcie_prog_viewport_cfg0(struct pcie_port *pp, u32 busdev)
+ {
+- u32 val;
+- void __iomem *dbi_base = pp->dbi_base;
+-
+ /* Program viewport 0 : OUTBOUND : CFG0 */
+- val = PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX0;
+- dw_pcie_writel_rc(pp, val, dbi_base + PCIE_ATU_VIEWPORT);
+- dw_pcie_writel_rc(pp, pp->cfg0_base, dbi_base + PCIE_ATU_LOWER_BASE);
+- dw_pcie_writel_rc(pp, (pp->cfg0_base >> 32),
+- dbi_base + PCIE_ATU_UPPER_BASE);
++ dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX0,
++ PCIE_ATU_VIEWPORT);
++ dw_pcie_writel_rc(pp, pp->cfg0_base, PCIE_ATU_LOWER_BASE);
++ dw_pcie_writel_rc(pp, (pp->cfg0_base >> 32), PCIE_ATU_UPPER_BASE);
+ dw_pcie_writel_rc(pp, pp->cfg0_base + pp->config.cfg0_size - 1,
+- dbi_base + PCIE_ATU_LIMIT);
+- dw_pcie_writel_rc(pp, busdev, dbi_base + PCIE_ATU_LOWER_TARGET);
+- dw_pcie_writel_rc(pp, 0, dbi_base + PCIE_ATU_UPPER_TARGET);
+- dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_CFG0, dbi_base + PCIE_ATU_CR1);
+- val = PCIE_ATU_ENABLE;
+- dw_pcie_writel_rc(pp, val, dbi_base + PCIE_ATU_CR2);
++ PCIE_ATU_LIMIT);
++ dw_pcie_writel_rc(pp, busdev, PCIE_ATU_LOWER_TARGET);
+...
[truncated message content] |
|
From: Julien B a. A. <ar...@us...> - 2015-06-16 09:50:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 252b81a8eb8f67a14b9bd67cc32c936accb3e23c (commit)
from ca1660236707924badf62eb50bad81239cf160e1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 252b81a8eb8f67a14b9bd67cc32c936accb3e23c
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jun 16 11:49:17 2015 +0200
[BUILDROOT] apf27preempt-rtmainline_defconfig: add rt-tests package
-----------------------------------------------------------------------
Summary of changes:
.../configs/apf27preempt-rtmainline_defconfig | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/buildroot/configs/apf27preempt-rtmainline_defconfig b/buildroot/configs/apf27preempt-rtmainline_defconfig
index e0f1f32..13f4933 100644
--- a/buildroot/configs/apf27preempt-rtmainline_defconfig
+++ b/buildroot/configs/apf27preempt-rtmainline_defconfig
@@ -56,6 +56,7 @@ BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_GDB=y
+BR2_PACKAGE_RT_TESTS=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_MTD_JFFS2DUMP=y
@@ -72,11 +73,11 @@ BR2_PACKAGE_PORTMAP=y
BR2_PACKAGE_UUCP=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
-BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
-BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_NANO=y
BR2_TARGET_ROOTFS_JFFS2=y
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-06-16 07:17:01
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via ca1660236707924badf62eb50bad81239cf160e1 (commit)
from c0ca4e8c0d6626eba8c1daea64403ace0ce785ed (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ca1660236707924badf62eb50bad81239cf160e1
Author: Julien Boibessot <jul...@ar...>
Date: Tue Jun 16 09:16:48 2015 +0200
[BUILDROOT] Fixes build of music_player & show_image demos
-----------------------------------------------------------------------
Summary of changes:
buildroot/package/armadeus/demos/demos.mk | 11 ++---------
1 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/buildroot/package/armadeus/demos/demos.mk b/buildroot/package/armadeus/demos/demos.mk
index f8d5a36..eb022ce 100644
--- a/buildroot/package/armadeus/demos/demos.mk
+++ b/buildroot/package/armadeus/demos/demos.mk
@@ -51,7 +51,7 @@ endif
ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_MUSIC_PLAYER),y)
ARMADEUS-DEMOS_SUBDIRS += music_player
-DEMOS_DEPENDENCIES += sdl
+DEMOS_DEPENDENCIES += sdl sdl_mixer sdl_ttf
endif
ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_OSCILLO),y)
@@ -60,7 +60,7 @@ endif
ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_SHOW_IMAGE),y)
ARMADEUS-DEMOS_SUBDIRS += show_image
-DEMOS_DEPENDENCIES += sdl
+DEMOS_DEPENDENCIES += sdl sdl_image
endif
ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_TEST_LCD),y)
@@ -68,13 +68,6 @@ ARMADEUS-DEMOS_SUBDIRS += test_lcd
DEMOS_DEPENDENCIES += sdl
endif
-ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_MUSIC_PLAYER),y)
-ARMADEUS-DEMOS_DEPS += sdl_ttf sdl_mixer
-endif
-ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_SHOW_IMAGE),y)
-ARMADEUS-DEMOS_DEPS += sdl_image
-endif
-
ifeq ($(BR2_PACKAGE_ARMADEUS_DEMOS_MCP25020),y)
ARMADEUS-DEMOS_SUBDIRS += mcp25020_ctrl
endif
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2015-06-15 14:36:10
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c0ca4e8c0d6626eba8c1daea64403ace0ce785ed (commit)
via 401d09314b188e5471d3796df32f2059795ae95b (commit)
from d819e7c0b529684af9b9f7b386472f33730c3c57 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c0ca4e8c0d6626eba8c1daea64403ace0ce785ed
Author: Julien Boibessot <jul...@ar...>
Date: Mon Jun 15 16:35:26 2015 +0200
[BUILDROOT] APF27: fixes build of apf27preempt-rtmainline_defconfig
commit 401d09314b188e5471d3796df32f2059795ae95b
Author: Philippe Reynes <tr...@gm...>
Date: Sat May 30 11:31:03 2015 +0200
[BUILDROOT] 2015.02: backport patches from mainline to support linux headers 4.x
Signed-off-by: Julien Boibessot <jul...@ar...>
-----------------------------------------------------------------------
Summary of changes:
.../configs/apf27preempt-rtmainline_defconfig | 2 +-
...-BR-mainline-linux-headers-add-4.0-config.patch | 52 ++++++++++++++++++++
...BR-mainline-linux-headers-add-4.0-support.patch | 27 ++++++++++
...ort-BR-mainline-toolchain-add-4.0-support.patch | 32 ++++++++++++
4 files changed, 112 insertions(+), 1 deletions(-)
create mode 100644 patches/buildroot/2015.02/053-armadeus-backport-BR-mainline-linux-headers-add-4.0-config.patch
create mode 100644 patches/buildroot/2015.02/054-armadeus-backport-BR-mainline-linux-headers-add-4.0-support.patch
create mode 100644 patches/buildroot/2015.02/055-armadeus-backport-BR-mainline-toolchain-add-4.0-support.patch
diff --git a/buildroot/configs/apf27preempt-rtmainline_defconfig b/buildroot/configs/apf27preempt-rtmainline_defconfig
index 2348730..e0f1f32 100644
--- a/buildroot/configs/apf27preempt-rtmainline_defconfig
+++ b/buildroot/configs/apf27preempt-rtmainline_defconfig
@@ -7,7 +7,7 @@ BR2_CCACHE_DIR="$(TOPDIR)/.$(BR2_BOARD_NAME)-buildroot-ccache"
BR2_STRIP_sstrip=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.0.5"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
BR2_UCLIBC_CONFIG="target/device/armadeus/uClibc-$(BR2_UCLIBC_VERSION_STRING).config"
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
diff --git a/patches/buildroot/2015.02/053-armadeus-backport-BR-mainline-linux-headers-add-4.0-config.patch b/patches/buildroot/2015.02/053-armadeus-backport-BR-mainline-linux-headers-add-4.0-config.patch
new file mode 100644
index 0000000..5b541dd
--- /dev/null
+++ b/patches/buildroot/2015.02/053-armadeus-backport-BR-mainline-linux-headers-add-4.0-config.patch
@@ -0,0 +1,52 @@
+From 53e36065c7fb4f1725cb8013ccd0aeae8db22f8a Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gu...@za...>
+Date: Mon, 13 Apr 2015 10:00:24 -0300
+Subject: [PATCH 11/18] linux-headers: add 4.0.x series
+
+Signed-off-by: Gustavo Zacarias <gu...@za...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+ package/linux-headers/Config.in.host | 11 ++++++++++-
+ 1 files changed, 10 insertions(+), 1 deletions(-)
+
+Index: b/package/linux-headers/Config.in.host
+===================================================================
+--- a/package/linux-headers/Config.in.host
++++ b/package/linux-headers/Config.in.host
+@@ -5,7 +5,7 @@ comment "Kernel Header Options"
+
+ choice
+ prompt "Kernel Headers"
+- default BR2_KERNEL_HEADERS_3_19
++ default BR2_KERNEL_HEADERS_4_0
+ help
+ Select the version of kernel header files you wish to use.
+ You must select the correct set of header files to match
+@@ -81,6 +81,10 @@ choice
+ bool "Linux 3.19.x kernel headers"
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
+
++ config BR2_KERNEL_HEADERS_4_0
++ bool "Linux 4.0.x kernel headers"
++ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
++
+ config BR2_KERNEL_HEADERS_VERSION
+ bool "Manually specified Linux version"
+ endchoice
+@@ -102,6 +106,10 @@ choice
+ This is used to hide/show some packages that have strict
+ requirements on the version of kernel headers.
+
++config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0
++ bool "4.0.x"
++ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
++
+ config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19
+ bool "3.19.x"
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
+@@ -202,4 +210,5 @@ config BR2_DEFAULT_KERNEL_HEADERS
+ default "3.17.8" if BR2_KERNEL_HEADERS_3_17
+ default "3.18.9" if BR2_KERNEL_HEADERS_3_18
+ default "3.19.2" if BR2_KERNEL_HEADERS_3_19
++ default "4.0" if BR2_KERNEL_HEADERS_4_0
+ default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
diff --git a/patches/buildroot/2015.02/054-armadeus-backport-BR-mainline-linux-headers-add-4.0-support.patch b/patches/buildroot/2015.02/054-armadeus-backport-BR-mainline-linux-headers-add-4.0-support.patch
new file mode 100644
index 0000000..f74ecdf
--- /dev/null
+++ b/patches/buildroot/2015.02/054-armadeus-backport-BR-mainline-linux-headers-add-4.0-support.patch
@@ -0,0 +1,27 @@
+From 9c7710015112464d74cb6be16c05dd6fc23ae122 Mon Sep 17 00:00:00 2001
+From: Jerzy Grzegorek <jer...@tr...>
+Date: Fri, 10 Apr 2015 21:57:54 +0200
+Subject: [PATCH] linux-headers: add support for 4.x versions
+
+Signed-off-by: Jerzy Grzegorek <jer...@tr...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+ package/linux-headers/linux-headers.mk | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+Index: b/package/linux-headers/linux-headers.mk
+===================================================================
+--- a/package/linux-headers/linux-headers.mk
++++ b/package/linux-headers/linux-headers.mk
+@@ -10,8 +10,10 @@
+ LINUX_HEADERS_VERSION = $(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS))
+ ifeq ($(findstring x2.6.,x$(LINUX_HEADERS_VERSION)),x2.6.)
+ LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6
+-else
++else ifeq ($(findstring x3.,x$(LINUX_HEADERS_VERSION)),x3.)
+ LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
++else ifeq ($(findstring x4.,x$(LINUX_HEADERS_VERSION)),x4.)
++LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
+ endif
+ LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz
+
diff --git a/patches/buildroot/2015.02/055-armadeus-backport-BR-mainline-toolchain-add-4.0-support.patch b/patches/buildroot/2015.02/055-armadeus-backport-BR-mainline-toolchain-add-4.0-support.patch
new file mode 100644
index 0000000..4577417
--- /dev/null
+++ b/patches/buildroot/2015.02/055-armadeus-backport-BR-mainline-toolchain-add-4.0-support.patch
@@ -0,0 +1,32 @@
+From e714ee9412ea873af68a48edbe60f48029728186 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gu...@za...>
+Date: Mon, 13 Apr 2015 10:00:23 -0300
+Subject: [PATCH] toolchain: add 4.0.x choice for headers
+
+Signed-off-by: Gustavo Zacarias <gu...@za...>
+Signed-off-by: Thomas Petazzoni <tho...@fr...>
+---
+ toolchain/toolchain-common.in | 5 +++++
+ toolchain/toolchain-external/Config.in | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+Index: b/toolchain/toolchain-common.in
+===================================================================
+--- a/toolchain/toolchain-common.in
++++ b/toolchain/toolchain-common.in
+@@ -225,10 +225,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_
+ bool
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
+
++config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
++ bool
++ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
++
+ # This order guarantees that the highest version is set, as kconfig
+ # stops affecting a value on the first matching default.
+ config BR2_TOOLCHAIN_HEADERS_AT_LEAST
+ string
++ default "4.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
+ default "3.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
+ default "3.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
+ default "3.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
hooks/post-receive
--
armadeus
|