Compare commits
216 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb28cd4810 | ||
|
|
b1af47daa6 | ||
|
|
644175186c | ||
|
|
75e80fa248 | ||
|
|
a9734fedd0 | ||
|
|
9adbca8730 | ||
|
|
3644181240 | ||
|
|
219a01f147 | ||
|
|
d22b817f32 | ||
|
|
45b093ca64 | ||
|
|
9b4bb03a20 | ||
|
|
99d0a95a27 | ||
|
|
f4a3dc38a0 | ||
|
|
2b7942c5c9 | ||
|
|
e8a53f9d0f | ||
|
|
f7a6cda0e4 | ||
|
|
d3b0fb72ea | ||
|
|
8060d4018a | ||
|
|
b479d5a366 | ||
|
|
1b4f6913f0 | ||
|
|
017523633e | ||
|
|
7bf72fa737 | ||
|
|
032d53f1a0 | ||
|
|
fddabfb979 | ||
|
|
205bbb0298 | ||
|
|
7c39dcfd4b | ||
|
|
53101c44d5 | ||
|
|
8a673d02d6 | ||
|
|
abd266769c | ||
|
|
5902b3e0f2 | ||
|
|
a1fe76173b | ||
|
|
a4bc4dcc75 | ||
|
|
0ab6ad25e9 | ||
|
|
a15045e248 | ||
|
|
0cbadb75ba | ||
|
|
16c3f7c102 | ||
|
|
5ef52c4bb7 | ||
|
|
d223c3fdcf | ||
|
|
6a51c2a43f | ||
|
|
2de9d45d7f | ||
|
|
2809b7faa6 | ||
|
|
afa416c6c9 | ||
|
|
290d475f3d | ||
|
|
20954582bf | ||
|
|
92bf441ca5 | ||
|
|
fd6ba4ca25 | ||
|
|
379565782f | ||
|
|
7c1497902b | ||
|
|
773bf624f6 | ||
|
|
005cd61200 | ||
|
|
663ba70eab | ||
|
|
2e98da2b9e | ||
|
|
13631b2a7e | ||
|
|
a91e998e65 | ||
|
|
b2946cc30a | ||
|
|
7e3f16c43b | ||
|
|
f6c2f296c3 | ||
|
|
afdca2dde4 | ||
|
|
b3ef74e846 | ||
|
|
dce4dd4bb0 | ||
|
|
3fee1b4930 | ||
|
|
a65efe852d | ||
|
|
793ffbcc8d | ||
|
|
e8cf17592d | ||
|
|
5f2ca35855 | ||
|
|
6aca1ab023 | ||
|
|
cd5a42e9a7 | ||
|
|
ba3a2e5b46 | ||
|
|
e6583aee72 | ||
|
|
23912b3a68 | ||
|
|
007e505ae0 | ||
|
|
df5a06e2f2 | ||
|
|
7d6230b79f | ||
|
|
dfdeb79431 | ||
|
|
8504c90006 | ||
|
|
478adf1c8a | ||
|
|
fb3b2dbdeb | ||
|
|
5c1c7b4d94 | ||
|
|
fe681c337b | ||
|
|
267d266ef3 | ||
|
|
425a20e085 | ||
|
|
dd98e4760d | ||
|
|
1c29f2a21d | ||
|
|
f06fd7a03d | ||
|
|
c200d4abc0 | ||
|
|
bd522205fe | ||
|
|
40d733babb | ||
|
|
0967f9767b | ||
|
|
e3a484aa5b | ||
|
|
abe0772732 | ||
|
|
dd13ba437b | ||
|
|
1c96e6e214 | ||
|
|
2a0d60f526 | ||
|
|
fd476901fe | ||
|
|
d0dd0d931b | ||
|
|
0730dfe0eb | ||
|
|
a7207dfa0c | ||
|
|
bb6f824ef6 | ||
|
|
7351cafa20 | ||
|
|
f9334ffb03 | ||
|
|
f84d7d7b5b | ||
|
|
46166d542f | ||
|
|
3be9b80e31 | ||
|
|
00e608f5c2 | ||
|
|
739dd1faf1 | ||
|
|
d11a5a2269 | ||
|
|
07b21bd4c2 | ||
|
|
1462ae280e | ||
|
|
96c850e405 | ||
|
|
24d3cc8064 | ||
|
|
a9be6aba7a | ||
|
|
206ff7fd14 | ||
|
|
7a3465ebc1 | ||
|
|
64537b77cd | ||
|
|
bb053b661f | ||
|
|
9c24a16359 | ||
|
|
4416134000 | ||
|
|
1e28ddc6c5 | ||
|
|
af75712307 | ||
|
|
a10fc38729 | ||
|
|
6481ccfb92 | ||
|
|
50a551734a | ||
|
|
2efb76c27c | ||
|
|
7f0268244c | ||
|
|
7ffc6de372 | ||
|
|
a14f2ecf0a | ||
|
|
94ac0938be | ||
|
|
324e5988f1 | ||
|
|
e157d67459 | ||
|
|
178bfc71b0 | ||
|
|
7d82fa8c6f | ||
|
|
3d5a0b43e8 | ||
|
|
a344da7077 | ||
|
|
10a3f2eb22 | ||
|
|
92bbdfd7c5 | ||
|
|
9a5cabeff7 | ||
|
|
958e60d368 | ||
|
|
4e36521cb4 | ||
|
|
0281c6fdd5 | ||
|
|
d922304be2 | ||
|
|
27310c9ae4 | ||
|
|
94d335ad87 | ||
|
|
e9086bdbaa | ||
|
|
199dd70f89 | ||
|
|
9d26ebd88d | ||
|
|
a8a23d067c | ||
|
|
da1b46eaaa | ||
|
|
69fb81e57f | ||
|
|
2a7f414faf | ||
|
|
c0bed75835 | ||
|
|
e4eb744292 | ||
|
|
adff37a649 | ||
|
|
6beb21eb20 | ||
|
|
3a1608e7da | ||
|
|
b25e1037bf | ||
|
|
3acf2d47cf | ||
|
|
f173b49d03 | ||
|
|
4e6258a4d9 | ||
|
|
f54f966100 | ||
|
|
62dade39ab | ||
|
|
71086e55d6 | ||
|
|
e58d8dd0a9 | ||
|
|
a0f0c892d7 | ||
|
|
9e192c5f59 | ||
|
|
bfbd62bda5 | ||
|
|
10868cd2f9 | ||
|
|
10301b4d77 | ||
|
|
7407e2fe04 | ||
|
|
71fc32ddcc | ||
|
|
b7e014f9c8 | ||
|
|
8dff714d96 | ||
|
|
c049bc2832 | ||
|
|
ba14ee1521 | ||
|
|
5b7e7888a7 | ||
|
|
33688b51a2 | ||
|
|
5ff888cd8f | ||
|
|
48fee321ae | ||
|
|
20acea1551 | ||
|
|
b820dc3353 | ||
|
|
370e7344e3 | ||
|
|
86957a079d | ||
|
|
6ba41ac9d4 | ||
|
|
48029c5ec1 | ||
|
|
a0e7ac1690 | ||
|
|
a1908f8f1c | ||
|
|
2039f0ea0b | ||
|
|
daee76a662 | ||
|
|
31d47588cd | ||
|
|
363f1a0d2f | ||
|
|
e9f7f174d3 | ||
|
|
388d6d129d | ||
|
|
ff21bc699c | ||
|
|
2bedbc7aed | ||
|
|
e6ece0fd98 | ||
|
|
91db362b5c | ||
|
|
74b4dcfdb8 | ||
|
|
642afd4d7c | ||
|
|
caea5f841f | ||
|
|
ab7a9ff5a4 | ||
|
|
05408af4f0 | ||
|
|
497fd5e42b | ||
|
|
13a6d195f8 | ||
|
|
305cd050c6 | ||
|
|
c804a8fb28 | ||
|
|
1c57a78e37 | ||
|
|
3e0ed2bc07 | ||
|
|
47fae99a21 | ||
|
|
f7d0f775a7 | ||
|
|
b8905a63d2 | ||
|
|
90263b3c5c | ||
|
|
a8c6c26372 | ||
|
|
2a29b48ca0 | ||
|
|
ff5c4766aa | ||
|
|
900e106773 | ||
|
|
69bc191009 | ||
|
|
b64db7afc1 |
11042 changed files with 132122 additions and 296878 deletions
9
.gitignore
vendored
9
.gitignore
vendored
|
|
@ -1,2 +1,11 @@
|
|||
clog
|
||||
*.xz
|
||||
*.gz
|
||||
*.bz2
|
||||
*.rpm
|
||||
*.orig
|
||||
*.sign
|
||||
kernel-[2345]*/
|
||||
perf-man-*.tar.gz
|
||||
kernel-headers/
|
||||
kernel-tools/
|
||||
|
|
|
|||
25
0001-Drop-that-for-now.patch
Normal file
25
0001-Drop-that-for-now.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From 12cec6680e67d6b4fed9e30cd8c1f13871996cc1 Mon Sep 17 00:00:00 2001
|
||||
From: Laura Abbott <labbott@redhat.com>
|
||||
Date: Wed, 23 Jan 2019 14:36:37 +0100
|
||||
Subject: [PATCH] Drop that for now
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f5b1d0d168e0..5f31107b22d1 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -430,7 +430,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
||||
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
||||
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int \
|
||||
- -Wno-format-security \
|
||||
+ -Wno-format-security -Wno-address-of-packed-member \
|
||||
-std=gnu89
|
||||
KBUILD_CPPFLAGS := -D__KERNEL__
|
||||
KBUILD_AFLAGS_KERNEL :=
|
||||
--
|
||||
2.20.1
|
||||
|
||||
104
0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
Normal file
104
0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
From 3ce5852ec6add45a28fe1706e9163351940e905c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Mon, 2 Oct 2017 18:25:29 -0400
|
||||
Subject: [PATCH 1/3] Make get_cert_list() not complain about cert lists that
|
||||
aren't present.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
security/integrity/platform_certs/load_uefi.c | 37 ++++++++++++++++++++++---------------
|
||||
1 file changed, 22 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c
|
||||
index 81b19c52832b..e188f3ecbce3 100644
|
||||
--- a/security/integrity/platform_certs/load_uefi.c
|
||||
+++ b/security/integrity/platform_certs/load_uefi.c
|
||||
@@ -38,8 +38,8 @@ static __init bool uefi_check_ignore_db(void)
|
||||
/*
|
||||
* Get a certificate list blob from the named EFI variable.
|
||||
*/
|
||||
-static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
||||
- unsigned long *size)
|
||||
+static __init int get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
||||
+ unsigned long *size , void **cert_list)
|
||||
{
|
||||
efi_status_t status;
|
||||
unsigned long lsize = 4;
|
||||
@@ -47,24 +47,31 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
||||
void *db;
|
||||
|
||||
status = efi.get_variable(name, guid, NULL, &lsize, &tmpdb);
|
||||
+ if (status == EFI_NOT_FOUND) {
|
||||
+ *size = 0;
|
||||
+ *cert_list = NULL;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
if (status != EFI_BUFFER_TOO_SMALL) {
|
||||
pr_err("Couldn't get size: 0x%lx\n", status);
|
||||
- return NULL;
|
||||
+ return efi_status_to_err(status);
|
||||
}
|
||||
|
||||
db = kmalloc(lsize, GFP_KERNEL);
|
||||
if (!db)
|
||||
- return NULL;
|
||||
+ return -ENOMEM;
|
||||
|
||||
status = efi.get_variable(name, guid, NULL, &lsize, db);
|
||||
if (status != EFI_SUCCESS) {
|
||||
kfree(db);
|
||||
pr_err("Error reading db var: 0x%lx\n", status);
|
||||
- return NULL;
|
||||
+ return efi_status_to_err(status);
|
||||
}
|
||||
|
||||
*size = lsize;
|
||||
- return db;
|
||||
+ *cert_list = db;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -153,10 +160,10 @@ static int __init load_uefi_certs(void)
|
||||
* an error if we can't get them.
|
||||
*/
|
||||
if (!uefi_check_ignore_db()) {
|
||||
- db = get_cert_list(L"db", &secure_var, &dbsize);
|
||||
- if (!db) {
|
||||
+ rc = get_cert_list(L"db", &secure_var, &dbsize, &db);
|
||||
+ if (rc < 0) {
|
||||
pr_err("MODSIGN: Couldn't get UEFI db list\n");
|
||||
- } else {
|
||||
+ } else if (dbsize != 0) {
|
||||
rc = parse_efi_signature_list("UEFI:db",
|
||||
db, dbsize, get_handler_for_db);
|
||||
if (rc)
|
||||
@@ -166,10 +173,10 @@ static int __init load_uefi_certs(void)
|
||||
}
|
||||
}
|
||||
|
||||
- mok = get_cert_list(L"MokListRT", &mok_var, &moksize);
|
||||
- if (!mok) {
|
||||
+ rc = get_cert_list(L"MokListRT", &mok_var, &moksize, &mok);
|
||||
+ if (rc < 0) {
|
||||
pr_info("Couldn't get UEFI MokListRT\n");
|
||||
- } else {
|
||||
+ } else if (moksize != 0) {
|
||||
rc = parse_efi_signature_list("UEFI:MokListRT",
|
||||
mok, moksize, get_handler_for_db);
|
||||
if (rc)
|
||||
@@ -177,10 +184,10 @@ static int __init load_uefi_certs(void)
|
||||
kfree(mok);
|
||||
}
|
||||
|
||||
- dbx = get_cert_list(L"dbx", &secure_var, &dbxsize);
|
||||
- if (!dbx) {
|
||||
+ rc = get_cert_list(L"dbx", &secure_var, &dbxsize, &dbx);
|
||||
+ if (rc < 0) {
|
||||
pr_info("Couldn't get UEFI dbx list\n");
|
||||
- } else {
|
||||
+ } else if (dbxsize != 0) {
|
||||
rc = parse_efi_signature_list("UEFI:dbx",
|
||||
dbx, dbxsize,
|
||||
get_handler_for_dbx);
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
From bbca083de291a03ffe1a1eb0832a0d74f8b64898 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu, 5 Dec 2019 18:33:32 +0000
|
||||
Subject: [PATCH] drm/i915: Serialise i915_active_acquire() with
|
||||
__active_retire()
|
||||
|
||||
As __active_retire() does it's final atomic_dec() under the
|
||||
ref->tree_lock spinlock, in order to prevent ourselves from reusing the
|
||||
ref->cache and ref->tree as they are being destroyed, we need to
|
||||
serialise with the retirement during i915_active_acquire().
|
||||
|
||||
[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157!
|
||||
[ +0.000011] invalid opcode: 0000 [#1] SMP
|
||||
[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89
|
||||
[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019
|
||||
[ +0.000082] Workqueue: events_unbound active_work [i915]
|
||||
[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915]
|
||||
[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a
|
||||
[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286
|
||||
[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000
|
||||
[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28
|
||||
[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50
|
||||
[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930
|
||||
[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988
|
||||
[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000
|
||||
[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
||||
[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0
|
||||
[ +0.000002] PKRU: 55555554
|
||||
[ +0.000001] Call Trace:
|
||||
[ +0.000010] process_one_work+0x1aa/0x350
|
||||
[ +0.000004] worker_thread+0x4d/0x3a0
|
||||
[ +0.000004] kthread+0xfb/0x130
|
||||
[ +0.000004] ? process_one_work+0x350/0x350
|
||||
[ +0.000003] ? kthread_park+0x90/0x90
|
||||
[ +0.000005] ret_from_fork+0x1f/0x40
|
||||
|
||||
Reported-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree")
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
||||
Cc: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Cc: Matthew Auld <matthew.auld@intel.com>
|
||||
Tested-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_active.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
|
||||
index e3fcec4834c2..3d0edde84705 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_active.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_active.c
|
||||
@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref)
|
||||
|
||||
static void debug_active_activate(struct i915_active *ref)
|
||||
{
|
||||
- spin_lock_irq(&ref->tree_lock);
|
||||
+ lockdep_assert_held(&ref->tree_lock);
|
||||
if (!atomic_read(&ref->count)) /* before the first inc */
|
||||
debug_object_activate(ref, &active_debug_desc);
|
||||
- spin_unlock_irq(&ref->tree_lock);
|
||||
}
|
||||
|
||||
static void debug_active_deactivate(struct i915_active *ref)
|
||||
@@ -419,8 +418,10 @@ int i915_active_acquire(struct i915_active *ref)
|
||||
if (!atomic_read(&ref->count) && ref->active)
|
||||
err = ref->active(ref);
|
||||
if (!err) {
|
||||
+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */
|
||||
debug_active_activate(ref);
|
||||
atomic_inc(&ref->count);
|
||||
+ spin_unlock_irq(&ref->tree_lock);
|
||||
}
|
||||
|
||||
mutex_unlock(&ref->mutex);
|
||||
--
|
||||
2.24.1
|
||||
|
||||
71
0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
Normal file
71
0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
From 14d329da03ea1145efce866b127b10ea6390b5e1 Mon Sep 17 00:00:00 2001
|
||||
From: Murphy Zhou <jencce.kernel@gmail.com>
|
||||
Date: Sun, 29 Sep 2019 17:56:59 +0800
|
||||
Subject: [PATCH] mm/kmemleak: skip late_init if not skip disable
|
||||
|
||||
Now if DEFAULT_OFF set to y, kmemleak_init will start the cleanup_work
|
||||
workqueue. Then late_init call will set kmemleak_initialized to 1, the
|
||||
cleaup workqueue will try to do cleanup, triggering:
|
||||
|
||||
[24.738773] ==================================================================
|
||||
[24.742784] BUG: KASAN: global-out-of-bounds in __kmemleak_do_cleanup+0x166/0x180
|
||||
[24.744144] Key type ._fscrypt registered
|
||||
[24.745680] Read of size 8 at addr ffffffff88746c90 by task kworker/3:1/171
|
||||
[24.745687]
|
||||
[24.745697] CPU: 3 PID: 171 Comm: kworker/3:1 Not tainted 5.3.0-v5.3-12475-gcbafe18 #1
|
||||
[24.745701] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
|
||||
[24.745710] Workqueue: events kmemleak_do_cleanup
|
||||
[24.745717] Call Trace:
|
||||
[24.745736] dump_stack+0x7c/0xc0
|
||||
[24.745755] print_address_description.constprop.4+0x1f/0x300
|
||||
[24.751562] Key type .fscrypt registered
|
||||
[24.754370] __kasan_report.cold.8+0x76/0xb2
|
||||
[24.754388] ? __kmemleak_do_cleanup+0x166/0x180
|
||||
[24.754407] kasan_report+0xe/0x20
|
||||
[24.778543] __kmemleak_do_cleanup+0x166/0x180
|
||||
[24.780795] process_one_work+0x919/0x17d0
|
||||
[24.782929] ? pwq_dec_nr_in_flight+0x320/0x320
|
||||
[24.785092] worker_thread+0x87/0xb40
|
||||
[24.786948] ? __kthread_parkme+0xc3/0x190
|
||||
[24.789217] ? process_one_work+0x17d0/0x17d0
|
||||
[24.791414] kthread+0x333/0x3f0
|
||||
[24.793031] ? kthread_create_worker_on_cpu+0xc0/0xc0
|
||||
[24.795473] ret_from_fork+0x3a/0x50
|
||||
[24.797303]
|
||||
[24.798091] The buggy address belongs to the variable:
|
||||
[24.800634] mem_pool_free_count+0x10/0x40
|
||||
[24.802656]
|
||||
[24.803434] Memory state around the buggy address:
|
||||
[24.805793] ffffffff88746b80: 04 fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
|
||||
[24.809177] ffffffff88746c00: 00 fa fa fa fa fa fa fa 00 00 fa fa fa fa fa fa
|
||||
[24.812407] >ffffffff88746c80: 04 fa fa fa fa fa fa fa 00 00 fa fa fa fa fa fa
|
||||
[24.815638] ^
|
||||
[24.817372] ffffffff88746d00: 00 00 fa fa fa fa fa fa 00 00 00 00 00 00 00 00
|
||||
[24.820740] ffffffff88746d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
[24.824021] ==================================================================
|
||||
|
||||
Fixes: c5665868183f ("mm: kmemleak: use the memory pool for early allocations")
|
||||
Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
|
||||
---
|
||||
mm/kmemleak.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
|
||||
index 03a8d84badad..b9baf617fe35 100644
|
||||
--- a/mm/kmemleak.c
|
||||
+++ b/mm/kmemleak.c
|
||||
@@ -1946,6 +1946,11 @@ void __init kmemleak_init(void)
|
||||
*/
|
||||
static int __init kmemleak_late_init(void)
|
||||
{
|
||||
+ if (!kmemleak_skip_disable) {
|
||||
+ kmemleak_disable();
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
kmemleak_initialized = 1;
|
||||
|
||||
debugfs_create_file("kmemleak", 0644, NULL, NULL, &kmemleak_fops);
|
||||
--
|
||||
2.21.0
|
||||
|
||||
114
0001-platform-x86-sony-laptop-SNC-calls-should-handle-BUF.patch
Normal file
114
0001-platform-x86-sony-laptop-SNC-calls-should-handle-BUF.patch
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
From 47828d22539f76c8c9dcf2a55f18ea3a8039d8ef Mon Sep 17 00:00:00 2001
|
||||
From: Mattia Dongili <malattia@linux.it>
|
||||
Date: Fri, 8 May 2020 09:14:04 +0900
|
||||
Subject: [PATCH] platform/x86: sony-laptop: SNC calls should handle BUFFER
|
||||
types
|
||||
|
||||
After commit 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer
|
||||
objects for ASL create_field() operator") ACPICA creates buffers even
|
||||
when new fields are small enough to fit into an integer.
|
||||
Many SNC calls counted on the old behaviour.
|
||||
Since sony-laptop already handles the INTEGER/BUFFER case in
|
||||
sony_nc_buffer_call, switch sony_nc_int_call to use its more generic
|
||||
function instead.
|
||||
|
||||
Fixes: 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator")
|
||||
Reported-by: Dominik Mierzejewski <dominik@greysector.net>
|
||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207491
|
||||
Reported-by: William Bader <williambader@hotmail.com>
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1830150
|
||||
Signed-off-by: Mattia Dongili <malattia@linux.it>
|
||||
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
---
|
||||
drivers/platform/x86/sony-laptop.c | 53 +++++++++++++-----------------
|
||||
1 file changed, 23 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
|
||||
index 51309f7ceede..6932cd11e660 100644
|
||||
--- a/drivers/platform/x86/sony-laptop.c
|
||||
+++ b/drivers/platform/x86/sony-laptop.c
|
||||
@@ -757,33 +757,6 @@ static union acpi_object *__call_snc_method(acpi_handle handle, char *method,
|
||||
return result;
|
||||
}
|
||||
|
||||
-static int sony_nc_int_call(acpi_handle handle, char *name, int *value,
|
||||
- int *result)
|
||||
-{
|
||||
- union acpi_object *object = NULL;
|
||||
- if (value) {
|
||||
- u64 v = *value;
|
||||
- object = __call_snc_method(handle, name, &v);
|
||||
- } else
|
||||
- object = __call_snc_method(handle, name, NULL);
|
||||
-
|
||||
- if (!object)
|
||||
- return -EINVAL;
|
||||
-
|
||||
- if (object->type != ACPI_TYPE_INTEGER) {
|
||||
- pr_warn("Invalid acpi_object: expected 0x%x got 0x%x\n",
|
||||
- ACPI_TYPE_INTEGER, object->type);
|
||||
- kfree(object);
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-
|
||||
- if (result)
|
||||
- *result = object->integer.value;
|
||||
-
|
||||
- kfree(object);
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
#define MIN(a, b) (a > b ? b : a)
|
||||
static int sony_nc_buffer_call(acpi_handle handle, char *name, u64 *value,
|
||||
void *buffer, size_t buflen)
|
||||
@@ -795,17 +768,20 @@ static int sony_nc_buffer_call(acpi_handle handle, char *name, u64 *value,
|
||||
if (!object)
|
||||
return -EINVAL;
|
||||
|
||||
- if (object->type == ACPI_TYPE_BUFFER) {
|
||||
+ if (!buffer) {
|
||||
+ /* do nothing */
|
||||
+ } else if (object->type == ACPI_TYPE_BUFFER) {
|
||||
len = MIN(buflen, object->buffer.length);
|
||||
+ memset(buffer, 0, buflen);
|
||||
memcpy(buffer, object->buffer.pointer, len);
|
||||
|
||||
} else if (object->type == ACPI_TYPE_INTEGER) {
|
||||
len = MIN(buflen, sizeof(object->integer.value));
|
||||
+ memset(buffer, 0, buflen);
|
||||
memcpy(buffer, &object->integer.value, len);
|
||||
|
||||
} else {
|
||||
- pr_warn("Invalid acpi_object: expected 0x%x got 0x%x\n",
|
||||
- ACPI_TYPE_BUFFER, object->type);
|
||||
+ pr_warn("Unexpected acpi_object: 0x%x\n", object->type);
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
@@ -813,6 +789,23 @@ static int sony_nc_buffer_call(acpi_handle handle, char *name, u64 *value,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static int sony_nc_int_call(acpi_handle handle, char *name, int *value, int
|
||||
+ *result)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ if (value) {
|
||||
+ u64 v = *value;
|
||||
+
|
||||
+ ret = sony_nc_buffer_call(handle, name, &v, result,
|
||||
+ sizeof(*result));
|
||||
+ } else {
|
||||
+ ret = sony_nc_buffer_call(handle, name, NULL, result,
|
||||
+ sizeof(*result));
|
||||
+ }
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
struct sony_nc_handles {
|
||||
u16 cap[0x10];
|
||||
struct device_attribute devattr;
|
||||
--
|
||||
2.26.2
|
||||
|
||||
100
0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch
Normal file
100
0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
From 3666fb55d53fb40f75ec4d665416fed1a714ef09 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 12 May 2020 00:39:24 +0200
|
||||
Subject: [PATCH] pwm: lpss: Fix get_state runtime-pm reference handling
|
||||
|
||||
Before commit cfc4c189bc70 ("pwm: Read initial hardware state at request
|
||||
time"), a driver's get_state callback would get called once per PWM from
|
||||
pwmchip_add().
|
||||
|
||||
pwm-lpss' runtime-pm code was relying on this, getting a runtime-pm ref for
|
||||
PWMs which are enabled at probe time from within its get_state callback,
|
||||
before enabling runtime-pm.
|
||||
|
||||
The change to calling get_state at request time causes a number of
|
||||
problems:
|
||||
|
||||
1. PWMs enabled at probe time may get runtime suspended before they are
|
||||
requested, causing e.g. a LCD backlight controlled by the PWM to turn off.
|
||||
|
||||
2. When the request happens when the PWM has been runtime suspended, the
|
||||
ctrl register will read all 1 / 0xffffffff, causing get_state to store
|
||||
bogus values in the pwm_state.
|
||||
|
||||
3. get_state was using an async pm_runtime_get() call, because it assumed
|
||||
that runtime-pm has not been enabled yet. If shortly after the request an
|
||||
apply call is made, then the pwm_lpss_is_updating() check may trigger
|
||||
because the resume triggered by the pm_runtime_get() call is not complete
|
||||
yet, so the ctrl register still reads all 1 / 0xffffffff.
|
||||
|
||||
This commit fixes these issues by moving the initial pm_runtime_get() call
|
||||
for PWMs which are enabled at probe time to the pwm_lpss_probe() function;
|
||||
and by making get_state take a runtime-pm ref before reading the ctrl reg.
|
||||
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1828927
|
||||
Fixes: cfc4c189bc70 ("pwm: Read initial hardware state at request time")
|
||||
Cc: stable@vger.kernel.org
|
||||
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Upstream Status: https://lore.kernel.org/linux-acpi/5f15f6bc-8650-d86e-893f-0d41557c57c7@redhat.com/
|
||||
---
|
||||
drivers/pwm/pwm-lpss.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/pwm-lpss.c b/drivers/pwm/pwm-lpss.c
|
||||
index 75bbfe5f3bc2..9d965ffe66d1 100644
|
||||
--- a/drivers/pwm/pwm-lpss.c
|
||||
+++ b/drivers/pwm/pwm-lpss.c
|
||||
@@ -158,7 +158,6 @@ static int pwm_lpss_apply(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-/* This function gets called once from pwmchip_add to get the initial state */
|
||||
static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
struct pwm_state *state)
|
||||
{
|
||||
@@ -167,6 +166,8 @@ static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
unsigned long long base_unit, freq, on_time_div;
|
||||
u32 ctrl;
|
||||
|
||||
+ pm_runtime_get_sync(chip->dev);
|
||||
+
|
||||
base_unit_range = BIT(lpwm->info->base_unit_bits);
|
||||
|
||||
ctrl = pwm_lpss_read(pwm);
|
||||
@@ -187,8 +188,7 @@ static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||
state->polarity = PWM_POLARITY_NORMAL;
|
||||
state->enabled = !!(ctrl & PWM_ENABLE);
|
||||
|
||||
- if (state->enabled)
|
||||
- pm_runtime_get(chip->dev);
|
||||
+ pm_runtime_put(chip->dev);
|
||||
}
|
||||
|
||||
static const struct pwm_ops pwm_lpss_ops = {
|
||||
@@ -202,7 +202,8 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
|
||||
{
|
||||
struct pwm_lpss_chip *lpwm;
|
||||
unsigned long c;
|
||||
- int ret;
|
||||
+ int i, ret;
|
||||
+ u32 ctrl;
|
||||
|
||||
if (WARN_ON(info->npwm > MAX_PWMS))
|
||||
return ERR_PTR(-ENODEV);
|
||||
@@ -232,6 +233,12 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
+ for (i = 0; i < lpwm->info->npwm; i++) {
|
||||
+ ctrl = pwm_lpss_read(&lpwm->chip.pwms[i]);
|
||||
+ if (ctrl & PWM_ENABLE)
|
||||
+ pm_runtime_get(dev);
|
||||
+ }
|
||||
+
|
||||
return lpwm;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pwm_lpss_probe);
|
||||
--
|
||||
2.26.2
|
||||
|
||||
107
0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch
Normal file
107
0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
From d0c7feaf87678371c2c09b3709400be416b2dc62 Mon Sep 17 00:00:00 2001
|
||||
From: Zheng Bin <zhengbin13@huawei.com>
|
||||
Date: Fri, 21 Feb 2020 07:38:20 -0800
|
||||
Subject: [PATCH] xfs: add agf freeblocks verify in xfs_agf_verify
|
||||
|
||||
We recently used fuzz(hydra) to test XFS and automatically generate
|
||||
tmp.img(XFS v5 format, but some metadata is wrong)
|
||||
|
||||
xfs_repair information(just one AG):
|
||||
agf_freeblks 0, counted 3224 in ag 0
|
||||
agf_longest 536874136, counted 3224 in ag 0
|
||||
sb_fdblocks 613, counted 3228
|
||||
|
||||
Test as follows:
|
||||
mount tmp.img tmpdir
|
||||
cp file1M tmpdir
|
||||
sync
|
||||
|
||||
In 4.19-stable, sync will stuck, the reason is:
|
||||
xfs_mountfs
|
||||
xfs_check_summary_counts
|
||||
if ((!xfs_sb_version_haslazysbcount(&mp->m_sb) ||
|
||||
XFS_LAST_UNMOUNT_WAS_CLEAN(mp)) &&
|
||||
!xfs_fs_has_sickness(mp, XFS_SICK_FS_COUNTERS))
|
||||
return 0; -->just return, incore sb_fdblocks still be 613
|
||||
xfs_initialize_perag_data
|
||||
|
||||
cp file1M tmpdir -->ok(write file to pagecache)
|
||||
sync -->stuck(write pagecache to disk)
|
||||
xfs_map_blocks
|
||||
xfs_iomap_write_allocate
|
||||
while (count_fsb != 0) {
|
||||
nimaps = 0;
|
||||
while (nimaps == 0) { --> endless loop
|
||||
nimaps = 1;
|
||||
xfs_bmapi_write(..., &nimaps) --> nimaps becomes 0 again
|
||||
xfs_bmapi_write
|
||||
xfs_bmap_alloc
|
||||
xfs_bmap_btalloc
|
||||
xfs_alloc_vextent
|
||||
xfs_alloc_fix_freelist
|
||||
xfs_alloc_space_available -->fail(agf_freeblks is 0)
|
||||
|
||||
In linux-next, sync not stuck, cause commit c2b3164320b5 ("xfs:
|
||||
use the latest extent at writeback delalloc conversion time") remove
|
||||
the above while, dmesg is as follows:
|
||||
[ 55.250114] XFS (loop0): page discard on page ffffea0008bc7380, inode 0x1b0c, offset 0.
|
||||
|
||||
Users do not know why this page is discard, the better soultion is:
|
||||
1. Like xfs_repair, make sure sb_fdblocks is equal to counted
|
||||
(xfs_initialize_perag_data did this, who is not called at this mount)
|
||||
2. Add agf verify, if fail, will tell users to repair
|
||||
|
||||
This patch use the second soultion.
|
||||
|
||||
Signed-off-by: Zheng Bin <zhengbin13@huawei.com>
|
||||
Signed-off-by: Ren Xudong <renxudong1@huawei.com>
|
||||
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
|
||||
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
|
||||
---
|
||||
fs/xfs/libxfs/xfs_alloc.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c
|
||||
index d8053bc96c4d..183dc2587092 100644
|
||||
--- a/fs/xfs/libxfs/xfs_alloc.c
|
||||
+++ b/fs/xfs/libxfs/xfs_alloc.c
|
||||
@@ -2858,6 +2858,13 @@ xfs_agf_verify(
|
||||
be32_to_cpu(agf->agf_flcount) <= xfs_agfl_size(mp)))
|
||||
return __this_address;
|
||||
|
||||
+ if (be32_to_cpu(agf->agf_length) > mp->m_sb.sb_dblocks)
|
||||
+ return __this_address;
|
||||
+
|
||||
+ if (be32_to_cpu(agf->agf_freeblks) < be32_to_cpu(agf->agf_longest) ||
|
||||
+ be32_to_cpu(agf->agf_freeblks) > be32_to_cpu(agf->agf_length))
|
||||
+ return __this_address;
|
||||
+
|
||||
if (be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) < 1 ||
|
||||
be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]) < 1 ||
|
||||
be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) > XFS_BTREE_MAXLEVELS ||
|
||||
@@ -2869,6 +2876,10 @@ xfs_agf_verify(
|
||||
be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]) > XFS_BTREE_MAXLEVELS))
|
||||
return __this_address;
|
||||
|
||||
+ if (xfs_sb_version_hasrmapbt(&mp->m_sb) &&
|
||||
+ be32_to_cpu(agf->agf_rmap_blocks) > be32_to_cpu(agf->agf_length))
|
||||
+ return __this_address;
|
||||
+
|
||||
/*
|
||||
* during growfs operations, the perag is not fully initialised,
|
||||
* so we can't use it for any useful checking. growfs ensures we can't
|
||||
@@ -2882,6 +2893,11 @@ xfs_agf_verify(
|
||||
be32_to_cpu(agf->agf_btreeblks) > be32_to_cpu(agf->agf_length))
|
||||
return __this_address;
|
||||
|
||||
+ if (xfs_sb_version_hasreflink(&mp->m_sb) &&
|
||||
+ be32_to_cpu(agf->agf_refcount_blocks) >
|
||||
+ be32_to_cpu(agf->agf_length))
|
||||
+ return __this_address;
|
||||
+
|
||||
if (xfs_sb_version_hasreflink(&mp->m_sb) &&
|
||||
(be32_to_cpu(agf->agf_refcount_level) < 1 ||
|
||||
be32_to_cpu(agf->agf_refcount_level) > XFS_BTREE_MAXLEVELS))
|
||||
--
|
||||
2.26.2
|
||||
|
||||
183
0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
Normal file
183
0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
From c8218e9b3c38fcd36a2d06eec09952a0c6cee9e0 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Mon, 2 Oct 2017 18:22:13 -0400
|
||||
Subject: [PATCH 2/3] Add efi_status_to_str() and rework efi_status_to_err().
|
||||
|
||||
This adds efi_status_to_str() for use when printing efi_status_t
|
||||
messages, and reworks efi_status_to_err() so that the two use a common
|
||||
list of errors.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
include/linux/efi.h | 3 ++
|
||||
drivers/firmware/efi/efi.c | 122 ++++++++++++++++++++++++++++++++++-----------
|
||||
2 files changed, 95 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 18b16bf5ce1..436b3c93c3d 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -42,6 +42,8 @@
|
||||
#define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
|
||||
#define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
|
||||
|
||||
+#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1)))
|
||||
+
|
||||
typedef unsigned long efi_status_t;
|
||||
typedef u8 efi_bool_t;
|
||||
typedef u16 efi_char16_t; /* UNICODE character */
|
||||
@@ -1183,6 +1185,7 @@ static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
|
||||
#endif
|
||||
|
||||
extern int efi_status_to_err(efi_status_t status);
|
||||
+extern const char *efi_status_to_str(efi_status_t status);
|
||||
|
||||
/*
|
||||
* Variable Attributes
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index 557a47829d0..e8f9c7d84e9 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <linux/ucs2_string.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/security.h>
|
||||
+#include <linux/bsearch.h>
|
||||
|
||||
#include <asm/early_ioremap.h>
|
||||
|
||||
@@ -865,40 +866,101 @@ int efi_mem_type(unsigned long phys_addr)
|
||||
}
|
||||
#endif
|
||||
|
||||
+struct efi_error_code {
|
||||
+ efi_status_t status;
|
||||
+ int errno;
|
||||
+ const char *description;
|
||||
+};
|
||||
+
|
||||
+static const struct efi_error_code efi_error_codes[] = {
|
||||
+ { EFI_SUCCESS, 0, "Success"},
|
||||
+#if 0
|
||||
+ { EFI_LOAD_ERROR, -EPICK_AN_ERRNO, "Load Error"},
|
||||
+#endif
|
||||
+ { EFI_INVALID_PARAMETER, -EINVAL, "Invalid Parameter"},
|
||||
+ { EFI_UNSUPPORTED, -ENOSYS, "Unsupported"},
|
||||
+ { EFI_BAD_BUFFER_SIZE, -ENOSPC, "Bad Buffer Size"},
|
||||
+ { EFI_BUFFER_TOO_SMALL, -ENOSPC, "Buffer Too Small"},
|
||||
+ { EFI_NOT_READY, -EAGAIN, "Not Ready"},
|
||||
+ { EFI_DEVICE_ERROR, -EIO, "Device Error"},
|
||||
+ { EFI_WRITE_PROTECTED, -EROFS, "Write Protected"},
|
||||
+ { EFI_OUT_OF_RESOURCES, -ENOMEM, "Out of Resources"},
|
||||
+#if 0
|
||||
+ { EFI_VOLUME_CORRUPTED, -EPICK_AN_ERRNO, "Volume Corrupt"},
|
||||
+ { EFI_VOLUME_FULL, -EPICK_AN_ERRNO, "Volume Full"},
|
||||
+ { EFI_NO_MEDIA, -EPICK_AN_ERRNO, "No Media"},
|
||||
+ { EFI_MEDIA_CHANGED, -EPICK_AN_ERRNO, "Media changed"},
|
||||
+#endif
|
||||
+ { EFI_NOT_FOUND, -ENOENT, "Not Found"},
|
||||
+#if 0
|
||||
+ { EFI_ACCESS_DENIED, -EPICK_AN_ERRNO, "Access Denied"},
|
||||
+ { EFI_NO_RESPONSE, -EPICK_AN_ERRNO, "No Response"},
|
||||
+ { EFI_NO_MAPPING, -EPICK_AN_ERRNO, "No mapping"},
|
||||
+ { EFI_TIMEOUT, -EPICK_AN_ERRNO, "Time out"},
|
||||
+ { EFI_NOT_STARTED, -EPICK_AN_ERRNO, "Not started"},
|
||||
+ { EFI_ALREADY_STARTED, -EPICK_AN_ERRNO, "Already started"},
|
||||
+#endif
|
||||
+ { EFI_ABORTED, -EINTR, "Aborted"},
|
||||
+#if 0
|
||||
+ { EFI_ICMP_ERROR, -EPICK_AN_ERRNO, "ICMP Error"},
|
||||
+ { EFI_TFTP_ERROR, -EPICK_AN_ERRNO, "TFTP Error"},
|
||||
+ { EFI_PROTOCOL_ERROR, -EPICK_AN_ERRNO, "Protocol Error"},
|
||||
+ { EFI_INCOMPATIBLE_VERSION, -EPICK_AN_ERRNO, "Incompatible Version"},
|
||||
+#endif
|
||||
+ { EFI_SECURITY_VIOLATION, -EACCES, "Security Policy Violation"},
|
||||
+#if 0
|
||||
+ { EFI_CRC_ERROR, -EPICK_AN_ERRNO, "CRC Error"},
|
||||
+ { EFI_END_OF_MEDIA, -EPICK_AN_ERRNO, "End of Media"},
|
||||
+ { EFI_END_OF_FILE, -EPICK_AN_ERRNO, "End of File"},
|
||||
+ { EFI_INVALID_LANGUAGE, -EPICK_AN_ERRNO, "Invalid Languages"},
|
||||
+ { EFI_COMPROMISED_DATA, -EPICK_AN_ERRNO, "Compromised Data"},
|
||||
+
|
||||
+ // warnings
|
||||
+ { EFI_WARN_UNKOWN_GLYPH, -EPICK_AN_ERRNO, "Warning Unknown Glyph"},
|
||||
+ { EFI_WARN_DELETE_FAILURE, -EPICK_AN_ERRNO, "Warning Delete Failure"},
|
||||
+ { EFI_WARN_WRITE_FAILURE, -EPICK_AN_ERRNO, "Warning Write Failure"},
|
||||
+ { EFI_WARN_BUFFER_TOO_SMALL, -EPICK_AN_ERRNO, "Warning Buffer Too Small"},
|
||||
+#endif
|
||||
+};
|
||||
+
|
||||
+static int
|
||||
+efi_status_cmp_bsearch(const void *key, const void *item)
|
||||
+{
|
||||
+ u64 status = (u64)(uintptr_t)key;
|
||||
+ struct efi_error_code *code = (struct efi_error_code *)item;
|
||||
+
|
||||
+ if (status < code->status)
|
||||
+ return -1;
|
||||
+ if (status > code->status)
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int efi_status_to_err(efi_status_t status)
|
||||
{
|
||||
- int err;
|
||||
+ struct efi_error_code *found;
|
||||
+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
|
||||
|
||||
- switch (status) {
|
||||
- case EFI_SUCCESS:
|
||||
- err = 0;
|
||||
- break;
|
||||
- case EFI_INVALID_PARAMETER:
|
||||
- err = -EINVAL;
|
||||
- break;
|
||||
- case EFI_OUT_OF_RESOURCES:
|
||||
- err = -ENOSPC;
|
||||
- break;
|
||||
- case EFI_DEVICE_ERROR:
|
||||
- err = -EIO;
|
||||
- break;
|
||||
- case EFI_WRITE_PROTECTED:
|
||||
- err = -EROFS;
|
||||
- break;
|
||||
- case EFI_SECURITY_VIOLATION:
|
||||
- err = -EACCES;
|
||||
- break;
|
||||
- case EFI_NOT_FOUND:
|
||||
- err = -ENOENT;
|
||||
- break;
|
||||
- case EFI_ABORTED:
|
||||
- err = -EINTR;
|
||||
- break;
|
||||
- default:
|
||||
- err = -EINVAL;
|
||||
- }
|
||||
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes,
|
||||
+ sizeof(struct efi_error_code), num,
|
||||
+ efi_status_cmp_bsearch);
|
||||
+ if (!found)
|
||||
+ return -EINVAL;
|
||||
+ return found->errno;
|
||||
+}
|
||||
|
||||
- return err;
|
||||
+const char *
|
||||
+efi_status_to_str(efi_status_t status)
|
||||
+{
|
||||
+ struct efi_error_code *found;
|
||||
+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
|
||||
+
|
||||
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes,
|
||||
+ sizeof(struct efi_error_code), num,
|
||||
+ efi_status_cmp_bsearch);
|
||||
+ if (!found)
|
||||
+ return "Unknown error code";
|
||||
+ return found->description;
|
||||
}
|
||||
|
||||
static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock);
|
||||
--
|
||||
2.15.0
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 46daeedffe98b489014dcdcf14c89438362de7eb Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Mon, 2 Oct 2017 18:18:30 -0400
|
||||
Subject: [PATCH] Make get_cert_list() use efi_status_to_str() to print error
|
||||
messages.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
Signed-off-by: Jeremy Cline <jcline@redhat.com>
|
||||
---
|
||||
security/integrity/platform_certs/load_uefi.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c
|
||||
index f0c908241966..4e783f6c6cfb 100644
|
||||
--- a/security/integrity/platform_certs/load_uefi.c
|
||||
+++ b/security/integrity/platform_certs/load_uefi.c
|
||||
@@ -46,7 +46,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
||||
return NULL;
|
||||
|
||||
if (*status != EFI_BUFFER_TOO_SMALL) {
|
||||
- pr_err("Couldn't get size: 0x%lx\n", *status);
|
||||
+ pr_err("Couldn't get size: %s (0x%lx)\n",
|
||||
+ efi_status_to_str(*status), *status);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -57,7 +58,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
||||
*status = efi.get_variable(name, guid, NULL, &lsize, db);
|
||||
if (*status != EFI_SUCCESS) {
|
||||
kfree(db);
|
||||
- pr_err("Error reading db var: 0x%lx\n", *status);
|
||||
+ pr_err("Error reading db var: %s (0x%lx)\n",
|
||||
+ efi_status_to_str(*status), *status);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
From dbdda4277cf0422a9ccb7ea98d0263c3cdbecdf6 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salter <msalter@redhat.com>
|
||||
Date: Tue, 8 May 2018 21:54:39 -0400
|
||||
Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based
|
||||
m400
|
||||
|
||||
The ACPI firmware on the xgene-based m400 platorms erroneously
|
||||
describes its UART interrupt as ACPI_PRODUCER rather than
|
||||
ACPI_CONSUMER. This leads to the UART driver being unable to
|
||||
find its interrupt and the kernel unable find a console.
|
||||
Work around this by avoiding the producer/consumer check
|
||||
for X-Gene UARTs.
|
||||
|
||||
Signed-off-by: Mark Salter <msalter@redhat.com>
|
||||
---
|
||||
drivers/acpi/irq.c | 17 +++++++++++++++--
|
||||
1 file changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c
|
||||
index 7c352cba0528..028c1a564cff 100644
|
||||
--- a/drivers/acpi/irq.c
|
||||
+++ b/drivers/acpi/irq.c
|
||||
@@ -129,6 +129,7 @@ struct acpi_irq_parse_one_ctx {
|
||||
unsigned int index;
|
||||
unsigned long *res_flags;
|
||||
struct irq_fwspec *fwspec;
|
||||
+ bool skip_producer_check;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -200,7 +201,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
|
||||
return AE_CTRL_TERMINATE;
|
||||
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
|
||||
eirq = &ares->data.extended_irq;
|
||||
- if (eirq->producer_consumer == ACPI_PRODUCER)
|
||||
+ if (!ctx->skip_producer_check &&
|
||||
+ eirq->producer_consumer == ACPI_PRODUCER)
|
||||
return AE_OK;
|
||||
if (ctx->index >= eirq->interrupt_count) {
|
||||
ctx->index -= eirq->interrupt_count;
|
||||
@@ -235,8 +237,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
|
||||
static int acpi_irq_parse_one(acpi_handle handle, unsigned int index,
|
||||
struct irq_fwspec *fwspec, unsigned long *flags)
|
||||
{
|
||||
- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec };
|
||||
+ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false };
|
||||
|
||||
+ /*
|
||||
+ * Firmware on arm64-based HPE m400 platform incorrectly marks
|
||||
+ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER.
|
||||
+ * Don't do the producer/consumer check for that device.
|
||||
+ */
|
||||
+ if (IS_ENABLED(CONFIG_ARM64)) {
|
||||
+ struct acpi_device *adev = acpi_bus_get_acpi_device(handle);
|
||||
+
|
||||
+ if (adev && !strcmp(acpi_device_hid(adev), "APMC0D08"))
|
||||
+ ctx.skip_producer_check = true;
|
||||
+ }
|
||||
acpi_walk_resources(handle, METHOD_NAME__CRS, acpi_irq_parse_one_cb, &ctx);
|
||||
return ctx.rc;
|
||||
}
|
||||
--
|
||||
2.17.0
|
||||
|
||||
39
ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
Normal file
39
ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
From 1e494dc5f3140005ff1f17bc06c0c16d6d50d580 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Salter <msalter@redhat.com>
|
||||
Date: Thu, 19 Apr 2018 23:29:47 -0400
|
||||
Subject: [PATCH] ACPI / scan: Fix regression related to X-Gene UARTs
|
||||
|
||||
Commit e361d1f85855 ("ACPI / scan: Fix enumeration for special UART
|
||||
devices") caused a regression with some X-Gene based platforms (Mustang
|
||||
and M400) with invalid DSDT. The DSDT makes it appear that the UART
|
||||
device is also a slave device attached to itself. With the above commit
|
||||
the UART won't be enumerated by ACPI scan (slave serial devices shouldn't
|
||||
be). So check for X-Gene UART device and skip slace device check on it.
|
||||
|
||||
Signed-off-by: Mark Salter <msalter@redhat.com>
|
||||
---
|
||||
drivers/acpi/scan.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
||||
index e1b6231cfa1c..542dafac4306 100644
|
||||
--- a/drivers/acpi/scan.c
|
||||
+++ b/drivers/acpi/scan.c
|
||||
@@ -1567,6 +1567,14 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
||||
if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids))
|
||||
return false;
|
||||
|
||||
+ /*
|
||||
+ * Firmware on some arm64 X-Gene platforms will make the UART
|
||||
+ * device appear as both a UART and a slave of that UART. Just
|
||||
+ * bail out here for X-Gene UARTs.
|
||||
+ */
|
||||
+ if (!strcmp(acpi_device_hid(device), "APMC0D08"))
|
||||
+ return false;
|
||||
+
|
||||
INIT_LIST_HEAD(&resource_list);
|
||||
acpi_dev_get_resources(device, &resource_list,
|
||||
acpi_check_serial_bus_slave,
|
||||
--
|
||||
2.17.1
|
||||
|
||||
168
ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
Normal file
168
ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
From patchwork Wed Mar 4 13:24:37 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11420129
|
||||
Return-Path:
|
||||
<SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="rVot4hOX"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
|
||||
:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
|
||||
Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
|
||||
List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi
|
||||
AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ
|
||||
YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI
|
||||
3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+
|
||||
3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk
|
||||
vPYT4iiUYIWQEEsfDJoA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 28610AAC7;
|
||||
Wed, 4 Mar 2020 13:24:42 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus
|
||||
Date: Wed, 4 Mar 2020 14:24:37 +0100
|
||||
Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C
|
||||
X-CRM114-Status: GOOD ( 14.37 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org,
|
||||
linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Depending on bcm2711's revision its emmc2 controller might have
|
||||
different DMA constraints. Raspberry Pi 4's firmware will take care of
|
||||
updating those, but only if a certain alias is found in the device tree.
|
||||
So, move emmc2 into its own bus, so as not to pollute other devices with
|
||||
dma-ranges changes and create the emmc2bus alias.
|
||||
|
||||
Based in Phil ELwell's downstream implementation.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
|
||||
Changes since v1:
|
||||
- Add comment in dt
|
||||
- Fix commit title
|
||||
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2711.dtsi | 25 ++++++++++++++++++++-----
|
||||
2 files changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 1d4b589fe233..e26ea9006378 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -20,6 +20,7 @@ memory@0 {
|
||||
};
|
||||
|
||||
aliases {
|
||||
+ emmc2bus = &emmc2bus;
|
||||
ethernet0 = &genet;
|
||||
pcie0 = &pcie0;
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
index d1e684d0acfd..a91cf68e3c4c 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ hvs@7e400000 {
|
||||
+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /*
|
||||
+ * emmc2 has different DMA constraints based on SoC revisions. It was
|
||||
+ * moved into its own bus, so as for RPi4's firmware to update them.
|
||||
+ * The firmware will find whether the emmc2bus alias is defined, and if
|
||||
+ * so, it'll edit the dma-ranges property below accordingly.
|
||||
+ */
|
||||
+ emmc2bus: emmc2bus {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
|
||||
+ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
|
||||
+
|
||||
emmc2: emmc2@7e340000 {
|
||||
compatible = "brcm,bcm2711-emmc2";
|
||||
- reg = <0x7e340000 0x100>;
|
||||
+ reg = <0x0 0x7e340000 0x100>;
|
||||
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clocks BCM2711_CLOCK_EMMC2>;
|
||||
status = "disabled";
|
||||
};
|
||||
-
|
||||
- hvs@7e400000 {
|
||||
- interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- };
|
||||
};
|
||||
|
||||
arm-pmu {
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
From patchwork Mon Sep 30 05:59:25 2019
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
X-Patchwork-Id: 1132459
|
||||
Return-Path: <SRS0=rUXN=XZ=vger.kernel.org=linux-kernel-owner@kernel.org>
|
||||
Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
|
||||
by smtp.lore.kernel.org (Postfix) with ESMTP id DF215C4360C
|
||||
for <linux-kernel@archiver.kernel.org>; Mon, 30 Sep 2019 06:02:56 +0000 (UTC)
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by mail.kernel.org (Postfix) with ESMTP id B032A20815
|
||||
for <linux-kernel@archiver.kernel.org>; Mon, 30 Sep 2019 06:02:56 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=nifty.com header.i=@nifty.com
|
||||
header.b="sVJyT1RO"
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1729635AbfI3GCz (ORCPT
|
||||
<rfc822;linux-kernel@archiver.kernel.org>);
|
||||
Mon, 30 Sep 2019 02:02:55 -0400
|
||||
Received: from conuserg-10.nifty.com ([210.131.2.77]:65305 "EHLO
|
||||
conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1726121AbfI3GCz (ORCPT
|
||||
<rfc822;linux-kernel@vger.kernel.org>);
|
||||
Mon, 30 Sep 2019 02:02:55 -0400
|
||||
Received: from localhost.localdomain (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp
|
||||
[153.142.97.92]) (authenticated)
|
||||
by conuserg-10.nifty.com with ESMTP id x8U60ANM011158;
|
||||
Mon, 30 Sep 2019 15:00:10 +0900
|
||||
DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com x8U60ANM011158
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;
|
||||
s=dec2015msa; t=1569823213;
|
||||
bh=31RHoPop8t0h2pCPRnwABR+VMelvfuLJ6qwFWQxvRAk=;
|
||||
h=From:To:Cc:Subject:Date:From;
|
||||
b=sVJyT1ROU+6mzkZMRTb0M214/0QcKkmxRbNgDwh2q1TPJpEjPLOoE+y1jkVndgyce
|
||||
qBfr7v3nYiN5WSsx5xTwPYvHohsWcSS3AWwyVRw8Kxjd0CGrX8l5WcF76SmCvJPLCB
|
||||
wLRZ7C1/Z/zv9v8AVlB2BGhDmSvNQJ9bvuGi42d+JbBXGDfg0HZGGHEj7yDDLBV9nW
|
||||
EZkTGzP6wtIdqgD6DM5Lj4LA7FnlzH8Ocy6yp5agIZ7tdaiVh4E+Xb97KFsLgRin/o
|
||||
kTPCap5ub1TziurVW+1pbzwH+G3TNVeY+yJdYcAQRFzXXOrTa7s5zIJUtObrYVGCA2
|
||||
ctH5uaN1kjx1g==
|
||||
X-Nifty-SrcIP: [153.142.97.92]
|
||||
From: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
To: linux-arm-kernel@lists.infradead.org,
|
||||
Russell King <rmk+kernel@armlinux.org.uk>
|
||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
|
||||
Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
|
||||
Nick Desaulniers <ndesaulniers@google.com>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Masahiro Yamada <yamada.masahiro@socionext.com>,
|
||||
Julien Thierry <julien.thierry.kdev@gmail.com>,
|
||||
Russell King <linux@armlinux.org.uk>,
|
||||
Stefan Agner <stefan@agner.ch>,
|
||||
Thomas Gleixner <tglx@linutronix.de>,
|
||||
Vincent Whitchurch <vincent.whitchurch@axis.com>,
|
||||
linux-kernel@vger.kernel.org
|
||||
Subject: [PATCH] ARM: fix __get_user_check() in case uaccess_* calls are not
|
||||
inlined
|
||||
Date: Mon, 30 Sep 2019 14:59:25 +0900
|
||||
Message-Id: <20190930055925.25842-1-yamada.masahiro@socionext.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
Sender: linux-kernel-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-kernel.vger.kernel.org>
|
||||
X-Mailing-List: linux-kernel@vger.kernel.org
|
||||
|
||||
KernelCI reports that bcm2835_defconfig is no longer booting since
|
||||
commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING
|
||||
forcibly"):
|
||||
|
||||
https://lkml.org/lkml/2019/9/26/825
|
||||
|
||||
I also received a regression report from Nicolas Saenz Julienne:
|
||||
|
||||
https://lkml.org/lkml/2019/9/27/263
|
||||
|
||||
This problem has cropped up on arch/arm/config/bcm2835_defconfig
|
||||
because it enables CONFIG_CC_OPTIMIZE_FOR_SIZE. The compiler tends
|
||||
to prefer not inlining functions with -Os. I was able to reproduce
|
||||
it with other boards and defconfig files by manually enabling
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE.
|
||||
|
||||
The __get_user_check() specifically uses r0, r1, r2 registers.
|
||||
So, uaccess_save_and_enable() and uaccess_restore() must be inlined
|
||||
in order to avoid those registers being overwritten in the callees.
|
||||
|
||||
Prior to commit 9012d011660e ("compiler: allow all arches to enable
|
||||
CONFIG_OPTIMIZE_INLINING"), the 'inline' marker was always enough for
|
||||
inlining functions, except on x86.
|
||||
|
||||
Since that commit, all architectures can enable CONFIG_OPTIMIZE_INLINING.
|
||||
So, __always_inline is now the only guaranteed way of forcible inlining.
|
||||
|
||||
I want to keep as much compiler's freedom as possible about the inlining
|
||||
decision. So, I changed the function call order instead of adding
|
||||
__always_inline around.
|
||||
|
||||
Call uaccess_save_and_enable() before assigning the __p ("r0"), and
|
||||
uaccess_restore() after evacuating the __e ("r0").
|
||||
|
||||
Fixes: 9012d011660e ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
|
||||
Reported-by: "kernelci.org bot" <bot@kernelci.org>
|
||||
Reported-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
Acked-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Tested-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
|
||||
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
---
|
||||
|
||||
arch/arm/include/asm/uaccess.h | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
|
||||
index 303248e5b990..559f252d7e3c 100644
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -191,11 +191,12 @@ extern int __get_user_64t_4(void *);
|
||||
#define __get_user_check(x, p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
+ unsigned int __ua_flags = uaccess_save_and_enable(); \
|
||||
register typeof(*(p)) __user *__p asm("r0") = (p); \
|
||||
register __inttype(x) __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
- unsigned int __ua_flags = uaccess_save_and_enable(); \
|
||||
+ unsigned int __err; \
|
||||
switch (sizeof(*(__p))) { \
|
||||
case 1: \
|
||||
if (sizeof((x)) >= 8) \
|
||||
@@ -223,9 +224,10 @@ extern int __get_user_64t_4(void *);
|
||||
break; \
|
||||
default: __e = __get_user_bad(); break; \
|
||||
} \
|
||||
- uaccess_restore(__ua_flags); \
|
||||
+ __err = __e; \
|
||||
x = (typeof(*(p))) __r2; \
|
||||
- __e; \
|
||||
+ uaccess_restore(__ua_flags); \
|
||||
+ __err; \
|
||||
})
|
||||
|
||||
#define get_user(x, p) \
|
||||
28
ARM-tegra-usb-no-reset.patch
Normal file
28
ARM-tegra-usb-no-reset.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 3 May 2012 20:27:11 +0100
|
||||
Subject: [PATCH] ARM: tegra: usb no reset
|
||||
|
||||
Patch for disconnect issues with storage attached to a
|
||||
tegra-ehci controller
|
||||
---
|
||||
drivers/usb/core/hub.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index 43cb2f2e3b43..7f838ec11c81 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4996,6 +4996,13 @@ static void hub_event(struct work_struct *work)
|
||||
(u16) hub->change_bits[0],
|
||||
(u16) hub->event_bits[0]);
|
||||
|
||||
+ /* Don't disconnect USB-SATA on TrimSlice */
|
||||
+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
|
||||
+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
|
||||
+ (hub->event_bits[0] == 0x2))
|
||||
+ hub->event_bits[0] = 0;
|
||||
+ }
|
||||
+
|
||||
/* Lock the device, then check to see if we were
|
||||
* disconnected while waiting for the lock to succeed. */
|
||||
usb_lock_device(hdev);
|
||||
477
ARM64-Tegra-fixes.patch
Normal file
477
ARM64-Tegra-fixes.patch
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
From patchwork Mon Feb 24 14:34:33 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243145
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=duOxTEf6;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4Mz3K4gz9sRR
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:34:55 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727815AbgBXOew (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:34:52 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6094 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727498AbgBXOew (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:34:52 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53debf0001>; Mon, 24 Feb 2020 06:33:35 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:51 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:51 -0800
|
||||
Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:50 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
|
||||
(172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:50 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df090001>; Mon, 24 Feb 2020 06:34:50 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
|
||||
Subject: [PATCH 1/4] ARM64: Tegra: Enable I2C controller for EEPROM
|
||||
Date: Mon, 24 Feb 2020 14:34:33 +0000
|
||||
Message-ID: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554815; bh=SKhUz0YkoB6pD4YoE/4KFxZbYw2qmSp519cZdmcBM3o=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=duOxTEf6wTpBnmdA4GzgtJ0CYXr5t34ZZNN48pc9hExmRqaCcppGHAY2wcXqnjNmL
|
||||
YwvDy0gfFikGS9gPJKICW2X6f4iOcgfnVhYOWdgnzSFD1bhtOoN+bEcXPC+LRDY89m
|
||||
uAwuuKQR4MMohz9C8MW8xyatlc13ZEU0jeW1+S3PYfX2GhwRUooeFCGnmLUso5s2DZ
|
||||
65p26CoCGdQNBARsw2TNevBzLshNSXvHBdlFiKSs4S0hB7yJJrCwZx2JsjOm+aRtb3
|
||||
dgVHvAZAd8GLLKC8NvPCAhbIRhDt0vkyWmqHnB5suduti7g4QA1Eb8HLAXB5ptvzeK
|
||||
jor+qP+NC8CVQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
Commit a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1
|
||||
module") populated the EEPROM on the Jetson TX1 module, but did not
|
||||
enable the corresponding I2C controller. Enable the I2C controller so
|
||||
that this EEPROM can be accessed.
|
||||
|
||||
Fixes: a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 module")
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
index cb58f79deb48..95b1a6e76e6e 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
@@ -265,6 +265,8 @@
|
||||
};
|
||||
|
||||
i2c@7000c500 {
|
||||
+ status = "okay";
|
||||
+
|
||||
/* module ID EEPROM */
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c02";
|
||||
|
||||
From patchwork Mon Feb 24 14:34:34 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243146
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=YrupJt5o;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N1059Pz9sRR
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:34:57 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727498AbgBXOe4 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:34:56 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8365 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOe4 (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:34:56 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53deec0000>; Mon, 24 Feb 2020 06:34:20 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:55 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:55 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:55 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:55 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df0d0000>; Mon, 24 Feb 2020 06:34:54 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH 2/4] ARM64: tegra: Add EEPROM supplies
|
||||
Date: Mon, 24 Feb 2020 14:34:34 +0000
|
||||
Message-ID: <20200224143436.5438-2-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554860; bh=XQRed+hM+dOmUn7lEyFBRTITiHe/kmVf6bYnTKyb4yU=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=YrupJt5osNrArZbD3/6N+E76P788S2kgwb7HnwldZ99/x70lrAIXTKHOx35uqz7o0
|
||||
bsYj1jAiz+BrmkHt678TBaesev2pBBcp8G+zkGDX+M6MWEvTixhn0bBERoHpnmuhQl
|
||||
1fWBcDKGg9r4KT46RFxrjCcRek8FB1gb1nM00FneNHFyguKuZEzRuMvoPfZEPr0Pm3
|
||||
HaB3AybSYgm2KABS5aZo/a2/9sIP0Bx2St673Bx+9vz89pPr8lWjHZO9QjIUdJn2Qw
|
||||
5rEeeEdOKkbx0RMyKaPAPIdhmrnVzrcyrnZYmf0KnxXJCWitqt2cyAu6uDjPI8kiL+
|
||||
JhWqRAza5osKg==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on Jetson TX1, Jetson Nano and Jetson
|
||||
TX2 platforms because the supply regulators are not specified for the
|
||||
EEPROMs.
|
||||
|
||||
WARNING KERN at24 0-0050: 0-0050 supply vcc not found, using dummy regulator
|
||||
WARNING KERN at24 0-0057: 0-0057 supply vcc not found, using dummy regulator
|
||||
|
||||
For both of these platforms the EEPROM is powered by the main 1.8V
|
||||
supply rail and so populate the supply for these devices to fix these
|
||||
warnings.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 2 ++
|
||||
5 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
index d7628f5afb85..961b1be0c56b 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
@@ -226,6 +226,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
index 947744d0f04c..da96de04d003 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
@@ -171,6 +171,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
index 95b1a6e76e6e..f87d2437d11c 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
@@ -272,6 +272,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index a3cafe39ba4c..c70a610f8e3a 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -85,6 +85,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
index 848afd855da6..21ed1756b889 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
@@ -114,6 +114,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
@@ -124,6 +125,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
|
||||
From patchwork Mon Feb 24 14:34:35 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243147
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=cDDn02CY;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N43Xmtz9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:35:00 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727825AbgBXOfA (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:35:00 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8373 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOfA (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:35:00 -0500
|
||||
Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53def00000>; Mon, 24 Feb 2020 06:34:24 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate102.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:59 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:34:59 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:59 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:58 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df110000>; Mon, 24 Feb 2020 06:34:58 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
|
||||
Subject: [PATCH 3/4] ARM64: tegra: Fix Tegra186 SOR supply
|
||||
Date: Mon, 24 Feb 2020 14:34:35 +0000
|
||||
Message-ID: <20200224143436.5438-3-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554864; bh=lUBb2WrI059cKuJQ/lQ6zAeA/dUVGu1GIMzWYnFLzuA=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=cDDn02CYOMd1x5bK/t7LoZ9fYn59xu8HcaGTMnsTAUfJYYkF5vUqcWjve/5PtksEv
|
||||
+bYF/ELx+KLrbyXQ4LtKHW1V8F2iDHhNR1Rrs+/MUuPuxuOXwTsaYJgLd2A/FWO54O
|
||||
men6fW7E5dJS7lmfJ050sgzZs+TABrFO/dyzOfrekczCVpqlnJEsPvdpFlBbzg125A
|
||||
ZW3sMSe1pW+54pvkCWL7YF/RFnb9zefc0feJmu0Ky+kMH2QOFPSvufzsFBxOr1bUaJ
|
||||
wqzLNTYwY6tWNy7axusq4KLKuCViERaAqSs/UlzzsrOQHJeecBOlH2GkFi8z7JASz2
|
||||
ucv0C5PUNzlTg==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on the Jetson TX2 platform ...
|
||||
|
||||
WARNING KERN tegra-sor 15540000.sor: 15540000.sor supply \
|
||||
vdd-hdmi-dp-pll not found, using dummy regulator
|
||||
|
||||
The problem is caused because the regulator for the SOR device is
|
||||
missing the '-supply' suffix in Device-Tree. Therefore, add the
|
||||
'-supply' suffix to fix this warning.
|
||||
|
||||
Fixes: 3fdfaf8718fa arm64: tegra: Enable DP support on Jetson TX2
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
index 961b1be0c56b..1af7f9ffb7b6 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
@@ -278,7 +278,7 @@
|
||||
status = "okay";
|
||||
|
||||
avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
|
||||
- vdd-hdmi-dp-pll = <&vdd_1v8_ap>;
|
||||
+ vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
|
||||
|
||||
nvidia,dpaux = <&dpaux>;
|
||||
};
|
||||
|
||||
From patchwork Mon Feb 24 14:34:36 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243148
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=K9z8jYfd;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N71cwzz9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:35:03 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727830AbgBXOfC (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:35:02 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6117 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOfC (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:35:02 -0500
|
||||
Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53deca0000>; Mon, 24 Feb 2020 06:33:46 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate102.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:35:01 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:35:01 -0800
|
||||
Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:35:01 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:35:01 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df140006>; Mon, 24 Feb 2020 06:35:01 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH 4/4] ARM64: tegra: Populate LP8557 backlight regulator
|
||||
Date: Mon, 24 Feb 2020 14:34:36 +0000
|
||||
Message-ID: <20200224143436.5438-4-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554826; bh=8MBs7jrK7WrFNE7o6bG0zu41Sicfxu97bK94j6RYNJs=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=K9z8jYfdaYDh/XGz5S/vyzBWYN4ZPYT6jkue5E5YiUVIyQgLCoZqfSIh3h9luB+/C
|
||||
DhYTYMkUQRLasUE0VX9dr4Bn0Hxeaw8DjYS7BUq4LqfNwWjsCSsNEhk26FGBEUvhRH
|
||||
i2nMUMk5Ivw78ouR6qNZhI6freANsproJ+yQkA0cC9WXj5mQw4xcKRmL48dccxrX47
|
||||
aQi0BDk3SCzZBAa+4G3yynAGiRNiFuLVWkg/vFMcq1JDp6a2mVs/CS3Qj0/heE9gPn
|
||||
Qr2Wy0Oa6tg3jhxR9hk7qyy5FlkfDAtJOlUt6sPloPS4bhqqDJtbnXZL7lzHDP+sw+
|
||||
RZcjavnvJtCIQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on Jetson TX1 platform because the
|
||||
supply regulator is not specified for the backlight.
|
||||
|
||||
WARNING KERN lp855x 0-002c: 0-002c supply power not found, using dummy regulator
|
||||
|
||||
The backlight supply is provided by the 3.3V SYS rail and so add this
|
||||
as the supply for the backlight.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index c70a610f8e3a..ea0e1efa6973 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -56,6 +56,7 @@
|
||||
backlight: backlight@2c {
|
||||
compatible = "ti,lp8557";
|
||||
reg = <0x2c>;
|
||||
+ power-supply = <&vdd_3v3_sys>;
|
||||
|
||||
dev-ctrl = /bits/ 8 <0x80>;
|
||||
init-brt = /bits/ 8 <0xff>;
|
||||
1033
Add-LCD-support-for-Pine64-Pinebook-1080p.patch
Normal file
1033
Add-LCD-support-for-Pine64-Pinebook-1080p.patch
Normal file
File diff suppressed because it is too large
Load diff
1121
Add-support-for-PinePhone-LCD-panel.patch
Normal file
1121
Add-support-for-PinePhone-LCD-panel.patch
Normal file
File diff suppressed because it is too large
Load diff
1360
Add-support-for-the-pine64-Pinebook-Pro.patch
Normal file
1360
Add-support-for-the-pine64-Pinebook-Pro.patch
Normal file
File diff suppressed because it is too large
Load diff
43
KEYS-Make-use-of-platform-keyring-for-module-signature.patch
Normal file
43
KEYS-Make-use-of-platform-keyring-for-module-signature.patch
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
From 70cecc97a4fc1667472224558a50dd7b6c42c789 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Holmes <robeholmes@gmail.com>
|
||||
Date: Tue, 23 Apr 2019 07:39:29 +0000
|
||||
Subject: [PATCH] KEYS: Make use of platform keyring for module signature
|
||||
verify
|
||||
|
||||
This patch completes commit 278311e417be ("kexec, KEYS: Make use of
|
||||
platform keyring for signature verify") which, while adding the
|
||||
platform keyring for bzImage verification, neglected to also add
|
||||
this keyring for module verification.
|
||||
|
||||
As such, kernel modules signed with keys from the MokList variable
|
||||
were not successfully verified.
|
||||
|
||||
Signed-off-by: Robert Holmes <robeholmes@gmail.com>
|
||||
Signed-off-by: Jeremy Cline <jcline@redhat.com>
|
||||
---
|
||||
kernel/module_signing.c | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/module_signing.c b/kernel/module_signing.c
|
||||
index 9d9fc678c91d..84ad75a53c83 100644
|
||||
--- a/kernel/module_signing.c
|
||||
+++ b/kernel/module_signing.c
|
||||
@@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info)
|
||||
modlen -= sig_len + sizeof(ms);
|
||||
info->len = modlen;
|
||||
|
||||
- return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
||||
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
||||
VERIFY_USE_SECONDARY_KEYRING,
|
||||
VERIFYING_MODULE_SIGNATURE,
|
||||
NULL, NULL);
|
||||
+ if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) {
|
||||
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
||||
+ VERIFY_USE_PLATFORM_KEYRING,
|
||||
+ VERIFYING_MODULE_SIGNATURE,
|
||||
+ NULL, NULL);
|
||||
+ }
|
||||
+ return ret;
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
50
Makefile
Normal file
50
Makefile
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Makefile for source rpm: kernel
|
||||
SPECFILE := kernel.spec
|
||||
|
||||
# we only check the .sign signatures
|
||||
UPSTREAM_CHECKS = sign
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
%:
|
||||
@echo "Try fedpkg $@ or something like that"
|
||||
@exit 1
|
||||
|
||||
prep: config-files
|
||||
fedpkg -v prep
|
||||
|
||||
noarch:
|
||||
fedpkg -v local --arch=noarch
|
||||
|
||||
# 'make local' also needs to build the noarch firmware package
|
||||
local:
|
||||
fedpkg -v local
|
||||
|
||||
extremedebug:
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_PAGEALLOC is not set/CONFIG_DEBUG_PAGEALLOC=y/' config-nodebug
|
||||
|
||||
config-files:
|
||||
@./build_configs.sh
|
||||
|
||||
debug:
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 1/%define debugbuildsenabled 0/' kernel.spec
|
||||
@rpmdev-bumpspec -c "Reenable debugging options." kernel.spec
|
||||
|
||||
release:
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 0/%define debugbuildsenabled 1/' kernel.spec
|
||||
@rpmdev-bumpspec -c "Disable debugging options." kernel.spec
|
||||
|
||||
nodebuginfo:
|
||||
@perl -pi -e 's/^%define with_debuginfo %\{\?_without_debuginfo: 0\} %\{\?\!_without_debuginfo: 1\}/%define with_debuginfo %\{\?_without_debuginfo: 0\} %\{\?\!_without_debuginfo: 0\}/' kernel.spec
|
||||
|
||||
nodebug: release
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 1/%define debugbuildsenabled 0/' kernel.spec
|
||||
|
||||
ifeq ($(MAKECMDGOALS),me a sandwich)
|
||||
.PHONY: me a sandwich
|
||||
me a:
|
||||
@:
|
||||
|
||||
sandwich:
|
||||
@[ `id -u` -ne 0 ] && echo "What? Make it yourself." || echo Okay.
|
||||
endif
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
RHEL_MAJOR = 10
|
||||
RHEL_MINOR = 99
|
||||
|
||||
#
|
||||
# RHEL_RELEASE
|
||||
# -------------
|
||||
#
|
||||
# Represents build number in 'release' part of RPM's name-version-release.
|
||||
# name is <package_name>, e.g. kernel
|
||||
# version is upstream kernel version this kernel is based on, e.g. 4.18.0
|
||||
# release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 38
|
||||
|
||||
#
|
||||
# RHEL_REBASE_NUM
|
||||
# ----------------
|
||||
#
|
||||
# Used in RPM version string for Gemini kernels, which dont use upstream
|
||||
# VERSION/PATCHLEVEL/SUBLEVEL. The number represents rebase number for
|
||||
# current MAJOR release.
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_REBASE_NUM = 1
|
||||
|
||||
|
||||
#
|
||||
# ZSTREAM
|
||||
# -------
|
||||
#
|
||||
# This variable controls whether we use zstream numbering or not for the
|
||||
# package release. The zstream release keeps the build number of the last
|
||||
# build done for ystream for the Beta milestone, and increments a second
|
||||
# number for each build. The third number is used for branched builds
|
||||
# (eg.: for builds with security fixes or hot fixes done outside of the
|
||||
# batch release process).
|
||||
#
|
||||
# For example, with ZSTREAM unset or set to "no", all builds will contain
|
||||
# a release with only the build number, eg.: kernel-<kernel version>-X.el*,
|
||||
# where X is the build number. With ZSTREAM set to "yes", we will have
|
||||
# builds with kernel-<kernel version>-X.Y.Z.el*, where X is the last
|
||||
# RHEL_RELEASE number before ZSTREAM flag was set to yes, Y will now be the
|
||||
# build number and Z will always be 1 except if you're doing a branched build
|
||||
# (when you give RHDISTGIT_BRANCH on the command line, in which case the Z
|
||||
# number will be incremented instead of the Y).
|
||||
#
|
||||
ZSTREAM ?= no
|
||||
|
||||
#
|
||||
# Automotive
|
||||
# ----------
|
||||
#
|
||||
# Represents the major and minor release used by automotive.
|
||||
# Primarily this is used to to identify the build target when
|
||||
# building the automotive kernel package.
|
||||
AUTOMOTIVE_MAJOR = 2
|
||||
AUTOMOTIVE_MINOR = 99
|
||||
481
PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
Normal file
481
PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
Normal file
|
|
@ -0,0 +1,481 @@
|
|||
From patchwork Fri Jan 10 19:14:59 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
|
||||
X-Patchwork-Id: 1221384
|
||||
Return-Path: <linux-pci-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-pci-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=gf35ja2k;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 47vXkJ2PJMz9sPJ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Sat, 11 Jan 2020 06:15:20 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1728167AbgAJTPQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Fri, 10 Jan 2020 14:15:16 -0500
|
||||
Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1668 "EHLO
|
||||
hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727612AbgAJTPQ (ORCPT
|
||||
<rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:16 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e18cd310000>; Fri, 10 Jan 2020 11:14:57 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Fri, 10 Jan 2020 11:15:15 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:15 -0800
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:15 +0000
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:14 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Fri, 10 Jan 2020 19:15:14 +0000
|
||||
Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e18cd3e0001>; Fri, 10 Jan 2020 11:15:14 -0800
|
||||
From: Vidya Sagar <vidyas@nvidia.com>
|
||||
To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
|
||||
<rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
|
||||
<treding@nvidia.com>, <jonathanh@nvidia.com>
|
||||
CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
|
||||
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
|
||||
<sagar.tv@gmail.com>
|
||||
Subject: [PATCH V3 1/2] arm64: tegra: Re-order PCIe aperture mappings to
|
||||
support ACPI boot
|
||||
Date: Sat, 11 Jan 2020 00:44:59 +0530
|
||||
Message-ID: <20200110191500.9538-2-vidyas@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
|
||||
References: <20200106082709.14370-1-vidyas@nvidia.com>
|
||||
<20200110191500.9538-1-vidyas@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1578683697; bh=A9295dTyR+j2yr8EqSviqtTgED4nGyVgvOv0oWR2ueU=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=gf35ja2k7JnAqX+jyF1OxPVsYL5Fk4U+zYrMvTudBnjv0lLjB+7vnkXuO5FnSX28a
|
||||
o2Mvk9yks+a7NYLZkVfmKCXKbeDNoGPlPSy+g8CAyeAd5u7leSGONsy5awV83vmud7
|
||||
/KuuExw/Ko4JihAJdQ57/4EaaohgPWUNbodkmI5Wo0e7qyfgf5PvkAkwe1PdtgEKls
|
||||
t9tsBwoqjGJn5WWPiQMaUZ8OHdSvPrUDuyKEFPjjr9IpczNvMzJE8SyHDZci42N+s+
|
||||
f0iCjfLLhugetglYqrGi5j8eknYwfvMIV+vnkZj0dSmiS70Y1G31dVfgR/s3ueHnRy
|
||||
jBNjNRTUtey9w==
|
||||
Sender: linux-pci-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-pci.vger.kernel.org>
|
||||
X-Mailing-List: linux-pci@vger.kernel.org
|
||||
|
||||
Re-order Tegra194's PCIe aperture mappings to have IO window moved to
|
||||
64-bit aperture and have the entire 32-bit aperture used for accessing
|
||||
the configuration space. This makes it to use the entire 32MB of the 32-bit
|
||||
aperture for ECAM purpose while booting through ACPI.
|
||||
|
||||
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
|
||||
---
|
||||
V3:
|
||||
* New change in this series
|
||||
|
||||
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 36 ++++++++++++------------
|
||||
1 file changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
index ccac43be12ac..5d790ec5bdef 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
@@ -1247,9 +1247,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0x30000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0x3fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14120000 {
|
||||
@@ -1292,9 +1292,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0x70000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0x7fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14140000 {
|
||||
@@ -1337,9 +1337,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0xb0000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0xbfff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14160000 {
|
||||
@@ -1382,9 +1382,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x17 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x17 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14180000 {
|
||||
@@ -1427,9 +1427,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x1b 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x1b 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@141a0000 {
|
||||
@@ -1476,9 +1476,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x1f 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x1f 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie_ep@14160000 {
|
||||
|
||||
From patchwork Fri Jan 10 19:15:00 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
|
||||
X-Patchwork-Id: 1221385
|
||||
Return-Path: <linux-pci-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-pci-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=KDh6KAfT;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 47vXkS04dtz9sR0
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Sat, 11 Jan 2020 06:15:28 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1728451AbgAJTPX (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Fri, 10 Jan 2020 14:15:23 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:9177 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727612AbgAJTPX (ORCPT
|
||||
<rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:23 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e18cd160001>; Fri, 10 Jan 2020 11:14:30 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Fri, 10 Jan 2020 11:15:21 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:21 -0800
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:21 +0000
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:21 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Fri, 10 Jan 2020 19:15:20 +0000
|
||||
Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e18cd440002>; Fri, 10 Jan 2020 11:15:20 -0800
|
||||
From: Vidya Sagar <vidyas@nvidia.com>
|
||||
To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
|
||||
<rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
|
||||
<treding@nvidia.com>, <jonathanh@nvidia.com>
|
||||
CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
|
||||
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
|
||||
<sagar.tv@gmail.com>
|
||||
Subject: [PATCH V3 2/2] PCI: Add MCFG quirks for Tegra194 host controllers
|
||||
Date: Sat, 11 Jan 2020 00:45:00 +0530
|
||||
Message-ID: <20200110191500.9538-3-vidyas@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
|
||||
References: <20200106082709.14370-1-vidyas@nvidia.com>
|
||||
<20200110191500.9538-1-vidyas@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1578683671; bh=6wJT/II+S2upRtJe41MS3kcnFzRRB57EIPkoU3txnnc=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=KDh6KAfT+xBJE0n0yRibTvav8qocX0wdxtjjCMNH+VNrt1Gvwgt8htMQvTCpi08Hz
|
||||
OLS6piubtsXb2Fk+J0rDcwmB2QM0YMKe6eA3DQkuJTPhl6PRxtvXdAYPfl/Z2pvG38
|
||||
dq6SIor6Yw4e76ncsvt69w6UXoLZHF7AywICq0jGnmPjWoKDnjID3qKSj5/u7tE+/L
|
||||
6hJUZ2QQebXRI17dRdfleyir+rRCS0wMl9tVNiAHplY3Wlxw895LJqvmVRZDVA+kg5
|
||||
8DPKJY2JbazS6P4QcywESwuhDfejJGaJUz+1/6oSiHBMCI5OhfhFZ/lyTf0iZycdTQ
|
||||
gnZUMkPu2QZOg==
|
||||
Sender: linux-pci-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-pci.vger.kernel.org>
|
||||
X-Mailing-List: linux-pci@vger.kernel.org
|
||||
|
||||
The PCIe controller in Tegra194 SoC is not completely ECAM-compliant.
|
||||
With the current hardware design limitations in place, ECAM can be enabled
|
||||
only for one controller (C5 controller to be precise) with bus numbers
|
||||
starting from 160 instead of 0. A different approach is taken to avoid this
|
||||
abnormal way of enabling ECAM for just one controller but to enable
|
||||
configuration space access for all the other controllers. In this approach,
|
||||
ops are added through MCFG quirk mechanism which access the configuration
|
||||
spaces by dynamically programming iATU (internal AddressTranslation Unit)
|
||||
to generate respective configuration accesses just like the way it is
|
||||
done in DesignWare core sub-system.
|
||||
|
||||
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
|
||||
Reported-by: kbuild test robot <lkp@intel.com>
|
||||
Acked-by: Thierry Reding <treding@nvidia.com>
|
||||
---
|
||||
V3:
|
||||
* Removed MCFG address hardcoding in pci_mcfg.c file
|
||||
* Started using 'dbi_base' for accessing root port's own config space
|
||||
* and using 'config_base' for accessing config space of downstream hierarchy
|
||||
|
||||
V2:
|
||||
* Fixed build issues reported by kbuild test bot
|
||||
|
||||
drivers/acpi/pci_mcfg.c | 7 ++
|
||||
drivers/pci/controller/dwc/Kconfig | 3 +-
|
||||
drivers/pci/controller/dwc/Makefile | 2 +-
|
||||
drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++
|
||||
include/linux/pci-ecam.h | 1 +
|
||||
5 files changed, 113 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
|
||||
index 6b347d9920cc..707181408173 100644
|
||||
--- a/drivers/acpi/pci_mcfg.c
|
||||
+++ b/drivers/acpi/pci_mcfg.c
|
||||
@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = {
|
||||
THUNDER_ECAM_QUIRK(2, 12),
|
||||
THUNDER_ECAM_QUIRK(2, 13),
|
||||
|
||||
+ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+
|
||||
#define XGENE_V1_ECAM_MCFG(rev, seg) \
|
||||
{"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \
|
||||
&xgene_v1_pcie_ecam_ops }
|
||||
diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
|
||||
index 0830dfcfa43a..f5b9e75aceed 100644
|
||||
--- a/drivers/pci/controller/dwc/Kconfig
|
||||
+++ b/drivers/pci/controller/dwc/Kconfig
|
||||
@@ -255,7 +255,8 @@ config PCIE_TEGRA194
|
||||
select PHY_TEGRA194_P2U
|
||||
help
|
||||
Say Y here if you want support for DesignWare core based PCIe host
|
||||
- controller found in NVIDIA Tegra194 SoC.
|
||||
+ controller found in NVIDIA Tegra194 SoC. ACPI platforms with Tegra194
|
||||
+ don't need to enable this.
|
||||
|
||||
config PCIE_UNIPHIER
|
||||
bool "Socionext UniPhier PCIe controllers"
|
||||
diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile
|
||||
index 8a637cfcf6e9..76a6c52b8500 100644
|
||||
--- a/drivers/pci/controller/dwc/Makefile
|
||||
+++ b/drivers/pci/controller/dwc/Makefile
|
||||
@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o
|
||||
obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o
|
||||
obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o
|
||||
obj-$(CONFIG_PCI_MESON) += pci-meson.o
|
||||
-obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o
|
||||
obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
|
||||
|
||||
# The following drivers are for devices that use the generic ACPI
|
||||
@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
|
||||
ifdef CONFIG_PCI
|
||||
obj-$(CONFIG_ARM64) += pcie-al.o
|
||||
obj-$(CONFIG_ARM64) += pcie-hisi.o
|
||||
+obj-$(CONFIG_ARM64) += pcie-tegra194.o
|
||||
endif
|
||||
diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
index cbe95f0ea0ca..660f55caa8be 100644
|
||||
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_pci.h>
|
||||
#include <linux/pci.h>
|
||||
+#include <linux/pci-acpi.h>
|
||||
+#include <linux/pci-ecam.h>
|
||||
#include <linux/phy/phy.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#include <linux/platform_device.h>
|
||||
@@ -285,6 +287,103 @@ struct tegra_pcie_dw {
|
||||
struct dentry *debugfs;
|
||||
};
|
||||
|
||||
+#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
|
||||
+struct tegra194_pcie_acpi {
|
||||
+ void __iomem *config_base;
|
||||
+ void __iomem *iatu_base;
|
||||
+ void __iomem *dbi_base;
|
||||
+};
|
||||
+
|
||||
+static int tegra194_acpi_init(struct pci_config_window *cfg)
|
||||
+{
|
||||
+ struct device *dev = cfg->parent;
|
||||
+ struct tegra194_pcie_acpi *pcie;
|
||||
+
|
||||
+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
|
||||
+ if (!pcie)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ pcie->config_base = cfg->win;
|
||||
+ pcie->iatu_base = cfg->win + SZ_256K;
|
||||
+ pcie->dbi_base = cfg->win + SZ_512K;
|
||||
+ cfg->priv = pcie;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index,
|
||||
+ u32 val, u32 reg)
|
||||
+{
|
||||
+ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index);
|
||||
+
|
||||
+ writel(val, pcie->iatu_base + offset + reg);
|
||||
+}
|
||||
+
|
||||
+static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index,
|
||||
+ int type, u64 cpu_addr, u64 pci_addr, u64 size)
|
||||
+{
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr),
|
||||
+ PCIE_ATU_LOWER_BASE);
|
||||
+ atu_reg_write(pcie, index, upper_32_bits(cpu_addr),
|
||||
+ PCIE_ATU_UPPER_BASE);
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(pci_addr),
|
||||
+ PCIE_ATU_LOWER_TARGET);
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1),
|
||||
+ PCIE_ATU_LIMIT);
|
||||
+ atu_reg_write(pcie, index, upper_32_bits(pci_addr),
|
||||
+ PCIE_ATU_UPPER_TARGET);
|
||||
+ atu_reg_write(pcie, index, type, PCIE_ATU_CR1);
|
||||
+ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2);
|
||||
+}
|
||||
+
|
||||
+static void __iomem *tegra194_map_bus(struct pci_bus *bus,
|
||||
+ unsigned int devfn, int where)
|
||||
+{
|
||||
+ struct pci_config_window *cfg = bus->sysdata;
|
||||
+ struct tegra194_pcie_acpi *pcie = cfg->priv;
|
||||
+ u32 busdev;
|
||||
+ int type;
|
||||
+
|
||||
+ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end)
|
||||
+ return NULL;
|
||||
+
|
||||
+ if (bus->number == cfg->busr.start) {
|
||||
+ if (PCI_SLOT(devfn) == 0)
|
||||
+ return pcie->dbi_base + where;
|
||||
+ else
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) |
|
||||
+ PCIE_ATU_FUNC(PCI_FUNC(devfn));
|
||||
+
|
||||
+ if (bus->parent->number == cfg->busr.start) {
|
||||
+ if (PCI_SLOT(devfn) == 0)
|
||||
+ type = PCIE_ATU_TYPE_CFG0;
|
||||
+ else
|
||||
+ return NULL;
|
||||
+ } else {
|
||||
+ type = PCIE_ATU_TYPE_CFG1;
|
||||
+ }
|
||||
+
|
||||
+ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type,
|
||||
+ cfg->res.start, busdev, SZ_256K);
|
||||
+ return (void __iomem *)(pcie->config_base + where);
|
||||
+}
|
||||
+
|
||||
+struct pci_ecam_ops tegra194_pcie_ops = {
|
||||
+ .bus_shift = 20,
|
||||
+ .init = tegra194_acpi_init,
|
||||
+ .pci_ops = {
|
||||
+ .map_bus = tegra194_map_bus,
|
||||
+ .read = pci_generic_config_read,
|
||||
+ .write = pci_generic_config_write,
|
||||
+ }
|
||||
+};
|
||||
+#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */
|
||||
+
|
||||
+#ifdef CONFIG_PCIE_TEGRA194
|
||||
+
|
||||
static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci)
|
||||
{
|
||||
return container_of(pci, struct tegra_pcie_dw, pci);
|
||||
@@ -1728,3 +1827,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match);
|
||||
MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
|
||||
MODULE_DESCRIPTION("NVIDIA PCIe host controller driver");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
+
|
||||
+#endif /* CONFIG_PCIE_TEGRA194 */
|
||||
+
|
||||
diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
|
||||
index a73164c85e78..6156140dcbb6 100644
|
||||
--- a/include/linux/pci-ecam.h
|
||||
+++ b/include/linux/pci-ecam.h
|
||||
@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */
|
||||
extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */
|
||||
extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */
|
||||
extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */
|
||||
+extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI_HOST_COMMON
|
||||
76
PatchList.txt
Normal file
76
PatchList.txt
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# This file contains patches that we intend to carry for longer than
|
||||
# "Should show up in a stable release soonish"
|
||||
# Some of these may eventually drop out
|
||||
|
||||
kbuild-AFTER_LINK.patch
|
||||
|
||||
arm64-avoid-needing-console-to-enable-serial-console.patch
|
||||
|
||||
geekbox-v4-device-tree-support.patch
|
||||
|
||||
Initial-AllWinner-A64-and-PINE64-support.patch
|
||||
|
||||
arm64-pcie-quirks-xgene.patch
|
||||
|
||||
usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
|
||||
|
||||
ARM-tegra-usb-no-reset.patch
|
||||
|
||||
bcm283x-upstream-fixes.patch
|
||||
|
||||
lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
|
||||
|
||||
input-kill-stupid-messages.patch
|
||||
|
||||
die-floppy-die.patch
|
||||
|
||||
no-pcspkr-modalias.patch
|
||||
|
||||
silence-fbcon-logo.patch
|
||||
|
||||
Kbuild-Add-an-option-to-enable-GCC-VTA.patch
|
||||
|
||||
crash-driver.patch
|
||||
|
||||
#Secure boot patches
|
||||
Add-secure_modules-call.patch
|
||||
PCI-Lock-down-BAR-access-when-module-security-is-ena.patch
|
||||
x86-Lock-down-IO-port-access-when-module-security-is.patch
|
||||
ACPI-Limit-access-to-custom_method.patch
|
||||
asus-wmi-Restrict-debugfs-interface-when-module-load.patch
|
||||
Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch
|
||||
acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch
|
||||
kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch
|
||||
x86-Restrict-MSR-access-when-module-loading-is-restr.patch
|
||||
Add-option-to-automatically-enforce-module-signature.patch
|
||||
efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
|
||||
efi-Add-EFI_SECURE_BOOT-bit.patch
|
||||
hibernate-Disable-in-a-signed-modules-environment.patch
|
||||
Add-EFI-signature-data-types.patch
|
||||
Add-an-EFI-signature-blob-parser-and-key-loader.patch
|
||||
KEYS-Add-a-system-blacklist-keyring.patch
|
||||
MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
|
||||
MODSIGN-Support-not-importing-certs-from-db.patch
|
||||
Add-sysrq-option-to-disable-secure-boot-mode.patch
|
||||
kexec-uefi-copy-secure_boot-flag-in-boot-params.patch
|
||||
|
||||
drm-i915-hush-check-crtc-state.patch
|
||||
|
||||
disable-i8042-check-on-apple-mac.patch
|
||||
|
||||
lis3-improve-handling-of-null-rate.patch
|
||||
|
||||
scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
|
||||
criu-no-expert.patch
|
||||
|
||||
ath9k-rx-dma-stop-check.patch
|
||||
|
||||
xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
|
||||
|
||||
Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
|
||||
|
||||
firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
|
||||
|
||||
drm-i915-turn-off-wc-mmaps.patch
|
||||
|
||||
|
|
@ -1,474 +0,0 @@
|
|||
https://gitlab.com/cki-project/kernel-ark/-/commit/831ff9bcd8e9eab864062470a3250beb1e1ec924
|
||||
831ff9bcd8e9eab864062470a3250beb1e1ec924 rust: Add -fdiagnostics-show-context to bindgen_skip_c_flags
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/fe3e9e24af806d756edbda922103b1fa95d9b89b
|
||||
fe3e9e24af806d756edbda922103b1fa95d9b89b Revert "Removing Obsolete hba pci-ids from rhel8"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c4a0a995da9df8732f688d09db5252173277589d
|
||||
c4a0a995da9df8732f688d09db5252173277589d rh_messages.h: add missing lpfc devices
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0ad9a88c3263fa8fa39437f69472588917255c99
|
||||
0ad9a88c3263fa8fa39437f69472588917255c99 kernel: extend rh_waived to cope better with the CVE mitigations case
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cf18c49636f2583c85831f909699034026325242
|
||||
cf18c49636f2583c85831f909699034026325242 rh_messages.h: add missing aacraid device
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/26ca931184edb2c3c7f7c1951f53fa3333d9c90e
|
||||
26ca931184edb2c3c7f7c1951f53fa3333d9c90e rh_messages.h: update unmaintained drivers
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c1c1a1b7059900f4b9b657f5189285a287160e11
|
||||
c1c1a1b7059900f4b9b657f5189285a287160e11 arm64: add early lockdown for secure boot
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a613ae52a8d9378e6fa70f697b3ce0acee220491
|
||||
a613ae52a8d9378e6fa70f697b3ce0acee220491 efi: pass secure boot mode to kernel proper
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f869258b6b654d316e84325e46e431da4dfd04e7
|
||||
f869258b6b654d316e84325e46e431da4dfd04e7 selftests/bpf: Remove ksyms_weak_lskel test
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8b69219fe6a11766cf1a2e07dc94e56448b47824
|
||||
8b69219fe6a11766cf1a2e07dc94e56448b47824 Simplify include Makefile.rhelver
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c2621ac616e25a9a04fbcb8af0c1f8b2bdd8c099
|
||||
c2621ac616e25a9a04fbcb8af0c1f8b2bdd8c099 redhat: make ENABLE_WERROR also enable OBJTOOL_WERROR
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d28cbdeb89fe565e10fb4be8d8378153e86611f6
|
||||
d28cbdeb89fe565e10fb4be8d8378153e86611f6 main.c: fix initcall blacklisted
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b71ab57c8db44881edc32a124ddc2ebe536b6a4c
|
||||
b71ab57c8db44881edc32a124ddc2ebe536b6a4c arch/x86/kernel/setup.c: fix rh_check_supported
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c4ea2384863e54e0c5582b3508518e659581ce69
|
||||
c4ea2384863e54e0c5582b3508518e659581ce69 efi,lockdown: fix kernel lockdown on Secure Boot
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/60b2ddeb0986e1c43a98b44a4ab414a7e2744701
|
||||
60b2ddeb0986e1c43a98b44a4ab414a7e2744701 Revert "nvme: Return BLK_STS_TARGET if the DNR bit is set"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/860632dd288c7aa7807959a79af9159482510cd1
|
||||
860632dd288c7aa7807959a79af9159482510cd1 Revert "nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/aaef2c3ee081c8980bb60fd4b7a6ed9e187d9048
|
||||
aaef2c3ee081c8980bb60fd4b7a6ed9e187d9048 Revert "nvme: decouple basic ANA log page re-read support from native multipathing"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5cd4353dae0ee79d13f57b7ccee85cd0bcbe4b4f
|
||||
5cd4353dae0ee79d13f57b7ccee85cd0bcbe4b4f Revert "nvme: nvme_mpath_init remove multipath check"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/656a0565ffe54f99ac1390a68c5ee7050ab6fb25
|
||||
656a0565ffe54f99ac1390a68c5ee7050ab6fb25 redhat: automotive: define CONFIG_RH_AUTOMOTIVE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f1025d6236c72b4fbd03940b6fa2178f2a84f418
|
||||
f1025d6236c72b4fbd03940b6fa2178f2a84f418 redhat: fix modules.order target
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6e0fa997052c92d6085a50083e75dedc0160443f
|
||||
6e0fa997052c92d6085a50083e75dedc0160443f [redhat] rh_messages.h: driver and device updates
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d8822fd0573e9f254f097c1743078e4e74ac70f5
|
||||
d8822fd0573e9f254f097c1743078e4e74ac70f5 crypto: rng - Fix extrng EFAULT handling
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c224e4b6a61af08574bb0565755ed609bf08cacb
|
||||
c224e4b6a61af08574bb0565755ed609bf08cacb crypto: sig - Disable signing
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/39417e970be7f6bc63f34d5ed5511f7e629802c2
|
||||
39417e970be7f6bc63f34d5ed5511f7e629802c2 crypto: rng - Ensure stdrng is tested before user-space starts
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/52be246b6342ed5b1486729fd5c5893b10549a92
|
||||
52be246b6342ed5b1486729fd5c5893b10549a92 [redhat] rh_messages.h: Mark BlueField-4 as disabled
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2c9e64af9fa1f8599ce05877441afcac8ac91b04
|
||||
2c9e64af9fa1f8599ce05877441afcac8ac91b04 Update the RHEL_DIFFERENCES help string
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/beef34cb1efc34b7fbee35535c66915995d12ed1
|
||||
beef34cb1efc34b7fbee35535c66915995d12ed1 redhat: include resolve_btfids in kernel-devel
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/1a1426b7a8df854c78385dd8ce8b74e9ee641477
|
||||
1a1426b7a8df854c78385dd8ce8b74e9ee641477 redhat: workaround CKI cross compilation for scripts
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2c83d6cfffe1f891bf024df81be6cd41c2073ad9
|
||||
2c83d6cfffe1f891bf024df81be6cd41c2073ad9 crypto: akcipher - Disable signing and decryption
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/af93553b8d335ccf5dd4f90ab9419e497aa36a80
|
||||
af93553b8d335ccf5dd4f90ab9419e497aa36a80 crypto: dh - implement FIPS PCT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f0540d9d32978dff227cbb930193e8dc2557b23b
|
||||
f0540d9d32978dff227cbb930193e8dc2557b23b crypto: ecdh - disallow plain "ecdh" usage in FIPS mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/243ef89ad354eea332d7bfb23fd4cf259240de91
|
||||
243ef89ad354eea332d7bfb23fd4cf259240de91 crypto: seqiv - flag instantiations as FIPS compliant
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6a23cbc588e9b9f7b2bc7250c6c6903d4d904eb1
|
||||
6a23cbc588e9b9f7b2bc7250c6c6903d4d904eb1 [kernel] bpf: set default value for bpf_jit_harden
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/bb84b630a172d0204c8d243c57a6a1d2eae7843c
|
||||
bb84b630a172d0204c8d243c57a6a1d2eae7843c not upstream: Disable vdso getrandom when FIPS is enabled
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b643998c61552fb5615268e7e529999d64d54175
|
||||
b643998c61552fb5615268e7e529999d64d54175 Add support to rh_waived cmdline boot parameter
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a1e04b6f3580382a902256c7bf8b395b9a1be47f
|
||||
a1e04b6f3580382a902256c7bf8b395b9a1be47f rh_flags: fix failed when register_sysctl_sz rh_flags_table to kernel
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/03cf1862c6221ee2a6de9a5ab25adaec6460b62e
|
||||
03cf1862c6221ee2a6de9a5ab25adaec6460b62e [redhat] rh_flags: constify the ctl_table argument of proc_handler
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e2708e55f9151652da80e388b4bf88c649288c0f
|
||||
e2708e55f9151652da80e388b4bf88c649288c0f redhat: rh_flags: declare proper static methods when !CONFIG_RHEL_DIFFERENCES
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6f593811cc1e5664f45fe2d09916eada1187e992
|
||||
6f593811cc1e5664f45fe2d09916eada1187e992 redhat: make bnx2xx drivers unmaintained in rhel-10
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5db8220bd67c719a20c1269233585b40f48837da
|
||||
5db8220bd67c719a20c1269233585b40f48837da rh_flags: Rename rh_features to rh_flags
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/19ca502a0087eed65a014c6271f9bfc207d8d7eb
|
||||
19ca502a0087eed65a014c6271f9bfc207d8d7eb kernel: rh_features: fix reading empty feature list from /proc
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ba24639032f00b47748a6f39a4eb33950df015c2
|
||||
ba24639032f00b47748a6f39a4eb33950df015c2 rh_features: move rh_features entry to sys/kernel
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/883e43fe6a0da0d9ad90e7c997a95f11bab9b888
|
||||
883e43fe6a0da0d9ad90e7c997a95f11bab9b888 rh_features: convert to atomic allocation
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c8daa2e832df14ee9174435a357b2ae0994a3ef3
|
||||
c8daa2e832df14ee9174435a357b2ae0994a3ef3 add rh_features to /proc
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4f33dbbe3ec578d49e12c07421b913bf480fccef
|
||||
4f33dbbe3ec578d49e12c07421b913bf480fccef add support for rh_features
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/53a5900b05260b81f13eb3b9d6a9419429f310ab
|
||||
53a5900b05260b81f13eb3b9d6a9419429f310ab [redhat] PCI: Fix pci_rh_check_status() call semantics
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/aeb9a237a0ec39b7bde89d8bb040cd5b267f6802
|
||||
aeb9a237a0ec39b7bde89d8bb040cd5b267f6802 scsi: sd: condition probe_type under RHEL_DIFFERENCES
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/159e72af8b1631b720f4a7e0012fa624764cecde
|
||||
159e72af8b1631b720f4a7e0012fa624764cecde scsi: sd: remove unused sd_probe_types
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d8c04860eb7bf29617ca1754f1076fd9f5992e77
|
||||
d8c04860eb7bf29617ca1754f1076fd9f5992e77 [redhat] rh_messages.h: mark mlx5 on Bluefield-3 as unmaintained
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/496c64b4afece4ab525467a6be71ffe60d0c564f
|
||||
496c64b4afece4ab525467a6be71ffe60d0c564f [redhat] rh_messages.h: initial driver and device lists
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5cf456aaba6f5c9406421c04c65d43b2c71f5927
|
||||
5cf456aaba6f5c9406421c04c65d43b2c71f5927 arch/x86: Fix XSAVE check for x86_64-v2 check
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/252bf9586fca6e57a51966c0294a9a0cb33ff4f5
|
||||
252bf9586fca6e57a51966c0294a9a0cb33ff4f5 arch/x86/kernel/setup.c: fixup rh_check_supported
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/30faf17591afbd4230d590355351044294ad43d2
|
||||
30faf17591afbd4230d590355351044294ad43d2 lsm: update security_lock_kernel_down
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e88ee9e2e869e7259faa5bf3ff6689becabb53cb
|
||||
e88ee9e2e869e7259faa5bf3ff6689becabb53cb arch/x86: mark x86_64-v1 and x86_64-v2 processors as deprecated
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/26ebc304df38a49ce7cc69b4bdf220298cff2460
|
||||
26ebc304df38a49ce7cc69b4bdf220298cff2460 redhat: kABI: add missing RH_KABI_SIZE_ALIGN_CHECKS Kconfig option
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8c71392703448be8e8217592dd46ea1cc8b157e1
|
||||
8c71392703448be8e8217592dd46ea1cc8b157e1 redhat: rh_kabi: introduce RH_KABI_EXCLUDE_WITH_SIZE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d42afcb843fcc87e59ba39b5574c18d89fd07a91
|
||||
d42afcb843fcc87e59ba39b5574c18d89fd07a91 redhat: rh_kabi: move semicolon inside __RH_KABI_CHECK_SIZE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/95a56955f9ba6ef1e1dd2d99d8f98254da274267
|
||||
95a56955f9ba6ef1e1dd2d99d8f98254da274267 random: replace import_single_range() with import_ubuf()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/92d6612578b79fd3a09e10504ed71209ba43c271
|
||||
92d6612578b79fd3a09e10504ed71209ba43c271 ext4: Mark mounting fs-verity filesystems as tech-preview
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5c51745b8aec113ff0605ab833c3e472d99c55c8
|
||||
5c51745b8aec113ff0605ab833c3e472d99c55c8 erofs: Add tech preview markers at mount
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6d687c70a7eda10eac0ddc6eedeaccc30eef5349
|
||||
6d687c70a7eda10eac0ddc6eedeaccc30eef5349 kernel/rh_messages.c: Mark functions as possibly unused
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/dfb09b1d833cad815ea2f5cb69505010de260c40
|
||||
dfb09b1d833cad815ea2f5cb69505010de260c40 crypto: rng - Override drivers/char/random in FIPS mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ddbe3667f2462817f3f936141fff08604dde1564
|
||||
ddbe3667f2462817f3f936141fff08604dde1564 random: Add hook to override device reads and getrandom(2)
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/92525a9129d85fa6400c9e653379862a67cb43b2
|
||||
92525a9129d85fa6400c9e653379862a67cb43b2 [redhat] kernel/rh_messages.c: move hardware tables to rh_messages.h
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/eacd81fdaf31d456a82c553735faf64c8efad2eb
|
||||
eacd81fdaf31d456a82c553735faf64c8efad2eb [redhat] kernel/rh_messages.c: Wire up new calls
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/32af8640a651c642ee5706dda0cf35ff508bcdcb
|
||||
32af8640a651c642ee5706dda0cf35ff508bcdcb [redhat] drivers/pci: Update rh_messages.c
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/db366977f9e13f903cc9b7f22936b581594a7731
|
||||
db366977f9e13f903cc9b7f22936b581594a7731 [redhat] drivers/pci: Remove RHEL-only pci_hw_*() functions
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/402504ff66e5d118b514253df5d55f8413e2e167
|
||||
402504ff66e5d118b514253df5d55f8413e2e167 scsi: sd: Add "probe_type" module parameter to allow synchronous probing
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5e96a345c6fb24e282ce1769223c1a339d0dbe94
|
||||
5e96a345c6fb24e282ce1769223c1a339d0dbe94 Revert "Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64"
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ce943989ae8cb2b8e0b4699c148584d3cd18ec9b
|
||||
ce943989ae8cb2b8e0b4699c148584d3cd18ec9b kernel/rh_messages.c: Another gcc12 warning on redundant NULL test
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c0624b3913d8c3f262e20910a2f2c4d2f99ce61f
|
||||
c0624b3913d8c3f262e20910a2f2c4d2f99ce61f Enable IO_URING for RHEL
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/861f2d38d82cfb374799ec517f18cc021701068e
|
||||
861f2d38d82cfb374799ec517f18cc021701068e Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e02ec93117d6eea21e80baf69e6f9848cf1a9774
|
||||
e02ec93117d6eea21e80baf69e6f9848cf1a9774 redhat: version two of Makefile.rhelver tweaks
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/964e830b4fae678dec5b8b93dcd402c73fdf2912
|
||||
964e830b4fae678dec5b8b93dcd402c73fdf2912 redhat: adapt to upstream Makefile change
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/60a4025a3b1cdec1c7bbdabf1e30278f615bb493
|
||||
60a4025a3b1cdec1c7bbdabf1e30278f615bb493 kernel/rh_messages.c: gcc12 warning on redundant NULL test
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a5c9e3c6e3dcda60b5f753d1bae86a686f3ac087
|
||||
a5c9e3c6e3dcda60b5f753d1bae86a686f3ac087 Change acpi_bus_get_acpi_device to acpi_get_acpi_dev
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/092e751fe418623c5ad04e77fa6c993d48d96533
|
||||
092e751fe418623c5ad04e77fa6c993d48d96533 ARK: Remove code marking devices unmaintained
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c27fa327fb3de69773568d211fd2f8f13a72e342
|
||||
c27fa327fb3de69773568d211fd2f8f13a72e342 rh_message: Fix function name
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c9b07fd3a141ad0283d7eaadf5a06aec9af2b8c9
|
||||
c9b07fd3a141ad0283d7eaadf5a06aec9af2b8c9 Add Partner Supported taint flag to kAFS
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6b0e3a47ec436527a736c0e7159b41624d176dd9
|
||||
6b0e3a47ec436527a736c0e7159b41624d176dd9 Add Partner Supported taint flag
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/3a4e2ad92c430d2f584f56ca686bc75a469d06c0
|
||||
3a4e2ad92c430d2f584f56ca686bc75a469d06c0 kabi: Add kABI macros for enum type
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/04fbd46f834f3a012ca9d5bef91db377a3dbaed0
|
||||
04fbd46f834f3a012ca9d5bef91db377a3dbaed0 kabi: expand and clarify documentation of aux structs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cf8df8ef88e094ebb049a7e1e6fec069aaf54faa
|
||||
cf8df8ef88e094ebb049a7e1e6fec069aaf54faa kabi: introduce RH_KABI_USE_AUX_PTR
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/31779ca0c6c9aab28184a42ac3f17ac219b37b2b
|
||||
31779ca0c6c9aab28184a42ac3f17ac219b37b2b kabi: rename RH_KABI_SIZE_AND_EXTEND to AUX
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2e12a05d339ed936b9cd59f420b161d70b4a130a
|
||||
2e12a05d339ed936b9cd59f420b161d70b4a130a kabi: more consistent _RH_KABI_SIZE_AND_EXTEND
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b83556eebdc2efdc2d2c22610b7cd7c5cafb2bae
|
||||
b83556eebdc2efdc2d2c22610b7cd7c5cafb2bae kabi: use fixed field name for extended part
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4c9a3b306a34ed7017e35b0de26b2d98e1a04373
|
||||
4c9a3b306a34ed7017e35b0de26b2d98e1a04373 kabi: fix dereference in RH_KABI_CHECK_EXT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a961660df0a73bcf2dcd8cb8855c2f5d5ded0ae9
|
||||
a961660df0a73bcf2dcd8cb8855c2f5d5ded0ae9 kabi: fix RH_KABI_SET_SIZE macro
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9f9ef5e8b4694fa7fb6a8f941fb741121fe5aab3
|
||||
9f9ef5e8b4694fa7fb6a8f941fb741121fe5aab3 kabi: expand and clarify documentation
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/308d17beeaa6cb4a514f77319b636c9a2c15f5eb
|
||||
308d17beeaa6cb4a514f77319b636c9a2c15f5eb kabi: make RH_KABI_USE replace any number of reserved fields
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f3d12dffffeee8d6692be46044b9fc8448901692
|
||||
f3d12dffffeee8d6692be46044b9fc8448901692 kabi: rename RH_KABI_USE2 to RH_KABI_USE_SPLIT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/520e726b4e78101e73fa3d77cdcbc21d204a75a9
|
||||
520e726b4e78101e73fa3d77cdcbc21d204a75a9 kabi: change RH_KABI_REPLACE2 to RH_KABI_REPLACE_SPLIT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7160868bd40d04e6d1a80f55d1bf9bb62ede0ba3
|
||||
7160868bd40d04e6d1a80f55d1bf9bb62ede0ba3 kabi: change RH_KABI_REPLACE_UNSAFE to RH_KABI_BROKEN_REPLACE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0b83063cf6c57dc20a80c35396fa425ec1963d53
|
||||
0b83063cf6c57dc20a80c35396fa425ec1963d53 kabi: introduce RH_KABI_ADD_MODIFIER
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d276c2393792e3eec80a73a4fe964f9ec11145a7
|
||||
d276c2393792e3eec80a73a4fe964f9ec11145a7 kabi: Include kconfig.h
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/28c30de9c771ff91994c9f0a42bdcc260fa97c2d
|
||||
28c30de9c771ff91994c9f0a42bdcc260fa97c2d kabi: macros for intentional kABI breakage
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9b671c725ac69c47874321e5636e6541bb6d219d
|
||||
9b671c725ac69c47874321e5636e6541bb6d219d kabi: fix the note about terminating semicolon
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6443eef17fb53f62886ecce519b6e12dd310e7f5
|
||||
6443eef17fb53f62886ecce519b6e12dd310e7f5 kabi: introduce RH_KABI_HIDE_INCLUDE and RH_KABI_FAKE_INCLUDE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/47746fc3837b476ec265e2a0c2aaa86de0d3994e
|
||||
47746fc3837b476ec265e2a0c2aaa86de0d3994e pci.h: Fix static include
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/67ce66385c6b619356c4030e6163c4fb18a50427
|
||||
67ce66385c6b619356c4030e6163c4fb18a50427 drivers/pci/pci-driver.c: Fix if/ifdef typo
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0dfd7feeadc964ef2a9d118218b54831381c8d7a
|
||||
0dfd7feeadc964ef2a9d118218b54831381c8d7a kernel/rh_taint.c: Update to new messaging
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/35e5ee153637e59c9297c9cc8ba7f3960277ffc2
|
||||
35e5ee153637e59c9297c9cc8ba7f3960277ffc2 redhat: Add mark_driver_deprecated()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ff7aa8cae4c7e3e7bbc1bb5612efc2157c81fa7d
|
||||
ff7aa8cae4c7e3e7bbc1bb5612efc2157c81fa7d RHEL: disable io_uring support
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/517351ed810bf2707e7fdb2ab22029aeb594db59
|
||||
517351ed810bf2707e7fdb2ab22029aeb594db59 bpf: Fix unprivileged_bpf_disabled setup
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/48fe2e5f40c901e92d1f8c62bc97f58af4b0906a
|
||||
48fe2e5f40c901e92d1f8c62bc97f58af4b0906a nvme: nvme_mpath_init remove multipath check
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/1c9bd09f303e2c9d2c67fdc46604d94e00cbf67c
|
||||
1c9bd09f303e2c9d2c67fdc46604d94e00cbf67c wireguard: disable in FIPS mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/57872981891fe8f3f7205daa4b78c8c0d676b171
|
||||
57872981891fe8f3f7205daa4b78c8c0d676b171 nvme: decouple basic ANA log page re-read support from native multipathing
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0561f5953431ff471193611cd73af65dd394c8cd
|
||||
0561f5953431ff471193611cd73af65dd394c8cd nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f801483d711fa5f83a0f9d4c479eeba702d1d477
|
||||
f801483d711fa5f83a0f9d4c479eeba702d1d477 nvme: Return BLK_STS_TARGET if the DNR bit is set
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4f2bc09956ad4829d139e9d69b86ba8b9ebc66e2
|
||||
4f2bc09956ad4829d139e9d69b86ba8b9ebc66e2 REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/65a21d545cc43328ea00fdbd62e7b45f375adce8
|
||||
65a21d545cc43328ea00fdbd62e7b45f375adce8 redhat: remove remaining references of CONFIG_RH_DISABLE_DEPRECATED
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/1c1b5380b0b56d3be978997b128f84aeb9906656
|
||||
1c1b5380b0b56d3be978997b128f84aeb9906656 arch/x86: Remove vendor specific CPU ID checks
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f7c032c856ba6379a77b76179d0352929d6039ec
|
||||
f7c032c856ba6379a77b76179d0352929d6039ec redhat: Replace hardware.redhat.com link in Unsupported message
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9a6eb49603959cf0aab0198e13946eaee07801c3
|
||||
9a6eb49603959cf0aab0198e13946eaee07801c3 x86: Fix compile issues with rh_check_supported()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8a605436efddfa7dbc6e007b2881fa81f17968a5
|
||||
8a605436efddfa7dbc6e007b2881fa81f17968a5 KEYS: Make use of platform keyring for module signature verify
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c7c191f662438423a23592db42838ff550c2bdda
|
||||
c7c191f662438423a23592db42838ff550c2bdda Input: rmi4 - remove the need for artificial IRQ in case of HID
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4ae139284600cd6fef133ce7a981485ea73381ab
|
||||
4ae139284600cd6fef133ce7a981485ea73381ab ARM: tegra: usb no reset
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8156e2102f753bbe0f0dd222a5f232e7f3d99883
|
||||
8156e2102f753bbe0f0dd222a5f232e7f3d99883 arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/823e733a88ddd21c735288dd3b08348e79872b91
|
||||
823e733a88ddd21c735288dd3b08348e79872b91 redhat: rh_kabi: deduplication friendly structs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/61d2a751fe1b1305684d6c1899f26fa9e38ac0a9
|
||||
61d2a751fe1b1305684d6c1899f26fa9e38ac0a9 redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7d09cb3ea3dd2f3cda5a6a31be429f259106ca61
|
||||
7d09cb3ea3dd2f3cda5a6a31be429f259106ca61 redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c0c51c6f123df02948e11680d9b90324593ba547
|
||||
c0c51c6f123df02948e11680d9b90324593ba547 redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve.
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/96b20c70b39cd28efcec2336417cb0db9ff7853c
|
||||
96b20c70b39cd28efcec2336417cb0db9ff7853c redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/198030a81d85dbac8f4030e69d3d376327433487
|
||||
198030a81d85dbac8f4030e69d3d376327433487 redhat: rh_kabi: Add macros to size and extend structs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/695af00ed9e393abe88d9ee4de3702c15ded186d
|
||||
695af00ed9e393abe88d9ee4de3702c15ded186d Removing Obsolete hba pci-ids from rhel8
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/736038bd8039d1543468c1dc8925f20929645804
|
||||
736038bd8039d1543468c1dc8925f20929645804 mptsas: pci-id table changes
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/83cdf2924bdcc90c433a58129b4501e10b1295dc
|
||||
83cdf2924bdcc90c433a58129b4501e10b1295dc mptspi: pci-id table changes
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0b634d81ed7f0730e13d720508dbaa6ab94e54d2
|
||||
0b634d81ed7f0730e13d720508dbaa6ab94e54d2 qla2xxx: Remove PCI IDs of deprecated adapter
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0d11491f9e7fe0c8c301db3256cb47c66ae8450f
|
||||
0d11491f9e7fe0c8c301db3256cb47c66ae8450f hpsa: remove old cciss-based smartarray pci ids
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/75f69a4f7b8f9d38c5efb0231186ed8726e526f2
|
||||
75f69a4f7b8f9d38c5efb0231186ed8726e526f2 kernel: add SUPPORT_REMOVED kernel taint
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/50081b0865239d853d77bc71e54d13fad8bac9f0
|
||||
50081b0865239d853d77bc71e54d13fad8bac9f0 Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/dc84f3cc1b19a0524e58a382c382f34081dc6c35
|
||||
dc84f3cc1b19a0524e58a382c382f34081dc6c35 s390: Lock down the kernel when the IPL secure flag is set
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cb55378c04d6516f303e98061ec7ddd6563429a8
|
||||
cb55378c04d6516f303e98061ec7ddd6563429a8 efi: Lock down the kernel if booted in secure boot mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9b06e1f07c3cc9e1d0533b8615426d4d5d9e4ebb
|
||||
9b06e1f07c3cc9e1d0533b8615426d4d5d9e4ebb efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/db249925c6802b38d910927e4d032af1e00bee56
|
||||
db249925c6802b38d910927e4d032af1e00bee56 security: lockdown: expose a hook to lock the kernel down
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f9604bcd305aba2a94e713ee758a51143687ae9f
|
||||
f9604bcd305aba2a94e713ee758a51143687ae9f Make get_cert_list() use efi_status_to_str() to print error messages.
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b75eb3e922c93d78d4190a759f5725e856d35439
|
||||
b75eb3e922c93d78d4190a759f5725e856d35439 Add efi_status_to_str() and rework efi_status_to_err().
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2f80042d6b8199fceadf3623243402066e0cd4ea
|
||||
2f80042d6b8199fceadf3623243402066e0cd4ea Add support for deprecating processors
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5a3b4f5754788e42db8ed550b359382b600f2b08
|
||||
5a3b4f5754788e42db8ed550b359382b600f2b08 arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/36cd5d0a0aa0a3be8ac385ca8991563c9e58227f
|
||||
36cd5d0a0aa0a3be8ac385ca8991563c9e58227f iommu/arm-smmu: workaround DMA mode issues
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ca34010e072550c8d5ea57f9436bab254c3521cc
|
||||
ca34010e072550c8d5ea57f9436bab254c3521cc rh_kabi: introduce RH_KABI_EXCLUDE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/26054e2c4e2253fe955a351971dc6b931cb68961
|
||||
26054e2c4e2253fe955a351971dc6b931cb68961 ipmi: do not configure ipmi for HPE m400
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9cb0f734492a21a7e506d7145caf143ccd927b2a
|
||||
9cb0f734492a21a7e506d7145caf143ccd927b2a kABI: Add generic kABI macros to use for kABI workarounds
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4960e5ee4a0e9bb28e512eb35cfa633ac4552049
|
||||
4960e5ee4a0e9bb28e512eb35cfa633ac4552049 add pci_hw_vendor_status()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/291c4e2878431fd6937c5b9248babe8ec8d4233e
|
||||
291c4e2878431fd6937c5b9248babe8ec8d4233e ahci: thunderx2: Fix for errata that affects stop engine
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/996869cc0b3e78cb9182a4ebced2c46ee2774935
|
||||
996869cc0b3e78cb9182a4ebced2c46ee2774935 Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c1c7a887998ab12c5a1180c4bca3b41c31fe4aa6
|
||||
c1c7a887998ab12c5a1180c4bca3b41c31fe4aa6 bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e40c9d10474d1a5b5f7f01175a72ba4a3c7f5e8e
|
||||
e40c9d10474d1a5b5f7f01175a72ba4a3c7f5e8e add Red Hat-specific taint flags
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f23f446b724fbb79c1e09a278fcb427fc29c0c05
|
||||
f23f446b724fbb79c1e09a278fcb427fc29c0c05 tags.sh: Ignore redhat/rpm
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a68aa65a20fba1908a7326e5321ce8bc39a9ae14
|
||||
a68aa65a20fba1908a7326e5321ce8bc39a9ae14 put RHEL info into generated headers
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/80937f1973d73fccdc75db4026fbed7cba16f489
|
||||
80937f1973d73fccdc75db4026fbed7cba16f489 aarch64: acpi scan: Fix regression related to X-Gene UARTs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/3362fd10fe075b48ff8af023da5643bc9477a4c6
|
||||
3362fd10fe075b48ff8af023da5643bc9477a4c6 ACPI / irq: Workaround firmware issue on X-Gene based m400
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ffc66b174954abecfb360dcc3b98c3139ef12d96
|
||||
ffc66b174954abecfb360dcc3b98c3139ef12d96 modules: add rhelversion MODULE_INFO tag
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7e469c23b8f648d79e8a0e82ee41cda0e50b2f19
|
||||
7e469c23b8f648d79e8a0e82ee41cda0e50b2f19 ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a0f49117d038de2d4db4940f5f039addb2f7231d
|
||||
a0f49117d038de2d4db4940f5f039addb2f7231d Add Red Hat tainting
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/fa67c16e780ed355f9847da90e8055ad1175c238
|
||||
fa67c16e780ed355f9847da90e8055ad1175c238 Introduce CONFIG_RH_DISABLE_DEPRECATED
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e7e1371803470a7840dc61da628cb912834ec149
|
||||
e7e1371803470a7840dc61da628cb912834ec149 Pull the RHEL version defines out of the Makefile
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/84d1d3e3d0c2c7ed1f571c8495bad3b4d97cfa8e
|
||||
84d1d3e3d0c2c7ed1f571c8495bad3b4d97cfa8e [initial commit] Add Red Hat variables in the top level makefile
|
||||
|
||||
25
README.rst
25
README.rst
|
|
@ -1,25 +0,0 @@
|
|||
===================
|
||||
The Kernel dist-git
|
||||
===================
|
||||
|
||||
The kernel is maintained in a `source tree`_ rather than directly in dist-git.
|
||||
The specfile is maintained as a `template`_ in the source tree along with a set
|
||||
of build scripts to generate configurations, (S)RPMs, and to populate the
|
||||
dist-git repository.
|
||||
|
||||
The `documentation`_ for the source tree covers how to contribute and maintain
|
||||
the tree.
|
||||
|
||||
If you're looking for the downstream patch set it's available in the source
|
||||
tree with "git log master..ark-patches" or
|
||||
`online`_.
|
||||
|
||||
Each release in dist-git is tagged in the source repository so you can easily
|
||||
check out the source tree for a build. The tags are in the format
|
||||
name-version-release, but note release doesn't contain the dist tag since the
|
||||
source can be built in different build roots (Fedora, CentOS, etc.)
|
||||
|
||||
.. _source tree: https://gitlab.com/cki-project/kernel-ark.git
|
||||
.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template
|
||||
.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home
|
||||
.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches
|
||||
78
README.txt
Normal file
78
README.txt
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
|
||||
Kernel package tips & tricks.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The kernel is one of the more complicated packages in the distro, and
|
||||
for the newcomer, some of the voodoo in the spec file can be somewhat scary.
|
||||
This file attempts to document some of the magic.
|
||||
|
||||
|
||||
Speeding up make prep
|
||||
---------------------
|
||||
The kernel is nearly 500MB of source code, and as such, 'make prep'
|
||||
takes a while. The spec file employs some trickery so that repeated
|
||||
invocations of make prep don't take as long. Ordinarily the %prep
|
||||
phase of a package will delete the tree it is about to untar/patch.
|
||||
The kernel %prep keeps around an unpatched version of the tree,
|
||||
and makes a symlink tree clone of that clean tree and than applies
|
||||
the patches listed in the spec to the symlink tree.
|
||||
This makes a huge difference if you're doing multiple make preps a day.
|
||||
As an added bonus, doing a diff between the clean tree and the symlink
|
||||
tree is slightly faster than it would be doing two proper copies of the tree.
|
||||
|
||||
|
||||
Build logs.
|
||||
-----------
|
||||
There's a convenience helper script in scripts/grab-logs.sh
|
||||
that will grab the build logs from koji for the kernel version reported
|
||||
by make verrel
|
||||
|
||||
|
||||
Config hierarchy.
|
||||
-----------------
|
||||
Instead of having to maintain a config file for every arch variant we build on,
|
||||
the kernel spec uses a nested system of configs. Each option CONFIG_FOO is
|
||||
represented by a single file named CONFIG_FOO which contains the state (=y, =m,
|
||||
=n). These options are collected in the folder base-generic. Architecture
|
||||
specific options are set in nested folders. An option set in a nested folder
|
||||
will override the same option set in one of the higher levels.
|
||||
|
||||
The individual CONFIG_FOO files only exist in the pkg-git repository. The RPM
|
||||
contains kernel-foo.config files which are the result of combining all the
|
||||
CONFIG_FOO files. The files are combined by running build_configs.sh. This
|
||||
script _must_ be run each time one of the options is changed.
|
||||
|
||||
Example flow:
|
||||
|
||||
# Enable the option CONFIG_ABC123 as a module for all arches
|
||||
echo "CONFIG_ABC123=m" > configs/base-generic/CONFIG_ABC1234
|
||||
# enable the option CONFIG_XYZ321 for only x86
|
||||
echo "# CONFIG_XYZ321 is not set" > configs/base-generic/CONFIG_XYZ321
|
||||
echo "CONFIG_XYZ321=m" > configs/base-generic/x86/CONFIG_XYZ321
|
||||
# regenerate the combined config files
|
||||
./build_configs.sh
|
||||
|
||||
The file config_generation gives a listing of what folders go into each
|
||||
config file generated.
|
||||
|
||||
Debug options.
|
||||
--------------
|
||||
This is a little complicated, as the purpose & meaning of this changes
|
||||
depending on where we are in the release cycle.
|
||||
If we are building for a current stable release, 'make release' has
|
||||
typically been run already, which sets up the following..
|
||||
- Two builds occur, a 'kernel' and a 'kernel-debug' flavor.
|
||||
- kernel-debug will get various heavyweight debugging options like
|
||||
lockdep etc turned on.
|
||||
|
||||
If we are building for rawhide, 'make debug' has been run, which changes
|
||||
the status quo to:
|
||||
- We only build one kernel 'kernel'
|
||||
- The debug options are always turned on.
|
||||
This is done to increase coverage testing, as not many people actually
|
||||
run kernel-debug.
|
||||
|
||||
The debug options are managed in a separate heierarchy under base-debug. This
|
||||
works in a similar manner to base-generic. More deeply nested folders, again,
|
||||
override options. The file config_generation gives a listing of what folders
|
||||
go into each config file generated.
|
||||
144
RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch
Normal file
144
RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
From patchwork Mon Apr 20 16:43:04 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Chauvet <kwizart@gmail.com>
|
||||
X-Patchwork-Id: 1273561
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org;
|
||||
spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org
|
||||
(client-ip=23.128.96.18; helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org; receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=gmail.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
|
||||
header.s=20161025 header.b=TzeKBoiR; dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
by ozlabs.org (Postfix) with ESMTP id 495XZC49yWz9sP7
|
||||
for <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2020 02:43:15 +1000 (AEST)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1726731AbgDTQnK (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 20 Apr 2020 12:43:10 -0400
|
||||
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42314 "EHLO
|
||||
lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL)
|
||||
by vger.kernel.org with ESMTP id S1726693AbgDTQnI (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 20 Apr 2020 12:43:08 -0400
|
||||
Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com
|
||||
[IPv6:2a00:1450:4864:20::342])
|
||||
by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6ED4CC061A0C;
|
||||
Mon, 20 Apr 2020 09:43:08 -0700 (PDT)
|
||||
Received: by mail-wm1-x342.google.com with SMTP id x25so280061wmc.0;
|
||||
Mon, 20 Apr 2020 09:43:08 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
|
||||
h=from:to:cc:subject:date:message-id:mime-version
|
||||
:content-transfer-encoding;
|
||||
bh=IHuj1FiuJPknu8Z7Uq/JeXw8aSg2xFkcoVYT3QRT6dA=;
|
||||
b=TzeKBoiR2hu1L+OGuVzAMrvuOnCDM+J1nsGD1QbB9tkwdgx5rUc3jCkTzkFKQpJZ+g
|
||||
jx96zAcsJH7FSzAMjcpWTgiixmPWJj0xuWXML6IW4oVt5Npm6F2D8UyjZyfgnUKcGU/k
|
||||
Ye+bmwRUMi6cBC1Jpn93V5znfun/KPJFuOi1qLjh4g9rRAQWp4o4mZYTnxBkkMhi63gU
|
||||
V7L+RQlj4buS+IXOZ/xi5chAd/gFJkADDOm8HVDAcIG6pEUCkXciuRiNL3f81ss3nwjq
|
||||
uQQg7uRc8wXqOP1IqZ+W8kYP25Bty+uiykVyhv6XfOg0vWk4GK+wnM0wcP7boPe8Y8sS
|
||||
dTLg==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20161025;
|
||||
h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
|
||||
:content-transfer-encoding;
|
||||
bh=IHuj1FiuJPknu8Z7Uq/JeXw8aSg2xFkcoVYT3QRT6dA=;
|
||||
b=YcZCjbicKhCKe1SzKhwIcD9gZI/8J/QS/LQk4lcoLCwcSjlg9p0O/m5t80TGXT4lcn
|
||||
wFh0VyY+SsMR6uXCPrN8QXYbEY6fFVxEY2+btKzt+ft0v4jQUljopKGOV6n85FRs89U4
|
||||
DrjNPXoL7izbuheb/tW9ZBrrMTLQ1btIJ/MiAZ2gKtlrachezXQjW1Gtn66/hEpIQybL
|
||||
9ctDGvygIAju/Yd9fx+cakfzPUGzKTc/yOhjKjbMfxF6YxTbdqPc08+0a3cOYoSoRKLE
|
||||
i/drXsQpQhJHOhzZWXinld37vEHc/1pa/HYv3QR+UAproGfZq4eGqBh6cIYY87fW7nHk
|
||||
lsmg==
|
||||
X-Gm-Message-State: AGi0PuYqEn+eRXnjHmfYwoSYQUy0ZK+SX7Vpbgu/XErfwPhXok1ZAmWe
|
||||
N87IAyxXhJOQCMJxw6TgfSo=
|
||||
X-Google-Smtp-Source: APiQypLsj3XpHj4CyxtmOjlqdZs3DB8oJEEo2ghhT6QywH/SywA9LShfe1OCbQ3t6MmEGWRd+WIiVw==
|
||||
X-Received: by 2002:a1c:41d7:: with SMTP id o206mr194590wma.89.1587400987185;
|
||||
Mon, 20 Apr 2020 09:43:07 -0700 (PDT)
|
||||
Received: from arrakis.kwizart.net (lfbn-nic-1-185-211.w2-15.abo.wanadoo.fr.
|
||||
[2.15.34.211])
|
||||
by smtp.gmail.com with ESMTPSA id l4sm47922wrv.60.2020.04.20.09.43.05
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Mon, 20 Apr 2020 09:43:06 -0700 (PDT)
|
||||
From: Nicolas Chauvet <kwizart@gmail.com>
|
||||
To: Manikanta Maddireddy <mmaddireddy@nvidia.com>,
|
||||
Thierry Reding <thierry.reding@gmail.com>,
|
||||
Jonathan Hunter <jonathanh@nvidia.com>
|
||||
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
|
||||
linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org,
|
||||
Nicolas Chauvet <kwizart@gmail.com>
|
||||
Subject: [RFC] PCI: tegra: Revert raw_violation_fixup for tegra124
|
||||
Date: Mon, 20 Apr 2020 18:43:04 +0200
|
||||
Message-Id: <20200420164304.28810-1-kwizart@gmail.com>
|
||||
X-Mailer: git-send-email 2.25.2
|
||||
MIME-Version: 1.0
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
As reported in https://bugzilla.kernel.org/206217 , raw_violation_fixup
|
||||
is causing more harm than good in some common use-cases.
|
||||
|
||||
This patch as RFC is a partial revert of the 191cd6fb5 commit:
|
||||
"PCI: tegra: Add SW fixup for RAW violations"
|
||||
that was first introduced in 5.3 kernel.
|
||||
This fix the following regression since then.
|
||||
|
||||
|
||||
When using both the network NIC and I/O on MMC this can lead to the
|
||||
following message on jetson-tk1:
|
||||
|
||||
NETDEV WATCHDOG: enp1s0 (r8169): transmit queue 0 timed out
|
||||
|
||||
and
|
||||
|
||||
pcieport 0000:00:02.0: AER: Uncorrected (Non-Fatal) error received: 0000:01:00.0
|
||||
r8169 0000:01:00.0: AER: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID)
|
||||
r8169 0000:01:00.0: AER: device [10ec:8168] error status/mask=00004000/00400000
|
||||
r8169 0000:01:00.0: AER: [14] CmpltTO (First)
|
||||
r8169 0000:01:00.0: AER: can't recover (no error_detected callback)
|
||||
pcieport 0000:00:02.0: AER: device recovery failed
|
||||
|
||||
|
||||
After that, the ethernet NIC isn't functional anymore even after reloading
|
||||
the module.
|
||||
After a reboot, this is reproducible by copying a large file over the
|
||||
ethernet NIC to the MMC.
|
||||
For some reasons this cannot be reproduced when the same file is copied
|
||||
to a tmpfs.
|
||||
|
||||
|
||||
This patch is RFC because it requires more understanding from Nvidia.
|
||||
- Is the fixup (available in l4t downstrem) still needed for upstream ?
|
||||
- Is there a need to update the fixup values for upstream ?
|
||||
- If the fixup is reverted, does the hw bug can still be seen with
|
||||
upstream ?
|
||||
|
||||
Others can also provides more understanding:
|
||||
- Conditions to reproduce the bug (or not)...
|
||||
|
||||
|
||||
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
|
||||
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
|
||||
---
|
||||
drivers/pci/controller/pci-tegra.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
|
||||
index 3e64ba6a36a8..4027e074094a 100644
|
||||
--- a/drivers/pci/controller/pci-tegra.c
|
||||
+++ b/drivers/pci/controller/pci-tegra.c
|
||||
@@ -2470,7 +2470,7 @@ static const struct tegra_pcie_soc tegra124_pcie = {
|
||||
.program_uphy = true,
|
||||
.update_clamp_threshold = true,
|
||||
.program_deskew_time = false,
|
||||
- .raw_violation_fixup = true,
|
||||
+ .raw_violation_fixup = false,
|
||||
.update_fc_timer = false,
|
||||
.has_cache_bars = false,
|
||||
.ectl.enable = false,
|
||||
10
TODO
Normal file
10
TODO
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
Config TODOs:
|
||||
* review & disable a bunch of the I2C, RTC, DVB, SOUND options.
|
||||
|
||||
Spec file TODOs:
|
||||
|
||||
* modules-extra: Do a few more things to make it a bit more robust.
|
||||
- Allow for comments in the mod-extra.list file.
|
||||
- Don't fail the build if a module is listed but not built (maybe).
|
||||
- See if it can be tied into Kconfig instead of module names.
|
||||
|
||||
671
USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
Normal file
671
USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
Normal file
|
|
@ -0,0 +1,671 @@
|
|||
From patchwork Tue Mar 24 18:28:09 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456187
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 884BD1667
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 64FF0206F6
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="G3ed3Qzw"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 64FF0206F6
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=ZW8pFtwlUj3q7GZJotB4Rgjtfp9gMy+l74jJQcTab0w=; b=G3ed3QzwnvX3MD
|
||||
lHn7XDGcdKtGCuuX/Xhmoz/5j7Rgw1hOz3+8tGJaH+BigLM7Kfms9kB2c3chHrDwTH5SW0LzlU8el
|
||||
hxpbcJnVFy3VLdCMUrvQUXY0SmOcoSSN3NK032HxlqAKSa5HPE3dTBWheiUGKlZ6c3A9dGItYzD6I
|
||||
M4WO+9b0wHM1KMMrsyVo51ysdAFEXtSym1xNN+pW/tE9ak+/bFHxMW1XcMNrVwo9R43U5JSvmcC0M
|
||||
OKBYNAYFpFWx3n3wvAaFQkBEkmH3QmPBd0aiE8UTGk6CY0VHwjbVcE7u7daksOPLrZgsRgqmLRatE
|
||||
98WbgEKpzDu7mgvLn5zw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIP-0002bD-LX; Tue, 24 Mar 2020 18:29:01 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024O-PS; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 4A537ABD1;
|
||||
Tue, 24 Mar 2020 18:28:22 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v6 1/4] soc: bcm2835: Sync xHCI reset firmware property with
|
||||
downstream
|
||||
Date: Tue, 24 Mar 2020 19:28:09 +0100
|
||||
Message-Id: <20200324182812.20420-2-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112826_965603_11D899C2
|
||||
X-CRM114-Status: GOOD ( 13.71 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The property is needed in order to trigger VL805's firmware load. Note
|
||||
that there is a gap between the property introduced and the previous
|
||||
one. This is also the case downstream.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
index 7800e12ee042..cc9cdbc66403 100644
|
||||
--- a/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag {
|
||||
RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
|
||||
RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049,
|
||||
RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050,
|
||||
-
|
||||
+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058,
|
||||
|
||||
/* Dispmanx TAGS */
|
||||
RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
|
||||
|
||||
From patchwork Tue Mar 24 18:28:10 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456191
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C4D571731
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 9A787206F6
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="Z5B/3JRW"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A787206F6
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=kAIknZ2RVw6gB9CaOcG4KQjgkdNyrtcLcfH5XAGtITo=; b=Z5B/3JRWWCVYHI
|
||||
AsxnYFEFit0NnrRvZDbi0ktp8wUbVrztmKRPQWvfaWSlelJEKdEpJhHItnpicKfR5JhfHFsPt3V3X
|
||||
i29DtdYSOr/cjW/qeoakzXY0b1ApjrrK3MWjX/k0k9SVqGwkq6KT3T3qok969KInPAe0ERZ9bYkP1
|
||||
P2Jj1QT0QtCfcd0PsSjn4riMP09KNZVuviLm2bcg3Cr78qfIq6gDHHoS1nqPzdEt4gG+i/s66lTFY
|
||||
Dd3vPgItuRBvzgAjWdT4Bvx41u82KONuYDshYftzUZX7pxh76o4PwtPoPt/A4hJT0pZZe9MB6pQlM
|
||||
JwbBVC2fhM1afv00diOw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIm-00032a-5v; Tue, 24 Mar 2020 18:29:24 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024W-PL; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 3F0CFABE7;
|
||||
Tue, 24 Mar 2020 18:28:23 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com
|
||||
Subject: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine
|
||||
Date: Tue, 24 Mar 2020 19:28:10 +0100
|
||||
Message-Id: <20200324182812.20420-3-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112827_110873_06144E1C
|
||||
X-CRM114-Status: GOOD ( 15.67 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
loaded directly from an EEPROM or, if not present, by the SoC's
|
||||
VideCore. The function informs VideCore that VL805 was just reset, or
|
||||
requests for a probe defer.
|
||||
|
||||
Based on Tim Gover's downstream implementation.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
Changes since v4:
|
||||
- Inline function definition when RASPBERRYPI_FIRMWARE is not defined
|
||||
|
||||
Changes since v1:
|
||||
- Move include into .c file and add forward declaration to .h
|
||||
|
||||
drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++
|
||||
include/soc/bcm2835/raspberrypi-firmware.h | 7 ++++
|
||||
2 files changed, 45 insertions(+)
|
||||
|
||||
diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
|
||||
index da26a584dca0..cbb495aff6a0 100644
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
+#include <linux/pci.h>
|
||||
#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
|
||||
#define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf))
|
||||
@@ -286,6 +287,43 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpi_firmware_get);
|
||||
|
||||
+/*
|
||||
+ * On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
+ * loaded directly from an EEPROM or, if not present, by the SoC's VideCore.
|
||||
+ * Inform VideCore that VL805 was just reset, or defer xhci's probe if not yet
|
||||
+ * joinable trough the mailbox interface.
|
||||
+ */
|
||||
+int rpi_firmware_init_vl805(struct pci_dev *pdev)
|
||||
+{
|
||||
+ struct device_node *fw_np;
|
||||
+ struct rpi_firmware *fw;
|
||||
+ u32 dev_addr;
|
||||
+ int ret;
|
||||
+
|
||||
+ fw_np = of_find_compatible_node(NULL, NULL,
|
||||
+ "raspberrypi,bcm2835-firmware");
|
||||
+ if (!fw_np)
|
||||
+ return 0;
|
||||
+
|
||||
+ fw = rpi_firmware_get(fw_np);
|
||||
+ of_node_put(fw_np);
|
||||
+ if (!fw)
|
||||
+ return -EPROBE_DEFER;
|
||||
+
|
||||
+ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
|
||||
+ PCI_FUNC(pdev->devfn) << 12;
|
||||
+
|
||||
+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
|
||||
+ &dev_addr, sizeof(dev_addr));
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
|
||||
+
|
||||
static const struct of_device_id rpi_firmware_of_match[] = {
|
||||
{ .compatible = "raspberrypi,bcm2835-firmware", },
|
||||
{},
|
||||
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
index cc9cdbc66403..3025aca3c358 100644
|
||||
--- a/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <linux/of_device.h>
|
||||
|
||||
struct rpi_firmware;
|
||||
+struct pci_dev;
|
||||
|
||||
enum rpi_firmware_property_status {
|
||||
RPI_FIRMWARE_STATUS_REQUEST = 0,
|
||||
@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw,
|
||||
int rpi_firmware_property_list(struct rpi_firmware *fw,
|
||||
void *data, size_t tag_size);
|
||||
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
|
||||
+int rpi_firmware_init_vl805(struct pci_dev *pdev);
|
||||
#else
|
||||
static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag,
|
||||
void *data, size_t len)
|
||||
@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
+
|
||||
+static inline int rpi_firmware_init_vl805(struct pci_dev *pdev)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
#endif
|
||||
|
||||
#endif /* __SOC_RASPBERRY_FIRMWARE_H__ */
|
||||
|
||||
From patchwork Tue Mar 24 18:28:11 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456189
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 168CB1667
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:15 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id EAB942076E
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:14 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="BOwwgdOE"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EAB942076E
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=CLmK04T+baw5jWu/lH2cJ3fygso/fqFgoMOSigkpvRw=; b=BOwwgdOEAmbVoa
|
||||
/8AtILxDfcKBVhbig0LKPFd94roUQzY/SylcBG5jWceT90PE3BxYgomfaBA6U41LW9Xe5LZsfylId
|
||||
/IP3RNq34yRDWPXo3WWkLFYEtwJB60SWZlD8BG+ApGeUJ9z6vXTL9h3K9ThLwhFycZOkSxtDMicCG
|
||||
vkP4ErkYnvASxQ021+lq/VxFgdnvtKcw2OE+ghhRHgOn8dc+/dJHCp8vi33Qrk9DFhKSGnSX/A5vz
|
||||
E84/rlt964N9kXLE2npw9hNrj6DdrQozcB9YTAEL9S/krTUmOLI/iWS/DZEUA50xy9wVBqD9Bm78x
|
||||
TS0oeyfH49HaUmd10Y6w==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIa-0002oW-NS; Tue, 24 Mar 2020 18:29:12 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHr-00024Z-2w; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 1A1A0ABF4;
|
||||
Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com,
|
||||
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
|
||||
Andrew Murray <amurray@thegoodpenguin.co.uk>
|
||||
Subject: [PATCH v6 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when
|
||||
present
|
||||
Date: Tue, 24 Mar 2020 19:28:11 +0100
|
||||
Message-Id: <20200324182812.20420-4-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112827_267470_0540B982
|
||||
X-CRM114-Status: GOOD ( 12.13 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
|
||||
wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on
|
||||
RPi4's VideoCore firmware interface to be up and running. It's possible
|
||||
for both initializations to race, so make sure it's available prior to
|
||||
starting.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
|
||||
index 3a10e678c7f4..a3d3070a5832 100644
|
||||
--- a/drivers/pci/controller/pcie-brcmstb.c
|
||||
+++ b/drivers/pci/controller/pcie-brcmstb.c
|
||||
@@ -28,6 +28,8 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
+#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
+
|
||||
#include "../pci.h"
|
||||
|
||||
/* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
|
||||
@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node, *msi_np;
|
||||
struct pci_host_bridge *bridge;
|
||||
+ struct device_node *fw_np;
|
||||
struct brcm_pcie *pcie;
|
||||
struct pci_bus *child;
|
||||
struct resource *res;
|
||||
int ret;
|
||||
|
||||
+ /*
|
||||
+ * We have to wait for the Raspberry Pi's firmware interface to be up
|
||||
+ * as some PCI fixups depend on it.
|
||||
+ */
|
||||
+ fw_np = of_find_compatible_node(NULL, NULL,
|
||||
+ "raspberrypi,bcm2835-firmware");
|
||||
+ if (fw_np && !rpi_firmware_get(fw_np)) {
|
||||
+ of_node_put(fw_np);
|
||||
+ return -EPROBE_DEFER;
|
||||
+ }
|
||||
+ of_node_put(fw_np);
|
||||
+
|
||||
bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
|
||||
if (!bridge)
|
||||
return -ENOMEM;
|
||||
|
||||
From patchwork Tue Mar 24 18:28:12 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456185
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AD453174A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 8690720789
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="BSDoMdbd"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8690720789
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=YaBoM78lqEEmZOW4u4cO0fQ+Qpc7vocOU6aRT/EpQsk=; b=BSDoMdbdXfJNCB
|
||||
Ccoti2K8Qk9NgAlOnVt60cLhw66HCbJPwZn1v08f/rr05ZIoPMToFkJt5krqew7Vd+jlZnzMxf8MC
|
||||
lBfOqOev9hIjbyu19c646LbpbqVrtrtm9vmy6Lvd2GGuQuvybpM0RHDvc2wzv8a3fejGMgKStaQ/3
|
||||
Efne01FoiZvWBedWpTdsoGJbFzfSb4ua/8JT2Ki04i9itY4oTZs9itKK1Taqe3WfNDphluuFcmdGx
|
||||
nNxQK/PkA6XCdpJHxaCz3DtyZj/2NhAqd8roXn+PUt5SG00Tfc6auERZQPLtTinW6m9ZaUkBhjJQ0
|
||||
GHUMyyLHvQ583h1ty9ow==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoI3-0002Hl-Jz; Tue, 24 Mar 2020 18:28:39 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024d-Jc; Tue, 24 Mar 2020 18:28:28 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id EE53FABF6;
|
||||
Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Mathias Nyman <mathias.nyman@intel.com>
|
||||
Subject: [PATCH v6 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk
|
||||
Date: Tue, 24 Mar 2020 19:28:12 +0100
|
||||
Message-Id: <20200324182812.20420-5-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112826_791336_2ABB38D1
|
||||
X-CRM114-Status: GOOD ( 16.34 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: f.fainelli@gmail.com, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, tim.gover@raspberrypi.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
|
||||
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
|
||||
wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
loaded directly from an EEPROM or, if not present, by the SoC's
|
||||
VideCore. Inform VideCore that VL805 was just reset.
|
||||
|
||||
Also, as this creates a dependency between USB_PCI and VideoCore's
|
||||
firmware interface. Since USB_PCI can't be set as a module neither this
|
||||
should.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
|
||||
Changes since v5:
|
||||
- Fix Kconfig issue with allmodconfig
|
||||
|
||||
Changes since v4:
|
||||
- Do not split up error message
|
||||
|
||||
Changes since v3:
|
||||
- Add more complete error message
|
||||
|
||||
Changes since v1:
|
||||
- Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it
|
||||
gets compiled when needed.
|
||||
|
||||
drivers/firmware/Kconfig | 3 ++-
|
||||
drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
|
||||
2 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
|
||||
index ea869addc89b..78ab2ad6d3f0 100644
|
||||
--- a/drivers/firmware/Kconfig
|
||||
+++ b/drivers/firmware/Kconfig
|
||||
@@ -178,8 +178,9 @@ config ISCSI_IBFT
|
||||
Otherwise, say N.
|
||||
|
||||
config RASPBERRYPI_FIRMWARE
|
||||
- tristate "Raspberry Pi Firmware Driver"
|
||||
+ bool "Raspberry Pi Firmware Driver"
|
||||
depends on BCM2835_MBOX
|
||||
+ default USB_PCI
|
||||
help
|
||||
This option enables support for communicating with the firmware on the
|
||||
Raspberry Pi.
|
||||
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
|
||||
index beb2efa71341..0dc34668bb2a 100644
|
||||
--- a/drivers/usb/host/pci-quirks.c
|
||||
+++ b/drivers/usb/host/pci-quirks.c
|
||||
@@ -16,6 +16,9 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/dmi.h>
|
||||
+
|
||||
+#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
+
|
||||
#include "pci-quirks.h"
|
||||
#include "xhci-ext-caps.h"
|
||||
|
||||
@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
|
||||
|
||||
static void quirk_usb_early_handoff(struct pci_dev *pdev)
|
||||
{
|
||||
+ int ret;
|
||||
+
|
||||
/* Skip Netlogic mips SoC's internal PCI USB controller.
|
||||
* This device does not need/support EHCI/OHCI handoff
|
||||
*/
|
||||
if (pdev->vendor == 0x184e) /* vendor Netlogic */
|
||||
return;
|
||||
+
|
||||
+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
|
||||
+ ret = rpi_firmware_init_vl805(pdev);
|
||||
+ if (ret) {
|
||||
+ /* Firmware might be outdated, or something failed */
|
||||
+ dev_warn(&pdev->dev,
|
||||
+ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n",
|
||||
+ ret);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI &&
|
||||
pdev->class != PCI_CLASS_SERIAL_USB_OHCI &&
|
||||
pdev->class != PCI_CLASS_SERIAL_USB_EHCI &&
|
||||
374
arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
Normal file
374
arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
From 6c92ae1e452ff3f4648b1450c9a3233a2ca53feb Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Fri, 6 Mar 2020 18:44:03 +0100
|
||||
Subject: mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
|
||||
|
||||
Some controllers diverge from the standard way of setting power and need
|
||||
their bus voltage register to be configured regardless of the whether
|
||||
they use regulators. As this is a common pattern across sdhci hosts,
|
||||
create a helper function.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
||||
Link: https://lore.kernel.org/r/20200306174413.20634-2-nsaenzjulienne@suse.de
|
||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
---
|
||||
drivers/mmc/host/sdhci.c | 19 +++++++++++++++++++
|
||||
drivers/mmc/host/sdhci.h | 3 +++
|
||||
2 files changed, 22 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
|
||||
index c59566363a42..525e0c971c6a 100644
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2010,6 +2010,25 @@ void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_set_power);
|
||||
|
||||
+/*
|
||||
+ * Some controllers need to configure a valid bus voltage on their power
|
||||
+ * register regardless of whether an external regulator is taking care of power
|
||||
+ * supply. This helper function takes care of it if set as the controller's
|
||||
+ * sdhci_ops.set_power callback.
|
||||
+ */
|
||||
+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
|
||||
+ unsigned char mode,
|
||||
+ unsigned short vdd)
|
||||
+{
|
||||
+ if (!IS_ERR(host->mmc->supply.vmmc)) {
|
||||
+ struct mmc_host *mmc = host->mmc;
|
||||
+
|
||||
+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
|
||||
+ }
|
||||
+ sdhci_set_power_noreg(host, mode, vdd);
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage);
|
||||
+
|
||||
/*****************************************************************************\
|
||||
* *
|
||||
* MMC callbacks *
|
||||
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
|
||||
index 249635692112..851b81565f46 100644
|
||||
--- a/drivers/mmc/host/sdhci.h
|
||||
+++ b/drivers/mmc/host/sdhci.h
|
||||
@@ -772,6 +772,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock);
|
||||
void sdhci_enable_clk(struct sdhci_host *host, u16 clk);
|
||||
void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
|
||||
unsigned short vdd);
|
||||
+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
|
||||
+ unsigned char mode,
|
||||
+ unsigned short vdd);
|
||||
void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
|
||||
unsigned short vdd);
|
||||
void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq);
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
From f87391eec2c5f54269e64d655da19f2c32515e4c Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Fri, 6 Mar 2020 18:44:11 +0100
|
||||
Subject: mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
|
||||
|
||||
The controller needs a valid bus voltage in its power register
|
||||
regardless of whether an external regulator is taking care of the power
|
||||
supply.
|
||||
|
||||
The sdhci core already provides a helper function for this,
|
||||
sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct
|
||||
sdhci_ops' which makes use of it.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
||||
Link: https://lore.kernel.org/r/20200306174413.20634-10-nsaenzjulienne@suse.de
|
||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
---
|
||||
drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
|
||||
index f4f5f0a70cda..225603148d7d 100644
|
||||
--- a/drivers/mmc/host/sdhci-iproc.c
|
||||
+++ b/drivers/mmc/host/sdhci-iproc.c
|
||||
@@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = {
|
||||
.mmc_caps = 0x00000000,
|
||||
};
|
||||
|
||||
+static const struct sdhci_ops sdhci_iproc_bcm2711_ops = {
|
||||
+ .read_l = sdhci_iproc_readl,
|
||||
+ .read_w = sdhci_iproc_readw,
|
||||
+ .read_b = sdhci_iproc_readb,
|
||||
+ .write_l = sdhci_iproc_writel,
|
||||
+ .write_w = sdhci_iproc_writew,
|
||||
+ .write_b = sdhci_iproc_writeb,
|
||||
+ .set_clock = sdhci_set_clock,
|
||||
+ .set_power = sdhci_set_power_and_bus_voltage,
|
||||
+ .get_max_clock = sdhci_iproc_get_max_clock,
|
||||
+ .set_bus_width = sdhci_set_bus_width,
|
||||
+ .reset = sdhci_reset,
|
||||
+ .set_uhs_signaling = sdhci_set_uhs_signaling,
|
||||
+};
|
||||
+
|
||||
static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = {
|
||||
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
|
||||
- .ops = &sdhci_iproc_32only_ops,
|
||||
+ .ops = &sdhci_iproc_bcm2711_ops,
|
||||
};
|
||||
|
||||
static const struct sdhci_iproc_data bcm2711_data = {
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
From patchwork Fri Mar 6 17:44:12 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11424593
|
||||
Return-Path:
|
||||
<SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D86014E3
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 7BFCB2072A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="YjdlKV21"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BFCB2072A
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=uwmoUBe7WYtSPXJudhI4GM1SShwysP2rkzh9oA/iygA=; b=YjdlKV21P2YnYd
|
||||
uFZk/zUDicQRMv6kHWHSeOubxKYNNZjuVUmkI6PWtCuEt37bz+3qPjaDWjY6QO0qR9wHKzxaPikjZ
|
||||
upSKvBHf9jcYSON0gQhjCxZEGnfO3zrdObtnjdQFTTE9rJPiUXe+bIsvhqlNCO/5Xq4pXjSVR81Fw
|
||||
IVfXtxtw0tmDjrN7VDqH+dhvUPrvLDRnXOHnolvQfQyuvyvSZ9I7Wn/c4fFJsZemBA7mjvORI7cTd
|
||||
lVRuIqACikY2bT4Zh+ZtglOCFxtlNjCe60Dj94AnA/j51dvC8MHQOOD+HGKjGzKBwk5FONXjvKeUZ
|
||||
kR8WGaZiQsG3hj3hzxyw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH3k-0003wN-91; Fri, 06 Mar 2020 17:46:52 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH1V-00085X-Ut; Fri, 06 Mar 2020 17:44:35 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 8906AACC2;
|
||||
Fri, 6 Mar 2020 17:44:32 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
|
||||
Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2 10/11] ARM: dts: bcm2711: Update expgpio's GPIO labels
|
||||
Date: Fri, 6 Mar 2020 18:44:12 +0100
|
||||
Message-Id: <20200306174413.20634-11-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200306_094434_171925_0978A2DC
|
||||
X-CRM114-Status: GOOD ( 11.64 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
|
||||
linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The 6th line of the GPIO expander is used to power the board's SD card.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 1d4b589fe233..b0ea8233b636 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -68,7 +68,7 @@ expgpio: gpio {
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
- "",
|
||||
+ "SD_PWR_ON",
|
||||
"";
|
||||
status = "okay";
|
||||
};
|
||||
From patchwork Fri Mar 6 17:44:13 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11424599
|
||||
Return-Path:
|
||||
<SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9E8E14BC
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 86F7120656
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="nK9IFX75"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F7120656
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=yrr+wQNcWoBzz3a/8/AcMlS2enrwpsgYIWUpL8bLv8o=; b=nK9IFX75hVaG6g
|
||||
t8PhPIHJnIGtQxqZ65valF8dAq8JXeUle2mgnW5xdfa/YWcgzajD9/LaS1qMXKW7wDU/rQ0GbSW9t
|
||||
+8F8v8NQzCf34sfHmFBEl30S1pJN/dQVJKJk0kmx6/P9N+ig3vAyMVsPsXq1Xij+OU0aU8SU1V+mE
|
||||
nZnwLti9oSRWY6sNhg1MoHB2DNBt/FBNtROGqiXh13ngQTg8C/HgYapnJnXb+GjrutVM2DzH+i/tG
|
||||
OtgGRm0XoLRz5QjavZZHPmlHUm8pMxfgllYbUvrESNgDT06vBiPj4idCN7X1XXxxoqPsP3/k8kido
|
||||
Py713+dNVA1gqQEWqG1g==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH4a-0004vA-Os; Fri, 06 Mar 2020 17:47:44 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH1W-00086J-W9; Fri, 06 Mar 2020 17:44:36 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 8D8E5AEC5;
|
||||
Fri, 6 Mar 2020 17:44:33 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
|
||||
Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2 11/11] ARM: dts: bcm2711: Add vmmc regulator in emmc2
|
||||
Date: Fri, 6 Mar 2020 18:44:13 +0100
|
||||
Message-Id: <20200306174413.20634-12-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200306_094435_205829_20FE02CB
|
||||
X-CRM114-Status: GOOD ( 10.34 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
|
||||
linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The SD card power can be controlled trough a pin routed into the board's
|
||||
external GPIO expander. Turn that into a regulator and provide it to
|
||||
emmc2.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index b0ea8233b636..a2da058396fe 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -55,6 +55,16 @@ sd_io_1v8_reg: sd_io_1v8_reg {
|
||||
3300000 0x0>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+ sd_vcc_reg: sd_vcc_reg {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-sd";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-boot-on;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&firmware {
|
||||
@@ -173,6 +183,7 @@ brcmf: wifi@1 {
|
||||
/* EMMC2 is used to drive the SD card */
|
||||
&emmc2 {
|
||||
vqmmc-supply = <&sd_io_1v8_reg>;
|
||||
+ vmmc-supply = <&sd_vcc_reg>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
47
arm-bcm2835-serial-8250_early-support-aux-uart.patch
Normal file
47
arm-bcm2835-serial-8250_early-support-aux-uart.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Brugger <mbrugger@suse.com>
|
||||
Date: Sun, 26 Jan 2020 13:33:14 +0100
|
||||
Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart
|
||||
|
||||
Define the OF early console for BCM2835 aux UART, which can be enabled
|
||||
by passing "earlycon" on the boot command line. This UART is found on
|
||||
BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants.
|
||||
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
index e70e3cc30050..5cc03bf24f85 100644
|
||||
--- a/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
+++ b/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = {
|
||||
};
|
||||
module_platform_driver(bcm2835aux_serial_driver);
|
||||
|
||||
+#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
+
|
||||
+static int __init early_bcm2835aux_setup(struct earlycon_device *device,
|
||||
+ const char *options)
|
||||
+{
|
||||
+ if (!device->port.membase)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ device->port.iotype = UPIO_MEM32;
|
||||
+ device->port.regshift = 2;
|
||||
+
|
||||
+ return early_serial8250_setup(device, NULL);
|
||||
+}
|
||||
+
|
||||
+OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart",
|
||||
+ early_bcm2835aux_setup);
|
||||
+#endif
|
||||
+
|
||||
MODULE_DESCRIPTION("BCM2835 auxiliar UART driver");
|
||||
MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
31
arm-make-highpte-not-expert.patch
Normal file
31
arm-make-highpte-not-expert.patch
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
From 19908e5fe3e63ed2d39f0a8a9135f35fd428d766 Mon Sep 17 00:00:00 2001
|
||||
From: Jon Masters <jcm@redhat.com>
|
||||
Date: Thu, 18 Jul 2019 15:47:26 -0400
|
||||
Subject: [PATCH] arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT
|
||||
|
||||
We will use this to force CONFIG_HIGHPTE off on LPAE for now
|
||||
|
||||
Signed-off-by: Jon Masters <jcm@redhat.com>
|
||||
---
|
||||
arch/arm/Kconfig | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 2bf1ce39a96d..e792b3e60095 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1644,9 +1644,9 @@ config HIGHMEM
|
||||
If unsure, say n.
|
||||
|
||||
config HIGHPTE
|
||||
- bool "Allocate 2nd-level pagetables from highmem" if EXPERT
|
||||
+ bool "Allocate 2nd-level pagetables from highmem"
|
||||
depends on HIGHMEM
|
||||
- default y
|
||||
+ default n
|
||||
help
|
||||
The VM uses one page of physical memory for each page table.
|
||||
For systems with a lot of processes, this can use a lot of
|
||||
--
|
||||
2.17.2
|
||||
|
||||
29
arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
Normal file
29
arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
From 487ff7b0e537506057960a0c2d9482d19f2acf4a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 26 Apr 2017 11:12:54 +0100
|
||||
Subject: [PATCH] Add option of 13 for FORCE_MAX_ZONEORDER
|
||||
|
||||
This is a hack, but it's what the other distros currently use
|
||||
for aarch64 with 4K pages so we'll do the same while upstream
|
||||
decides what the best outcome is (which isn't this).
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/Kconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|
||||
index 3741859765cf..deec9511f1d3 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -751,6 +751,7 @@ config XEN
|
||||
config FORCE_MAX_ZONEORDER
|
||||
int
|
||||
default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
|
||||
+ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES)
|
||||
default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
|
||||
default "11"
|
||||
help
|
||||
--
|
||||
2.12.2
|
||||
|
||||
50
arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
Normal file
50
arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
From c45fbddb2cd7ce6198e33ebe6dc4c1301d7875d4 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 19 Apr 2020 20:50:08 +0100
|
||||
Subject: [PATCH] Fix some GPIO setup on Pinebook Pro
|
||||
|
||||
This patchset contains two small fixes for the dts of the Pinebook Pro.
|
||||
The first fixes inverted logic on the headphone detect GPIO.
|
||||
The second patch fixes unreliable DC charger detection.
|
||||
|
||||
Tobias Schramm (2):
|
||||
arm64: dts: rockchip: fix inverted headphone detection
|
||||
arm64: dts: rockchip: enable DC charger detection pullup
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
index 5ea281b55fe2..294d21bf45f5 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
@@ -147,7 +147,7 @@ es8316-sound {
|
||||
"Speaker", "Speaker Amplifier OUTL",
|
||||
"Speaker", "Speaker Amplifier OUTR";
|
||||
|
||||
- simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
simple-audio-card,aux-devs = <&speaker_amp>;
|
||||
simple-audio-card,pin-switches = "Speaker";
|
||||
|
||||
@@ -788,13 +788,13 @@ lidbtn_gpio: lidbtn-gpio {
|
||||
|
||||
dc-charger {
|
||||
dc_det_gpio: dc-det-gpio {
|
||||
- rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
es8316 {
|
||||
hp_det_gpio: hp-det-gpio {
|
||||
- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.26.1
|
||||
|
||||
69
arm64-a64-mbus.patch
Normal file
69
arm64-a64-mbus.patch
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
From daae9f66b29a04a94708b1b5a9b61e3ee14df031 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Mon, 10 Feb 2020 18:06:52 +0100
|
||||
Subject: [PATCH 1/2] dt-bindings: interconnect: sunxi: Add A64 MBUS compatible
|
||||
|
||||
A64 contains MBUS controller. Add a compatible for it.
|
||||
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
index 9370e64992dd..aa0738b4d534 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
@@ -30,6 +30,7 @@ properties:
|
||||
enum:
|
||||
- allwinner,sun5i-a13-mbus
|
||||
- allwinner,sun8i-h3-mbus
|
||||
+ - allwinner,sun50i-a64-mbus
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 410bb2be7e1f1d329c238e2d6d06b6c25dcee404 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Mon, 10 Feb 2020 18:06:54 +0100
|
||||
Subject: [PATCH 2/2] arm64: dts: allwinner: a64: Add MBUS controller node
|
||||
|
||||
A64 contains MBUS, which is the bus used by DMA devices to access
|
||||
system memory.
|
||||
|
||||
MBUS controller is responsible for arbitration between channels based
|
||||
on set priority and can do some other things as well, like report
|
||||
bandwidth used. It also maps RAM region to different address than CPU.
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 862b47dc9dc9..251c91724de1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -1061,6 +1061,14 @@ pwm: pwm@1c21400 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ mbus: dram-controller@1c62000 {
|
||||
+ compatible = "allwinner,sun50i-a64-mbus";
|
||||
+ reg = <0x01c62000 0x1000>;
|
||||
+ clocks = <&ccu 112>;
|
||||
+ dma-ranges = <0x00000000 0x40000000 0xc0000000>;
|
||||
+ #interconnect-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
csi: csi@1cb0000 {
|
||||
compatible = "allwinner,sun50i-a64-csi";
|
||||
reg = <0x01cb0000 0x1000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
200
arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
Normal file
200
arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
From patchwork Tue Feb 11 13:48:28 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
X-Patchwork-Id: 11375533
|
||||
Return-Path:
|
||||
<SRS0=9UBk=37=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DAC92A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id C5EA020714
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="balGUEE3";
|
||||
dkim=fail reason="signature verification failed" (2048-bit key)
|
||||
header.d=gmail.com header.i=@gmail.com header.b="d3FXu4Dc"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5EA020714
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=fail (p=none dis=none) header.from=gmail.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
|
||||
Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
|
||||
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
|
||||
References:List-Owner; bh=Q9Eedrpm+ZQezEHXcjojgCHrYwg1NSmbBzGRJC6OAEs=; b=bal
|
||||
GUEE3cweBEy/Vkjzf2O1dBoqXUeIQqctHowPUTw4Z2UghEKFuNfNsw8XoV+k/9uxO4M/XaDCgWyyp
|
||||
qf26Y3SZo9+k2pqbjJt+qdqndF06tTHiH7QPQGbaWEBxURzOD+G1VW8Iyjvfi0f9vrXbv8d9b9+DI
|
||||
LPpFdD/7IwXQZEYsPmaSEitj7mQXBlWZnRZrvrQfYtxXb3yABUQIUrBtZSoARs4A+Txn4vOFlT6B4
|
||||
HOAidlwfT8hESddkvjjmeCAuPLXUyIBvDoSaYgAumOSh1xoUZsswM2ALud+R1XKVlGlAd1BE6uHt2
|
||||
bWDUHrcXdge45JTn/egO1ibajqTlB/g==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j1VuW-0004DJ-JR; Tue, 11 Feb 2020 13:49:08 +0000
|
||||
Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j1VuM-0003zu-98
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 13:48:59 +0000
|
||||
Received: by mail-qt1-x841.google.com with SMTP id t13so7964724qto.3
|
||||
for <linux-arm-kernel@lists.infradead.org>;
|
||||
Tue, 11 Feb 2020 05:48:53 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
|
||||
h=from:to:cc:subject:date:message-id;
|
||||
bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
|
||||
b=d3FXu4DcpsHeeo7NBsq1Ec3f7OKhc4SsvQnIJenSnOtjREel9IF+kdR8ma1SWkO5OR
|
||||
Ou4s2dnBv7WOxC4OPWNV6d8KIVpBRVtM/ukAKzN6d3zx7MvBtQz1N27NoDx/a7ujHsmS
|
||||
jvZYtEEc8DToM7semtrIS3CUfnR8Jxni2Z/6WUP8wvMdDT8C1m2PB78zzz+BFas4vec2
|
||||
VRg0vXB9eGeEdlGGMFCs2IJ9nbGhw7o3VA3WFY8plHWMmjNInC6fLgpMiA40FBmv4BzV
|
||||
G9slDIDonCBacDdi6tPT8KEVnytqC8eiltqCoEj+hq8mYECNDQpWUjWhJQ4KRRh1aoXi
|
||||
oAuA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20161025;
|
||||
h=x-gm-message-state:from:to:cc:subject:date:message-id;
|
||||
bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
|
||||
b=VDw2Y7qVf/KFTneIHUcwsg23yYrIU2SHbDXAyjC6m5rgjl9cM292uJO9J1u+Op1Cu/
|
||||
dOhT15wf440CJpqMBTLTJJSuUVpomGxEXFT4qDa6Q84BqkWbFYl/d9HRJkcM1376rLVZ
|
||||
7nbzvWqSlLIu3wFgOabFryD13Mw65RJpKUn2vW0b7kInWJ/phJhDJ5+FwjVWJTXEIlsT
|
||||
LFN5gpS5hajAUubLcUmK8avcuJGka+vT8NkK608MO8NndwUp56g4BRs7Pk4S6wvttmy3
|
||||
F8ouwAvWF2idbxWjx9MGcaM/PVLhQpDmcif8AjlEhGnbBza4u5356N4S+SKZSkd43Grw
|
||||
8ZWA==
|
||||
X-Gm-Message-State: APjAAAUJWGlEecdg9M/V5ba1zVNwrP9LNv4AsXidTI7JEnOQd/PE0sMm
|
||||
I4AUmnPqcCuUaNiG7XoZiUw=
|
||||
X-Google-Smtp-Source:
|
||||
APXvYqybhzOEAAvHZbhKNes/s71zGxqa2omF1pXH9nVpHWlE7KVvcXMkRtBbOlD4T9UG/KxmmcCT+w==
|
||||
X-Received: by 2002:ac8:7caf:: with SMTP id z15mr14892626qtv.68.1581428933199;
|
||||
Tue, 11 Feb 2020 05:48:53 -0800 (PST)
|
||||
Received: from NXL86673.nxp.com ([177.221.114.206])
|
||||
by smtp.googlemail.com with ESMTPSA id h6sm2158936qtr.33.2020.02.11.05.48.50
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 11 Feb 2020 05:48:52 -0800 (PST)
|
||||
From: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
To: robh+dt@kernel.org
|
||||
Subject: [PATCH] arm64: dts: imx8mq-phanbell: Add support for ethernet
|
||||
Date: Tue, 11 Feb 2020 10:48:28 -0300
|
||||
Message-Id: <20200211134828.138-1-alifer.wsdm@gmail.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200211_054858_316312_8FE28FDF
|
||||
X-CRM114-Status: GOOD ( 10.43 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [2607:f8b0:4864:20:0:0:0:841 listed in]
|
||||
[list.dnswl.org]
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider [alifer.wsdm[at]gmail.com]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, festevam@gmail.com,
|
||||
s.hauer@pengutronix.de, linux-kernel@vger.kernel.org,
|
||||
Alifer Moraes <alifer.wsdm@gmail.com>, marco.franchi@nxp.com,
|
||||
shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Add support for ethernet on Google's i.MX 8MQ Phanbell
|
||||
|
||||
Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
---
|
||||
.../boot/dts/freescale/imx8mq-phanbell.dts | 41 +++++++++++++++++++
|
||||
1 file changed, 41 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
index 3f2a489a4ad8..16ed13c44a47 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
@@ -201,6 +201,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&fec1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_fec1>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
+ phy-reset-duration = <10>;
|
||||
+ phy-reset-post-delay = <30>;
|
||||
+ phy-handle = <ðphy0>;
|
||||
+ fsl,magic-packet;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ ethphy0: ethernet-phy@0 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
@@ -254,6 +275,26 @@
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
+ pinctrl_fec1: fec1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
+ MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23
|
||||
+ MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
|
||||
+ MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
|
||||
868
arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
Normal file
868
arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
Normal file
|
|
@ -0,0 +1,868 @@
|
|||
From patchwork Mon Jan 27 18:15:05 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 11353081
|
||||
Return-Path:
|
||||
<SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E75D71398
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:15:48 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id C51652087F
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:15:48 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="boj1KSY/"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C51652087F
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=i2se.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=vI+2qhhQ/ad2gqCbe5hUTYTYVj8IfAamleiL75V5TSM=; b=boj1KSY/v7nluMqljONFMsrQpY
|
||||
TIwo7rcohwHGuN2fwWIQvlOtuoNfi2Fq0p3Scukv0Q2ADP7S7q291VcafNnFU5KN1MrzMbRGe4GnM
|
||||
P3V6kUvf56szm1T1NS1MkTH0UxtSeASAdrde8x8OVZKQoaCTk7UON0PPOY27cnqVlh3c0YEdnjw7O
|
||||
mqUMZ1W2xfP/jLVZPipZOqiUkCPtyOl7fcUXPVJInCLU8Ap12h/ucwxm6p7sL/miLW+RLo0gKtso8
|
||||
vE/Ub+gXij8pNQBcHeQOS3T5w7YYAKX0ckGovHYTGCE5G9DP0PYvWHj2aUr39vu4U7SF87h2rVwQ8
|
||||
lsj/6XEg==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vL-0007qT-4l; Mon, 27 Jan 2020 18:15:47 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.130])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vI-0007pK-OI
|
||||
for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:46 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.152]) by
|
||||
mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MRmwM-1j2Dig1rly-00TAt5; Mon, 27 Jan 2020 19:15:40 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>
|
||||
Subject: [RFC PATCH 1/4] pinctrl: bcm2835: Drop unused define
|
||||
Date: Mon, 27 Jan 2020 19:15:05 +0100
|
||||
Message-Id: <1580148908-4863-2-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:lGg05mfNcExFSuIdqSja3VB+cOAOOVkxA1mUl+WjJLfuDEYN48s
|
||||
KCpfgqk9HemEgzwKhTMkYEgexHNzZfeVG5k5xAbv9CDheeQx24pa/Pz7dPaHD9i2zVtcPEX
|
||||
ugday3kFGFOvKGH3QCW8oxkE91P2/fJaGsnynRzDkoSe3RjqXABLPjZW+febQ6xUrd9aF8p
|
||||
OvDdu6E+cBesU1loyk22g==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:FBYTcl5hsyU=:/uJXPKY5G3RK2HKm3g2afF
|
||||
CA5JAlk5ZwkebJLV4bbQfKqE89ChkfNCYzAIhT9SgQhi22RYSBr1LmN//FwU0R3diFEvflVI4
|
||||
OPkci48gv0sh+mZnsk9a5fiLs2oAnSh5hggie4G8ZelqhAZ6n4CYEWIp+lz1bo5KPywuZxqek
|
||||
T8GpkbU4eb/oEicxOhC8lN0DwOFD5W3GliKQ1IpWDarfz8Y9a4d+EgeY0+iBjelJHlfR3e1Q4
|
||||
5TOF82NxXDkBp/4GoxSxM5JDUgoTnPvWCJ7ZFIchyrHbjc5NauAb/4e//OnNTPB8e7bKoOaH2
|
||||
HQ6XUp0Da/6crl8QtfuGEbHRAtkNZFJTRdT07zQtpcH89Cqto3IYQ9ND/7ijWcWxu5wb7Ve34
|
||||
RPM8gzArJAvou4fFeqPnnHkVmPuq3p5Xua81P7sTqXQN3m5U5RqmH8Lzr8w92FQrloZ2SMe9z
|
||||
XjYOrjAoxuxpe2x+H3tUoY4PwEgZjz7swAA8BeyYnRzumaAVvQgvNKrW2Qj9V73nKPwgtehvz
|
||||
hZDfvJgFBHEyfHVj4Fcz+N3r4xFIWS5o2UW5P2M2L2v7bQsckL4EkHWUHSjK5sJhQVDongIHo
|
||||
/+aJJViGcVBiAGrzvEW2ksFVnPP5X7R2pBxPckyIx3WhJaGzC1OGqA3Wg/a2k08Ewtt7m2DXz
|
||||
yYvnBfgEsV57VS3aLe8dsbJ2HqKMcqeahm6FQesAnangl4BtG6RH1BMKAaaaMeuJm2DQO+UUA
|
||||
PELxUMq3dBDAOEuSMNSdvN15BCqDxAajjVLnv+b/+pnKsJ/31p3YVryA78eJ6/kZm1a/DobHg
|
||||
vNu1QLjbpYkq/WH/K/LaUxt+YpwMi8egvQPLH32zMRACRbsqlMQ7nAGsZtdEkU8zYbp38yV
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200127_101545_079150_4EC20A38
|
||||
X-CRM114-Status: GOOD ( 11.11 )
|
||||
X-Spam-Score: 0.0 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (0.0 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.126.130 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
|
||||
devicetree@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
There is no usage for this define, so drop it.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
index 0de1a3a..3fc2638 100644
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -40,9 +40,6 @@
|
||||
#define BCM2835_NUM_BANKS 2
|
||||
#define BCM2835_NUM_IRQS 3
|
||||
|
||||
-#define BCM2835_PIN_BITMAP_SZ \
|
||||
- DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8)
|
||||
-
|
||||
/* GPIO register offsets */
|
||||
#define GPFSEL0 0x0 /* Function Select */
|
||||
#define GPSET0 0x1c /* Pin Output Set */
|
||||
|
||||
From patchwork Mon Jan 27 18:15:06 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 11353087
|
||||
Return-Path:
|
||||
<SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D0A70159A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:30 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id A832D214AF
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:30 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="BBcc5MYW"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A832D214AF
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=i2se.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=zl633DOCOOf5sEmBHgEEmRs3zIL6xCyAbRmQHF/5twU=; b=BBcc5MYWdf7TBI7GF8KvMnZTXP
|
||||
vwSri+G4Xg+SfQ0x1b4jtd8AwTGL1tYuyopmjQCdIt42APOehPRUttV2YvvQ9suKeJoNobnLxLcBr
|
||||
zvQYgSNAwt21baLbOyQi0HJWd2BzeIpRw419olVPp37cUGLwE4hpNIv0peCB/6uhTDXyN4YPrXKmW
|
||||
P7fz/gK+8yj6qz6VZeILYNYiE5DjbkwPSIoD8X/NZhppDvPNCkO3tmD4Z1UQDhMoZNooqIWcGRKIh
|
||||
umTkq58tIYGNOTccLaKvcW8Elm9ZHK7ssai4uhpgfmL0tId3saEqMuJzSccyqF6ENztpgOra2qWKS
|
||||
cVX67vMA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vz-0008UK-VC; Mon, 27 Jan 2020 18:16:27 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.135])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vJ-0007pN-PH
|
||||
for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.152]) by
|
||||
mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MdvVu-1jTpmM3Tfy-00b6tv; Mon, 27 Jan 2020 19:15:40 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>
|
||||
Subject: [RFC PATCH 2/4] pinctrl: bcm2835: Refactor platform data
|
||||
Date: Mon, 27 Jan 2020 19:15:06 +0100
|
||||
Message-Id: <1580148908-4863-3-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:VruPCfmk9mM3xiAf4DG/6aoXzCy4UDEsxr5SC+GDP4iRdgXZX29
|
||||
MFCNoD27qBqcSq1LjDl1+NGtNJ3+c1twK3aKoFUdWC05HKxzJPuizB6xDkWYoCIsLzUx75H
|
||||
HiA0SBUlw/LN+bHlzoczcUQzu+qFL0N3XAwKX9HxzpPzSFwl1lRDgLB6suBZjq4VTFrw6QP
|
||||
xptjL6VDFkgqBb05XjOfA==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:f2Tec5CMQUc=:niiLUGM7C+e//7RIjf+wMq
|
||||
wLFHtqjv1ynGaEgrTEwtjnWYqI/r72m4A6fdxd06jGD2Uyp8tpT//zGZgAMatxGP2tJCKPrs8
|
||||
H50QvZYrkhyeWT1e/b/43xnEBFcJ26c6kKbSdwNEaPpeQ2pSXrJ+fWFg4rgyr2kyb0a6fODwi
|
||||
glMJlRcbMvRam6bDw57BliG4DhkYgMl0WB+vE3ztB/xJo+NhTzPKfEpK10WVhz1N+MdOE8gPM
|
||||
Ed3HaUcq1KYSZvZRKVS8rOnqLfx2aLsXvrn+YKEvs5xzV1w8QpRWEIYZcLOwKvY23kJzQG9eq
|
||||
MIIG4Or4qhijuBXiW2q6mwUPh2z1lLVKOHwzEHdCAb+4bDlzo8dAxIoc40B0H6ZxVg4/5LHFJ
|
||||
La0bD0qwfKTemPRPvdCrUGRjVY38hB0RBGSXLrWBfL0PkTsuaEeRZvCVEY80YYfxmOaIKNCZI
|
||||
KTZTGrVvZWUrz2smObUJlIIzYVznL4L5rWMZjNaLpWxwyNpAg0eDTqVYFmDT+qIxNN4PgQhRy
|
||||
tSUqMKFEgm7xT/YoZD4jdOe5rJJ0dEmy9DgnlvjmjzCBjXAGdPFrFO9kKivLmdSPaubJ7DdcC
|
||||
tcrGiqydtDkturFJvTsQYH+PmTQvbe4oBqgNIRZo8f1X5RgRS0fFLp3LA8/+FKUufNNqrLMao
|
||||
+41TZ2JeFAJBnB9x8z5VMa7EVYvu5Vv7a6UPbF0i7yUPlzFy4OB0vDTMzjH7rW414iarBNvIy
|
||||
QDypz6a5PwveJ4Fe9ATD7LILVISmcIjM7r29JF4LAmFeYo0lVn6a4kM0PnIwd/wQsax1Rp9/Y
|
||||
J1/TI8TQICVBl0N9CsxgAPc+X49YqHbFXpoqbsqqK9BIb3Bj+cJJ6Owe9HtjZLb6ifZLnyA
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200127_101546_108760_0514F0F4
|
||||
X-CRM114-Status: GOOD ( 14.77 )
|
||||
X-Spam-Score: 0.0 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (0.0 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.126.135 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
|
||||
devicetree@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
This prepares the platform data to be easier to extend for more GPIOs.
|
||||
Except of this there is no functional change.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 57 +++++++++++++++++++++++++++--------
|
||||
1 file changed, 44 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
index 3fc2638..ffd069a 100644
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -82,6 +82,7 @@ struct bcm2835_pinctrl {
|
||||
|
||||
struct pinctrl_dev *pctl_dev;
|
||||
struct gpio_chip gpio_chip;
|
||||
+ struct pinctrl_desc pctl_desc;
|
||||
struct pinctrl_gpio_range gpio_range;
|
||||
|
||||
raw_spinlock_t irq_lock[BCM2835_NUM_BANKS];
|
||||
@@ -1051,7 +1052,7 @@ static const struct pinconf_ops bcm2711_pinconf_ops = {
|
||||
.pin_config_set = bcm2711_pinconf_set,
|
||||
};
|
||||
|
||||
-static struct pinctrl_desc bcm2835_pinctrl_desc = {
|
||||
+static const struct pinctrl_desc bcm2835_pinctrl_desc = {
|
||||
.name = MODULE_NAME,
|
||||
.pins = bcm2835_gpio_pins,
|
||||
.npins = ARRAY_SIZE(bcm2835_gpio_pins),
|
||||
@@ -1061,19 +1062,47 @@ static struct pinctrl_desc bcm2835_pinctrl_desc = {
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
-static struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
|
||||
+static const struct pinctrl_desc bcm2711_pinctrl_desc = {
|
||||
+ .name = MODULE_NAME,
|
||||
+ .pins = bcm2835_gpio_pins,
|
||||
+ .npins = ARRAY_SIZE(bcm2835_gpio_pins),
|
||||
+ .pctlops = &bcm2835_pctl_ops,
|
||||
+ .pmxops = &bcm2835_pmx_ops,
|
||||
+ .confops = &bcm2711_pinconf_ops,
|
||||
+ .owner = THIS_MODULE,
|
||||
+};
|
||||
+
|
||||
+static const struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
|
||||
.name = MODULE_NAME,
|
||||
.npins = BCM2835_NUM_GPIOS,
|
||||
};
|
||||
|
||||
+struct bcm_plat_data {
|
||||
+ const struct gpio_chip *gpio_chip;
|
||||
+ const struct pinctrl_desc *pctl_desc;
|
||||
+ const struct pinctrl_gpio_range *gpio_range;
|
||||
+};
|
||||
+
|
||||
+static const struct bcm_plat_data bcm2835_plat_data = {
|
||||
+ .gpio_chip = &bcm2835_gpio_chip,
|
||||
+ .pctl_desc = &bcm2835_pinctrl_desc,
|
||||
+ .gpio_range = &bcm2835_pinctrl_gpio_range,
|
||||
+};
|
||||
+
|
||||
+static const struct bcm_plat_data bcm2711_plat_data = {
|
||||
+ .gpio_chip = &bcm2835_gpio_chip,
|
||||
+ .pctl_desc = &bcm2711_pinctrl_desc,
|
||||
+ .gpio_range = &bcm2835_pinctrl_gpio_range,
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id bcm2835_pinctrl_match[] = {
|
||||
{
|
||||
.compatible = "brcm,bcm2835-gpio",
|
||||
- .data = &bcm2835_pinconf_ops,
|
||||
+ .data = &bcm2835_plat_data,
|
||||
},
|
||||
{
|
||||
.compatible = "brcm,bcm2711-gpio",
|
||||
- .data = &bcm2711_pinconf_ops,
|
||||
+ .data = &bcm2711_plat_data,
|
||||
},
|
||||
{}
|
||||
};
|
||||
@@ -1083,6 +1112,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct bcm2835_pinctrl *pc;
|
||||
+ struct bcm_plat_data *pdata;
|
||||
struct gpio_irq_chip *girq;
|
||||
struct resource iomem;
|
||||
int err, i;
|
||||
@@ -1108,7 +1138,13 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
|
||||
if (IS_ERR(pc->base))
|
||||
return PTR_ERR(pc->base);
|
||||
|
||||
- pc->gpio_chip = bcm2835_gpio_chip;
|
||||
+ match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node);
|
||||
+ if (!match)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ pdata = (struct bcm_plat_data *)match->data;
|
||||
+
|
||||
+ memcpy(&pc->gpio_chip, pdata->gpio_chip, sizeof(pc->gpio_chip));
|
||||
pc->gpio_chip.parent = dev;
|
||||
pc->gpio_chip.of_node = np;
|
||||
|
||||
@@ -1159,19 +1195,14 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
|
||||
return err;
|
||||
}
|
||||
|
||||
- match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node);
|
||||
- if (match) {
|
||||
- bcm2835_pinctrl_desc.confops =
|
||||
- (const struct pinconf_ops *)match->data;
|
||||
- }
|
||||
-
|
||||
- pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
|
||||
+ memcpy(&pc->pctl_desc, pdata->pctl_desc, sizeof(pc->pctl_desc));
|
||||
+ pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
|
||||
if (IS_ERR(pc->pctl_dev)) {
|
||||
gpiochip_remove(&pc->gpio_chip);
|
||||
return PTR_ERR(pc->pctl_dev);
|
||||
}
|
||||
|
||||
- pc->gpio_range = bcm2835_pinctrl_gpio_range;
|
||||
+ memcpy(&pc->gpio_range, pdata->gpio_range, sizeof(pc->gpio_range));
|
||||
pc->gpio_range.base = pc->gpio_chip.base;
|
||||
pc->gpio_range.gc = &pc->gpio_chip;
|
||||
pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
|
||||
|
||||
From patchwork Mon Jan 27 18:15:07 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 11353089
|
||||
Return-Path:
|
||||
<SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 01D8B159A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:42 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id A3164214AF
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:41 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="OgchXKpW"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A3164214AF
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=i2se.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=XmwwFukBgBjwO0LJL+fK3hmGj90hC5ef7Vri1vGrDvw=; b=OgchXKpWUifGHBapyBCQRZf4Oe
|
||||
Leu+Cl9F+oT35HizJxpDIqWCQOPGA84tYHVdL8DHnOR2sS8sgHpZTWMKe0QSgr3SUuLaQ2diawm04
|
||||
B9CSuvfP5yx9MActAPcuhQbMJldRfdt0X+pqyeQf6kaHPaj2JnqRwXWOofaMYeLQwl9zbqEB1B5Ss
|
||||
FGQnyl0V9sMSPydz6oe5UALnFguup+uWjm3ybTj1yEDhm5vypOqzhTm3vwrvY0CtmPhS3f3vx5F/7
|
||||
qNeG7wpGbnUw9b2Ta44QWFyROWbi81UIHkON1Rn1lw/J5gf470beknQM/5fyv2iHMWMVIopDs2Qpo
|
||||
Jxtt2SIA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8wC-0000I4-7V; Mon, 27 Jan 2020 18:16:40 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.135])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vJ-0007pO-PH
|
||||
for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.152]) by
|
||||
mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MIxFi-1jB3PL0sMU-00KPSh; Mon, 27 Jan 2020 19:15:41 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>
|
||||
Subject: [RFC PATCH 3/4] pinctrl: bcm2835: Add support for all GPIOs on
|
||||
BCM2711
|
||||
Date: Mon, 27 Jan 2020 19:15:07 +0100
|
||||
Message-Id: <1580148908-4863-4-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:X6IS1XjHy4cJfxjoudVoDX/cZvMR/vfdQSMdLzkgWq1irgCvB38
|
||||
RaAG8s5bLq+gwxv7sq4OOzzzIjMwUf3oUytVqdip8Emtgr3GiNEl2vBd272/sh3B1OJanK8
|
||||
goehy07Y9M/B0RMRS8QYkknz5PIlSimkZBJKjNE686UdoJg1We/vhXibKmf8z5kreTjrWe3
|
||||
q1JcyYfqP1itQAVjziUtQ==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:LyL94am3zLA=:BmnKGYucrjNaj35BCZWbP5
|
||||
JzGddQvqDkhH/CCngNEO2dMwjvlnPKHh/PEbdrGp6m9QHAmq4UkqMbHYKp4XqoYGKvPoozwfP
|
||||
FP1S21DqEh5BYA0hhWgk2maxuudk085Kg/UXpitwP437bovAei4bfR+gXu53083PnNenJAm4p
|
||||
xAhXuwmTwnWKv+qAem9IrQUBQtWZqTLIoviS/rBI58lKIF9owSsmboh1lagz+7EGkpnXhcae1
|
||||
0MbckaZUNlfNjiRnq4V+VHRLEiPKWNxiGYMIefuH9JuPr6WXJPFk7fJo8OZ45VvNntUoYSSpc
|
||||
j0n6iO9I7UbYvyi7+SAmts7a4bZF+1qLxOl9S9cCBKPRGH2Z3kUCuTwNYlPjcUQyn6uqO0Mlx
|
||||
c+13a6OSMjdDPVRDOntBqI0l4rsK062Ig/ZwiteVVX/T7ZtOdNR2v9sRVAnh/w8iyF4VHZ0GC
|
||||
ULTnZeoeqfXKRaXEz7sGaOev/A5I1h35g02J5m9TlwjHQiNzKPNc45U2Rab8osp5QUPpRpD1N
|
||||
4TUS9baKQp8dfAHyEkc1gBlk0cb1zDcQJMX7bQVUSSxSFx0otQCiojOcWf2PP2Hf1NREQw+82
|
||||
UV3Z09N/3ny3u6Qu0dI11Kin/x4ZubPCk2Z9H663jrHUxQP4afxI/ZCeRjqTIpU8chYef1IHT
|
||||
v3ZX4UpNi6S2kossS/nmFNqzdzxsOnNFseX4lA9Pp5DREJwDVh4t9UFpY49YOKaWkmqBFAAh4
|
||||
O7NlyceEWWYXkJh8pRPkdftSVQVKKjtoc+mmNdZ6A/MFCjlN4hQ4NzpeCvIGk1Jp/tUXAyMDV
|
||||
jBtNPE8cgg54eLvhAbGLfFWVNbu8UAkmntw7HjfU+o9g9ylEQ02IihlbByt5l+e7GdgBJm5
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200127_101546_105798_68395F22
|
||||
X-CRM114-Status: GOOD ( 17.25 )
|
||||
X-Spam-Score: 0.0 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (0.0 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.126.135 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
|
||||
devicetree@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The BCM2711 supports 58 GPIOs. So extend pinctrl and GPIOs accordingly.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 54 +++++++++++++++++++++++++++--------
|
||||
1 file changed, 42 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
index ffd069a..41e7bf9 100644
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -37,6 +37,7 @@
|
||||
|
||||
#define MODULE_NAME "pinctrl-bcm2835"
|
||||
#define BCM2835_NUM_GPIOS 54
|
||||
+#define BCM2711_NUM_GPIOS 58
|
||||
#define BCM2835_NUM_BANKS 2
|
||||
#define BCM2835_NUM_IRQS 3
|
||||
|
||||
@@ -78,7 +79,7 @@ struct bcm2835_pinctrl {
|
||||
|
||||
/* note: locking assumes each bank will have its own unsigned long */
|
||||
unsigned long enabled_irq_map[BCM2835_NUM_BANKS];
|
||||
- unsigned int irq_type[BCM2835_NUM_GPIOS];
|
||||
+ unsigned int irq_type[BCM2711_NUM_GPIOS];
|
||||
|
||||
struct pinctrl_dev *pctl_dev;
|
||||
struct gpio_chip gpio_chip;
|
||||
@@ -145,6 +146,10 @@ static struct pinctrl_pin_desc bcm2835_gpio_pins[] = {
|
||||
BCM2835_GPIO_PIN(51),
|
||||
BCM2835_GPIO_PIN(52),
|
||||
BCM2835_GPIO_PIN(53),
|
||||
+ BCM2835_GPIO_PIN(54),
|
||||
+ BCM2835_GPIO_PIN(55),
|
||||
+ BCM2835_GPIO_PIN(56),
|
||||
+ BCM2835_GPIO_PIN(57),
|
||||
};
|
||||
|
||||
/* one pin per group */
|
||||
@@ -203,6 +208,10 @@ static const char * const bcm2835_gpio_groups[] = {
|
||||
"gpio51",
|
||||
"gpio52",
|
||||
"gpio53",
|
||||
+ "gpio54",
|
||||
+ "gpio55",
|
||||
+ "gpio56",
|
||||
+ "gpio57",
|
||||
};
|
||||
|
||||
enum bcm2835_fsel {
|
||||
@@ -353,6 +362,22 @@ static const struct gpio_chip bcm2835_gpio_chip = {
|
||||
.can_sleep = false,
|
||||
};
|
||||
|
||||
+static const struct gpio_chip bcm2711_gpio_chip = {
|
||||
+ .label = "pinctrl-bcm2711",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .request = gpiochip_generic_request,
|
||||
+ .free = gpiochip_generic_free,
|
||||
+ .direction_input = bcm2835_gpio_direction_input,
|
||||
+ .direction_output = bcm2835_gpio_direction_output,
|
||||
+ .get_direction = bcm2835_gpio_get_direction,
|
||||
+ .get = bcm2835_gpio_get,
|
||||
+ .set = bcm2835_gpio_set,
|
||||
+ .set_config = gpiochip_generic_config,
|
||||
+ .base = -1,
|
||||
+ .ngpio = BCM2711_NUM_GPIOS,
|
||||
+ .can_sleep = false,
|
||||
+};
|
||||
+
|
||||
static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc,
|
||||
unsigned int bank, u32 mask)
|
||||
{
|
||||
@@ -399,7 +424,7 @@ static void bcm2835_gpio_irq_handler(struct irq_desc *desc)
|
||||
bcm2835_gpio_irq_handle_bank(pc, 0, 0xf0000000);
|
||||
bcm2835_gpio_irq_handle_bank(pc, 1, 0x00003fff);
|
||||
break;
|
||||
- case 2: /* IRQ2 covers GPIOs 46-53 */
|
||||
+ case 2: /* IRQ2 covers GPIOs 46-57 */
|
||||
bcm2835_gpio_irq_handle_bank(pc, 1, 0x003fc000);
|
||||
break;
|
||||
}
|
||||
@@ -618,7 +643,7 @@ static struct irq_chip bcm2835_gpio_irq_chip = {
|
||||
|
||||
static int bcm2835_pctl_get_groups_count(struct pinctrl_dev *pctldev)
|
||||
{
|
||||
- return ARRAY_SIZE(bcm2835_gpio_groups);
|
||||
+ return BCM2835_NUM_GPIOS;
|
||||
}
|
||||
|
||||
static const char *bcm2835_pctl_get_group_name(struct pinctrl_dev *pctldev,
|
||||
@@ -776,7 +801,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
|
||||
err = of_property_read_u32_index(np, "brcm,pins", i, &pin);
|
||||
if (err)
|
||||
goto out;
|
||||
- if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
|
||||
+ if (pin >= pc->pctl_desc.npins) {
|
||||
dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
|
||||
np, pin);
|
||||
err = -EINVAL;
|
||||
@@ -852,7 +877,7 @@ static int bcm2835_pmx_get_function_groups(struct pinctrl_dev *pctldev,
|
||||
{
|
||||
/* every pin can do every function */
|
||||
*groups = bcm2835_gpio_groups;
|
||||
- *num_groups = ARRAY_SIZE(bcm2835_gpio_groups);
|
||||
+ *num_groups = BCM2835_NUM_GPIOS;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1055,7 +1080,7 @@ static const struct pinconf_ops bcm2711_pinconf_ops = {
|
||||
static const struct pinctrl_desc bcm2835_pinctrl_desc = {
|
||||
.name = MODULE_NAME,
|
||||
.pins = bcm2835_gpio_pins,
|
||||
- .npins = ARRAY_SIZE(bcm2835_gpio_pins),
|
||||
+ .npins = BCM2835_NUM_GPIOS,
|
||||
.pctlops = &bcm2835_pctl_ops,
|
||||
.pmxops = &bcm2835_pmx_ops,
|
||||
.confops = &bcm2835_pinconf_ops,
|
||||
@@ -1063,9 +1088,9 @@ static const struct pinctrl_desc bcm2835_pinctrl_desc = {
|
||||
};
|
||||
|
||||
static const struct pinctrl_desc bcm2711_pinctrl_desc = {
|
||||
- .name = MODULE_NAME,
|
||||
+ .name = "pinctrl-bcm2711",
|
||||
.pins = bcm2835_gpio_pins,
|
||||
- .npins = ARRAY_SIZE(bcm2835_gpio_pins),
|
||||
+ .npins = BCM2711_NUM_GPIOS,
|
||||
.pctlops = &bcm2835_pctl_ops,
|
||||
.pmxops = &bcm2835_pmx_ops,
|
||||
.confops = &bcm2711_pinconf_ops,
|
||||
@@ -1077,6 +1102,11 @@ static const struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
|
||||
.npins = BCM2835_NUM_GPIOS,
|
||||
};
|
||||
|
||||
+static const struct pinctrl_gpio_range bcm2711_pinctrl_gpio_range = {
|
||||
+ .name = "pinctrl-bcm2711",
|
||||
+ .npins = BCM2711_NUM_GPIOS,
|
||||
+};
|
||||
+
|
||||
struct bcm_plat_data {
|
||||
const struct gpio_chip *gpio_chip;
|
||||
const struct pinctrl_desc *pctl_desc;
|
||||
@@ -1090,9 +1120,9 @@ static const struct bcm_plat_data bcm2835_plat_data = {
|
||||
};
|
||||
|
||||
static const struct bcm_plat_data bcm2711_plat_data = {
|
||||
- .gpio_chip = &bcm2835_gpio_chip,
|
||||
+ .gpio_chip = &bcm2711_gpio_chip,
|
||||
.pctl_desc = &bcm2711_pinctrl_desc,
|
||||
- .gpio_range = &bcm2835_pinctrl_gpio_range,
|
||||
+ .gpio_range = &bcm2711_pinctrl_gpio_range,
|
||||
};
|
||||
|
||||
static const struct of_device_id bcm2835_pinctrl_match[] = {
|
||||
@@ -1118,8 +1148,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
|
||||
int err, i;
|
||||
const struct of_device_id *match;
|
||||
|
||||
- BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS);
|
||||
- BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS);
|
||||
+ BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2711_NUM_GPIOS);
|
||||
+ BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2711_NUM_GPIOS);
|
||||
|
||||
pc = devm_kzalloc(dev, sizeof(*pc), GFP_KERNEL);
|
||||
if (!pc)
|
||||
|
||||
From patchwork Mon Jan 27 18:15:08 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
X-Patchwork-Id: 11353085
|
||||
Return-Path:
|
||||
<SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BDFA01398
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:18 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 9B66F214AF
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 27 Jan 2020 18:16:18 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="ezMQm6le"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9B66F214AF
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=i2se.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=DPuQWycqdw9CxoKuQR42+vWv5iNmyUIYkTHQf1KLxgY=; b=ezMQm6leJB6R6ZsKnfpCgXjitb
|
||||
W3Nw1Je9MEi8SZ9v+eC3CeiTFqVt/5x1h0N8bH5ZGdptzjP+SrRIS6oD0h4pJFGg6ugBUnLmcef06
|
||||
eNSulzVLTX6qsyPkqj4pRr4fXRyP4R9Om3GidBwWl8vRQ0LLc8ssJkt/K9nW7BslGHjMmEwd+QSiF
|
||||
t7aYAjYBf45g9TP/aPeAlsgEUzpwNrdiQB0+jY4cWlMTSrz+61Fp9Ay+NopbRoQ+ZY6VHVCHoXwma
|
||||
eg91Z/Mc359cQ4CBaUn20N4gS5IUc0CMh77YTOYq3QHaJUuO5FR7ARenQTie073XFTCQtrkfCIXeJ
|
||||
h8y1Bvlw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vl-0008F1-HZ; Mon, 27 Jan 2020 18:16:13 +0000
|
||||
Received: from mout.kundenserver.de ([212.227.126.134])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iw8vL-0007pp-4e
|
||||
for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
|
||||
Received: from localhost.localdomain ([37.4.249.152]) by
|
||||
mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
|
||||
id 1MIdS1-1iqMAq2lZF-00EeIy; Mon, 27 Jan 2020 19:15:41 +0100
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>
|
||||
Subject: [RFC PATCH 4/4] ARM: dts: bcm2711-rpi-4-b: Add SoC GPIO labels
|
||||
Date: Mon, 27 Jan 2020 19:15:08 +0100
|
||||
Message-Id: <1580148908-4863-5-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
|
||||
X-Provags-ID: V03:K1:Gxba3mqtzEfAZsLaIh9BPR5KGgNDsOM8n/SyTdefyB0S+Ix6nQ6
|
||||
3ZLcgMmQ0ZYCLRjSx9LHkgciD9ISLplz152G/qC58KgorZhlZLhVE974IeKAkTW7W6RIHig
|
||||
h04Lium+H3BT4cdz+bIAKz1RoTVdqSRp3Bov22Fv5E4IbNQGvAgEx4Sh7aDH+pVGti//bPm
|
||||
sxDDXE5ZOXGV0qV3mvozA==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:cCaO9H+V7fw=:e54AxDo4xa1RNP7BrlXkUw
|
||||
hcxiAvXNAIgIOvr2ULYOCL0TL9NzkdUBAFNQCWXg+9tQt4S1g6hU8gHkciuR6wa+2Cp8Xx5tX
|
||||
+llHcigXOC2W2A3/H9CyAonFLfN2LtqKP65pY2L50CbaZwjnsBqXhx204sIbiRowV9mxvafPo
|
||||
t2qbrWIi7u6FIMFVrCPP6wE54WKajQz0y/dLzyYY97zKFvnWCVnVi+wqat0odNyoSPsqVn0bZ
|
||||
IosK/ArAU/cdn47p/tTAICkZ4LT3Hej8lWbLgs37gDw8DDTbDojBGQNroAepDuL3/RNn+lzON
|
||||
kdG+mueLFX0OBuSSfviiSheetOwE1yiesBRvOGGH8SPAdosy99GUDu9JWlb+5Nu0T59IQTm7O
|
||||
Fjvqcu1fiL9L6Qw24XdH9osD6cr2kE4395AH6pP7KLf3KbZClN203u6SfTB9Xw5mAK1mLTOJO
|
||||
8C2OC1qX/NFSNffy6qM68jxJ+dRjhB2kyFtiquL5w85hQ9A+0UHh47pQP+vii1XlpE/xYDuRX
|
||||
VqTiy7fJn8xtcDs0VAoOVnelun1+ppzMdObQpGWaheuA29O4gvaKjA55oKwCw1zzpVOzHmLAg
|
||||
FhqvMZv3NiqUlLpj85vqbQT9r4U6POpxLorzLyvoarWOy7nvAyVdepSLB7BhbJWwrIbzeiFNd
|
||||
2mNR6PTfFZbsMkXdj67sk75MnEgUMjxerASnkhv0xHqQXo/rbdc2HX7fC/1Ft04B1HJextbil
|
||||
GrPQ6dSPe5SCpjQP6yd9yhLNoaLeNEHpY5Ds0M1hULtqYkJiubORBMvp9H1mmjV7o5UCHqlOW
|
||||
S9QPe97AN6cfCJGvjb5uYcfneUnc1K0Bj8mmXat9B6fHaxA7pDEsAS1Cy0OgtFjH/t37B1P
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200127_101547_491226_F9BAEAA0
|
||||
X-CRM114-Status: GOOD ( 13.91 )
|
||||
X-Spam-Score: 0.0 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (0.0 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.126.134 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
|
||||
devicetree@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
This adds the labels for all the SoC GPIOs on the Raspberry Pi 4.
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 74 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 74 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 1b5a835..6607e2e 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -71,6 +71,80 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&gpio {
|
||||
+ /*
|
||||
+ * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
|
||||
+ * the official GPU firmware DT blob.
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "ID_SDA",
|
||||
+ "ID_SCL",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "GPIO5",
|
||||
+ "GPIO6",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "GPIO12",
|
||||
+ "GPIO13",
|
||||
+ /* Serial port */
|
||||
+ "TXD1",
|
||||
+ "RXD1",
|
||||
+ "GPIO16",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "GPIO19",
|
||||
+ "GPIO20",
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "GPIO26",
|
||||
+ "GPIO27",
|
||||
+ "RGMII_MDIO",
|
||||
+ "RGMIO_MDC",
|
||||
+ /* Used by BT module */
|
||||
+ "CTS0",
|
||||
+ "RTS0",
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ /* Used by Wifi */
|
||||
+ "SD1_CLK",
|
||||
+ "SD1_CMD",
|
||||
+ "SD1_DATA0",
|
||||
+ "SD1_DATA1",
|
||||
+ "SD1_DATA2",
|
||||
+ "SD1_DATA3",
|
||||
+ /* Shared with SPI flash */
|
||||
+ "PWM0_MISO",
|
||||
+ "PWM1_MOSI",
|
||||
+ "STATUS_LED_G_CLK",
|
||||
+ "SPIFLASH_CE_N",
|
||||
+ "SDA0",
|
||||
+ "SCL0",
|
||||
+ "RGMII_RXCLK",
|
||||
+ "RGMII_RXCTL",
|
||||
+ "RGMII_RXD0",
|
||||
+ "RGMII_RXD1",
|
||||
+ "RGMII_RXD2",
|
||||
+ "RGMII_RXD3",
|
||||
+ "RGMII_TXCLK",
|
||||
+ "RGMII_TXCTL",
|
||||
+ "RGMII_TXD0",
|
||||
+ "RGMII_TXD1",
|
||||
+ "RGMII_TXD2",
|
||||
+ "RGMII_TXD3";
|
||||
+};
|
||||
+
|
||||
&pwm1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
|
||||
568
arm64-pine64-pinephone.patch
Normal file
568
arm64-pine64-pinephone.patch
Normal file
|
|
@ -0,0 +1,568 @@
|
|||
From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:48 +0100
|
||||
Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
|
||||
|
||||
PinePhone needs I2C2 pins description. Add it, and make it default
|
||||
for i2c2, since it's the only possiblilty.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 862b47dc9dc9..107a48f9c5b3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
+ i2c2_pins: i2c2-pins {
|
||||
+ pins = "PE14", "PE15";
|
||||
+ function = "i2c2";
|
||||
+ };
|
||||
+
|
||||
/omit-if-no-ref/
|
||||
lcd_rgb666_pins: lcd-rgb666-pins {
|
||||
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
|
||||
@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C2>;
|
||||
resets = <&ccu RST_BUS_I2C2>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
-
|
||||
spi0: spi@1c68000 {
|
||||
compatible = "allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c68000 0x1000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:49 +0100
|
||||
Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
|
||||
bindings
|
||||
|
||||
Document board compatible names for Pine64 PinePhone:
|
||||
|
||||
- 1.0 - Developer variant
|
||||
- 1.1 - Braveheart variant
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 159060b65c5d..c632252be48b 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -636,6 +636,16 @@ properties:
|
||||
- const: pine64,pinebook
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PinePhone Developer Batch (1.0)
|
||||
+ items:
|
||||
+ - const: pine64,pinephone-1.0
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
+ - description: Pine64 PinePhone Braveheart (1.1)
|
||||
+ items:
|
||||
+ - const: pine64,pinephone-1.1
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
- description: Pine64 PineTab
|
||||
items:
|
||||
- const: pine64,pinetab
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:50 +0100
|
||||
Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
|
||||
PinePhone
|
||||
|
||||
At the moment PinePhone comes in two slightly incompatible variants:
|
||||
|
||||
- 1.0: Early Developer Batch
|
||||
- 1.1: Braveheart Batch
|
||||
|
||||
There will be at least one more incompatible variant in the very near
|
||||
future, so let's start by sharing the dtsi among multiple variants,
|
||||
right away, even though the HW description doesn't yet include the
|
||||
different bits.
|
||||
|
||||
The differences between 1.0 and 1.1 are: change in pins that control
|
||||
the flash LED, differences in modem power status signal routing, and
|
||||
maybe some other subtler things, that have not been determined yet.
|
||||
|
||||
This is a basic DT that includes only features that are already
|
||||
supported by mainline drivers.
|
||||
|
||||
Co-developed-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Co-developed-by: Martijn Braam <martijn@brixit.nl>
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
|
||||
Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
|
||||
Signed-off-by: Bhushan Shah <bshah@kde.org>
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 2 +
|
||||
.../allwinner/sun50i-a64-pinephone-1.0.dts | 11 +
|
||||
.../allwinner/sun50i-a64-pinephone-1.1.dts | 11 +
|
||||
.../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++
|
||||
4 files changed, 403 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 6dad63881cd3..e4d3cd0ac5bb 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
new file mode 100644
|
||||
index 000000000000..0c42272106af
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
@@ -0,0 +1,11 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-pinephone.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Developer Batch (1.0)";
|
||||
+ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
new file mode 100644
|
||||
index 000000000000..06a775c41664
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
@@ -0,0 +1,11 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-pinephone.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Braveheart (1.1)";
|
||||
+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..cefda145c3c9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
@@ -0,0 +1,379 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
|
||||
+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+#include "sun50i-a64-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ blue {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
|
||||
+ };
|
||||
+
|
||||
+ green {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
|
||||
+ };
|
||||
+
|
||||
+ red {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ speaker_amp: audio-amplifier {
|
||||
+ compatible = "simple-audio-amplifier";
|
||||
+ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
|
||||
+ sound-name-prefix = "Speaker Amp";
|
||||
+ };
|
||||
+
|
||||
+ vibrator {
|
||||
+ compatible = "gpio-vibrator";
|
||||
+ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
|
||||
+ vcc-supply = <®_dcdc1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ cpvdd-supply = <®_eldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* Magnetometer */
|
||||
+ lis3mdl@1e {
|
||||
+ compatible = "st,lis3mdl-magn";
|
||||
+ reg = <0x1e>;
|
||||
+ vdd-supply = <®_dldo1>;
|
||||
+ vddio-supply = <®_dldo1>;
|
||||
+ };
|
||||
+
|
||||
+ /* Accelerometer/gyroscope */
|
||||
+ mpu6050@68 {
|
||||
+ compatible = "invensense,mpu6050";
|
||||
+ reg = <0x68>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
|
||||
+ vdd-supply = <®_dldo1>;
|
||||
+ vddio-supply = <®_dldo1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Connected to pogo pins (external spring based pinheader for user addons) */
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_aldo3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Volume Up";
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ button-400 {
|
||||
+ label = "Volume Down";
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <400000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pb-supply = <®_dcdc1>;
|
||||
+ vcc-pc-supply = <®_dcdc1>;
|
||||
+ vcc-pd-supply = <®_dcdc1>;
|
||||
+ vcc-pe-supply = <®_aldo1>;
|
||||
+ vcc-pf-supply = <®_dcdc1>;
|
||||
+ vcc-pg-supply = <®_dldo4>;
|
||||
+ vcc-ph-supply = <®_dcdc1>;
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ /*
|
||||
+ * FIXME: We can't add that supply for now since it would
|
||||
+ * create a circular dependency between pinctrl, the regulator
|
||||
+ * and the RSB Bus.
|
||||
+ *
|
||||
+ * vcc-pl-supply = <®_aldo2>;
|
||||
+ */
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dovdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-pl";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <2700000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+/* DCDC3 is polyphased with DCDC2 */
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-dsi-sensor";
|
||||
+};
|
||||
+
|
||||
+®_dldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-mipi-io";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi-io";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-lpddr";
|
||||
+};
|
||||
+
|
||||
+®_eldo3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-1v2-hsic";
|
||||
+};
|
||||
+
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-lcd-ctp-stk";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-1v8-typec";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&sound {
|
||||
+ status = "okay";
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
|
||||
+ simple-audio-card,widgets = "Microphone", "Headset Microphone",
|
||||
+ "Microphone", "Internal Microphone",
|
||||
+ "Headphone", "Headphone Jack",
|
||||
+ "Speaker", "Internal Earpiece",
|
||||
+ "Speaker", "Internal Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "Internal Earpiece", "EARPIECE",
|
||||
+ "Internal Speaker", "Speaker Amp OUTL",
|
||||
+ "Internal Speaker", "Speaker Amp OUTR",
|
||||
+ "Speaker Amp INL", "LINEOUT",
|
||||
+ "Speaker Amp INR", "LINEOUT",
|
||||
+ "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Internal Microphone", "MBIAS",
|
||||
+ "MIC1", "Internal Microphone",
|
||||
+ "Headset Microphone", "HBIAS",
|
||||
+ "MIC2", "Headset Microphone";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* Connected to the modem (hardware flow control can't be used) */
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
583
arm64-pine64-pinetab.patch
Normal file
583
arm64-pine64-pinetab.patch
Normal file
|
|
@ -0,0 +1,583 @@
|
|||
From e15d9c7cb74033f668c19a65abfd77ed7331f91e Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 16 Jan 2020 11:36:35 +0800
|
||||
Subject: [PATCH 1/2] dt-bindings: arm: sunxi: add binding for PineTab tablet
|
||||
|
||||
Add the device tree binding for Pine64's PineTab tablet, which uses
|
||||
Allwinner A64 SoC.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 327ce6730823..159060b65c5d 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -636,6 +636,11 @@ properties:
|
||||
- const: pine64,pinebook
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PineTab
|
||||
+ items:
|
||||
+ - const: pine64,pinetab
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
- description: Pine64 SoPine Baseboard
|
||||
items:
|
||||
- const: pine64,sopine-baseboard
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From d7b56d337bb980f0b996958ec6808253c4f50771 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 16 Jan 2020 11:36:36 +0800
|
||||
Subject: [PATCH 2/2] arm64: dts: allwinner: a64: add support for PineTab
|
||||
|
||||
PineTab is a 10.1" tablet by Pine64 with Allwinner A64 inside.
|
||||
|
||||
It includes the following peripherals:
|
||||
|
||||
USB:
|
||||
- A microUSB Type-B port connected to the OTG-capable USB PHY of
|
||||
Allwinner A64. The ID pin is connected to a GPIO of the A64 SoC, and the
|
||||
Vbus is connected to the Vbus of AXP803 PMIC. These enables OTG
|
||||
functionality on this port.
|
||||
- A USB Type-A port is connected to the internal hub attached to the
|
||||
non-OTG USB PHY of Allwinner A64.
|
||||
- There are reserved pins for an external keyboard connected to the
|
||||
internal hub.
|
||||
|
||||
Power:
|
||||
- The microUSB port has its Vbus connected to AXP803, mentioned above.
|
||||
- A DC jack (of a strange size, 2.5mm outer diameter) is connected to
|
||||
the ACIN of AXP803.
|
||||
- A Li-Polymer battery is connected to the battery pins of AXP803.
|
||||
|
||||
Storage:
|
||||
- An tradition Pine64 eMMC slot is on the board, mounted with an eMMC
|
||||
module by factory.
|
||||
- An external microSD slot is hidden under a protect case.
|
||||
|
||||
Display:
|
||||
- A MIPI-DSI LCD panel (800x1280) is connected to the DSI port of A64 SoC.
|
||||
- A mini HDMI port.
|
||||
|
||||
Input:
|
||||
- A touch panel attached to a Goodix GT9271 touch controller.
|
||||
- Volume keys connected to the LRADC of the A64 SoC.
|
||||
|
||||
Camera:
|
||||
- An OV5640 CMOS camera is at rear, connected to the CSI bus of A64 SoC.
|
||||
- A GC2145 CMOS camera is at front, shares the same CSI bus with OV5640.
|
||||
|
||||
Audio:
|
||||
- A headphone jack is conencted to the SoC's internal codec.
|
||||
- A speaker connected is to the Line Out port of SoC's internal codec, via
|
||||
an amplifier.
|
||||
|
||||
Misc:
|
||||
- Debug UART is muxed with the headphone jack, with the switch next to
|
||||
the microSD slot.
|
||||
- A bosch BMA223 accelerometer is connected to the I2C bus of A64 SoC.
|
||||
- Wi-Fi and Bluetooth are available via a RTL8723CS chip, similar to the
|
||||
one in Pinebook.
|
||||
|
||||
This commit adds a basically usable device tree for it, implementing
|
||||
most of the features mentioned above. HDMI is not supported now because
|
||||
bad LCD-HDMI coexistence situation of mainline A64 display driver, the
|
||||
front camera currently lacks a driver and a facility to share the bus
|
||||
with the rear one, and the accelerometer currently lacks a DT binding.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../boot/dts/allwinner/sun50i-a64-pinetab.dts | 460 ++++++++++++++++++
|
||||
2 files changed, 461 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index cf4f78617c3f..6dad63881cd3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
new file mode 100644
|
||||
index 000000000000..316e8a443913
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
@@ -0,0 +1,460 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+#include "sun50i-a64-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "PineTab";
|
||||
+ compatible = "pine64,pinetab", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ ethernet0 = &rtl8723cs;
|
||||
+ };
|
||||
+
|
||||
+ backlight: backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
+ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>;
|
||||
+ default-brightness-level = <15>;
|
||||
+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
|
||||
+ power-supply = <&vdd_bl>;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ i2c-csi {
|
||||
+ compatible = "i2c-gpio";
|
||||
+ sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
|
||||
+ scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
|
||||
+ i2c-gpio,delay-us = <5>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /* Rear camera */
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi_mclk_pin>;
|
||||
+ clocks = <&ccu CLK_CSI_MCLK>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ AVDD-supply = <®_dldo3>;
|
||||
+ DOVDD-supply = <®_aldo1>;
|
||||
+ DVDD-supply = <®_eldo3>;
|
||||
+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
|
||||
+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_ep: endpoint {
|
||||
+ remote-endpoint = <&csi_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ speaker_amp: audio-amplifier {
|
||||
+ compatible = "simple-audio-amplifier";
|
||||
+ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
+ sound-name-prefix = "Speaker Amp";
|
||||
+ };
|
||||
+
|
||||
+ vdd_bl: regulator@0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "bl-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ hpvcc-supply = <®_eldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&csi {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ csi_ep: endpoint {
|
||||
+ remote-endpoint = <&ov5640_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dsi {
|
||||
+ vcc-dsi-supply = <®_dldo1>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ panel@0 {
|
||||
+ compatible = "feixin,k101-im2ba02";
|
||||
+ reg = <0>;
|
||||
+ avdd-supply = <®_dc1sw>;
|
||||
+ dvdd-supply = <®_dc1sw>;
|
||||
+ cvdd-supply = <®_ldo_io1>;
|
||||
+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
|
||||
+ backlight = <&backlight>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ touchscreen@5d {
|
||||
+ compatible = "goodix,gt9271";
|
||||
+ reg = <0x5d>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
|
||||
+ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
+ reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
|
||||
+ AVDD28-supply = <®_ldo_io1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c0_pins {
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* TODO: add Bochs BMA223 accelerometer here */
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_aldo3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Volume Up";
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ button-400 {
|
||||
+ label = "Volume Down";
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <400000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mixer1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_dldo4>;
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtl8723cs: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ x-powers,drive-vbus-en;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "dovdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pl";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <2700000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dc1sw {
|
||||
+ regulator-name = "vcc-lcd";
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+/* DCDC3 is polyphased with DCDC2 */
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-hdmi-dsi-sensor";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+};
|
||||
+
|
||||
+®_drivevbus {
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "cpvdd";
|
||||
+};
|
||||
+
|
||||
+®_eldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcca-1v8";
|
||||
+};
|
||||
+
|
||||
+®_eldo3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-1v2-hsic";
|
||||
+};
|
||||
+
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-usb";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-enable-ramp-delay = <3500000>;
|
||||
+ regulator-name = "vcc-touchscreen";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&sound {
|
||||
+ status = "okay";
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
|
||||
+ simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
|
||||
+ "Microphone", "Internal Microphone Right",
|
||||
+ "Headphone", "Headphone Jack",
|
||||
+ "Speaker", "Internal Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "Speaker Amp INL", "LINEOUT",
|
||||
+ "Speaker Amp INR", "LINEOUT",
|
||||
+ "Internal Speaker", "Speaker Amp OUTL",
|
||||
+ "Internal Speaker", "Speaker Amp OUTR",
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Internal Microphone Left", "MBIAS",
|
||||
+ "MIC1", "Internal Microphone Left",
|
||||
+ "Internal Microphone Right", "HBIAS",
|
||||
+ "MIC2", "Internal Microphone Right";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||
+ usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
+ usb0_vbus-supply = <®_drivevbus>;
|
||||
+ usb1_vbus-supply = <®_ldo_io0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
429
arm64-pinebook-fixes.patch
Normal file
429
arm64-pinebook-fixes.patch
Normal file
|
|
@ -0,0 +1,429 @@
|
|||
From e7a6e6b0c6506a9f070dbfb2ca948770c47a1d78 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:57 -0600
|
||||
Subject: [PATCH 1/8] arm64: dts: allwinner: pinebook: Remove unused vcc3v3
|
||||
regulator
|
||||
|
||||
This fixed regulator has no consumers, GPIOs, or other connections.
|
||||
Remove it.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 3d894b208901..ff32ca1a495e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -63,13 +63,6 @@ lid_switch {
|
||||
};
|
||||
};
|
||||
|
||||
- reg_vcc3v3: vcc3v3 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- };
|
||||
-
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 5eea216437eeff908d6d2942bf893fb77ebfc111 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:59 -0600
|
||||
Subject: [PATCH 2/8] arm64: dts: allwinner: pinebook: Sort device tree nodes
|
||||
|
||||
The r_i2c node should come before r_rsb, and in any case should not
|
||||
separate the axp803 node from its subnodes.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index ff32ca1a495e..77784f7b1da7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -172,6 +172,14 @@ &pwm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+/* The ANX6345 eDP-bridge is on r_i2c */
|
||||
+&r_i2c {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_i2c_pl89_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
@@ -183,14 +191,6 @@ axp803: pmic@3a3 {
|
||||
};
|
||||
};
|
||||
|
||||
-/* The ANX6345 eDP-bridge is on r_i2c */
|
||||
-&r_i2c {
|
||||
- clock-frequency = <100000>;
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&r_i2c_pl89_pins>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
#include "axp803.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 4bdf53ffc64e5c6738c942dcdc422d5ca8a2070a Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:00 -0600
|
||||
Subject: [PATCH 3/8] arm64: dts: allwinner: pinebook: Make simplefb more
|
||||
consistent
|
||||
|
||||
Boards generally reference the simplefb nodes from the SoC dtsi by
|
||||
label, not by full path. simplefb_hdmi is already like this in the
|
||||
Pinebook DTS. Update simplefb_lcd to match.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 77784f7b1da7..224bed65d008 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -41,12 +41,6 @@ backlight: backlight {
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
-
|
||||
- framebuffer-lcd {
|
||||
- panel-supply = <®_dc1sw>;
|
||||
- dvdd25-supply = <®_dldo2>;
|
||||
- dvdd12-supply = <®_fldo1>;
|
||||
- };
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
@@ -316,6 +310,12 @@ ®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
|
||||
+&simplefb_lcd {
|
||||
+ panel-supply = <®_dc1sw>;
|
||||
+ dvdd25-supply = <®_dldo2>;
|
||||
+ dvdd12-supply = <®_fldo1>;
|
||||
+};
|
||||
+
|
||||
&simplefb_hdmi {
|
||||
vcc-hdmi-supply = <®_dldo1>;
|
||||
};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From c0f416de7141bbc713f080ad123b256f6320ec92 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:01 -0600
|
||||
Subject: [PATCH 4/8] arm64: dts: allwinner: pinebook: Document MMC0 CD pin
|
||||
name
|
||||
|
||||
Normally GPIO pin references are followed by a comment giving the pin
|
||||
name for searchability. Add the comment here where it was missing.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 224bed65d008..a1e15777d524 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -119,7 +119,7 @@ &mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 8818d55ec31fa6e0dc14fb7a4924b3e8d3ecef7d Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:02 -0600
|
||||
Subject: [PATCH 5/8] arm64: dts: allwinner: pinebook: Add GPIO port regulators
|
||||
|
||||
Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL.
|
||||
|
||||
VCC-PC and VCC-PG are supplied by ELDO1 at 1.8v.
|
||||
VCC-PD is supplied by DCDC1 (VCC-IO) at 3.3v.
|
||||
VCC-PE is supplied by ALDO1, and is unused.
|
||||
|
||||
VCC-PL creates a circular dependency, so it is omitted for now.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index a1e15777d524..1ec39120323f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -162,6 +162,13 @@ &ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&pio {
|
||||
+ vcc-pc-supply = <®_eldo1>;
|
||||
+ vcc-pd-supply = <®_dcdc1>;
|
||||
+ vcc-pe-supply = <®_aldo1>;
|
||||
+ vcc-pg-supply = <®_eldo1>;
|
||||
+};
|
||||
+
|
||||
&pwm {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -174,6 +181,16 @@ &r_i2c {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&r_pio {
|
||||
+ /*
|
||||
+ * FIXME: We can't add that supply for now since it would
|
||||
+ * create a circular dependency between pinctrl, the regulator
|
||||
+ * and the RSB Bus.
|
||||
+ *
|
||||
+ * vcc-pl-supply = <®_aldo2>;
|
||||
+ */
|
||||
+};
|
||||
+
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From bd863f25d41173e140850772f9a02ffb3b3e0d6b Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:03 -0600
|
||||
Subject: [PATCH 6/8] arm64: dts: allwinner: pinebook: Fix backlight regulator
|
||||
|
||||
The output from the backlight regulator is labeled as "VBKLT" in the
|
||||
schematic. Using the equation and resistor values from the schematic,
|
||||
the output is approximately 18V, not 3.3V. Since the regulator in use
|
||||
(SS6640STR) is a boost regulator powered by PS (battery or AC input),
|
||||
which are both >3.3V, the output could not be 3.3V anyway.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-pinebook.dts | 20 +++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 1ec39120323f..313f4e6edc19 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -21,22 +21,13 @@ aliases {
|
||||
ethernet0 = &rtl8723cs;
|
||||
};
|
||||
|
||||
- vdd_bl: regulator@0 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "bl-3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
- enable-active-high;
|
||||
- };
|
||||
-
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm 0 50000 0>;
|
||||
brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
|
||||
default-brightness-level = <2>;
|
||||
enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
|
||||
- power-supply = <&vdd_bl>;
|
||||
+ power-supply = <®_vbklt>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -57,6 +48,15 @@ lid_switch {
|
||||
};
|
||||
};
|
||||
|
||||
+ reg_vbklt: vbklt {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vbklt";
|
||||
+ regulator-min-microvolt = <18000000>;
|
||||
+ regulator-max-microvolt = <18000000>;
|
||||
+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 425472eb612873c9c64b41df70020de58448bef3 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:04 -0600
|
||||
Subject: [PATCH 7/8] arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator
|
||||
|
||||
Now that AXP803 GPIO support is available, we can properly model
|
||||
the hardware. Replace the use of GPIO0-LDO with a fixed regulator
|
||||
controlled by GPIO0. This boost regulator is used to power the
|
||||
(internal and external) USB ports, as well as the speakers.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-pinebook.dts | 27 +++++++++----------
|
||||
1 file changed, 12 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 313f4e6edc19..c06c540e6c08 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -57,6 +57,15 @@ reg_vbklt: vbklt {
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
+ reg_vcc5v0: vcc5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
@@ -64,12 +73,7 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
|
||||
speaker_amp: audio-amplifier {
|
||||
compatible = "simple-audio-amplifier";
|
||||
- /*
|
||||
- * TODO This is actually a fixed regulator controlled by
|
||||
- * the GPIO line on the PMIC. This should be corrected
|
||||
- * once GPIO support is added for this PMIC.
|
||||
- */
|
||||
- VCC-supply = <®_ldo_io0>;
|
||||
+ VCC-supply = <®_vcc5v0>;
|
||||
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
sound-name-prefix = "Speaker Amp";
|
||||
};
|
||||
@@ -316,13 +320,6 @@ ®_fldo2 {
|
||||
regulator-name = "vdd-cpus";
|
||||
};
|
||||
|
||||
-®_ldo_io0 {
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-name = "vcc-usb";
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
@@ -371,7 +368,7 @@ &usb_otg {
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
- usb0_vbus-supply = <®_ldo_io0>;
|
||||
- usb1_vbus-supply = <®_ldo_io0>;
|
||||
+ usb0_vbus-supply = <®_vcc5v0>;
|
||||
+ usb1_vbus-supply = <®_vcc5v0>;
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From c3aea4ea2117f5dc28da3d4175fc93296653ecd5 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:58 -0600
|
||||
Subject: [PATCH 8/8] arm64: dts: allwinner: pinebook: Remove unused AXP803
|
||||
regulators
|
||||
|
||||
The Pinebook does not use the CSI bus on the A64. In fact it does not
|
||||
use GPIO port E for anything at all. Thus the following regulators are
|
||||
not used and do not need voltages set:
|
||||
|
||||
- ALDO1: Connected to VCC-PE only
|
||||
- DLDO3: Not connected
|
||||
- ELDO3: Not connected
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 +---------------
|
||||
1 file changed, 1 insertion(+), 15 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index c06c540e6c08..12e513ba8f50 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -217,9 +217,7 @@ &battery_power_supply {
|
||||
};
|
||||
|
||||
®_aldo1 {
|
||||
- regulator-min-microvolt = <2800000>;
|
||||
- regulator-max-microvolt = <2800000>;
|
||||
- regulator-name = "vcc-csi";
|
||||
+ regulator-name = "vcc-pe";
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
@@ -282,12 +280,6 @@ ®_dldo2 {
|
||||
regulator-name = "vcc-edp";
|
||||
};
|
||||
|
||||
-®_dldo3 {
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-name = "avdd-csi";
|
||||
-};
|
||||
-
|
||||
®_dldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -301,12 +293,6 @@ ®_eldo1 {
|
||||
regulator-name = "cpvdd";
|
||||
};
|
||||
|
||||
-®_eldo3 {
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <1800000>;
|
||||
- regulator-name = "vdd-1v8-csi";
|
||||
-};
|
||||
-
|
||||
®_fldo1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
396
arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
Normal file
396
arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
Normal file
|
|
@ -0,0 +1,396 @@
|
|||
From patchwork Wed Jan 29 13:28:17 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1230891
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=lgr6vu5h;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48747F4JPmz9sPW
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Thu, 30 Jan 2020 00:28:25 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1726178AbgA2N2Y (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Wed, 29 Jan 2020 08:28:24 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:3674 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1726069AbgA2N2Y (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Wed, 29 Jan 2020 08:28:24 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e3188630000>; Wed, 29 Jan 2020 05:28:03 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Wed, 29 Jan 2020 05:28:23 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Wed, 29 Jan 2020 05:28:23 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Wed, 29 Jan 2020 13:28:22 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Wed, 29 Jan 2020 13:28:22 +0000
|
||||
Received: from localhost.localdomain (Not Verified[10.21.133.51]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e3188740004>; Wed, 29 Jan 2020 05:28:21 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
Jiri Slaby <jslaby@suse.com>, Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<linux-tegra@vger.kernel.org>, Jeff Brasen <jbrasen@nvidia.com>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH V3] serial: 8250_tegra: Create Tegra specific 8250 driver
|
||||
Date: Wed, 29 Jan 2020 13:28:17 +0000
|
||||
Message-ID: <20200129132817.26343-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1580304483; bh=HoJs+kXsFZvSMy4ts1p9lRICvn55qhYk7d+0r26WND4=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=lgr6vu5h+VXLi0/YMPdPOZmrFcPymQL2RMQS/Y94oEs9qjQBfvOy9RYiQ5bsghpNO
|
||||
9U3OavbzFTAgW3KVZK8/mx1JJMjbFph68zpRKJEwBkblJHozmOkNlYLdz/cMpg5F3z
|
||||
XIdzGIouM94Y4Hf/z/PboeRmHIBT/2El0aEgzPdP9pt7VwjIlXvaaQs07AQ8RQFHaL
|
||||
NV3bpUNN5YnloRF8XZ4upFOBRw06fcNAkTS9bwSFXWyFX19F+pUyKwKLaMIsmytQ8Q
|
||||
1tMqHbNUdh2yi1PLb34dnWezFZmhfrhFsKrmWnbZA/QAcB+HuvRmUMtZmIE+K4sa1B
|
||||
dhsJcFUWXmJbQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
From: Jeff Brasen <jbrasen@nvidia.com>
|
||||
|
||||
To support booting NVIDIA Tegra platforms with either Device-Tree or
|
||||
ACPI, create a Tegra specific 8250 serial driver that supports both
|
||||
firmware types. Another benefit from doing this, is that the Tegra
|
||||
specific codec in the generic Open Firmware 8250 driver can now be
|
||||
removed.
|
||||
|
||||
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
|
||||
Changes since V2:
|
||||
- Added missing header for devm_ioremap (reported by kbuild test robot)
|
||||
Changes since V1:
|
||||
- Added support for COMPILE_TEST
|
||||
|
||||
drivers/tty/serial/8250/8250_of.c | 28 ----
|
||||
drivers/tty/serial/8250/8250_tegra.c | 198 +++++++++++++++++++++++++++
|
||||
drivers/tty/serial/8250/Kconfig | 9 ++
|
||||
drivers/tty/serial/8250/Makefile | 1 +
|
||||
4 files changed, 208 insertions(+), 28 deletions(-)
|
||||
create mode 100644 drivers/tty/serial/8250/8250_tegra.c
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
|
||||
index 531ad67395e0..5e45cf8dbc6e 100644
|
||||
--- a/drivers/tty/serial/8250/8250_of.c
|
||||
+++ b/drivers/tty/serial/8250/8250_of.c
|
||||
@@ -7,7 +7,6 @@
|
||||
#include <linux/console.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
-#include <linux/delay.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial_reg.h>
|
||||
#include <linux/of_address.h>
|
||||
@@ -26,28 +25,6 @@ struct of_serial_info {
|
||||
int line;
|
||||
};
|
||||
|
||||
-#ifdef CONFIG_ARCH_TEGRA
|
||||
-static void tegra_serial_handle_break(struct uart_port *p)
|
||||
-{
|
||||
- unsigned int status, tmout = 10000;
|
||||
-
|
||||
- do {
|
||||
- status = p->serial_in(p, UART_LSR);
|
||||
- if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
|
||||
- status = p->serial_in(p, UART_RX);
|
||||
- else
|
||||
- break;
|
||||
- if (--tmout == 0)
|
||||
- break;
|
||||
- udelay(1);
|
||||
- } while (1);
|
||||
-}
|
||||
-#else
|
||||
-static inline void tegra_serial_handle_break(struct uart_port *port)
|
||||
-{
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
static int of_8250_rs485_config(struct uart_port *port,
|
||||
struct serial_rs485 *rs485)
|
||||
{
|
||||
@@ -211,10 +188,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
|
||||
port->rs485_config = of_8250_rs485_config;
|
||||
|
||||
switch (type) {
|
||||
- case PORT_TEGRA:
|
||||
- port->handle_break = tegra_serial_handle_break;
|
||||
- break;
|
||||
-
|
||||
case PORT_RT2880:
|
||||
port->iotype = UPIO_AU;
|
||||
break;
|
||||
@@ -359,7 +332,6 @@ static const struct of_device_id of_platform_serial_table[] = {
|
||||
{ .compatible = "ns16550", .data = (void *)PORT_16550, },
|
||||
{ .compatible = "ns16750", .data = (void *)PORT_16750, },
|
||||
{ .compatible = "ns16850", .data = (void *)PORT_16850, },
|
||||
- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },
|
||||
{ .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, },
|
||||
{ .compatible = "ralink,rt2880-uart", .data = (void *)PORT_RT2880, },
|
||||
{ .compatible = "intel,xscale-uart", .data = (void *)PORT_XSCALE, },
|
||||
diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c
|
||||
new file mode 100644
|
||||
index 000000000000..c0ffad1572c6
|
||||
--- /dev/null
|
||||
+++ b/drivers/tty/serial/8250/8250_tegra.c
|
||||
@@ -0,0 +1,198 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Serial Port driver for Tegra devices
|
||||
+ *
|
||||
+ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/acpi.h>
|
||||
+#include <linux/clk.h>
|
||||
+#include <linux/console.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/reset.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+#include "8250.h"
|
||||
+
|
||||
+struct tegra_uart {
|
||||
+ struct clk *clk;
|
||||
+ struct reset_control *rst;
|
||||
+ int line;
|
||||
+};
|
||||
+
|
||||
+static void tegra_uart_handle_break(struct uart_port *p)
|
||||
+{
|
||||
+ unsigned int status, tmout = 10000;
|
||||
+
|
||||
+ do {
|
||||
+ status = p->serial_in(p, UART_LSR);
|
||||
+ if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
|
||||
+ status = p->serial_in(p, UART_RX);
|
||||
+ else
|
||||
+ break;
|
||||
+ if (--tmout == 0)
|
||||
+ break;
|
||||
+ udelay(1);
|
||||
+ } while (1);
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct uart_8250_port port8250;
|
||||
+ struct tegra_uart *uart;
|
||||
+ struct uart_port *port;
|
||||
+ struct resource *res;
|
||||
+ int ret;
|
||||
+
|
||||
+ uart = devm_kzalloc(&pdev->dev, sizeof(*uart), GFP_KERNEL);
|
||||
+ if (!uart)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ memset(&port8250, 0, sizeof(port8250));
|
||||
+
|
||||
+ port = &port8250.port;
|
||||
+ spin_lock_init(&port->lock);
|
||||
+
|
||||
+ port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT |
|
||||
+ UPF_FIXED_TYPE;
|
||||
+ port->iotype = UPIO_MEM32;
|
||||
+ port->regshift = 2;
|
||||
+ port->type = PORT_TEGRA;
|
||||
+ port->irqflags |= IRQF_SHARED;
|
||||
+ port->dev = &pdev->dev;
|
||||
+ port->handle_break = tegra_uart_handle_break;
|
||||
+
|
||||
+ ret = of_alias_get_id(pdev->dev.of_node, "serial");
|
||||
+ if (ret >= 0)
|
||||
+ port->line = ret;
|
||||
+
|
||||
+ ret = platform_get_irq(pdev, 0);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ port->irq = ret;
|
||||
+
|
||||
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
+ if (!res)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ port->membase = devm_ioremap(&pdev->dev, res->start,
|
||||
+ resource_size(res));
|
||||
+ if (!port->membase)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ port->mapbase = res->start;
|
||||
+ port->mapsize = resource_size(res);
|
||||
+
|
||||
+ uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
|
||||
+ if (IS_ERR(uart->rst))
|
||||
+ return PTR_ERR(uart->rst);
|
||||
+
|
||||
+ if (device_property_read_u32(&pdev->dev, "clock-frequency",
|
||||
+ &port->uartclk)) {
|
||||
+ uart->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
+ if (IS_ERR(uart->clk)) {
|
||||
+ dev_err(&pdev->dev, "failed to get clock!\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ ret = clk_prepare_enable(uart->clk);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ port->uartclk = clk_get_rate(uart->clk);
|
||||
+ }
|
||||
+
|
||||
+ ret = reset_control_deassert(uart->rst);
|
||||
+ if (ret)
|
||||
+ goto err_clkdisable;
|
||||
+
|
||||
+ ret = serial8250_register_8250_port(&port8250);
|
||||
+ if (ret < 0)
|
||||
+ goto err_clkdisable;
|
||||
+
|
||||
+ platform_set_drvdata(pdev, uart);
|
||||
+ uart->line = ret;
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+err_clkdisable:
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = platform_get_drvdata(pdev);
|
||||
+
|
||||
+ serial8250_unregister_port(uart->line);
|
||||
+ reset_control_assert(uart->rst);
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_PM_SLEEP
|
||||
+static int tegra_uart_suspend(struct device *dev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = dev_get_drvdata(dev);
|
||||
+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
|
||||
+ struct uart_port *port = &port8250->port;
|
||||
+
|
||||
+ serial8250_suspend_port(uart->line);
|
||||
+
|
||||
+ if (!uart_console(port) || console_suspend_enabled)
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_resume(struct device *dev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = dev_get_drvdata(dev);
|
||||
+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
|
||||
+ struct uart_port *port = &port8250->port;
|
||||
+
|
||||
+ if (!uart_console(port) || console_suspend_enabled)
|
||||
+ clk_prepare_enable(uart->clk);
|
||||
+
|
||||
+ serial8250_resume_port(uart->line);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static SIMPLE_DEV_PM_OPS(tegra_uart_pm_ops, tegra_uart_suspend,
|
||||
+ tegra_uart_resume);
|
||||
+
|
||||
+static const struct of_device_id tegra_uart_of_match[] = {
|
||||
+ { .compatible = "nvidia,tegra20-uart", },
|
||||
+ { },
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, tegra_uart_of_match);
|
||||
+
|
||||
+static const struct acpi_device_id tegra_uart_acpi_match[] = {
|
||||
+ { "NVDA0100", 0 },
|
||||
+ { },
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(acpi, tegra_uart_acpi_match);
|
||||
+
|
||||
+static struct platform_driver tegra_uart_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "tegra-uart",
|
||||
+ .pm = &tegra_uart_pm_ops,
|
||||
+ .of_match_table = tegra_uart_of_match,
|
||||
+ .acpi_match_table = ACPI_PTR(tegra_uart_acpi_match),
|
||||
+ },
|
||||
+ .probe = tegra_uart_probe,
|
||||
+ .remove = tegra_uart_remove,
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(tegra_uart_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("Jeff Brasen <jbrasen@nvidia.com>");
|
||||
+MODULE_DESCRIPTION("NVIDIA Tegra 8250 Driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
|
||||
index f16824bbb573..af0688156dd0 100644
|
||||
--- a/drivers/tty/serial/8250/Kconfig
|
||||
+++ b/drivers/tty/serial/8250/Kconfig
|
||||
@@ -500,6 +500,15 @@ config SERIAL_8250_PXA
|
||||
applicable to both devicetree and legacy boards, and early console is
|
||||
part of its support.
|
||||
|
||||
+config SERIAL_8250_TEGRA
|
||||
+ tristate "8250 support for Tegra serial ports"
|
||||
+ default SERIAL_8250
|
||||
+ depends on SERIAL_8250
|
||||
+ depends on ARCH_TEGRA || COMPILE_TEST
|
||||
+ help
|
||||
+ Select this option if you have machine with an NVIDIA Tegra SoC and
|
||||
+ wish to enable 8250 serial driver for the Tegra serial interfaces.
|
||||
+
|
||||
config SERIAL_OF_PLATFORM
|
||||
tristate "Devicetree based probing for 8250 ports"
|
||||
depends on SERIAL_8250 && OF
|
||||
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
|
||||
index 51a6079d3f1f..a8bfb654d490 100644
|
||||
--- a/drivers/tty/serial/8250/Makefile
|
||||
+++ b/drivers/tty/serial/8250/Makefile
|
||||
@@ -37,6 +37,7 @@ obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o
|
||||
obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o
|
||||
obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o
|
||||
obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o
|
||||
+obj-$(CONFIG_SERIAL_8250_TEGRA) += 8250_tegra.o
|
||||
obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o
|
||||
|
||||
CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
From patchwork Mon Feb 24 14:07:48 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243112
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=bnwYpe6i;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R3nG3y97z9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:08:18 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727539AbgBXOIR (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:08:17 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:5063 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727451AbgBXOIR (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:08:17 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53d8840000>; Mon, 24 Feb 2020 06:07:00 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:08:16 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:08:16 -0800
|
||||
Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:08:16 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
|
||||
(172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:08:15 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53d8cd0006>; Mon, 24 Feb 2020 06:08:15 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Milo Kim <milo.kim@ti.com>, Lee Jones <lee.jones@linaro.org>,
|
||||
Daniel Thompson <daniel.thompson@linaro.org>,
|
||||
Jingoo Han <jingoohan1@gmail.com>
|
||||
CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
|
||||
<linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH] backlight: lp855x: Ensure regulators are disabled on probe
|
||||
failure
|
||||
Date: Mon, 24 Feb 2020 14:07:48 +0000
|
||||
Message-ID: <20200224140748.2182-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582553220; bh=B1HKOxHeQwu3ZxgJLvSfafO1owYsd38lFNvB2Oh8gBc=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=bnwYpe6isaqG2Bp36VGI0VAYjd8jtznqNulwkVw85vf5zOMSfv809Oou4taz+1W9g
|
||||
/eTLeJozbJBXhllQfybYW8hX4fyWIjWNON8aQugt/0HrnKAjg5r9wLT5lTgmy+8n2B
|
||||
YrCJM3gob7XIi7l0cbONUTfyGssXmyEi+0SUamN4DDOnXIFxHBentnbyQdvOQ9+11P
|
||||
Dr5X+zeRff1B/SMt2pdNwrja2cVOPDRGAM+U4epkb2bICZZUiGv1fQLKa+KgJ7xMMS
|
||||
AwmdVrZ/6l2MAKwM+FuIqdF/x7mpCYg64MWX7TFFRwOSCFwNeq1fcK5TWItV01qcCa
|
||||
mFLwbcDwN/IQA==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
If probing the LP885x backlight fails after the regulators have been
|
||||
enabled, then the following warning is seen when releasing the
|
||||
regulators ...
|
||||
|
||||
WARNING: CPU: 1 PID: 289 at drivers/regulator/core.c:2051 _regulator_put.part.28+0x158/0x160
|
||||
Modules linked in: tegra_xudc lp855x_bl(+) host1x pwm_tegra ip_tables x_tables ipv6 nf_defrag_ipv6
|
||||
CPU: 1 PID: 289 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200224 #1
|
||||
Hardware name: NVIDIA Jetson TX1 Developer Kit (DT)
|
||||
|
||||
...
|
||||
|
||||
Call trace:
|
||||
_regulator_put.part.28+0x158/0x160
|
||||
regulator_put+0x34/0x50
|
||||
devm_regulator_release+0x10/0x18
|
||||
release_nodes+0x12c/0x230
|
||||
devres_release_all+0x34/0x50
|
||||
really_probe+0x1c0/0x370
|
||||
driver_probe_device+0x58/0x100
|
||||
device_driver_attach+0x6c/0x78
|
||||
__driver_attach+0xb0/0xf0
|
||||
bus_for_each_dev+0x68/0xc8
|
||||
driver_attach+0x20/0x28
|
||||
bus_add_driver+0x160/0x1f0
|
||||
driver_register+0x60/0x110
|
||||
i2c_register_driver+0x40/0x80
|
||||
lp855x_driver_init+0x20/0x1000 [lp855x_bl]
|
||||
do_one_initcall+0x58/0x1a0
|
||||
do_init_module+0x54/0x1d0
|
||||
load_module+0x1d80/0x21c8
|
||||
__do_sys_finit_module+0xe8/0x100
|
||||
__arm64_sys_finit_module+0x18/0x20
|
||||
el0_svc_common.constprop.3+0xb0/0x168
|
||||
do_el0_svc+0x20/0x98
|
||||
el0_sync_handler+0xf4/0x1b0
|
||||
el0_sync+0x140/0x180
|
||||
|
||||
Fix this by ensuring that the regulators are disabled, if enabled, on
|
||||
probe failure.
|
||||
|
||||
Finally, ensure that the vddio regulator is disabled in the driver
|
||||
remove handler.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
|
||||
---
|
||||
drivers/video/backlight/lp855x_bl.c | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/backlight/lp855x_bl.c b/drivers/video/backlight/lp855x_bl.c
|
||||
index f68920131a4a..e94932c69f54 100644
|
||||
--- a/drivers/video/backlight/lp855x_bl.c
|
||||
+++ b/drivers/video/backlight/lp855x_bl.c
|
||||
@@ -456,7 +456,7 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
|
||||
ret = regulator_enable(lp->enable);
|
||||
if (ret < 0) {
|
||||
dev_err(lp->dev, "failed to enable vddio: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_supply;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -471,24 +471,34 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
|
||||
ret = lp855x_configure(lp);
|
||||
if (ret) {
|
||||
dev_err(lp->dev, "device config err: %d", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
ret = lp855x_backlight_register(lp);
|
||||
if (ret) {
|
||||
dev_err(lp->dev,
|
||||
"failed to register backlight. err: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
ret = sysfs_create_group(&lp->dev->kobj, &lp855x_attr_group);
|
||||
if (ret) {
|
||||
dev_err(lp->dev, "failed to register sysfs. err: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
backlight_update_status(lp->bl);
|
||||
+
|
||||
return 0;
|
||||
+
|
||||
+disable_vddio:
|
||||
+ if (lp->enable)
|
||||
+ regulator_disable(lp->enable);
|
||||
+disable_supply:
|
||||
+ if (lp->supply)
|
||||
+ regulator_disable(lp->supply);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int lp855x_remove(struct i2c_client *cl)
|
||||
@@ -497,6 +507,8 @@ static int lp855x_remove(struct i2c_client *cl)
|
||||
|
||||
lp->bl->props.brightness = 0;
|
||||
backlight_update_status(lp->bl);
|
||||
+ if (lp->enable)
|
||||
+ regulator_disable(lp->enable);
|
||||
if (lp->supply)
|
||||
regulator_disable(lp->supply);
|
||||
sysfs_remove_group(&lp->dev->kobj, &lp855x_attr_group);
|
||||
232
bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
Normal file
232
bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
From patchwork Mon Feb 10 09:52:20 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Lukas Wunner <lukas@wunner.de>
|
||||
X-Patchwork-Id: 11372935
|
||||
Return-Path:
|
||||
<SRS0=uiPw=36=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6E6F4109A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 10 Feb 2020 09:52:52 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 3ABD621835
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Mon, 10 Feb 2020 09:52:52 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="sLV1I6RP"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3ABD621835
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=wunner.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:To:Subject:Date:
|
||||
From:References:In-Reply-To:Message-Id:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=52m4zqqDQ15r/4EHqLM3tCdaghuCQFRSRI636FPzyTg=; b=sLV1I6RPSfIAq0DmE3ADnTyGjh
|
||||
NnOUSjVDCUDlMsaRe7dhAfC7D3enDiNCrnGXNT3kb6+57+bXrj31EU+9NhIevN+Rr+lrXe+8PaWKw
|
||||
Q2LbzZDJ3owcXTu2EZAYrQPHg/BScQT5NiMMHrLmISp9B3erAO45imXsyolyfBhUFbvxPY/ijVw2C
|
||||
rPXYS/w47IaC6T79wZVTZ1Iuqn0jR/qvksA7yRUBMTsnHcc3fv6yuD+cD0BFmmao7LAxKlA3uu8Ba
|
||||
MXB0/7aQIlb5yOssEfnwThbbnbrpxmnIS0CT00K1yAYIkzDAv7lS7imZ5qTy2uahyJFWjQF8T++wX
|
||||
TgZL/6mQ==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j15kG-0008ES-UU; Mon, 10 Feb 2020 09:52:48 +0000
|
||||
Received: from mailout1.hostsharing.net ([83.223.95.204])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j15kC-0008Cu-Hl; Mon, 10 Feb 2020 09:52:46 +0000
|
||||
Received: from h08.hostsharing.net (h08.hostsharing.net
|
||||
[IPv6:2a01:37:1000::53df:5f1c:0])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(Client CN "*.hostsharing.net",
|
||||
Issuer "COMODO RSA Domain Validation Secure Server CA" (not verified))
|
||||
by mailout1.hostsharing.net (Postfix) with ESMTPS id 32EE510192623;
|
||||
Mon, 10 Feb 2020 10:52:31 +0100 (CET)
|
||||
Received: from localhost (unknown [87.130.102.138])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by h08.hostsharing.net (Postfix) with ESMTPSA id E85DF60AD5E1;
|
||||
Mon, 10 Feb 2020 10:52:30 +0100 (CET)
|
||||
X-Mailbox-Line: From 8be2f3e95fb29abdf80240f2b8a38621c42eb2a9 Mon Sep 17
|
||||
00:00:00 2001
|
||||
Message-Id:
|
||||
<8be2f3e95fb29abdf80240f2b8a38621c42eb2a9.1581327911.git.lukas@wunner.de>
|
||||
In-Reply-To: <713627a200d9c8fd7cac424d69e98166@kernel.org>
|
||||
References: <713627a200d9c8fd7cac424d69e98166@kernel.org>
|
||||
From: Lukas Wunner <lukas@wunner.de>
|
||||
Date: Mon, 10 Feb 2020 10:52:20 +0100
|
||||
Subject: [PATCH v2] irqchip/bcm2835: Quiesce IRQs left enabled by bootloader
|
||||
To: Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>,
|
||||
Marc Zyngier <maz@kernel.org>,
|
||||
"Nicolas Saenz Julienne" <nsaenzjulienne@suse.de>
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200210_015244_903439_EE700514
|
||||
X-CRM114-Status: GOOD ( 18.64 )
|
||||
X-Spam-Score: -0.7 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.7 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/,
|
||||
low trust [83.223.95.204 listed in list.dnswl.org]
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[83.223.95.204 listed in wl.mailspike.net]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 SPF_NONE SPF: sender does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Kristina Brooks <notstina@gmail.com>, Scott Branden <sbranden@broadcom.com>,
|
||||
Ray Jui <rjui@broadcom.com>, Serge Schneider <serge@raspberrypi.org>,
|
||||
linux-kernel@vger.kernel.org, Phil Elwell <phil@raspberrypi.org>,
|
||||
Matthias Brugger <mbrugger@suse.com>, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, Martin Sperl <kernel@martin.sperl.org>,
|
||||
linux-arm-kernel@lists.infradead.org, Stefan Wahren <wahrenst@gmx.net>
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Customers of our "Revolution Pi" open source PLCs (which are based on
|
||||
the Raspberry Pi) have reported random lockups as well as jittery eMMC,
|
||||
UART and SPI latency. We were able to reproduce the lockups in our lab
|
||||
and hooked up a JTAG debugger:
|
||||
|
||||
It turns out that the USB controller's interrupt is already enabled when
|
||||
the kernel boots. All interrupts are disabled when the chip comes out
|
||||
of power-on reset, according to the spec. So apparently the bootloader
|
||||
enables the interrupt but neglects to disable it before handing over
|
||||
control to the kernel.
|
||||
|
||||
The bootloader is a closed source blob provided by the Raspberry Pi
|
||||
Foundation. Development of an alternative open source bootloader was
|
||||
begun by Kristina Brooks but it's not fully functional yet. Usage of
|
||||
the blob is thus without alternative for the time being.
|
||||
|
||||
The Raspberry Pi Foundation's downstream kernel has a performance-
|
||||
optimized USB driver (which we use on our Revolution Pi products).
|
||||
The driver takes advantage of the FIQ fast interrupt. Because the
|
||||
regular USB interrupt was left enabled by the bootloader, both the
|
||||
FIQ and the normal interrupt is enabled once the USB driver probes.
|
||||
|
||||
The spec has the following to say on simultaneously enabling the FIQ
|
||||
and the normal interrupt of a peripheral:
|
||||
|
||||
"One interrupt source can be selected to be connected to the ARM FIQ
|
||||
input. An interrupt which is selected as FIQ should have its normal
|
||||
interrupt enable bit cleared. Otherwise a normal and an FIQ interrupt
|
||||
will be fired at the same time. Not a good idea!"
|
||||
^^^^^^^^^^^^^^^
|
||||
https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
|
||||
page 110
|
||||
|
||||
On a multicore Raspberry Pi, the Foundation's kernel routes all normal
|
||||
interrupts to CPU 0 and the FIQ to CPU 1. Because both the FIQ and the
|
||||
normal interrupt is enabled, a USB interrupt causes CPU 0 to spin in
|
||||
bcm2836_chained_handle_irq() until the FIQ on CPU 1 has cleared it.
|
||||
Interrupts with a lower priority than USB are starved as long.
|
||||
|
||||
That explains the jittery eMMC, UART and SPI latency: On one occasion
|
||||
I've seen CPU 0 blocked for no less than 2.9 msec. Basically,
|
||||
everything not USB takes a performance hit: Whereas eMMC throughput
|
||||
on a Compute Module 3 remains relatively constant at 23.5 MB/s with
|
||||
this commit, it irregularly dips to 23.0 MB/s without this commit.
|
||||
|
||||
The lockups occur when CPU 0 receives a USB interrupt while holding a
|
||||
lock which CPU 1 is trying to acquire while the FIQ is temporarily
|
||||
disabled on CPU 1.
|
||||
|
||||
I've tested old releases of the Foundation's bootloader as far back as
|
||||
1.20160202-1 and they all leave the USB interrupt enabled. Still older
|
||||
releases fail to boot a contemporary kernel on a Compute Module 1 or 3,
|
||||
which are the only Raspberry Pi variants I have at my disposal for
|
||||
testing.
|
||||
|
||||
Fix by disabling IRQs left enabled by the bootloader. Although the
|
||||
impact is most pronounced on the Foundation's downstream kernel,
|
||||
it seems prudent to apply the fix to the upstream kernel to guard
|
||||
against such mistakes in any present and future bootloader.
|
||||
|
||||
Signed-off-by: Lukas Wunner <lukas@wunner.de>
|
||||
Cc: Serge Schneider <serge@raspberrypi.org>
|
||||
Cc: Kristina Brooks <notstina@gmail.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
Changes since v1:
|
||||
* Use "relaxed" MMIO accessors to avoid memory barriers (Marc)
|
||||
* Use u32 instead of int for register access (Marc)
|
||||
* Quiesce FIQ as well (Marc)
|
||||
* Quiesce IRQs after mapping them for better readability
|
||||
* Drop alternative approach from commit message (Marc)
|
||||
|
||||
Link to v1:
|
||||
https://lore.kernel.org/lkml/988737dbbc4e499c2faaaa4e567ba3ed8deb9a89.1581089797.git.lukas@wunner.de/
|
||||
|
||||
drivers/irqchip/irq-bcm2835.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
|
||||
index 418245d31921..63539c88ac3a 100644
|
||||
--- a/drivers/irqchip/irq-bcm2835.c
|
||||
+++ b/drivers/irqchip/irq-bcm2835.c
|
||||
@@ -61,6 +61,7 @@
|
||||
| SHORTCUT1_MASK | SHORTCUT2_MASK)
|
||||
|
||||
#define REG_FIQ_CONTROL 0x0c
|
||||
+#define REG_FIQ_ENABLE 0x80
|
||||
|
||||
#define NR_BANKS 3
|
||||
#define IRQS_PER_BANK 32
|
||||
@@ -135,6 +136,7 @@ static int __init armctrl_of_init(struct device_node *node,
|
||||
{
|
||||
void __iomem *base;
|
||||
int irq, b, i;
|
||||
+ u32 reg;
|
||||
|
||||
base = of_iomap(node, 0);
|
||||
if (!base)
|
||||
@@ -157,6 +159,19 @@ static int __init armctrl_of_init(struct device_node *node,
|
||||
handle_level_irq);
|
||||
irq_set_probe(irq);
|
||||
}
|
||||
+
|
||||
+ reg = readl_relaxed(intc.enable[b]);
|
||||
+ if (reg) {
|
||||
+ writel_relaxed(reg, intc.disable[b]);
|
||||
+ pr_err(FW_BUG "Bootloader left irq enabled: "
|
||||
+ "bank %d irq %*pbl\n", b, IRQS_PER_BANK, ®);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ reg = readl_relaxed(base + REG_FIQ_CONTROL);
|
||||
+ if (reg & REG_FIQ_ENABLE) {
|
||||
+ writel_relaxed(0, base + REG_FIQ_CONTROL);
|
||||
+ pr_err(FW_BUG "Bootloader left fiq enabled\n");
|
||||
}
|
||||
|
||||
if (is_2836) {
|
||||
1
build_configs.sh
Symbolic link
1
build_configs.sh
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
configs/build_configs.sh
|
||||
166
check-kabi
166
check-kabi
|
|
@ -1,166 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
#
|
||||
# check-kabi - Red Hat kABI reference checking tool
|
||||
#
|
||||
# We use this script to check against reference Module.kabi files.
|
||||
#
|
||||
# Author: Jon Masters <jcm@redhat.com>
|
||||
# Copyright (C) 2007-2009 Red Hat, Inc.
|
||||
#
|
||||
# This software may be freely redistributed under the terms of the GNU
|
||||
# General Public License (GPL).
|
||||
|
||||
# Changelog:
|
||||
#
|
||||
# 2018/06/01 - Update for python3 by Petr Oros.
|
||||
# 2009/08/15 - Updated for use in RHEL6.
|
||||
# 2007/06/13 - Initial rewrite in python by Jon Masters.
|
||||
|
||||
__author__ = "Jon Masters <jcm@redhat.com>"
|
||||
__version__ = "2.0"
|
||||
__date__ = "2009/08/15"
|
||||
__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc"
|
||||
__license__ = "GPL"
|
||||
|
||||
import getopt
|
||||
import string
|
||||
import sys
|
||||
|
||||
true = 1
|
||||
false = 0
|
||||
|
||||
|
||||
def load_symvers(symvers, filename):
|
||||
"""Load a Module.symvers file."""
|
||||
|
||||
symvers_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = symvers_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type, *ns = in_line.split()
|
||||
ns = ns[0] if ns else None
|
||||
|
||||
symvers[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def load_kabi(kabi, filename):
|
||||
"""Load a Module.kabi file."""
|
||||
|
||||
kabi_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = kabi_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type, *ns = in_line.split()
|
||||
ns = ns[0] if ns else None
|
||||
|
||||
kabi[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def check_kabi(symvers, kabi):
|
||||
"""Check Module.kabi and Module.symvers files."""
|
||||
|
||||
fail = 0
|
||||
warn = 0
|
||||
changed_symbols = []
|
||||
moved_symbols = []
|
||||
ns_symbols = []
|
||||
|
||||
for symbol in kabi:
|
||||
abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
|
||||
abi_ns = abi_ns[0] if abi_ns else None
|
||||
if symbol in symvers:
|
||||
sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
|
||||
sym_ns = sym_ns[0] if sym_ns else None
|
||||
if abi_hash != sym_hash:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if abi_dir != sym_dir:
|
||||
warn = 1
|
||||
moved_symbols.append(symbol)
|
||||
|
||||
if abi_ns != sym_ns:
|
||||
warn = 1
|
||||
ns_symbols.append(symbol)
|
||||
else:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if fail:
|
||||
print("*** ERROR - ABI BREAKAGE WAS DETECTED ***")
|
||||
print("")
|
||||
print("The following symbols have been changed (this will cause an ABI breakage):")
|
||||
print("")
|
||||
for symbol in changed_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
if warn:
|
||||
print("*** WARNING - ABI SYMBOLS MOVED ***")
|
||||
if moved_symbols:
|
||||
print("")
|
||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
||||
print("provided by the kernel vmlinux out to a loadable module):")
|
||||
print("")
|
||||
for symbol in moved_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
if ns_symbols:
|
||||
print("")
|
||||
print("The following symbols changed symbol namespaces:")
|
||||
print("")
|
||||
for symbol in ns_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
||||
double-checkig is required to avoid introducing / concealing
|
||||
KABI inconsistencies."""
|
||||
if fail or warn:
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def usage():
|
||||
print("""
|
||||
check-kabi: check Module.kabi and Module.symvers files.
|
||||
|
||||
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
|
||||
|
||||
""")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
symvers_file = ""
|
||||
kabi_file = ""
|
||||
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'hk:s:')
|
||||
|
||||
for o, v in opts:
|
||||
if o == "-s":
|
||||
symvers_file = v
|
||||
if o == "-h":
|
||||
usage()
|
||||
sys.exit(0)
|
||||
if o == "-k":
|
||||
kabi_file = v
|
||||
|
||||
if (symvers_file == "") or (kabi_file == ""):
|
||||
usage()
|
||||
sys.exit(1)
|
||||
|
||||
symvers = {}
|
||||
kabi = {}
|
||||
|
||||
load_symvers(symvers, symvers_file)
|
||||
load_kabi(kabi, kabi_file)
|
||||
check_kabi(symvers, kabi)
|
||||
22
check_configs.awk
Executable file
22
check_configs.awk
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/awk -f
|
||||
|
||||
/is not set/ {
|
||||
split ($0, a, "#");
|
||||
split(a[2], b);
|
||||
if (NR==FNR) {
|
||||
configs[b[1]]="is not set";
|
||||
} else {
|
||||
if (configs[b[1]] != "" && configs[b[1]] != "is not set")
|
||||
print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Fedora tree";
|
||||
}
|
||||
}
|
||||
|
||||
/=/ {
|
||||
split ($0, a, "=");
|
||||
if (NR==FNR) {
|
||||
configs[a[1]]=a[2];
|
||||
} else {
|
||||
if (configs[a[1]] != "" && configs[a[1]] != a[2])
|
||||
print "Found "a[1]"="configs[a[1]]" after generation, had " a[1]"="a[2]" in Fedora tree";
|
||||
}
|
||||
}
|
||||
1
config_generation
Symbolic link
1
config_generation
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
configs/config_generation
|
||||
159
configs/build_configs.sh
Executable file
159
configs/build_configs.sh
Executable file
|
|
@ -0,0 +1,159 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# This script merges together the hierarchy of CONFIG_* files under generic
|
||||
# and debug to form the necessary $PACKAGE_NAME<version>-<arch>-<variant>.config
|
||||
# files for building RHEL kernels, based on the contents of a control file
|
||||
|
||||
PACKAGE_NAME="${1:-kernel}" # defines the package name used
|
||||
KVERREL="${2:-}"
|
||||
SUBARCH="${3:-}" # defines a specific arch
|
||||
SCRIPT="$(readlink -f $0)"
|
||||
OUTPUT_DIR="$PWD"
|
||||
SCRIPT_DIR="$(dirname $SCRIPT)"
|
||||
|
||||
LANG=en_US.UTF-8
|
||||
|
||||
# to handle this script being a symlink
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
set errexit
|
||||
set nounset
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -f config-*
|
||||
}
|
||||
|
||||
die()
|
||||
{
|
||||
echo "$1"
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
|
||||
function combine_config_layer()
|
||||
{
|
||||
dir=$1
|
||||
file="config-$(echo $dir | sed -e 's|/|-|g')"
|
||||
|
||||
if [ $(ls $dir/ | grep -c "^CONFIG_") -eq 0 ]; then
|
||||
touch $file
|
||||
return
|
||||
fi
|
||||
|
||||
cat $dir/CONFIG_* > $file
|
||||
}
|
||||
|
||||
function merge_configs()
|
||||
{
|
||||
archvar=$1
|
||||
arch=$(echo "$archvar" | cut -f1 -d"-")
|
||||
configs=$2
|
||||
order=$3
|
||||
flavor=$4
|
||||
|
||||
name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar-$flavor.config
|
||||
echo -n "Building $name ... "
|
||||
touch config-merging config-merged
|
||||
|
||||
# apply based on order
|
||||
skip_if_missing=""
|
||||
for o in $order
|
||||
do
|
||||
for config in $(echo $configs | sed -e 's/:/ /g')
|
||||
do
|
||||
cfile="config-$o-$config"
|
||||
|
||||
test -n "$skip_if_missing" && test ! -e $cfile && continue
|
||||
|
||||
perl merge.pl $cfile config-merging > config-merged
|
||||
if [ ! $? -eq 0 ]; then
|
||||
die "Failed to merge $cfile"
|
||||
fi
|
||||
mv config-merged config-merging
|
||||
done
|
||||
|
||||
# first configs in $order is baseline, all files should be
|
||||
# there. second pass is overrides and can be missing.
|
||||
skip_if_missing="1"
|
||||
done
|
||||
if [ "x$arch" == "xaarch64" ]; then
|
||||
echo "# arm64" > $name
|
||||
elif [ "x$arch" == "xppc64le" ]; then
|
||||
echo "# powerpc" > $name
|
||||
elif [ "x$arch" == "xs390x" ]; then
|
||||
echo "# s390" > $name
|
||||
elif [ "x$arch" == "xarmv7hl" ]; then
|
||||
echo "# arm" > $name
|
||||
elif [ "x$arch" == "xi686" ]; then
|
||||
echo "# i386" > $name
|
||||
else
|
||||
echo "# $arch" > $name
|
||||
fi
|
||||
sort config-merging >> $name
|
||||
rm -f config-merged config-merging
|
||||
echo "done"
|
||||
}
|
||||
|
||||
function build_flavor()
|
||||
{
|
||||
flavor=$1
|
||||
control_file="priority".$flavor
|
||||
while read line
|
||||
do
|
||||
if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then
|
||||
empty=$(echo "$line" | cut -f2 -d"=")
|
||||
for a in $empty
|
||||
do
|
||||
echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config
|
||||
|
||||
done
|
||||
elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
|
||||
order=$(echo "$line" | cut -f2 -d"=")
|
||||
for o in $order
|
||||
do
|
||||
glist=$(find $o -type d)
|
||||
for d in $glist
|
||||
do
|
||||
combine_config_layer $d
|
||||
done
|
||||
done
|
||||
else
|
||||
arch=$(echo "$line" | cut -f1 -d"=")
|
||||
configs=$(echo "$line" | cut -f2 -d"=")
|
||||
|
||||
if [ -n "$SUBARCH" ]; then
|
||||
case $arch in
|
||||
$SUBARCH*)
|
||||
;;
|
||||
*)
|
||||
continue
|
||||
esac
|
||||
fi
|
||||
|
||||
merge_configs $arch $configs "$order" $flavor
|
||||
fi
|
||||
done < $control_file
|
||||
}
|
||||
|
||||
while read line
|
||||
do
|
||||
build_flavor $line
|
||||
done < flavors
|
||||
|
||||
# A passed in kernel version implies copy to final location
|
||||
# otherwise defer to another script
|
||||
if test -n "$KVERREL"
|
||||
then
|
||||
for i in kernel-*.config
|
||||
do
|
||||
NEW="$(echo $i | sed "s/$PACKAGE_NAME-$SUBARCH/$PACKAGE_NAME-$KVERREL-$SUBARCH/")"
|
||||
mv $i $NEW
|
||||
done
|
||||
fi
|
||||
|
||||
cleanup
|
||||
1
configs/fedora/debug/CONFIG_ACPI_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_ACPI_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_ACPI_DEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_ARM_PTDUMP_DEBUGFS
Normal file
1
configs/fedora/debug/CONFIG_ARM_PTDUMP_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_ARM_PTDUMP_DEBUGFS=y
|
||||
1
configs/fedora/debug/CONFIG_ATH_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_ATH_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_ATH_DEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_B43LEGACY_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_B43LEGACY_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_B43LEGACY_DEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_B43_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_B43_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_B43_DEBUG=y
|
||||
|
|
@ -0,0 +1 @@
|
|||
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
|
||||
1
configs/fedora/debug/CONFIG_BPF_KPROBE_OVERRIDE
Normal file
1
configs/fedora/debug/CONFIG_BPF_KPROBE_OVERRIDE
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_BPF_KPROBE_OVERRIDE=y
|
||||
1
configs/fedora/debug/CONFIG_CAN_DEBUG_DEVICES
Normal file
1
configs/fedora/debug/CONFIG_CAN_DEBUG_DEVICES
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CAN_DEBUG_DEVICES=y
|
||||
1
configs/fedora/debug/CONFIG_CARL9170_DEBUGFS
Normal file
1
configs/fedora/debug/CONFIG_CARL9170_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CARL9170_DEBUGFS=y
|
||||
1
configs/fedora/debug/CONFIG_CEPH_LIB_PRETTYDEBUG
Normal file
1
configs/fedora/debug/CONFIG_CEPH_LIB_PRETTYDEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_ATOMIC_SLEEP
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_ATOMIC_SLEEP
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_CREDENTIALS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_CREDENTIALS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_CREDENTIALS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_FORCE_WEAK_PER_CPU
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_FORCE_WEAK_PER_CPU
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_KMEMLEAK=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_LOCK_ALLOC
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_LOCK_ALLOC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_MISC
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_MISC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_MISC=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_MUTEXES
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_MUTEXES
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_MUTEXES=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_NOTIFIERS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_NOTIFIERS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_NOTIFIERS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_FREE
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_FREE
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS_FREE=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_RCU_HEAD
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_RCU_HEAD
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_TIMERS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_TIMERS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_WORK
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_OBJECTS_WORK
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_PERF_USE_VMALLOC
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_PERF_USE_VMALLOC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_PER_CPU_MAPS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_PER_CPU_MAPS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_RT_MUTEXES
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_RT_MUTEXES
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_RT_MUTEXES=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_RWSEMS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_RWSEMS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_RWSEMS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_SG
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_SG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_SG=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_SPINLOCK
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_SPINLOCK
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_SPINLOCK=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_STACK_USAGE
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_STACK_USAGE
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_VM_PGFLAGS
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_VM_PGFLAGS
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_VM_PGFLAGS=y
|
||||
1
configs/fedora/debug/CONFIG_DEBUG_WW_MUTEX_SLOWPATH
Normal file
1
configs/fedora/debug/CONFIG_DEBUG_WW_MUTEX_SLOWPATH
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
|
||||
1
configs/fedora/debug/CONFIG_DETECT_HUNG_TASK
Normal file
1
configs/fedora/debug/CONFIG_DETECT_HUNG_TASK
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DETECT_HUNG_TASK=y
|
||||
1
configs/fedora/debug/CONFIG_DMADEVICES_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_DMADEVICES_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DMADEVICES_DEBUG is not set
|
||||
1
configs/fedora/debug/CONFIG_DMADEVICES_VDEBUG
Normal file
1
configs/fedora/debug/CONFIG_DMADEVICES_VDEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||
1
configs/fedora/debug/CONFIG_DMA_API_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_DMA_API_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DMA_API_DEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_DRBD_FAULT_INJECTION
Normal file
1
configs/fedora/debug/CONFIG_DRBD_FAULT_INJECTION
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DRBD_FAULT_INJECTION=y
|
||||
1
configs/fedora/debug/CONFIG_EFI_PGT_DUMP
Normal file
1
configs/fedora/debug/CONFIG_EFI_PGT_DUMP
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_EFI_PGT_DUMP=y
|
||||
1
configs/fedora/debug/CONFIG_EXT4_DEBUG
Normal file
1
configs/fedora/debug/CONFIG_EXT4_DEBUG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_EXT4_DEBUG=y
|
||||
1
configs/fedora/debug/CONFIG_FAILSLAB
Normal file
1
configs/fedora/debug/CONFIG_FAILSLAB
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAILSLAB=y
|
||||
1
configs/fedora/debug/CONFIG_FAIL_FUNCTION
Normal file
1
configs/fedora/debug/CONFIG_FAIL_FUNCTION
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAIL_FUNCTION=y
|
||||
1
configs/fedora/debug/CONFIG_FAIL_IO_TIMEOUT
Normal file
1
configs/fedora/debug/CONFIG_FAIL_IO_TIMEOUT
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAIL_IO_TIMEOUT=y
|
||||
1
configs/fedora/debug/CONFIG_FAIL_MAKE_REQUEST
Normal file
1
configs/fedora/debug/CONFIG_FAIL_MAKE_REQUEST
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAIL_MAKE_REQUEST=y
|
||||
1
configs/fedora/debug/CONFIG_FAIL_MMC_REQUEST
Normal file
1
configs/fedora/debug/CONFIG_FAIL_MMC_REQUEST
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAIL_MMC_REQUEST=y
|
||||
1
configs/fedora/debug/CONFIG_FAIL_PAGE_ALLOC
Normal file
1
configs/fedora/debug/CONFIG_FAIL_PAGE_ALLOC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_FAIL_PAGE_ALLOC=y
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue