Merge Official Source
This commit is contained in:
commit
33e772ad39
@ -132,6 +132,7 @@ define BuildKernel
|
||||
$(LINUX_DIR)/.modules: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
|
||||
$(LINUX_DIR)/.modules: export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
|
||||
$(LINUX_DIR)/.modules: export PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
|
||||
$(LINUX_DIR)/.modules: export FAIL_ON_UNCONFIGURED=1
|
||||
$(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
|
||||
$(Kernel/CompileModules)
|
||||
touch $$@
|
||||
|
||||
@ -6,11 +6,11 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .137
|
||||
LINUX_VERSION-5.10 = .54
|
||||
LINUX_VERSION-5.4 = .138
|
||||
LINUX_VERSION-5.10 = .56
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.137 = f09e5e366ce5d8bde887cda229ef17138fd1653706a702221f934f99aaa31f7c
|
||||
LINUX_KERNEL_HASH-5.10.54 = bf50c63261847187eca4a1793e5df5c1355b21697409589f6ca03e32b629be44
|
||||
LINUX_KERNEL_HASH-5.4.138 = a43957727a54e5e1035d7372a1e64203ae8e3060c52a3816916157967f9a8657
|
||||
LINUX_KERNEL_HASH-5.10.56 = 4d6a0d5f9c50fa44890e0b61e1fb63f6efe6be448ceddfe1ad7c0cbd2890ec6b
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -23,6 +23,7 @@ PKG_LICENSE:=GPL-2.0
|
||||
PKG_CONFIG_DEPENDS += \
|
||||
CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE \
|
||||
CONFIG_NAND_SUPPORT \
|
||||
CONFIG_SDCARD_SUPPORT \
|
||||
CONFIG_CLEAN_IPKG \
|
||||
CONFIG_PER_FEED_REPO \
|
||||
$(foreach feed,$(FEEDS_AVAILABLE),CONFIG_FEED_$(feed))
|
||||
@ -123,10 +124,18 @@ ifeq ($(CONFIG_NAND_SUPPORT),)
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDCARD_SUPPORT),)
|
||||
define Package/base-files/sdcard-support
|
||||
rm -f $(1)/lib/upgrade/sdcard.sh
|
||||
endef
|
||||
endif
|
||||
|
||||
|
||||
define Package/base-files/install
|
||||
$(CP) ./files/* $(1)/
|
||||
$(Package/base-files/install-key)
|
||||
$(Package/base-files/nand-support)
|
||||
$(Package/base-files/sdcard-support)
|
||||
if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \
|
||||
$(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \
|
||||
fi
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
platform_check_image_sdcard() {
|
||||
sdcard_check_image() {
|
||||
local file="$1"
|
||||
local diskdev partdev diff
|
||||
|
||||
@ -26,7 +26,7 @@ platform_check_image_sdcard() {
|
||||
fi
|
||||
}
|
||||
|
||||
platform_do_upgrade_sdcard() {
|
||||
sdcard_do_upgrade() {
|
||||
local board=$(board_name)
|
||||
local diskdev partdev diff
|
||||
|
||||
@ -78,7 +78,7 @@ platform_do_upgrade_sdcard() {
|
||||
sleep 1
|
||||
}
|
||||
|
||||
platform_copy_config_sdcard() {
|
||||
sdcard_copy_config() {
|
||||
local partdev
|
||||
|
||||
if export_partdevice partdev 1; then
|
||||
@ -0,0 +1,46 @@
|
||||
From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
|
||||
From: Dirk Mueller <dmueller@suse.com>
|
||||
Date: Tue, 14 Jan 2020 18:53:41 +0100
|
||||
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
|
||||
|
||||
gcc 10 will default to -fno-common, which causes this error at link
|
||||
time:
|
||||
|
||||
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
|
||||
|
||||
This is because both dtc-lexer as well as dtc-parser define the same
|
||||
global symbol yyloc. Before with -fcommon those were merged into one
|
||||
defintion. The proper solution would be to to mark this as "extern",
|
||||
however that leads to:
|
||||
|
||||
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
|
||||
26 | extern YYLTYPE yylloc;
|
||||
| ^~~~~~
|
||||
In file included from dtc-lexer.l:24:
|
||||
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
|
||||
127 | extern YYLTYPE yylloc;
|
||||
| ^~~~~~
|
||||
cc1: all warnings being treated as errors
|
||||
|
||||
which means the declaration is completely redundant and can just be
|
||||
dropped.
|
||||
|
||||
Signed-off-by: Dirk Mueller <dmueller@suse.com>
|
||||
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||
[robh: cherry-pick from upstream]
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
scripts/dtc/dtc-lexer.l | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/scripts/dtc/dtc-lexer.l
|
||||
+++ b/scripts/dtc/dtc-lexer.l
|
||||
@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
extern bool treesource_error;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
@ -7,12 +7,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=elfutils
|
||||
PKG_VERSION:=0.180
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=0.182
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
||||
PKG_HASH:=b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d
|
||||
PKG_HASH:=ecc406914edf335f0b7fc084ebe6c460c4d6d5175bfdd6688c1c78d9146b8858
|
||||
|
||||
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
@ -63,7 +63,9 @@ endif
|
||||
CONFIGURE_ARGS += \
|
||||
--program-prefix=eu- \
|
||||
--disable-debuginfod \
|
||||
--without-lzma
|
||||
--disable-libdebuginfod \
|
||||
--without-lzma \
|
||||
--without-zstd
|
||||
|
||||
TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
|
||||
|
||||
|
||||
@ -17,8 +17,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
backends/ppc_initreg.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
|
||||
index 0e0d359..e5cca7e 100644
|
||||
--- a/backends/ppc_initreg.c
|
||||
+++ b/backends/ppc_initreg.c
|
||||
@@ -33,6 +33,7 @@
|
||||
@ -29,6 +27,3 @@ index 0e0d359..e5cca7e 100644
|
||||
# include <sys/user.h>
|
||||
#endif
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
Requires.private: zlib
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -586,6 +586,9 @@ AC_CONFIG_FILES([config/libelf.pc config
|
||||
@@ -590,6 +590,9 @@ AC_CONFIG_FILES([config/libelf.pc config
|
||||
AC_SUBST(USE_NLS, yes)
|
||||
AM_PO_SUBDIRS
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
#define _(Str) dgettext ("elfutils", Str)
|
||||
--- a/libdwfl/libdwflP.h
|
||||
+++ b/libdwfl/libdwflP.h
|
||||
@@ -44,6 +44,9 @@
|
||||
@@ -47,6 +47,9 @@
|
||||
|
||||
typedef struct Dwfl_Process Dwfl_Process;
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
pkginclude_HEADERS = version.h
|
||||
|
||||
SUBDIRS = config m4 lib libelf libcpu backends libebl libdwelf libdwfl libdw \
|
||||
- libasm src po doc tests
|
||||
- libasm debuginfod src po doc tests
|
||||
+ libasm
|
||||
|
||||
if DEBUGINFOD
|
||||
SUBDIRS += debuginfod
|
||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
|
||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
||||
|
||||
@ -22,8 +22,6 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
backends/arm_initreg.c | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/backends/aarch64_initreg.c b/backends/aarch64_initreg.c
|
||||
index daf6f37..6445276 100644
|
||||
--- a/backends/aarch64_initreg.c
|
||||
+++ b/backends/aarch64_initreg.c
|
||||
@@ -33,7 +33,7 @@
|
||||
@ -35,7 +33,7 @@ index daf6f37..6445276 100644
|
||||
# include <sys/user.h>
|
||||
# include <sys/ptrace.h>
|
||||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
|
||||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
|
||||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t
|
||||
|
||||
Dwarf_Word dwarf_fregs[32];
|
||||
for (int r = 0; r < 32; r++)
|
||||
@ -44,8 +42,6 @@ index daf6f37..6445276 100644
|
||||
|
||||
if (! setfunc (64, 32, dwarf_fregs, arg))
|
||||
return false;
|
||||
diff --git a/backends/arm_initreg.c b/backends/arm_initreg.c
|
||||
index efcabaf..062bb9e 100644
|
||||
--- a/backends/arm_initreg.c
|
||||
+++ b/backends/arm_initreg.c
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
@ -24,28 +24,3 @@ Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||
|
||||
#include <system.h>
|
||||
|
||||
--- a/libelf/elf.h
|
||||
+++ b/libelf/elf.h
|
||||
@@ -19,9 +19,9 @@
|
||||
#ifndef _ELF_H
|
||||
#define _ELF_H 1
|
||||
|
||||
-#include <features.h>
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
|
||||
/* Standard ELF types. */
|
||||
|
||||
@@ -4103,6 +4103,8 @@ enum
|
||||
#define R_ARC_TLS_LE_S9 0x4a
|
||||
#define R_ARC_TLS_LE_32 0x4b
|
||||
|
||||
-__END_DECLS
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#endif /* elf.h */
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
--- a/libebl/libebl.h
|
||||
+++ b/libebl/libebl.h
|
||||
@@ -245,7 +245,7 @@ extern ssize_t ebl_register_info (Ebl *e
|
||||
Each of these is filled with the DWARF register number corresponding,
|
||||
or -1 if there is none. Returns zero when the information is available. */
|
||||
extern int ebl_syscall_abi (Ebl *ebl, int *sp, int *pc,
|
||||
- int *callno, int args[6]);
|
||||
+ int *callno, int args[]);
|
||||
|
||||
/* Supply the ABI-specified state of DWARF CFI before CIE initial programs.
|
||||
|
||||
--- a/libdw/libdw.h
|
||||
+++ b/libdw/libdw.h
|
||||
@@ -1065,7 +1065,7 @@ extern int dwarf_frame_cfa (Dwarf_Frame
|
||||
expressions in the CFI, *OPS is an internal pointer that can be used as
|
||||
long as the Dwarf_CFI used to create FRAME remains alive. */
|
||||
extern int dwarf_frame_register (Dwarf_Frame *frame, int regno,
|
||||
- Dwarf_Op ops_mem[3],
|
||||
+ Dwarf_Op ops_mem[],
|
||||
Dwarf_Op **ops, size_t *nops)
|
||||
__nonnull_attribute__ (3, 4, 5);
|
||||
|
||||
@ -24,8 +24,8 @@ PKG_CPE_ID:=cpe:/a:gnu:gettext
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_DEPENDS:=gettext-full/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_PARALLEL:=0
|
||||
HOST_BUILD_PARALLEL:=0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
@ -6,12 +6,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libcap
|
||||
PKG_VERSION:=2.48
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=2.51
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
|
||||
PKG_HASH:=4de9590ee09a87c282d558737ffb5b6175ccbfd26d580add10df44d0f047f6c2
|
||||
PKG_HASH:=6609f3ab7aebcc8f9277f53a577c657d9f3056d1352ea623da7fd7c0f00890f9
|
||||
|
||||
PKG_MAINTAINER:=Paul Wassi <p.wassi@gmx.at>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnftnl
|
||||
PKG_VERSION:=1.1.8
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.2.0
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||
PKG_HASH:=04a3fa5b08b736268f7e65836b9f05d9d5f438181467bee3c76c3c4a4f3ab711
|
||||
PKG_HASH:=90b01fddfe9be8c3245c3ba5ff5a4424a8df708828f92b2b361976b658c074f5
|
||||
|
||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libpcap
|
||||
PKG_VERSION:=1.10.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.10.1
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \
|
||||
http://www.tcpdump.org/release/
|
||||
PKG_HASH:=8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e
|
||||
PKG_HASH:=ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
@ -43,6 +43,19 @@ define Package/libpcap/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/rpcapd
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=Capture daemon to be controlled by a remote libpcap application
|
||||
URL:=http://www.tcpdump.org/
|
||||
DEPENDS+= +libpcap
|
||||
endef
|
||||
|
||||
ifdef CONFIG_PACKAGE_rpcapd
|
||||
CMAKE_OPTIONS += \
|
||||
-DENABLE_REMOTE=ON
|
||||
endif
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_WITH_LIBNL=OFF \
|
||||
@ -81,4 +94,10 @@ define Package/libpcap/install
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcap.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/rpcapd/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rpcapd $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libpcap))
|
||||
$(eval $(call BuildPackage,rpcapd))
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1006,7 +1006,6 @@ endif()
|
||||
@@ -1042,7 +1042,6 @@ endif()
|
||||
#
|
||||
# OpenSSL/libressl.
|
||||
#
|
||||
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] skip manpages
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -2701,57 +2701,6 @@ if(NOT MSVC)
|
||||
@@ -2732,57 +2732,6 @@ if(NOT MSVC)
|
||||
if(MINGW)
|
||||
find_program(LINK_EXECUTABLE ln)
|
||||
endif(MINGW)
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mbedtls
|
||||
PKG_VERSION:=2.16.10
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=2.16.11
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=96257bb03b30300b2f35f861ffe204ed957e9fd0329d80646fe57fc49f589b29
|
||||
PKG_HASH:=c18e7e9abf95e69e425260493720470021384a1728417042060a35d0b7b18b41
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=gpl-2.0.txt
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nettle
|
||||
PKG_VERSION:=3.6
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=3.7.3
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GNU/nettle
|
||||
PKG_HASH:=d24c0d0f2abffbc8f4f34dcf114b0f131ec3774895f3555922fe2f40f3d5e3f1
|
||||
PKG_HASH:=661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4635,6 +4635,7 @@ $as_echo_n "checking build system compil
|
||||
@@ -4661,6 +4661,7 @@ $as_echo_n "checking build system compil
|
||||
# remove anything that might look like compiler output to our "||" expression
|
||||
rm -f conftest* a.out b.out a.exe a_out.exe
|
||||
cat >conftest.c <<EOF
|
||||
@ -8,7 +8,7 @@
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -4667,6 +4668,7 @@ $as_echo_n "checking build system compil
|
||||
@@ -4693,6 +4694,7 @@ $as_echo_n "checking build system compil
|
||||
# remove anything that might look like compiler output to our "||" expression
|
||||
rm -f conftest* a.out b.out a.exe a_out.exe
|
||||
cat >conftest.c <<EOF
|
||||
@ -16,7 +16,7 @@
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -4703,6 +4705,7 @@ $as_echo_n "checking build system compil
|
||||
@@ -4729,6 +4731,7 @@ $as_echo_n "checking build system compil
|
||||
# remove anything that might look like compiler output to our "||" expression
|
||||
rm -f conftest* a.out b.out a.exe a_out.exe
|
||||
cat >conftest.c <<EOF
|
||||
@ -24,7 +24,7 @@
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -4753,6 +4756,7 @@ else
|
||||
@@ -4779,6 +4782,7 @@ else
|
||||
gmp_cv_prog_exeext_for_build="$EXEEXT"
|
||||
else
|
||||
cat >conftest.c <<EOF
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=pcre
|
||||
PKG_VERSION:=8.44
|
||||
PKG_RELEASE:=4
|
||||
PKG_VERSION:=8.45
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
|
||||
PKG_HASH:=19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d
|
||||
PKG_HASH:=4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8
|
||||
|
||||
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
|
||||
@ -1169,7 +1169,7 @@ wpa_supplicant_set_fixed_freq() {
|
||||
append network_data "frequency=$freq" "$N$T"
|
||||
case "$htmode" in
|
||||
NOHT) append network_data "disable_ht=1" "$N$T";;
|
||||
HT20|VHT20) append network_data "disable_ht40=1" "$N$T";;
|
||||
HE20|HT20|VHT20) append network_data "disable_ht40=1" "$N$T";;
|
||||
HT40*|VHT40*|VHT80*|VHT160*) append network_data "ht40=1" "$N$T";;
|
||||
esac
|
||||
case "$htmode" in
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=iproute2
|
||||
PKG_VERSION:=5.11.0
|
||||
PKG_RELEASE:=4
|
||||
PKG_VERSION:=5.13.0
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
|
||||
PKG_HASH:=c5e2ea108212b3445051b35953ec267f9f3469e1d5c67ac034ab559849505c54
|
||||
PKG_HASH:=72a2e53774cac9e65f7b617deebb2059f87e8960d6e9713e4d788cea966f1b36
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=iptables
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS)
|
||||
YACCFLAGS = -d -t -v
|
||||
|
||||
-SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man
|
||||
-SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man vdpa
|
||||
+SUBDIRS=lib ip tc bridge misc genl devlink rdma
|
||||
|
||||
LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a
|
||||
@ -25,19 +25,20 @@
|
||||
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
|
||||
--- a/ip/ip.c
|
||||
+++ b/ip/ip.c
|
||||
@@ -64,10 +64,16 @@ static void usage(void)
|
||||
@@ -64,11 +64,17 @@ static void usage(void)
|
||||
fprintf(stderr,
|
||||
"Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n"
|
||||
" ip [ -force ] -batch filename\n"
|
||||
+#ifndef IPROUTE2_TINY
|
||||
"where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |\n"
|
||||
" tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |\n"
|
||||
" netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |\n"
|
||||
" vrf | sr | nexthop | mptcp }\n"
|
||||
"where OBJECT := { address | addrlabel | fou | help | ila | l2tp | link |\n"
|
||||
" macsec | maddress | monitor | mptcp | mroute | mrule |\n"
|
||||
" neighbor | neighbour | netconf | netns | nexthop | ntable |\n"
|
||||
" ntbl | route | rule | sr | tap | tcpmetrics |\n"
|
||||
" token | tunnel | tuntap | vrf | xfrm }\n"
|
||||
+#else
|
||||
+ "where OBJECT := { link | address | route | rule | neigh | tunnel | maddress |\n"
|
||||
+ " mroute | mrule | monitor | netns | macsec | token | ila |\n"
|
||||
+ " vrf | sr }\n"
|
||||
+ "where OBJECT := { address | ila | link | macsec | maddress | monitor |\n"
|
||||
+ " mroute | mrule | neighbor | neighbour | netns | route |\n"
|
||||
+ " rule | sr | token | tunnel | vrf }\n"
|
||||
+#endif
|
||||
" OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n"
|
||||
" -h[uman-readable] | -iec | -j[son] | -p[retty] |\n"
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
From c77310119f9a5f99221dd967c5eb0c7a26094b41 Mon Sep 17 00:00:00 2001
|
||||
From: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
Date: Wed, 3 Mar 2021 10:29:24 -0800
|
||||
Subject: [PATCH] lib/bpf: add missing limits.h includes
|
||||
|
||||
Several functions in bpf_glue.c and bpf_libbpf.c rely on PATH_MAX, which is
|
||||
normally included from <limits.h> in other iproute2 source files.
|
||||
|
||||
It fixes errors seen using gcc 10.2.0, binutils 2.35.1 and musl 1.1.24:
|
||||
|
||||
bpf_glue.c: In function 'get_libbpf_version':
|
||||
bpf_glue.c:46:11: error: 'PATH_MAX' undeclared (first use in this function);
|
||||
did you mean 'AF_MAX'?
|
||||
46 | char buf[PATH_MAX], *s;
|
||||
| ^~~~~~~~
|
||||
| AF_MAX
|
||||
|
||||
Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
---
|
||||
lib/bpf_glue.c | 2 ++
|
||||
lib/bpf_libbpf.c | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
--- a/lib/bpf_glue.c
|
||||
+++ b/lib/bpf_glue.c
|
||||
@@ -4,6 +4,8 @@
|
||||
* Authors: Hangbin Liu <haliu@redhat.com>
|
||||
*
|
||||
*/
|
||||
+#include <limits.h>
|
||||
+
|
||||
#include "bpf_util.h"
|
||||
#ifdef HAVE_LIBBPF
|
||||
#include <bpf/bpf.h>
|
||||
--- a/lib/bpf_libbpf.c
|
||||
+++ b/lib/bpf_libbpf.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#include <libelf.h>
|
||||
#include <gelf.h>
|
||||
@ -187,23 +187,29 @@
|
||||
};
|
||||
|
||||
static void print_wifi_wpa(const uint8_t type, uint8_t len, const uint8_t *data,
|
||||
@@ -2326,6 +2331,7 @@ void print_ies(unsigned char *ie, int ie
|
||||
ieprinters[ie[0]].flags & BIT(ptype)) {
|
||||
print_ie(&ieprinters[ie[0]],
|
||||
ie[0], ie[1], ie + 2, &ie_buffer);
|
||||
@@ -2080,8 +2085,10 @@ static void print_wifi_wps(const uint8_t
|
||||
|
||||
static const struct ie_print wifiprinters[] = {
|
||||
[1] = { "WPA", print_wifi_wpa, 2, 255, BIT(PRINT_SCAN), },
|
||||
+#ifdef IW_FULL
|
||||
} else if (ie[0] == 221 /* vendor */) {
|
||||
print_vendor(ie[1], ie + 2, unknown, ptype);
|
||||
} else if (ie[0] == 255 /* extension */) {
|
||||
@@ -2337,6 +2343,7 @@ void print_ies(unsigned char *ie, int ie
|
||||
for (i=0; i<ie[1]; i++)
|
||||
printf(" %.2x", ie[2+i]);
|
||||
printf("\n");
|
||||
[2] = { "WMM", print_wifi_wmm, 1, 255, BIT(PRINT_SCAN), },
|
||||
[4] = { "WPS", print_wifi_wps, 0, 255, BIT(PRINT_SCAN), },
|
||||
+#endif
|
||||
}
|
||||
ielen -= ie[1] + 2;
|
||||
ie += ie[1] + 2;
|
||||
@@ -2377,6 +2384,7 @@ static void print_capa_non_dmg(__u16 cap
|
||||
};
|
||||
|
||||
static inline void print_p2p(const uint8_t type, uint8_t len,
|
||||
@@ -2244,6 +2251,10 @@ static void print_vendor(unsigned char l
|
||||
return;
|
||||
}
|
||||
|
||||
+#ifdef IW_FULL
|
||||
+ return;
|
||||
+#endif
|
||||
+
|
||||
if (len >= 4 && memcmp(data, wfa_oui, 3) == 0) {
|
||||
if (data[3] < ARRAY_SIZE(wfa_printers) &&
|
||||
wfa_printers[data[3]].name &&
|
||||
@@ -2377,6 +2388,7 @@ static void print_capa_non_dmg(__u16 cap
|
||||
printf(" ESS");
|
||||
if (capa & WLAN_CAPABILITY_IBSS)
|
||||
printf(" IBSS");
|
||||
@ -211,7 +217,7 @@
|
||||
if (capa & WLAN_CAPABILITY_CF_POLLABLE)
|
||||
printf(" CfPollable");
|
||||
if (capa & WLAN_CAPABILITY_CF_POLL_REQUEST)
|
||||
@@ -2405,6 +2413,7 @@ static void print_capa_non_dmg(__u16 cap
|
||||
@@ -2405,6 +2417,7 @@ static void print_capa_non_dmg(__u16 cap
|
||||
printf(" DelayedBACK");
|
||||
if (capa & WLAN_CAPABILITY_IMM_BACK)
|
||||
printf(" ImmediateBACK");
|
||||
@ -219,7 +225,7 @@
|
||||
}
|
||||
|
||||
static int print_bss_handler(struct nl_msg *msg, void *arg)
|
||||
@@ -2489,8 +2498,10 @@ static int print_bss_handler(struct nl_m
|
||||
@@ -2489,8 +2502,10 @@ static int print_bss_handler(struct nl_m
|
||||
if (bss[NL80211_BSS_FREQUENCY]) {
|
||||
int freq = nla_get_u32(bss[NL80211_BSS_FREQUENCY]);
|
||||
printf("\tfreq: %d\n", freq);
|
||||
@ -230,7 +236,7 @@
|
||||
}
|
||||
if (bss[NL80211_BSS_BEACON_INTERVAL])
|
||||
printf("\tbeacon interval: %d TUs\n",
|
||||
@@ -2684,6 +2695,7 @@ static int handle_stop_sched_scan(struct
|
||||
@@ -2684,6 +2699,7 @@ static int handle_stop_sched_scan(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -238,7 +244,7 @@
|
||||
COMMAND(scan, sched_start,
|
||||
SCHED_SCAN_OPTIONS,
|
||||
NL80211_CMD_START_SCHED_SCAN, 0, CIB_NETDEV, handle_start_sched_scan,
|
||||
@@ -2694,3 +2706,4 @@ COMMAND(scan, sched_start,
|
||||
@@ -2694,3 +2710,4 @@ COMMAND(scan, sched_start,
|
||||
COMMAND(scan, sched_stop, "",
|
||||
NL80211_CMD_STOP_SCHED_SCAN, 0, CIB_NETDEV, handle_stop_sched_scan,
|
||||
"Stop an ongoing scheduled scan.");
|
||||
|
||||
@ -393,8 +393,8 @@ procd_get_mountpoints() {
|
||||
) | sort -u
|
||||
}
|
||||
|
||||
_procd_add_start_mount_trigger() {
|
||||
_procd_add_action_mount_trigger start $(procd_get_mountpoints "$@")
|
||||
_procd_add_restart_mount_trigger() {
|
||||
_procd_add_action_mount_trigger restart $(procd_get_mountpoints "$@")
|
||||
}
|
||||
|
||||
_procd_add_reload_mount_trigger() {
|
||||
@ -636,7 +636,7 @@ _procd_wrapper \
|
||||
procd_add_reload_trigger \
|
||||
procd_add_reload_interface_trigger \
|
||||
procd_add_reload_mount_trigger \
|
||||
procd_add_start_mount_trigger \
|
||||
procd_add_restart_mount_trigger \
|
||||
procd_open_trigger \
|
||||
procd_close_trigger \
|
||||
procd_open_instance \
|
||||
|
||||
@ -340,7 +340,7 @@ static int show_matching_key_value(struct tffs_key_name_table *key_names)
|
||||
for (uint32_t i = 0; i < key_names->size; i++) {
|
||||
name = key_names->entries[i].val;
|
||||
|
||||
if (strncmp(name, name_filter, strlen(name)) == 0) {
|
||||
if (strcmp(name, name_filter) == 0) {
|
||||
if (find_entry(key_names->entries[i].id, &tmp)) {
|
||||
print_entry_value(&tmp);
|
||||
printf("\n");
|
||||
|
||||
@ -204,7 +204,7 @@ static int show_matching_key_value(uint8_t *buffer,
|
||||
for (i = 0; i < key_names->size; i++) {
|
||||
name = key_names->entries[i].val;
|
||||
|
||||
if (strncmp(name, name_filter, strlen(name)) == 0) {
|
||||
if (strcmp(name, name_filter) == 0) {
|
||||
id = to_entry_header_id(*key_names->entries[i].id);
|
||||
|
||||
if (find_entry(buffer, id, &tmp)) {
|
||||
|
||||
@ -8,15 +8,15 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=util-linux
|
||||
PKG_VERSION:=2.36.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2.37
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.36
|
||||
PKG_HASH:=09fac242172cd8ec27f0739d8d192402c69417617091d8c6e974841568f37eed
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.37
|
||||
PKG_HASH:=bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5
|
||||
PKG_CPE_ID:=cpe:/a:kernel:util-linux
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:= COPYING \
|
||||
libblkid/COPYING \
|
||||
libmount/COPYING \
|
||||
|
||||
@ -10,42 +10,43 @@ sub target_config_features(@) {
|
||||
|
||||
while ($_ = shift @_) {
|
||||
/^arm_v(\w+)$/ and $ret .= "\tselect arm_v$1\n";
|
||||
/^broken$/ and $ret .= "\tdepends on BROKEN\n";
|
||||
/^audio$/ and $ret .= "\tselect AUDIO_SUPPORT\n";
|
||||
/^boot-part$/ and $ret .= "\tselect USES_BOOT_PART\n";
|
||||
/^broken$/ and $ret .= "\tdepends on BROKEN\n";
|
||||
/^cpiogz$/ and $ret .= "\tselect USES_CPIOGZ\n";
|
||||
/^display$/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
|
||||
/^dt$/ and $ret .= "\tselect USES_DEVICETREE\n";
|
||||
/^dt-overlay$/ and $ret .= "\tselect HAS_DT_OVERLAY_SUPPORT\n";
|
||||
/^ext4$/ and $ret .= "\tselect USES_EXT4\n";
|
||||
/^fpu$/ and $ret .= "\tselect HAS_FPU\n";
|
||||
/^gpio$/ and $ret .= "\tselect GPIO_SUPPORT\n";
|
||||
/^pci$/ and $ret .= "\tselect PCI_SUPPORT\n";
|
||||
/^pcie$/ and $ret .= "\tselect PCIE_SUPPORT\n";
|
||||
/^usb$/ and $ret .= "\tselect USB_SUPPORT\n";
|
||||
/^usbgadget$/ and $ret .= "\tselect USB_GADGET_SUPPORT\n";
|
||||
/^pcmcia$/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
|
||||
/^pwm$/ and $ret .= "\select PWM_SUPPORT\n";
|
||||
/^rtc$/ and $ret .= "\tselect RTC_SUPPORT\n";
|
||||
/^squashfs$/ and $ret .= "\tselect USES_SQUASHFS\n";
|
||||
/^jffs2$/ and $ret .= "\tselect USES_JFFS2\n";
|
||||
/^jffs2_nand$/ and $ret .= "\tselect USES_JFFS2_NAND\n";
|
||||
/^ext4$/ and $ret .= "\tselect USES_EXT4\n";
|
||||
/^targz$/ and $ret .= "\tselect USES_TARGZ\n";
|
||||
/^cpiogz$/ and $ret .= "\tselect USES_CPIOGZ\n";
|
||||
/^minor$/ and $ret .= "\tselect USES_MINOR\n";
|
||||
/^ubifs$/ and $ret .= "\tselect USES_UBIFS\n";
|
||||
/^fpu$/ and $ret .= "\tselect HAS_FPU\n";
|
||||
/^spe_fpu$/ and $ret .= "\tselect HAS_SPE_FPU\n";
|
||||
/^ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n";
|
||||
/^separate_ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n\tselect USES_SEPARATE_INITRAMFS\n";
|
||||
/^powerpc64$/ and $ret .= "\tselect powerpc64\n";
|
||||
/^nommu$/ and $ret .= "\tselect NOMMU\n";
|
||||
/^mips16$/ and $ret .= "\tselect HAS_MIPS16\n";
|
||||
/^rfkill$/ and $ret .= "\tselect RFKILL_SUPPORT\n";
|
||||
/^low_mem$/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n";
|
||||
/^small_flash$/ and $ret .= "\tselect SMALL_FLASH\n";
|
||||
/^minor$/ and $ret .= "\tselect USES_MINOR\n";
|
||||
/^mips16$/ and $ret .= "\tselect HAS_MIPS16\n";
|
||||
/^nand$/ and $ret .= "\tselect NAND_SUPPORT\n";
|
||||
/^virtio$/ and $ret .= "\tselect VIRTIO_SUPPORT\n";
|
||||
/^nommu$/ and $ret .= "\tselect NOMMU\n";
|
||||
/^pci$/ and $ret .= "\tselect PCI_SUPPORT\n";
|
||||
/^pcie$/ and $ret .= "\tselect PCIE_SUPPORT\n";
|
||||
/^pcmcia$/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
|
||||
/^powerpc64$/ and $ret .= "\tselect powerpc64\n";
|
||||
/^pwm$/ and $ret .= "\select PWM_SUPPORT\n";
|
||||
/^ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n";
|
||||
/^rfkill$/ and $ret .= "\tselect RFKILL_SUPPORT\n";
|
||||
/^rootfs-part$/ and $ret .= "\tselect USES_ROOTFS_PART\n";
|
||||
/^boot-part$/ and $ret .= "\tselect USES_BOOT_PART\n";
|
||||
/^rtc$/ and $ret .= "\tselect RTC_SUPPORT\n";
|
||||
/^sdcard$/ and $ret .= "\tselect SDCARD_SUPPORT\n";
|
||||
/^separate_ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n\tselect USES_SEPARATE_INITRAMFS\n";
|
||||
/^small_flash$/ and $ret .= "\tselect SMALL_FLASH\n";
|
||||
/^spe_fpu$/ and $ret .= "\tselect HAS_SPE_FPU\n";
|
||||
/^squashfs$/ and $ret .= "\tselect USES_SQUASHFS\n";
|
||||
/^targz$/ and $ret .= "\tselect USES_TARGZ\n";
|
||||
/^testing-kernel$/ and $ret .= "\tselect HAS_TESTING_KERNEL\n";
|
||||
/^dt-overlay$/ and $ret .= "\tselect HAS_DT_OVERLAY_SUPPORT\n";
|
||||
/^ubifs$/ and $ret .= "\tselect USES_UBIFS\n";
|
||||
/^usb$/ and $ret .= "\tselect USB_SUPPORT\n";
|
||||
/^usbgadget$/ and $ret .= "\tselect USB_GADGET_SUPPORT\n";
|
||||
/^virtio$/ and $ret .= "\tselect VIRTIO_SUPPORT\n";
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
@ -101,6 +101,9 @@ config RFKILL_SUPPORT
|
||||
config NAND_SUPPORT
|
||||
bool
|
||||
|
||||
config SDCARD_SUPPORT
|
||||
bool
|
||||
|
||||
config ARCH_64BIT
|
||||
bool
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ tristate "Atheros AR7100 USB PHY driver"
|
||||
+ depends on ATH79 || COMPILE_TEST
|
||||
+ default y if USB_EHCI_HCD_PLATFORM
|
||||
+ select PHY_SIMPLE
|
||||
+ select GENERIC_PHY
|
||||
+ help
|
||||
+ Enable this to support the USB PHY on Atheros AR7100 SoCs.
|
||||
+
|
||||
@ -31,7 +31,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ tristate "Atheros AR7200 USB PHY driver"
|
||||
+ depends on ATH79 || COMPILE_TEST
|
||||
+ default y if USB_EHCI_HCD_PLATFORM
|
||||
+ select PHY_SIMPLE
|
||||
+ select GENERIC_PHY
|
||||
+ help
|
||||
+ Enable this to support the USB PHY on Atheros AR7200 SoCs.
|
||||
+
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ tristate "Atheros AR7100 USB PHY driver"
|
||||
+ depends on ATH79 || COMPILE_TEST
|
||||
+ default y if USB_EHCI_HCD_PLATFORM
|
||||
+ select PHY_SIMPLE
|
||||
+ select GENERIC_PHY
|
||||
+ help
|
||||
+ Enable this to support the USB PHY on Atheros AR7100 SoCs.
|
||||
+
|
||||
@ -31,7 +31,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ tristate "Atheros AR7200 USB PHY driver"
|
||||
+ depends on ATH79 || COMPILE_TEST
|
||||
+ default y if USB_EHCI_HCD_PLATFORM
|
||||
+ select PHY_SIMPLE
|
||||
+ select GENERIC_PHY
|
||||
+ help
|
||||
+ Enable this to support the USB PHY on Atheros AR7200 SoCs.
|
||||
+
|
||||
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1880,6 +1880,7 @@ struct xhci_hcd {
|
||||
@@ -1881,6 +1881,7 @@ struct xhci_hcd {
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -106,6 +106,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||
@@ -116,6 +116,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||
bcm4709-buffalo-wxr-1900dhp.dtb \
|
||||
bcm4709-linksys-ea9200.dtb \
|
||||
bcm4709-netgear-r7000.dtb \
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
return UBI_IO_BAD_HDR_EBADMSG;
|
||||
--- a/drivers/mtd/ubi/ubi.h
|
||||
+++ b/drivers/mtd/ubi/ubi.h
|
||||
@@ -822,6 +822,7 @@ extern struct mutex ubi_devices_mutex;
|
||||
@@ -824,6 +824,7 @@ extern struct mutex ubi_devices_mutex;
|
||||
extern struct blocking_notifier_head ubi_notifiers;
|
||||
|
||||
/* attach.c */
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
#include <linux/clockchips.h>
|
||||
#include <linux/clocksource.h>
|
||||
#include <linux/interrupt.h>
|
||||
@@ -919,6 +920,16 @@ static void arch_timer_of_configure_rate
|
||||
@@ -934,6 +935,16 @@ static void arch_timer_of_configure_rate
|
||||
if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate))
|
||||
arch_timer_rate = rate;
|
||||
|
||||
@ -76,5 +76,5 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
+ }
|
||||
+
|
||||
/* Check the timer frequency. */
|
||||
if (arch_timer_rate == 0)
|
||||
if (validate_timer_rate())
|
||||
pr_warn("frequency not available\n");
|
||||
|
||||
14
target/linux/gemini/base-files/etc/board.d/03_hdparm
Normal file
14
target/linux/gemini/base-files/etc/board.d/03_hdparm
Normal file
@ -0,0 +1,14 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# Spin down drives after one minute if inactive
|
||||
|
||||
if [ ! -n "$(command -v hdparm)" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
DISKS=$(find /dev/sd[a-z] 2>/dev/null)
|
||||
for DISK in $DISKS
|
||||
do
|
||||
if [ -b $DISK ] ; then
|
||||
hdparm -S 12 $DISK > /dev/null
|
||||
fi
|
||||
done
|
||||
@ -49,6 +49,7 @@ CONFIG_CMA_SIZE_PERCENTAGE=10
|
||||
CONFIG_CMA_SIZE_SEL_PERCENTAGE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_COMMON_CLK_GEMINI=y
|
||||
CONFIG_COMPAT_32BIT_TIME=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_CONTIG_ALLOC=y
|
||||
CONFIG_COREDUMP=y
|
||||
|
||||
@ -62,6 +62,7 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_COMMON_CLK_GEMINI=y
|
||||
CONFIG_COMPAT_32BIT_TIME=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_COREDUMP=y
|
||||
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -1207,18 +1207,6 @@ static bool gc_worker_can_early_drop(con
|
||||
@@ -1212,18 +1212,6 @@ static bool gc_worker_can_early_drop(con
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static void gc_worker(struct work_struct *work)
|
||||
{
|
||||
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
||||
@@ -1255,10 +1243,8 @@ static void gc_worker(struct work_struct
|
||||
@@ -1260,10 +1248,8 @@ static void gc_worker(struct work_struct
|
||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
scanned++;
|
||||
|
||||
@ -0,0 +1,67 @@
|
||||
From ce69e2162f158d9d4a0e513971d02dabc7d14cb7 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Linton <jeremy.linton@arm.com>
|
||||
Date: Mon, 24 Feb 2020 16:53:58 -0600
|
||||
Subject: [PATCH] mdio_bus: Add generic mdio_find_bus()
|
||||
|
||||
It appears most ethernet drivers follow one of two main strategies
|
||||
for mdio bus/phy management. A monolithic model where the net driver
|
||||
itself creates, probes and uses the phy, and one where an external
|
||||
mdio/phy driver instantiates the mdio bus/phy and the net driver
|
||||
only attaches to a known phy. Usually in this latter model the phys
|
||||
are discovered via DT relationships or simply phy name/address
|
||||
hardcoding.
|
||||
|
||||
This is a shame because modern well behaved mdio buses are self
|
||||
describing and can be probed. The mdio layer itself is fully capable
|
||||
of this, yet there isn't a clean way for a standalone net driver
|
||||
to attach and enumerate the discovered devices. This is because
|
||||
outside of of_mdio_find_bus() there isn't a straightforward way
|
||||
to acquire the mii_bus pointer.
|
||||
|
||||
So, lets add a mdio_find_bus which can return the mii_bus based
|
||||
only on its name.
|
||||
|
||||
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/phy/mdio_bus.c | 17 +++++++++++++++++
|
||||
include/linux/phy.h | 1 +
|
||||
2 files changed, 18 insertions(+)
|
||||
|
||||
--- a/drivers/net/phy/mdio_bus.c
|
||||
+++ b/drivers/net/phy/mdio_bus.c
|
||||
@@ -260,6 +260,23 @@ static struct class mdio_bus_class = {
|
||||
.dev_release = mdiobus_release,
|
||||
};
|
||||
|
||||
+/**
|
||||
+ * mdio_find_bus - Given the name of a mdiobus, find the mii_bus.
|
||||
+ * @mdio_bus_np: Pointer to the mii_bus.
|
||||
+ *
|
||||
+ * Returns a reference to the mii_bus, or NULL if none found. The
|
||||
+ * embedded struct device will have its reference count incremented,
|
||||
+ * and this must be put_deviced'ed once the bus is finished with.
|
||||
+ */
|
||||
+struct mii_bus *mdio_find_bus(const char *mdio_name)
|
||||
+{
|
||||
+ struct device *d;
|
||||
+
|
||||
+ d = class_find_device_by_name(&mdio_bus_class, mdio_name);
|
||||
+ return d ? to_mii_bus(d) : NULL;
|
||||
+}
|
||||
+EXPORT_SYMBOL(mdio_find_bus);
|
||||
+
|
||||
#if IS_ENABLED(CONFIG_OF_MDIO)
|
||||
/**
|
||||
* of_mdio_find_bus - Given an mii_bus node, find the mii_bus.
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -273,6 +273,7 @@ static inline struct mii_bus *devm_mdiob
|
||||
return devm_mdiobus_alloc_size(dev, 0);
|
||||
}
|
||||
|
||||
+struct mii_bus *mdio_find_bus(const char *mdio_name);
|
||||
void devm_mdiobus_free(struct device *dev, struct mii_bus *bus);
|
||||
struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr);
|
||||
|
||||
@ -878,6 +878,44 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
eth_hw_addr_random(dev);
|
||||
dev_err(eth->dev, "generated random MAC address %pM\n",
|
||||
dev->dev_addr);
|
||||
--- a/drivers/net/ethernet/micrel/ks8851.c
|
||||
+++ b/drivers/net/ethernet/micrel/ks8851.c
|
||||
@@ -419,11 +419,10 @@ static void ks8851_read_mac_addr(struct
|
||||
static void ks8851_init_mac(struct ks8851_net *ks)
|
||||
{
|
||||
struct net_device *dev = ks->netdev;
|
||||
- const u8 *mac_addr;
|
||||
+ int ret;
|
||||
|
||||
- mac_addr = of_get_mac_address(ks->spidev->dev.of_node);
|
||||
- if (!IS_ERR(mac_addr)) {
|
||||
- ether_addr_copy(dev->dev_addr, mac_addr);
|
||||
+ ret = of_get_mac_address(ks->spidev->dev.of_node, dev->dev_addr);
|
||||
+ if (!ret) {
|
||||
ks8851_write_mac_addr(dev);
|
||||
return;
|
||||
}
|
||||
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
|
||||
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
|
||||
@@ -1239,7 +1239,6 @@ static int ks8851_probe(struct platform_
|
||||
struct net_device *netdev;
|
||||
struct ks_net *ks;
|
||||
u16 id, data;
|
||||
- const char *mac;
|
||||
|
||||
netdev = alloc_etherdev(sizeof(struct ks_net));
|
||||
if (!netdev)
|
||||
@@ -1326,9 +1325,7 @@ static int ks8851_probe(struct platform_
|
||||
|
||||
/* overwriting the default MAC address */
|
||||
if (pdev->dev.of_node) {
|
||||
- mac = of_get_mac_address(pdev->dev.of_node);
|
||||
- if (!IS_ERR(mac))
|
||||
- ether_addr_copy(ks->mac_addr, mac);
|
||||
+ of_get_mac_address(pdev->dev.of_node, ks->mac_addr);
|
||||
} else {
|
||||
struct ks8851_mll_platform_data *pdata;
|
||||
|
||||
--- a/drivers/net/ethernet/nxp/lpc_eth.c
|
||||
+++ b/drivers/net/ethernet/nxp/lpc_eth.c
|
||||
@@ -1350,9 +1350,7 @@ static int lpc_eth_drv_probe(struct plat
|
||||
|
||||
@ -2818,6 +2818,7 @@ CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_KASAN_STACK=1
|
||||
# CONFIG_KCMP is not set
|
||||
# CONFIG_KCOV is not set
|
||||
# CONFIG_KCSAN is not set
|
||||
# CONFIG_KERNEL_BZIP2 is not set
|
||||
# CONFIG_KERNEL_CAT is not set
|
||||
# CONFIG_KERNEL_GZIP is not set
|
||||
@ -2872,6 +2873,7 @@ CONFIG_KERNFS=y
|
||||
# CONFIG_KGDB is not set
|
||||
# CONFIG_KMEMCHECK is not set
|
||||
# CONFIG_KMX61 is not set
|
||||
# CONFIG_KPC2000 is not set
|
||||
# CONFIG_KPROBES is not set
|
||||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
|
||||
|
||||
@ -2643,6 +2643,7 @@ CONFIG_KERNFS=y
|
||||
# CONFIG_KGDB is not set
|
||||
# CONFIG_KMEMCHECK is not set
|
||||
# CONFIG_KMX61 is not set
|
||||
# CONFIG_KPC2000 is not set
|
||||
# CONFIG_KPROBES is not set
|
||||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_KS7010 is not set
|
||||
@ -4314,6 +4315,7 @@ CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
|
||||
# CONFIG_REGULATOR_LTC3589 is not set
|
||||
# CONFIG_REGULATOR_LTC3676 is not set
|
||||
# CONFIG_REGULATOR_MAX1586 is not set
|
||||
# CONFIG_REGULATOR_MAX77620 is not set
|
||||
# CONFIG_REGULATOR_MAX8649 is not set
|
||||
# CONFIG_REGULATOR_MAX8660 is not set
|
||||
# CONFIG_REGULATOR_MAX8952 is not set
|
||||
|
||||
11
target/linux/generic/hack-5.10/205-kconfig-exit.patch
Normal file
11
target/linux/generic/hack-5.10/205-kconfig-exit.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/scripts/kconfig/conf.c
|
||||
+++ b/scripts/kconfig/conf.c
|
||||
@@ -212,6 +212,8 @@ static int conf_sym(struct menu *menu)
|
||||
break;
|
||||
continue;
|
||||
case 0:
|
||||
+ if (!sym_has_value(sym) && !tty_stdio && getenv("FAIL_ON_UNCONFIGURED"))
|
||||
+ exit(1);
|
||||
newval = oldval;
|
||||
break;
|
||||
case '?':
|
||||
11
target/linux/generic/hack-5.4/205-kconfig-exit.patch
Normal file
11
target/linux/generic/hack-5.4/205-kconfig-exit.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/scripts/kconfig/conf.c
|
||||
+++ b/scripts/kconfig/conf.c
|
||||
@@ -212,6 +212,8 @@ static int conf_sym(struct menu *menu)
|
||||
break;
|
||||
continue;
|
||||
case 0:
|
||||
+ if (!sym_has_value(sym) && !tty_stdio && getenv("FAIL_ON_UNCONFIGURED"))
|
||||
+ exit(1);
|
||||
newval = oldval;
|
||||
break;
|
||||
case '?':
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/of/of_net.c
|
||||
+++ b/drivers/of/of_net.c
|
||||
@@ -141,6 +141,30 @@ static int of_get_mac_address_mtd(struct
|
||||
@@ -135,6 +135,26 @@ static int of_get_mac_address_mtd(struct
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -8,18 +8,14 @@
|
||||
+{
|
||||
+ struct property *prop;
|
||||
+
|
||||
+ prop = of_find_property(np, "mac-address", NULL);
|
||||
+ if (prop)
|
||||
+ kfree(prop);
|
||||
+
|
||||
+ prop = kzalloc(sizeof(*prop), GFP_KERNEL);
|
||||
+ if (!prop)
|
||||
+ return 0;
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ prop->name = "mac-address";
|
||||
+ prop->length = ETH_ALEN;
|
||||
+ prop->value = kmemdup(addr, ETH_ALEN, GFP_KERNEL);
|
||||
+ if (!prop->value || of_add_property(np, prop))
|
||||
+ if (!prop->value || of_update_property(np, prop))
|
||||
+ goto free;
|
||||
+
|
||||
+ return 0;
|
||||
@ -31,7 +27,7 @@
|
||||
|
||||
/**
|
||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||
@@ -216,6 +240,7 @@ found:
|
||||
@@ -210,6 +230,7 @@ found:
|
||||
if (!of_property_read_u32(np, "mac-address-increment", &mac_inc))
|
||||
addr[inc_idx] += mac_inc;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/of/of_net.c
|
||||
+++ b/drivers/of/of_net.c
|
||||
@@ -135,6 +135,30 @@ static int of_get_mac_address_mtd(struct
|
||||
@@ -135,6 +135,26 @@ static int of_get_mac_address_mtd(struct
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -8,18 +8,14 @@
|
||||
+{
|
||||
+ struct property *prop;
|
||||
+
|
||||
+ prop = of_find_property(np, "mac-address", NULL);
|
||||
+ if (prop)
|
||||
+ kfree(prop);
|
||||
+
|
||||
+ prop = kzalloc(sizeof(*prop), GFP_KERNEL);
|
||||
+ if (!prop)
|
||||
+ return 0;
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ prop->name = "mac-address";
|
||||
+ prop->length = ETH_ALEN;
|
||||
+ prop->value = kmemdup(addr, ETH_ALEN, GFP_KERNEL);
|
||||
+ if (!prop->value || of_add_property(np, prop))
|
||||
+ if (!prop->value || of_update_property(np, prop))
|
||||
+ goto free;
|
||||
+
|
||||
+ return 0;
|
||||
@ -31,7 +27,7 @@
|
||||
|
||||
/**
|
||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||
@@ -210,6 +234,7 @@ found:
|
||||
@@ -210,6 +230,7 @@ found:
|
||||
if (!of_property_read_u32(np, "mac-address-increment", &mac_inc))
|
||||
addr[inc_idx] += mac_inc;
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
sysfs_remove_link(&dev->dev.kobj, "phydev");
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -540,6 +540,12 @@ struct phy_driver {
|
||||
@@ -541,6 +541,12 @@ struct phy_driver {
|
||||
/* Override default interrupt handling */
|
||||
int (*handle_interrupt)(struct phy_device *phydev);
|
||||
|
||||
|
||||
@ -5481,7 +5481,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
(transaction layer end-to-end CRC checking).
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -1416,6 +1416,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
@@ -1417,6 +1417,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
void *userdata);
|
||||
int pci_cfg_space_size(struct pci_dev *dev);
|
||||
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
|
||||
|
||||
@ -199,6 +199,7 @@ CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_DPAA2_CONSOLE=y
|
||||
# CONFIG_DRM_CDNS_MHDP is not set
|
||||
CONFIG_DRM_RCAR_WRITEBACK=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DT_IDLE_STATES=y
|
||||
@ -452,7 +453,6 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y
|
||||
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
|
||||
CONFIG_IOMMU_SUPPORT=y
|
||||
CONFIG_IPC_NS=y
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_BYPASS_MANAGER=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
|
||||
@ -10514,7 +10514,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
|
||||
+module_exit(dpa_ptp_unload);
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac-api.c
|
||||
@@ -0,0 +1,907 @@
|
||||
@@ -0,0 +1,909 @@
|
||||
+/* Copyright 2008-2012 Freescale Semiconductor, Inc.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
@ -11426,7 +11426,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
|
||||
+};
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac.c
|
||||
@@ -0,0 +1,489 @@
|
||||
@@ -0,0 +1,486 @@
|
||||
+/* Copyright 2008-2012 Freescale Semiconductor, Inc.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
@ -11700,11 +11700,10 @@ Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
|
||||
+ mac_dev->cell_index -= 8;
|
||||
+
|
||||
+ /* Get the MAC address */
|
||||
+ of_get_mac_address(mac_node, mac_dev->addr);
|
||||
+ if (unlikely(!is_valid_ether_addr(mac_dev->addr))) {
|
||||
+ _errno = of_get_mac_address(mac_node, mac_dev->addr);
|
||||
+ if (unlikely(_errno)) {
|
||||
+ dev_err(dev, "of_get_mac_address(%s) failed\n",
|
||||
+ mac_node->full_name);
|
||||
+ _errno = -EINVAL;
|
||||
+ goto _return_dev_set_drvdata;
|
||||
+ }
|
||||
+
|
||||
|
||||
@ -658,7 +658,7 @@ Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
|
||||
struct dsa_switch_driver {
|
||||
--- a/net/dsa/dsa2.c
|
||||
+++ b/net/dsa/dsa2.c
|
||||
@@ -325,6 +325,10 @@ static int dsa_port_setup(struct dsa_por
|
||||
@@ -323,6 +323,10 @@ static int dsa_port_setup(struct dsa_por
|
||||
if (err)
|
||||
break;
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
|
||||
--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
@@ -89,11 +89,12 @@ static int pfe_get_gemac_if_proprties(st
|
||||
@@ -83,11 +83,12 @@ static int pfe_get_gemac_if_proprties(st
|
||||
}
|
||||
|
||||
addr = of_get_property(gem, "fsl,mdio-mux-val", &size);
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/clk.h>
|
||||
@@ -124,6 +126,8 @@ static int pfe_get_gemac_if_proprties(st
|
||||
@@ -118,6 +120,8 @@ static int pfe_get_gemac_if_proprties(st
|
||||
pdata->ls1012a_mdio_pdata[port].irq[0] = PHY_POLL;
|
||||
|
||||
done:
|
||||
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
addr = of_get_property(gem, "fsl,gemac-bus-id", &size);
|
||||
if (!addr)
|
||||
pr_err("%s:%d Invalid gemac-bus-id....\n", __func__,
|
||||
@@ -68,16 +61,55 @@ static int pfe_get_gemac_if_proprties(st
|
||||
@@ -62,16 +56,55 @@ static int pfe_get_gemac_if_proprties(st
|
||||
else
|
||||
pdata->ls1012a_eth_pdata[port].bus_id = be32_to_cpup(addr);
|
||||
|
||||
@ -109,7 +109,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
addr = of_get_property(gem, "fsl,mdio-mux-val", &size);
|
||||
if (!addr) {
|
||||
pr_err("%s: Invalid mdio-mux-val....\n", __func__);
|
||||
@@ -90,33 +122,10 @@ static int pfe_get_gemac_if_proprties(st
|
||||
@@ -84,33 +117,10 @@ static int pfe_get_gemac_if_proprties(st
|
||||
pfe->mdio_muxval[pdata->ls1012a_eth_pdata[port].phy_id] =
|
||||
pdata->ls1012a_eth_pdata[port].mdio_muxval;
|
||||
|
||||
@ -143,7 +143,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
return 0;
|
||||
|
||||
err:
|
||||
@@ -218,8 +227,8 @@ static int pfe_platform_probe(struct pla
|
||||
@@ -212,8 +222,8 @@ static int pfe_platform_probe(struct pla
|
||||
pfe_platform_data.ls1012a_mdio_pdata[0].phy_mask = 0xffffffff;
|
||||
|
||||
for (ii = 0; ii < interface_count; ii++) {
|
||||
|
||||
@ -250,7 +250,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
struct ls1012a_pfe_platform_data pfe_platform_data;
|
||||
|
||||
static int pfe_get_gemac_if_properties(struct device_node *parent, int port, int
|
||||
@@ -64,8 +65,10 @@ static int pfe_get_gemac_if_properties(s
|
||||
@@ -59,8 +60,10 @@ static int pfe_get_gemac_if_properties(s
|
||||
phy_node = of_parse_phandle(gem, "phy-handle", 0);
|
||||
pdata->ls1012a_eth_pdata[port].phy_node = phy_node;
|
||||
if (phy_node) {
|
||||
@ -261,7 +261,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
if (of_phy_register_fixed_link(gem) < 0) {
|
||||
pr_err("broken fixed-link specification\n");
|
||||
goto err;
|
||||
@@ -73,6 +76,7 @@ static int pfe_get_gemac_if_properties(s
|
||||
@@ -68,6 +71,7 @@ static int pfe_get_gemac_if_properties(s
|
||||
phy_node = of_node_get(gem);
|
||||
pdata->ls1012a_eth_pdata[port].phy_node = phy_node;
|
||||
} else if (of_get_property(gem, "fsl,pfe-phy-if-flags", &size)) {
|
||||
|
||||
@ -35,9 +35,9 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
u8 mac_addr[ETH_ALEN];
|
||||
--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
@@ -55,13 +55,6 @@ static int pfe_get_gemac_if_properties(s
|
||||
ETH_ALEN);
|
||||
}
|
||||
@@ -50,13 +50,6 @@ static int pfe_get_gemac_if_properties(s
|
||||
|
||||
of_get_mac_address(gem, pdata->ls1012a_eth_pdata[port].mac_addr);
|
||||
|
||||
- addr = of_get_property(gem, "fsl,gemac-bus-id", &size);
|
||||
- if (!addr)
|
||||
|
||||
@ -549,7 +549,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
int pfe_eth_suspend(struct net_device *dev);
|
||||
--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
@@ -21,31 +21,18 @@
|
||||
@@ -21,30 +21,17 @@
|
||||
extern bool pfe_use_old_dts_phy;
|
||||
struct ls1012a_pfe_platform_data pfe_platform_data;
|
||||
|
||||
@ -567,7 +567,6 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
- int ii = 0, phy_id = 0;
|
||||
+ int phy_id = 0;
|
||||
const u32 *addr;
|
||||
const void *mac_addr;
|
||||
|
||||
- for (ii = 0; ii < if_cnt; ii++) {
|
||||
- gem = of_get_next_child(parent, gem);
|
||||
@ -588,7 +587,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
|
||||
pdata->ls1012a_eth_pdata[port].gem_id = port;
|
||||
|
||||
@@ -88,14 +75,6 @@ static int pfe_get_gemac_if_properties(s
|
||||
@@ -83,14 +70,6 @@ static int pfe_get_gemac_if_properties(s
|
||||
if (pdata->ls1012a_eth_pdata[port].phy_flags & GEMAC_NO_PHY)
|
||||
goto done;
|
||||
|
||||
@ -603,7 +602,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
} else {
|
||||
pr_info("%s: No PHY or fixed-link\n", __func__);
|
||||
return 0;
|
||||
@@ -140,7 +119,7 @@ static int pfe_platform_probe(struct pla
|
||||
@@ -135,7 +114,7 @@ static int pfe_platform_probe(struct pla
|
||||
struct resource res;
|
||||
int ii, rc, interface_count = 0, size = 0;
|
||||
const u32 *prop;
|
||||
@ -612,7 +611,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
struct clk *pfe_clk;
|
||||
|
||||
np = pdev->dev.of_node;
|
||||
@@ -224,8 +203,13 @@ static int pfe_platform_probe(struct pla
|
||||
@@ -219,8 +198,13 @@ static int pfe_platform_probe(struct pla
|
||||
pfe_platform_data.ls1012a_mdio_pdata[0].phy_mask = 0xffffffff;
|
||||
|
||||
for (ii = 0; ii < interface_count; ii++) {
|
||||
@ -628,7 +627,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
}
|
||||
|
||||
pfe->dev = &pdev->dev;
|
||||
@@ -347,8 +331,8 @@ static int pfe_platform_resume(struct de
|
||||
@@ -342,8 +326,8 @@ static int pfe_platform_resume(struct de
|
||||
for (i = 0; i < (NUM_GEMAC_SUPPORT); i++) {
|
||||
netdev = pfe->eth.eth_priv[i]->ndev;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
|
||||
--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
@@ -148,9 +148,10 @@ static int pfe_platform_probe(struct pla
|
||||
@@ -143,9 +143,10 @@ static int pfe_platform_probe(struct pla
|
||||
pfe->ddr_phys_baseaddr = res.start;
|
||||
pfe->ddr_size = resource_size(&res);
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
rc = -ENOMEM;
|
||||
goto err_ddr;
|
||||
}
|
||||
@@ -240,7 +241,7 @@ err_hif_irq:
|
||||
@@ -235,7 +236,7 @@ err_hif_irq:
|
||||
iounmap(pfe->cbus_baseaddr);
|
||||
|
||||
err_axi:
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
|
||||
|
||||
err_ddr:
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
@@ -264,7 +265,8 @@ static int pfe_platform_remove(struct pl
|
||||
@@ -259,7 +260,8 @@ static int pfe_platform_remove(struct pl
|
||||
rc = pfe_remove(pfe);
|
||||
|
||||
iounmap(pfe->cbus_baseaddr);
|
||||
|
||||
@ -13,12 +13,8 @@ Signed-off-by: Anji Jagarlmudi <anji.jagarlmudi@nxp.com>
|
||||
|
||||
--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
|
||||
@@ -29,15 +29,19 @@ static int pfe_get_gemac_if_properties(s
|
||||
int size;
|
||||
int phy_id = 0;
|
||||
@@ -31,7 +31,11 @@ static int pfe_get_gemac_if_properties(s
|
||||
const u32 *addr;
|
||||
- const void *mac_addr;
|
||||
+ const u8 *mac_addr;
|
||||
|
||||
addr = of_get_property(gem, "reg", &size);
|
||||
- port = be32_to_cpup(addr);
|
||||
|
||||
@ -227,6 +227,7 @@ CONFIG_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_JBD2=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_KEYBOARD_MTK_PMIC is not set
|
||||
CONFIG_LEDS_UBNT_LEDBAR=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LLD_VERSION=0
|
||||
@ -403,6 +404,7 @@ CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SMP=y
|
||||
# CONFIG_SND_SOC_MT6359 is not set
|
||||
CONFIG_SPARSEMEM=y
|
||||
CONFIG_SPARSEMEM_EXTREME=y
|
||||
CONFIG_SPARSEMEM_MANUAL=y
|
||||
|
||||
@ -260,6 +260,7 @@ CONFIG_IRQ_WORK=y
|
||||
CONFIG_JBD2=y
|
||||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KCMP=y
|
||||
# CONFIG_KEYBOARD_MTK_PMIC is not set
|
||||
CONFIG_LEDS_MT6323=y
|
||||
# CONFIG_LEDS_UBNT_LEDBAR is not set
|
||||
CONFIG_LIBFDT=y
|
||||
@ -446,6 +447,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
CONFIG_SMP=y
|
||||
# CONFIG_SMP_ON_UP is not set
|
||||
# CONFIG_SND_SOC_MT6359 is not set
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=y
|
||||
|
||||
@ -212,6 +212,7 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
# CONFIG_KEYBOARD_MTK_PMIC is not set
|
||||
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
|
||||
# CONFIG_LEDS_UBNT_LEDBAR is not set
|
||||
CONFIG_LIBFDT=y
|
||||
@ -332,6 +333,7 @@ CONFIG_SGL_ALLOC=y
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_SMP_ON_UP=y
|
||||
# CONFIG_SND_SOC_MT6359 is not set
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_MASTER=y
|
||||
|
||||
@ -15,6 +15,7 @@ CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_LEDS_LP5521=y
|
||||
CONFIG_LEDS_LP55XX_COMMON=y
|
||||
CONFIG_LOCK_SPIN_ON_OWNER=y
|
||||
# CONFIG_MAX77620_THERMAL is not set
|
||||
# CONFIG_MAX77620_WATCHDOG is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
CONFIG_MFD_MAX77620=y
|
||||
|
||||
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
BOARD:=mvebu
|
||||
BOARDNAME:=Marvell EBU Armada
|
||||
FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part
|
||||
FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part sdcard
|
||||
SUBTARGETS:=cortexa9 cortexa53 cortexa72
|
||||
|
||||
KERNEL_PATCHVER:=5.4
|
||||
|
||||
@ -15,7 +15,7 @@ platform_check_image() {
|
||||
globalscale,espressobin-ultra|\
|
||||
globalscale,espressobin-v7|\
|
||||
globalscale,espressobin-v7-emmc)
|
||||
platform_check_image_sdcard "$1"
|
||||
sdcard_check_image "$1"
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
@ -31,7 +31,7 @@ platform_do_upgrade() {
|
||||
globalscale,espressobin-ultra|\
|
||||
globalscale,espressobin-v7|\
|
||||
globalscale,espressobin-v7-emmc)
|
||||
platform_do_upgrade_sdcard "$1"
|
||||
sdcard_do_upgrade "$1"
|
||||
;;
|
||||
methode,udpu)
|
||||
platform_do_upgrade_uDPU "$1"
|
||||
@ -49,7 +49,7 @@ platform_copy_config() {
|
||||
globalscale,espressobin-ultra|\
|
||||
globalscale,espressobin-v7|\
|
||||
globalscale,espressobin-v7-emmc)
|
||||
platform_copy_config_sdcard
|
||||
sdcard_copy_config
|
||||
;;
|
||||
methode,udpu)
|
||||
platform_copy_config_uDPU
|
||||
|
||||
@ -11,7 +11,7 @@ platform_check_image() {
|
||||
case "$(board_name)" in
|
||||
marvell,armada8040-mcbin-doubleshot|\
|
||||
marvell,armada8040-mcbin-singleshot)
|
||||
platform_check_image_sdcard "$1"
|
||||
sdcard_check_image "$1"
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
@ -23,7 +23,7 @@ platform_do_upgrade() {
|
||||
case "$(board_name)" in
|
||||
marvell,armada8040-mcbin-doubleshot|\
|
||||
marvell,armada8040-mcbin-singleshot)
|
||||
platform_do_upgrade_sdcard "$1"
|
||||
sdcard_do_upgrade "$1"
|
||||
;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
@ -34,7 +34,7 @@ platform_copy_config() {
|
||||
case "$(board_name)" in
|
||||
marvell,armada8040-mcbin-doubleshot|\
|
||||
marvell,armada8040-mcbin-singleshot)
|
||||
platform_copy_config_sdcard
|
||||
sdcard_copy_config
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ platform_check_image() {
|
||||
kobol,helios4|\
|
||||
solidrun,clearfog-base-a1|\
|
||||
solidrun,clearfog-pro-a1)
|
||||
platform_check_image_sdcard "$1"
|
||||
sdcard_check_image "$1"
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
@ -30,7 +30,7 @@ platform_do_upgrade() {
|
||||
kobol,helios4|\
|
||||
solidrun,clearfog-base-a1|\
|
||||
solidrun,clearfog-pro-a1)
|
||||
platform_do_upgrade_sdcard "$1"
|
||||
sdcard_do_upgrade "$1"
|
||||
;;
|
||||
linksys,wrt1200ac|\
|
||||
linksys,wrt1900ac-v1|\
|
||||
@ -51,7 +51,7 @@ platform_copy_config() {
|
||||
kobol,helios4|\
|
||||
solidrun,clearfog-base-a1|\
|
||||
solidrun,clearfog-pro-a1)
|
||||
platform_copy_config_sdcard
|
||||
sdcard_copy_config
|
||||
;;
|
||||
linksys,wrt1200ac|\
|
||||
linksys,wrt1900ac-v1|\
|
||||
|
||||
@ -11,7 +11,22 @@ else
|
||||
fi
|
||||
setenv bootargs earlyprintk console=ttyS0,115200 root=${rootdev} rootfstype=auto rootwait
|
||||
|
||||
# Load and boot
|
||||
# Load device tree and prepare for modification
|
||||
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} @DTB@.dtb
|
||||
fdt addr ${fdt_addr_r}
|
||||
fdt resize
|
||||
|
||||
# Enable SFP cage, if module is present
|
||||
i2c dev 0
|
||||
i2c mw 0x70 0.0 0xf
|
||||
i2c read 0x71 0 1 0x00fffff1
|
||||
setexpr.b mod_def0 *0x00fffff1 \& 0x10
|
||||
if test ${mod_def0} -eq 0; then
|
||||
fdt set /sfp status okay
|
||||
fdt rm /soc/internal-regs/ethernet@34000 phy-handle
|
||||
fdt set /soc/internal-regs/ethernet@34000 managed in-band-status
|
||||
fi
|
||||
|
||||
# Load kernel and boot
|
||||
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
|
||||
bootz ${kernel_addr_r} - ${fdt_addr_r}
|
||||
|
||||
@ -0,0 +1,37 @@
|
||||
From 9ec25ef84832209a8326f9a71fe3ba14f4bcf301 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:18 +0100
|
||||
Subject: ARM: dts: turris-omnia: add comphy handle to eth2
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The eth2 controller on Turris Omnia is connected to SerDes. For SFP to
|
||||
be able to switch between 1G and 2.5G modes the comphy link has to be
|
||||
defined.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: f3a6a9f3704a ("ARM: dts: add description for Armada 38x ...")
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Andreas Färber <afaerber@suse.de>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -129,6 +129,7 @@
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy = <&phy1>;
|
||||
+ phys = <&comphy5 2>;
|
||||
buffer-manager = <&bm>;
|
||||
bm,pool-long = <2>;
|
||||
bm,pool-short = <3>;
|
||||
@ -0,0 +1,61 @@
|
||||
From d29b67c220caf5f4905e1f1576e71bcb6de4af9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:19 +0100
|
||||
Subject: ARM: dts: turris-omnia: describe switch interrupt
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Describe switch interrupt for Turris Omnia so that the CPU does not have
|
||||
to poll the switch. We also need to to set mpp45 pin to gpio function
|
||||
for this.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -261,13 +261,18 @@
|
||||
|
||||
/* Switch MV88E6176 at address 0x10 */
|
||||
switch@10 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&swint_pins>;
|
||||
compatible = "marvell,mv88e6085";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
- dsa,member = <0 0>;
|
||||
|
||||
+ dsa,member = <0 0>;
|
||||
reg = <0x10>;
|
||||
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
|
||||
+
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -320,6 +325,11 @@
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
|
||||
+ swint_pins: swint-pins {
|
||||
+ marvell,pins = "mpp45";
|
||||
+ marvell,function = "gpio";
|
||||
+ };
|
||||
+
|
||||
spi0cs0_pins: spi0cs0-pins {
|
||||
marvell,pins = "mpp25";
|
||||
marvell,function = "spi0";
|
||||
@ -0,0 +1,90 @@
|
||||
From add2d65962977caf23ca2fa21a2457d31b636574 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Mon, 16 Nov 2020 13:24:22 +0100
|
||||
Subject: ARM: dts: turris-omnia: add SFP node
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Turris Omnia has an SFP cage that, together with WAN PHY, is connected
|
||||
to eth2 SerDes via a SerDes multiplexor. When a SFP module is present,
|
||||
the multiplexor switches the SerDes signal from PHY to SFP.
|
||||
|
||||
Describe the SFP cage, but leave it disabled. Until phylink has support
|
||||
for such configuration, we are leaving it to U-Boot to enable SFP and
|
||||
disable WAN PHY at boot time depending on whether a SFP module is
|
||||
present.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: Russell King - ARM Linux admin <linux@armlinux.org.uk>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 30 ++++++++++++++++++++++++++-
|
||||
1 file changed, 29 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -82,6 +82,24 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+ sfp: sfp {
|
||||
+ compatible = "sff,sfp";
|
||||
+ i2c-bus = <&sfp_i2c>;
|
||||
+ tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>;
|
||||
+ tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>;
|
||||
+ rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>;
|
||||
+ los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>;
|
||||
+ mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>;
|
||||
+ maximum-power-milliwatt = <3000>;
|
||||
+
|
||||
+ /*
|
||||
+ * For now this has to be enabled at boot time by U-Boot when
|
||||
+ * a SFP module is present. Read more in the comment in the
|
||||
+ * eth2 node below.
|
||||
+ */
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
};
|
||||
|
||||
&bm {
|
||||
@@ -126,10 +144,20 @@
|
||||
|
||||
/* WAN port */
|
||||
ð2 {
|
||||
+ /*
|
||||
+ * eth2 is connected via a multiplexor to both the SFP cage and to
|
||||
+ * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
|
||||
+ * a SFP module is present, as determined by the mode-def0 GPIO.
|
||||
+ *
|
||||
+ * Until kernel supports this configuration properly, in case SFP module
|
||||
+ * is present, U-Boot has to enable the sfp node above, remove phy
|
||||
+ * handle and add managed = "in-band-status" property.
|
||||
+ */
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy = <&phy1>;
|
||||
phys = <&comphy5 2>;
|
||||
+ sfp = <&sfp>;
|
||||
buffer-manager = <&bm>;
|
||||
bm,pool-long = <2>;
|
||||
bm,pool-short = <3>;
|
||||
@@ -195,7 +223,7 @@
|
||||
/* routed to PCIe2 connector (CN62A) */
|
||||
};
|
||||
|
||||
- i2c@4 {
|
||||
+ sfp_i2c: i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
@ -0,0 +1,160 @@
|
||||
From 91dd42d0e30fdbb250c61d1192af569f07e6ada4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:21 +0100
|
||||
Subject: ARM: dts: turris-omnia: add LED controller node
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Linux now has incomplete support for the LED controller on Turris Omnia:
|
||||
it can set brightness and colors for each LED.
|
||||
|
||||
The controller can also put these LEDs into HW controlled mode, in which
|
||||
the LEDs are controlled by HW: for example the WAN LED is connected via
|
||||
MCU to the WAN PHY LED pin.
|
||||
|
||||
The driver does not support these HW controlled modes yet, and on probe
|
||||
puts the LEDs into SW controlled mode.
|
||||
|
||||
Add node describing the LED controller, but disable it for now.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 111 +++++++++++++++++++++++++-
|
||||
1 file changed, 110 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
#include "armada-385.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -181,7 +182,115 @@
|
||||
reg = <0>;
|
||||
|
||||
/* STM32F0 command interface at address 0x2a */
|
||||
- /* leds device (in STM32F0) at address 0x2b */
|
||||
+
|
||||
+ led-controller@2b {
|
||||
+ compatible = "cznic,turris-omnia-leds";
|
||||
+ reg = <0x2b>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /*
|
||||
+ * LEDs are controlled by MCU (STM32F0) at
|
||||
+ * address 0x2b.
|
||||
+ *
|
||||
+ * The driver does not support HW control mode
|
||||
+ * for the LEDs yet. Disable the LEDs for now.
|
||||
+ *
|
||||
+ * Also LED functions are not stable yet:
|
||||
+ * - there are 3 LEDs connected via MCU to PCIe
|
||||
+ * ports. One of these ports supports mSATA.
|
||||
+ * There is no mSATA nor PCIe function.
|
||||
+ * For now we use LED_FUNCTION_WLAN, since
|
||||
+ * in most cases users have wifi cards in
|
||||
+ * these slots
|
||||
+ * - there are 2 LEDs dedicated for user: A and
|
||||
+ * B. Again there is no such function defined.
|
||||
+ * For now we use LED_FUNCTION_INDICATOR
|
||||
+ */
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ multi-led@0 {
|
||||
+ reg = <0x0>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ function-enumerator = <2>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@1 {
|
||||
+ reg = <0x1>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ function-enumerator = <1>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@2 {
|
||||
+ reg = <0x2>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_WLAN;
|
||||
+ function-enumerator = <3>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@3 {
|
||||
+ reg = <0x3>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_WLAN;
|
||||
+ function-enumerator = <2>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@4 {
|
||||
+ reg = <0x4>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_WLAN;
|
||||
+ function-enumerator = <1>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@5 {
|
||||
+ reg = <0x5>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_WAN;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@6 {
|
||||
+ reg = <0x6>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_LAN;
|
||||
+ function-enumerator = <4>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@7 {
|
||||
+ reg = <0x7>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_LAN;
|
||||
+ function-enumerator = <3>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@8 {
|
||||
+ reg = <0x8>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_LAN;
|
||||
+ function-enumerator = <2>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@9 {
|
||||
+ reg = <0x9>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_LAN;
|
||||
+ function-enumerator = <1>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@a {
|
||||
+ reg = <0xa>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_LAN;
|
||||
+ function-enumerator = <0>;
|
||||
+ };
|
||||
+
|
||||
+ multi-led@b {
|
||||
+ reg = <0xb>;
|
||||
+ color = <LED_COLOR_ID_RGB>;
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ };
|
||||
+ };
|
||||
|
||||
eeprom@54 {
|
||||
compatible = "atmel,24c64";
|
||||
@ -0,0 +1,52 @@
|
||||
From 8ee4a5f4f40da60bb85e13d9dd218a3c9197e3e3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:22 +0100
|
||||
Subject: ARM: dts: turris-omnia: update ethernet-phy node and handle name
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Use property name `phy-handle` instead of the deprecated `phy` to
|
||||
connect eth2 to the PHY.
|
||||
Rename the node from "phy@1" to "ethernet-phy@1", since "phy@1" is
|
||||
incorrect according to device-tree bindings documentation.
|
||||
Also remove the "ethernet-phy-id0141.0DD1" compatible string, it is not
|
||||
needed. Kernel can read the PHY identifier itself.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -156,7 +156,7 @@
|
||||
*/
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
- phy = <&phy1>;
|
||||
+ phy-handle = <&phy1>;
|
||||
phys = <&comphy5 2>;
|
||||
sfp = <&sfp>;
|
||||
buffer-manager = <&bm>;
|
||||
@@ -387,9 +387,9 @@
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
status = "okay";
|
||||
|
||||
- phy1: phy@1 {
|
||||
+ phy1: ethernet-phy@1 {
|
||||
status = "okay";
|
||||
- compatible = "ethernet-phy-id0141.0DD1", "ethernet-phy-ieee802.3-c22";
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
marvell,reg-init = <3 18 0 0x4985>;
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
From 9704292ed3230ee19dc4dd64f7484301b728ffb7 Mon Sep 17 00:00:00 2001
|
||||
From 5b2c7e0ae762fff2b172caf16b2766cc3e1ad859 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Date: Wed, 17 Feb 2021 15:19:30 +0000
|
||||
Subject: [PATCH] ARM: dts: turris-omnia: fix hardware buffer management
|
||||
Date: Wed, 17 Feb 2021 15:30:38 +0000
|
||||
Subject: ARM: dts: turris-omnia: fix hardware buffer management
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Hardware buffer management has never worked on the Turris Omnia, as the
|
||||
required MBus window hadn't been reserved. Fix thusly.
|
||||
@ -9,13 +12,16 @@ required MBus window hadn't been reserved. Fix thusly.
|
||||
Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")
|
||||
|
||||
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Reviewed-by: Marek Behún <kabel@kernel.org>
|
||||
Tested-by: Klaus Kudielka <klaus.kudielka@gmail.com>
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -31,7 +31,8 @@
|
||||
@@ -32,7 +32,8 @@
|
||||
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
|
||||
MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
|
||||
MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
|
||||
@ -0,0 +1,39 @@
|
||||
From: =?utf-8?q?Marek_Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Subject: [PATCH v2] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant
|
||||
Date: Thu, 1 Jul 2021 00:56:01 +0200
|
||||
|
||||
The 1.2 GHz variant of the Armada 3720 SOC is unstable with DVFS: when
|
||||
the SOC boots, the WTMI firmware sets clocks and AVS values that work
|
||||
correctly with 1.2 GHz CPU frequency, but random crashes occur once
|
||||
cpufreq driver starts scaling.
|
||||
|
||||
We do not know currently what is the reason:
|
||||
- it may be that the voltage value for L0 for 1.2 GHz variant provided
|
||||
by the vendor in the OTP is simply incorrect when scaling is used,
|
||||
- it may be that some delay is needed somewhere,
|
||||
- it may be something else.
|
||||
|
||||
The most sane solution now seems to be to simply forbid the cpufreq
|
||||
driver on 1.2 GHz variant.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx")
|
||||
---
|
||||
drivers/cpufreq/armada-37xx-cpufreq.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
@@ -102,7 +102,11 @@ struct armada_37xx_dvfs {
|
||||
};
|
||||
|
||||
static struct armada_37xx_dvfs armada_37xx_dvfs[] = {
|
||||
- {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} },
|
||||
+ /*
|
||||
+ * The cpufreq scaling for 1.2 GHz variant of the SOC is currently
|
||||
+ * unstable because we do not know how to configure it properly.
|
||||
+ */
|
||||
+ /* {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, */
|
||||
{.cpu_freq_max = 1000*1000*1000, .divider = {1, 2, 4, 5} },
|
||||
{.cpu_freq_max = 800*1000*1000, .divider = {1, 2, 3, 4} },
|
||||
{.cpu_freq_max = 600*1000*1000, .divider = {2, 4, 5, 6} },
|
||||
@ -1,107 +0,0 @@
|
||||
From 35639bac13927d1476398b740b11cbed0ee3ddb2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robert.marko@sartura.hr>
|
||||
Date: Tue, 18 May 2021 13:24:30 +0200
|
||||
Subject: [PATCH] Revert "cpufreq: armada-37xx: Fix setting TBG parent for load
|
||||
levels"
|
||||
|
||||
This reverts commit a13b110e7c9e0dc2edcc7a19d4255fc88abd83cc.
|
||||
|
||||
This patch actually corrects the things so that 1 or 1.2GHz models would
|
||||
actually get scaled to their native frequency.
|
||||
|
||||
However, due to a AVS setting voltages too low this will cause random
|
||||
crashes on 1.2GHz models.
|
||||
|
||||
So, until a new safe for everybody voltage is agreed on
|
||||
lets revert the patch.
|
||||
|
||||
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
---
|
||||
drivers/cpufreq/armada-37xx-cpufreq.c | 35 +++++++++------------------
|
||||
1 file changed, 12 insertions(+), 23 deletions(-)
|
||||
|
||||
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
@@ -25,10 +25,6 @@
|
||||
|
||||
#include "cpufreq-dt.h"
|
||||
|
||||
-/* Clk register set */
|
||||
-#define ARMADA_37XX_CLK_TBG_SEL 0
|
||||
-#define ARMADA_37XX_CLK_TBG_SEL_CPU_OFF 22
|
||||
-
|
||||
/* Power management in North Bridge register set */
|
||||
#define ARMADA_37XX_NB_L0L1 0x18
|
||||
#define ARMADA_37XX_NB_L2L3 0x1C
|
||||
@@ -126,15 +122,10 @@ static struct armada_37xx_dvfs *armada_3
|
||||
* will be configured then the DVFS will be enabled.
|
||||
*/
|
||||
static void __init armada37xx_cpufreq_dvfs_setup(struct regmap *base,
|
||||
- struct regmap *clk_base, u8 *divider)
|
||||
+ struct clk *clk, u8 *divider)
|
||||
{
|
||||
- u32 cpu_tbg_sel;
|
||||
int load_lvl;
|
||||
-
|
||||
- /* Determine to which TBG clock is CPU connected */
|
||||
- regmap_read(clk_base, ARMADA_37XX_CLK_TBG_SEL, &cpu_tbg_sel);
|
||||
- cpu_tbg_sel >>= ARMADA_37XX_CLK_TBG_SEL_CPU_OFF;
|
||||
- cpu_tbg_sel &= ARMADA_37XX_NB_TBG_SEL_MASK;
|
||||
+ struct clk *parent;
|
||||
|
||||
for (load_lvl = 0; load_lvl < LOAD_LEVEL_NR; load_lvl++) {
|
||||
unsigned int reg, mask, val, offset = 0;
|
||||
@@ -153,11 +144,6 @@ static void __init armada37xx_cpufreq_dv
|
||||
mask = (ARMADA_37XX_NB_CLK_SEL_MASK
|
||||
<< ARMADA_37XX_NB_CLK_SEL_OFF);
|
||||
|
||||
- /* Set TBG index, for all levels we use the same TBG */
|
||||
- val = cpu_tbg_sel << ARMADA_37XX_NB_TBG_SEL_OFF;
|
||||
- mask = (ARMADA_37XX_NB_TBG_SEL_MASK
|
||||
- << ARMADA_37XX_NB_TBG_SEL_OFF);
|
||||
-
|
||||
/*
|
||||
* Set cpu divider based on the pre-computed array in
|
||||
* order to have balanced step.
|
||||
@@ -176,6 +162,14 @@ static void __init armada37xx_cpufreq_dv
|
||||
|
||||
regmap_update_bits(base, reg, mask, val);
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * Set cpu clock source, for all the level we keep the same
|
||||
+ * clock source that the one already configured. For this one
|
||||
+ * we need to use the clock framework
|
||||
+ */
|
||||
+ parent = clk_get_parent(clk);
|
||||
+ clk_set_parent(clk, parent);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -401,16 +395,11 @@ static int __init armada37xx_cpufreq_dri
|
||||
struct platform_device *pdev;
|
||||
unsigned long freq;
|
||||
unsigned int cur_frequency, base_frequency;
|
||||
- struct regmap *nb_clk_base, *nb_pm_base, *avs_base;
|
||||
+ struct regmap *nb_pm_base, *avs_base;
|
||||
struct device *cpu_dev;
|
||||
int load_lvl, ret;
|
||||
struct clk *clk, *parent;
|
||||
|
||||
- nb_clk_base =
|
||||
- syscon_regmap_lookup_by_compatible("marvell,armada-3700-periph-clock-nb");
|
||||
- if (IS_ERR(nb_clk_base))
|
||||
- return -ENODEV;
|
||||
-
|
||||
nb_pm_base =
|
||||
syscon_regmap_lookup_by_compatible("marvell,armada-3700-nb-pm");
|
||||
|
||||
@@ -487,7 +476,7 @@ static int __init armada37xx_cpufreq_dri
|
||||
armada37xx_cpufreq_avs_configure(avs_base, dvfs);
|
||||
armada37xx_cpufreq_avs_setup(avs_base, dvfs);
|
||||
|
||||
- armada37xx_cpufreq_dvfs_setup(nb_pm_base, nb_clk_base, dvfs->divider);
|
||||
+ armada37xx_cpufreq_dvfs_setup(nb_pm_base, clk, dvfs->divider);
|
||||
clk_put(clk);
|
||||
|
||||
for (load_lvl = ARMADA_37XX_DVFS_LOAD_0; load_lvl < LOAD_LEVEL_NR;
|
||||
@ -0,0 +1,37 @@
|
||||
From 9ec25ef84832209a8326f9a71fe3ba14f4bcf301 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:18 +0100
|
||||
Subject: ARM: dts: turris-omnia: add comphy handle to eth2
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The eth2 controller on Turris Omnia is connected to SerDes. For SFP to
|
||||
be able to switch between 1G and 2.5G modes the comphy link has to be
|
||||
defined.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: f3a6a9f3704a ("ARM: dts: add description for Armada 38x ...")
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Andreas Färber <afaerber@suse.de>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -129,6 +129,7 @@
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy = <&phy1>;
|
||||
+ phys = <&comphy5 2>;
|
||||
buffer-manager = <&bm>;
|
||||
bm,pool-long = <2>;
|
||||
bm,pool-short = <3>;
|
||||
@ -0,0 +1,61 @@
|
||||
From d29b67c220caf5f4905e1f1576e71bcb6de4af9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:19 +0100
|
||||
Subject: ARM: dts: turris-omnia: describe switch interrupt
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Describe switch interrupt for Turris Omnia so that the CPU does not have
|
||||
to poll the switch. We also need to to set mpp45 pin to gpio function
|
||||
for this.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -261,13 +261,18 @@
|
||||
|
||||
/* Switch MV88E6176 at address 0x10 */
|
||||
switch@10 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&swint_pins>;
|
||||
compatible = "marvell,mv88e6085";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
- dsa,member = <0 0>;
|
||||
|
||||
+ dsa,member = <0 0>;
|
||||
reg = <0x10>;
|
||||
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
|
||||
+
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -320,6 +325,11 @@
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
|
||||
+ swint_pins: swint-pins {
|
||||
+ marvell,pins = "mpp45";
|
||||
+ marvell,function = "gpio";
|
||||
+ };
|
||||
+
|
||||
spi0cs0_pins: spi0cs0-pins {
|
||||
marvell,pins = "mpp25";
|
||||
marvell,function = "spi0";
|
||||
@ -0,0 +1,90 @@
|
||||
From add2d65962977caf23ca2fa21a2457d31b636574 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Mon, 16 Nov 2020 13:24:22 +0100
|
||||
Subject: ARM: dts: turris-omnia: add SFP node
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Turris Omnia has an SFP cage that, together with WAN PHY, is connected
|
||||
to eth2 SerDes via a SerDes multiplexor. When a SFP module is present,
|
||||
the multiplexor switches the SerDes signal from PHY to SFP.
|
||||
|
||||
Describe the SFP cage, but leave it disabled. Until phylink has support
|
||||
for such configuration, we are leaving it to U-Boot to enable SFP and
|
||||
disable WAN PHY at boot time depending on whether a SFP module is
|
||||
present.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: Russell King - ARM Linux admin <linux@armlinux.org.uk>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 30 ++++++++++++++++++++++++++-
|
||||
1 file changed, 29 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -82,6 +82,24 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+ sfp: sfp {
|
||||
+ compatible = "sff,sfp";
|
||||
+ i2c-bus = <&sfp_i2c>;
|
||||
+ tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>;
|
||||
+ tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>;
|
||||
+ rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>;
|
||||
+ los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>;
|
||||
+ mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>;
|
||||
+ maximum-power-milliwatt = <3000>;
|
||||
+
|
||||
+ /*
|
||||
+ * For now this has to be enabled at boot time by U-Boot when
|
||||
+ * a SFP module is present. Read more in the comment in the
|
||||
+ * eth2 node below.
|
||||
+ */
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
};
|
||||
|
||||
&bm {
|
||||
@@ -126,10 +144,20 @@
|
||||
|
||||
/* WAN port */
|
||||
ð2 {
|
||||
+ /*
|
||||
+ * eth2 is connected via a multiplexor to both the SFP cage and to
|
||||
+ * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
|
||||
+ * a SFP module is present, as determined by the mode-def0 GPIO.
|
||||
+ *
|
||||
+ * Until kernel supports this configuration properly, in case SFP module
|
||||
+ * is present, U-Boot has to enable the sfp node above, remove phy
|
||||
+ * handle and add managed = "in-band-status" property.
|
||||
+ */
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
phy = <&phy1>;
|
||||
phys = <&comphy5 2>;
|
||||
+ sfp = <&sfp>;
|
||||
buffer-manager = <&bm>;
|
||||
bm,pool-long = <2>;
|
||||
bm,pool-short = <3>;
|
||||
@@ -195,7 +223,7 @@
|
||||
/* routed to PCIe2 connector (CN62A) */
|
||||
};
|
||||
|
||||
- i2c@4 {
|
||||
+ sfp_i2c: i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
@ -0,0 +1,52 @@
|
||||
From 8ee4a5f4f40da60bb85e13d9dd218a3c9197e3e3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 15 Nov 2020 14:59:22 +0100
|
||||
Subject: ARM: dts: turris-omnia: update ethernet-phy node and handle name
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Use property name `phy-handle` instead of the deprecated `phy` to
|
||||
connect eth2 to the PHY.
|
||||
Rename the node from "phy@1" to "ethernet-phy@1", since "phy@1" is
|
||||
incorrect according to device-tree bindings documentation.
|
||||
Also remove the "ethernet-phy-id0141.0DD1" compatible string, it is not
|
||||
needed. Kernel can read the PHY identifier itself.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
Cc: Andreas Färber <afaerber@suse.de>
|
||||
Cc: Rob Herring <robh+dt@kernel.org>
|
||||
Cc: devicetree@vger.kernel.org
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
||||
@@ -155,7 +155,7 @@
|
||||
*/
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
- phy = <&phy1>;
|
||||
+ phy-handle = <&phy1>;
|
||||
phys = <&comphy5 2>;
|
||||
sfp = <&sfp>;
|
||||
buffer-manager = <&bm>;
|
||||
@@ -278,9 +278,9 @@
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
status = "okay";
|
||||
|
||||
- phy1: phy@1 {
|
||||
+ phy1: ethernet-phy@1 {
|
||||
status = "okay";
|
||||
- compatible = "ethernet-phy-id0141.0DD1", "ethernet-phy-ieee802.3-c22";
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
marvell,reg-init = <3 18 0 0x4985>;
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
From 9704292ed3230ee19dc4dd64f7484301b728ffb7 Mon Sep 17 00:00:00 2001
|
||||
From 5b2c7e0ae762fff2b172caf16b2766cc3e1ad859 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Date: Wed, 17 Feb 2021 15:19:30 +0000
|
||||
Subject: [PATCH] ARM: dts: turris-omnia: fix hardware buffer management
|
||||
Date: Wed, 17 Feb 2021 15:30:38 +0000
|
||||
Subject: ARM: dts: turris-omnia: fix hardware buffer management
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Hardware buffer management has never worked on the Turris Omnia, as the
|
||||
required MBus window hadn't been reserved. Fix thusly.
|
||||
@ -9,6 +12,9 @@ required MBus window hadn't been reserved. Fix thusly.
|
||||
Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")
|
||||
|
||||
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Reviewed-by: Marek Behún <kabel@kernel.org>
|
||||
Tested-by: Klaus Kudielka <klaus.kudielka@gmail.com>
|
||||
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||||
---
|
||||
arch/arm/boot/dts/armada-385-turris-omnia.dts | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
@ -0,0 +1,39 @@
|
||||
From: =?utf-8?q?Marek_Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Subject: [PATCH v2] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant
|
||||
Date: Thu, 1 Jul 2021 00:56:01 +0200
|
||||
|
||||
The 1.2 GHz variant of the Armada 3720 SOC is unstable with DVFS: when
|
||||
the SOC boots, the WTMI firmware sets clocks and AVS values that work
|
||||
correctly with 1.2 GHz CPU frequency, but random crashes occur once
|
||||
cpufreq driver starts scaling.
|
||||
|
||||
We do not know currently what is the reason:
|
||||
- it may be that the voltage value for L0 for 1.2 GHz variant provided
|
||||
by the vendor in the OTP is simply incorrect when scaling is used,
|
||||
- it may be that some delay is needed somewhere,
|
||||
- it may be something else.
|
||||
|
||||
The most sane solution now seems to be to simply forbid the cpufreq
|
||||
driver on 1.2 GHz variant.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx")
|
||||
---
|
||||
drivers/cpufreq/armada-37xx-cpufreq.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
@@ -102,7 +102,11 @@ struct armada_37xx_dvfs {
|
||||
};
|
||||
|
||||
static struct armada_37xx_dvfs armada_37xx_dvfs[] = {
|
||||
- {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} },
|
||||
+ /*
|
||||
+ * The cpufreq scaling for 1.2 GHz variant of the SOC is currently
|
||||
+ * unstable because we do not know how to configure it properly.
|
||||
+ */
|
||||
+ /* {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, */
|
||||
{.cpu_freq_max = 1000*1000*1000, .divider = {1, 2, 4, 5} },
|
||||
{.cpu_freq_max = 800*1000*1000, .divider = {1, 2, 3, 4} },
|
||||
{.cpu_freq_max = 600*1000*1000, .divider = {2, 4, 5, 6} },
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
|
||||
--- a/drivers/pci/controller/pci-mvebu.c
|
||||
+++ b/drivers/pci/controller/pci-mvebu.c
|
||||
@@ -928,6 +928,7 @@ static int mvebu_pcie_powerup(struct mve
|
||||
@@ -936,6 +936,7 @@ static int mvebu_pcie_powerup(struct mve
|
||||
|
||||
if (port->reset_gpio) {
|
||||
u32 reset_udelay = PCI_PM_D3COLD_WAIT * 1000;
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
|
||||
of_property_read_u32(port->dn, "reset-delay-us",
|
||||
&reset_udelay);
|
||||
@@ -935,7 +936,13 @@ static int mvebu_pcie_powerup(struct mve
|
||||
@@ -943,7 +944,13 @@ static int mvebu_pcie_powerup(struct mve
|
||||
udelay(100);
|
||||
|
||||
gpiod_set_value_cansleep(port->reset_gpio, 0);
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1099,15 +1106,16 @@ static int mvebu_pcie_probe(struct platf
|
||||
@@ -1107,15 +1114,16 @@ static int mvebu_pcie_probe(struct platf
|
||||
if (!child)
|
||||
continue;
|
||||
|
||||
|
||||
@ -1,107 +0,0 @@
|
||||
From 35639bac13927d1476398b740b11cbed0ee3ddb2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robert.marko@sartura.hr>
|
||||
Date: Tue, 18 May 2021 13:24:30 +0200
|
||||
Subject: [PATCH] Revert "cpufreq: armada-37xx: Fix setting TBG parent for load
|
||||
levels"
|
||||
|
||||
This reverts commit a13b110e7c9e0dc2edcc7a19d4255fc88abd83cc.
|
||||
|
||||
This patch actually corrects the things so that 1 or 1.2GHz models would
|
||||
actually get scaled to their native frequency.
|
||||
|
||||
However, due to a AVS setting voltages too low this will cause random
|
||||
crashes on 1.2GHz models.
|
||||
|
||||
So, until a new safe for everybody voltage is agreed on
|
||||
lets revert the patch.
|
||||
|
||||
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
---
|
||||
drivers/cpufreq/armada-37xx-cpufreq.c | 35 +++++++++------------------
|
||||
1 file changed, 12 insertions(+), 23 deletions(-)
|
||||
|
||||
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
|
||||
@@ -25,10 +25,6 @@
|
||||
|
||||
#include "cpufreq-dt.h"
|
||||
|
||||
-/* Clk register set */
|
||||
-#define ARMADA_37XX_CLK_TBG_SEL 0
|
||||
-#define ARMADA_37XX_CLK_TBG_SEL_CPU_OFF 22
|
||||
-
|
||||
/* Power management in North Bridge register set */
|
||||
#define ARMADA_37XX_NB_L0L1 0x18
|
||||
#define ARMADA_37XX_NB_L2L3 0x1C
|
||||
@@ -126,15 +122,10 @@ static struct armada_37xx_dvfs *armada_3
|
||||
* will be configured then the DVFS will be enabled.
|
||||
*/
|
||||
static void __init armada37xx_cpufreq_dvfs_setup(struct regmap *base,
|
||||
- struct regmap *clk_base, u8 *divider)
|
||||
+ struct clk *clk, u8 *divider)
|
||||
{
|
||||
- u32 cpu_tbg_sel;
|
||||
int load_lvl;
|
||||
-
|
||||
- /* Determine to which TBG clock is CPU connected */
|
||||
- regmap_read(clk_base, ARMADA_37XX_CLK_TBG_SEL, &cpu_tbg_sel);
|
||||
- cpu_tbg_sel >>= ARMADA_37XX_CLK_TBG_SEL_CPU_OFF;
|
||||
- cpu_tbg_sel &= ARMADA_37XX_NB_TBG_SEL_MASK;
|
||||
+ struct clk *parent;
|
||||
|
||||
for (load_lvl = 0; load_lvl < LOAD_LEVEL_NR; load_lvl++) {
|
||||
unsigned int reg, mask, val, offset = 0;
|
||||
@@ -153,11 +144,6 @@ static void __init armada37xx_cpufreq_dv
|
||||
mask = (ARMADA_37XX_NB_CLK_SEL_MASK
|
||||
<< ARMADA_37XX_NB_CLK_SEL_OFF);
|
||||
|
||||
- /* Set TBG index, for all levels we use the same TBG */
|
||||
- val = cpu_tbg_sel << ARMADA_37XX_NB_TBG_SEL_OFF;
|
||||
- mask = (ARMADA_37XX_NB_TBG_SEL_MASK
|
||||
- << ARMADA_37XX_NB_TBG_SEL_OFF);
|
||||
-
|
||||
/*
|
||||
* Set cpu divider based on the pre-computed array in
|
||||
* order to have balanced step.
|
||||
@@ -176,6 +162,14 @@ static void __init armada37xx_cpufreq_dv
|
||||
|
||||
regmap_update_bits(base, reg, mask, val);
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * Set cpu clock source, for all the level we keep the same
|
||||
+ * clock source that the one already configured. For this one
|
||||
+ * we need to use the clock framework
|
||||
+ */
|
||||
+ parent = clk_get_parent(clk);
|
||||
+ clk_set_parent(clk, parent);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -401,16 +395,11 @@ static int __init armada37xx_cpufreq_dri
|
||||
struct platform_device *pdev;
|
||||
unsigned long freq;
|
||||
unsigned int cur_frequency, base_frequency;
|
||||
- struct regmap *nb_clk_base, *nb_pm_base, *avs_base;
|
||||
+ struct regmap *nb_pm_base, *avs_base;
|
||||
struct device *cpu_dev;
|
||||
int load_lvl, ret;
|
||||
struct clk *clk, *parent;
|
||||
|
||||
- nb_clk_base =
|
||||
- syscon_regmap_lookup_by_compatible("marvell,armada-3700-periph-clock-nb");
|
||||
- if (IS_ERR(nb_clk_base))
|
||||
- return -ENODEV;
|
||||
-
|
||||
nb_pm_base =
|
||||
syscon_regmap_lookup_by_compatible("marvell,armada-3700-nb-pm");
|
||||
|
||||
@@ -487,7 +476,7 @@ static int __init armada37xx_cpufreq_dri
|
||||
armada37xx_cpufreq_avs_configure(avs_base, dvfs);
|
||||
armada37xx_cpufreq_avs_setup(avs_base, dvfs);
|
||||
|
||||
- armada37xx_cpufreq_dvfs_setup(nb_pm_base, nb_clk_base, dvfs->divider);
|
||||
+ armada37xx_cpufreq_dvfs_setup(nb_pm_base, clk, dvfs->divider);
|
||||
clk_put(clk);
|
||||
|
||||
for (load_lvl = ARMADA_37XX_DVFS_LOAD_0; load_lvl < LOAD_LEVEL_NR;
|
||||
@ -232,10 +232,6 @@ CONFIG_DTC=y
|
||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_EEPROM_93CX6=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT3_FS_SECURITY is not set
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXTCON=y
|
||||
CONFIG_EXTCON_PALMAS=y
|
||||
|
||||
@ -147,6 +147,7 @@ CONFIG_PINCTRL=y
|
||||
# CONFIG_PINCTRL_AW9523 is not set
|
||||
CONFIG_PINCTRL_RT2880=y
|
||||
# CONFIG_PINCTRL_SINGLE is not set
|
||||
# CONFIG_PWM_MEDIATEK is not set
|
||||
CONFIG_RALINK=y
|
||||
# CONFIG_RALINK_WDT is not set
|
||||
CONFIG_REGMAP=y
|
||||
|
||||
@ -147,6 +147,7 @@ CONFIG_PINCTRL=y
|
||||
# CONFIG_PINCTRL_AW9523 is not set
|
||||
CONFIG_PINCTRL_RT2880=y
|
||||
# CONFIG_PINCTRL_SINGLE is not set
|
||||
# CONFIG_PWM_MEDIATEK is not set
|
||||
CONFIG_RALINK=y
|
||||
# CONFIG_RALINK_WDT is not set
|
||||
CONFIG_REGMAP=y
|
||||
|
||||
@ -282,6 +282,7 @@ CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_INPUT_LEDS=y
|
||||
CONFIG_INPUT_MATRIXKMAP=y
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
# CONFIG_INPUT_RK805_PWRKEY is not set
|
||||
CONFIG_IOMMU_API=y
|
||||
# CONFIG_IOMMU_DEBUGFS is not set
|
||||
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
||||
|
||||
@ -454,6 +454,7 @@ CONFIG_TEGRA_IOMMU_GART=y
|
||||
# CONFIG_TEGRA_IOMMU_SMMU is not set
|
||||
# CONFIG_TEGRA_IVC is not set
|
||||
CONFIG_TEGRA_MC=y
|
||||
# CONFIG_TEGRA_SOCTHERM is not set
|
||||
CONFIG_TEGRA_TIMER=y
|
||||
CONFIG_TEGRA_WATCHDOG=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
|
||||
@ -442,6 +442,7 @@ CONFIG_TEGRA_IOMMU_GART=y
|
||||
# CONFIG_TEGRA_IOMMU_SMMU is not set
|
||||
# CONFIG_TEGRA_IVC is not set
|
||||
CONFIG_TEGRA_MC=y
|
||||
# CONFIG_TEGRA_SOCTHERM is not set
|
||||
CONFIG_TEGRA_TIMER=y
|
||||
CONFIG_TEGRA_WATCHDOG=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
|
||||
@ -258,7 +258,6 @@ CONFIG_INFINIBAND_EFA=y
|
||||
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
|
||||
CONFIG_INTEL_GTT=y
|
||||
CONFIG_INTEL_IDLE=y
|
||||
# CONFIG_INTEL_INT0002_VGPIO is not set
|
||||
# CONFIG_INTEL_IPS is not set
|
||||
# CONFIG_INTEL_MENLOW is not set
|
||||
# CONFIG_INTEL_MIC_BUS is not set
|
||||
|
||||
@ -170,6 +170,7 @@ CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_INSTRUCTION_DECODER=y
|
||||
# CONFIG_INTEL_INT0002_VGPIO is not set
|
||||
# CONFIG_INTEL_PCH_THERMAL is not set
|
||||
# CONFIG_INTEL_POWERCLAMP is not set
|
||||
# CONFIG_INTEL_SCU_PCI is not set
|
||||
|
||||
@ -282,6 +282,7 @@ CONFIG_INIT_STACK_NONE=y
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_INSTRUCTION_DECODER=y
|
||||
# CONFIG_INTEL_INT0002_VGPIO is not set
|
||||
# CONFIG_INTEL_MEI_HDCP is not set
|
||||
# CONFIG_INTEL_PCH_THERMAL is not set
|
||||
# CONFIG_INTEL_POWERCLAMP is not set
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user