From e481df07fa6599e18a0570acb4dadabc56299b7b Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Tue, 3 Dec 2019 10:35:08 +0000 Subject: [PATCH 01/47] iptables: set-dscpmark follow upstreamimg attempt I'm having another attempt at trying to getting the 'store dscp into conntrack connmark' functionality into upstream kernel, since the restore function (act_ctinfo) has been accepted. The syntax has changed from 'savedscp' to 'set-dscpmark' since that conforms more closely with existing functionality. Signed-off-by: Kevin Darbyshire-Bryant --- package/network/utils/iproute2/Makefile | 2 +- .../patches/010-add-savedscp-support.patch | 214 -------- .../010-add-set-dscpmark-support.patch | 459 ++++++++++++++++++ 3 files changed, 460 insertions(+), 215 deletions(-) delete mode 100644 package/network/utils/iptables/patches/010-add-savedscp-support.patch create mode 100644 package/network/utils/iptables/patches/010-add-set-dscpmark-support.patch diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index d9aca960d6..d11a13facc 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=5.4.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 diff --git a/package/network/utils/iptables/patches/010-add-savedscp-support.patch b/package/network/utils/iptables/patches/010-add-savedscp-support.patch deleted file mode 100644 index c85aa9ead2..0000000000 --- a/package/network/utils/iptables/patches/010-add-savedscp-support.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 69b427fb5e1211c1110ce63be62b70504d04b0ff Mon Sep 17 00:00:00 2001 -From: Kevin Darbyshire-Bryant -Date: Sat, 23 Mar 2019 10:21:03 +0000 -Subject: [PATCH] savedscp - -Signed-off-by: Kevin Darbyshire-Bryant ---- - extensions/libxt_CONNMARK.c | 68 ++++++++++++++++++++++++++- - include/linux/netfilter/xt_connmark.h | 3 +- - 2 files changed, 69 insertions(+), 2 deletions(-) - ---- a/extensions/libxt_CONNMARK.c -+++ b/extensions/libxt_CONNMARK.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -49,6 +50,7 @@ enum { - O_CTMASK, - O_NFMASK, - O_MASK, -+ O_SAVEDSCP_MARK, - F_SET_MARK = 1 << O_SET_MARK, - F_SAVE_MARK = 1 << O_SAVE_MARK, - F_RESTORE_MARK = 1 << O_RESTORE_MARK, -@@ -61,8 +63,10 @@ enum { - F_CTMASK = 1 << O_CTMASK, - F_NFMASK = 1 << O_NFMASK, - F_MASK = 1 << O_MASK, -+ F_SAVEDSCP_MARK = 1 << O_SAVEDSCP_MARK, - F_OP_ANY = F_SET_MARK | F_SAVE_MARK | F_RESTORE_MARK | -- F_AND_MARK | F_OR_MARK | F_XOR_MARK | F_SET_XMARK, -+ F_AND_MARK | F_OR_MARK | F_XOR_MARK | F_SET_XMARK | -+ F_SAVEDSCP_MARK, - }; - - static const char *const xt_connmark_shift_ops[] = { -@@ -75,6 +79,7 @@ static void CONNMARK_help(void) - printf( - "CONNMARK target options:\n" - " --set-mark value[/mask] Set conntrack mark value\n" -+" --savedscp-mark dscpmask/statemask Save DSCP to conntrack mark value\n" - " --save-mark [--mask mask] Save the packet nfmark in the connection\n" - " --restore-mark [--mask mask] Restore saved nfmark value\n"); - } -@@ -83,6 +88,8 @@ static void CONNMARK_help(void) - static const struct xt_option_entry CONNMARK_opts[] = { - {.name = "set-mark", .id = O_SET_MARK, .type = XTTYPE_MARKMASK32, - .excl = F_OP_ANY}, -+ {.name = "savedscp-mark", .id = O_SAVEDSCP_MARK, .type = XTTYPE_MARKMASK32, -+ .excl = F_OP_ANY}, - {.name = "save-mark", .id = O_SAVE_MARK, .type = XTTYPE_NONE, - .excl = F_OP_ANY}, - {.name = "restore-mark", .id = O_RESTORE_MARK, .type = XTTYPE_NONE, -@@ -98,6 +105,8 @@ static const struct xt_option_entry conn - .excl = F_OP_ANY}, - {.name = "set-mark", .id = O_SET_MARK, .type = XTTYPE_MARKMASK32, - .excl = F_OP_ANY}, -+ {.name = "savedscp-mark", .id = O_SAVEDSCP_MARK, .type = XTTYPE_MARKMASK32, -+ .excl = F_OP_ANY}, - {.name = "and-mark", .id = O_AND_MARK, .type = XTTYPE_UINT32, - .excl = F_OP_ANY}, - {.name = "or-mark", .id = O_OR_MARK, .type = XTTYPE_UINT32, -@@ -124,6 +133,8 @@ static const struct xt_option_entry conn - .excl = F_OP_ANY}, - {.name = "set-mark", .id = O_SET_MARK, .type = XTTYPE_MARKMASK32, - .excl = F_OP_ANY}, -+ {.name = "savedscp-mark", .id = O_SAVEDSCP_MARK, .type = XTTYPE_MARKMASK32, -+ .excl = F_OP_ANY}, - {.name = "and-mark", .id = O_AND_MARK, .type = XTTYPE_UINT32, - .excl = F_OP_ANY}, - {.name = "or-mark", .id = O_OR_MARK, .type = XTTYPE_UINT32, -@@ -158,6 +169,7 @@ static void connmark_tg_help(void) - " --restore-mark [--ctmask mask] [--nfmask mask]\n" - " Copy nfmark to ctmark using masks\n" - " --set-mark value[/mask] Set conntrack mark value\n" -+" --savedscp-mark value/mask Save DSCP to conntrack mark value\n" - " --save-mark [--mask mask] Save the packet nfmark in the connection\n" - " --restore-mark [--mask mask] Restore saved nfmark value\n" - " --and-mark value Binary AND the ctmark with bits\n" -@@ -210,6 +222,11 @@ static void CONNMARK_parse(struct xt_opt - markinfo->mark = cb->val.mark; - markinfo->mask = cb->val.mask; - break; -+ case O_SAVEDSCP_MARK: -+ markinfo->mode = XT_CONNMARK_SAVEDSCP; -+ markinfo->mark = cb->val.mark; -+ markinfo->mask = cb->val.mask; -+ break; - case O_SAVE_MARK: - markinfo->mode = XT_CONNMARK_SAVE; - break; -@@ -238,6 +255,19 @@ static void connmark_tg_parse(struct xt_ - info->ctmark = cb->val.mark; - info->ctmask = cb->val.mark | cb->val.mask; - break; -+ case O_SAVEDSCP_MARK: -+ info->mode = XT_CONNMARK_SAVEDSCP; -+ info->ctmark = cb->val.mark; -+ info->ctmask = cb->val.mask; -+ info->nfmask = info->ctmark ? ffs(info->ctmark) - 1 : 0; -+ /* need 6 contiguous bits */ -+ if ((0x3f & (info->ctmark >> info->nfmask)) != 0x3f) -+ xtables_error(PARAMETER_PROBLEM, -+ "CONNMARK savedscp: insufficient contiguous dscpmask bits"); -+ if (info->ctmark & info->ctmask) -+ xtables_error(PARAMETER_PROBLEM, -+ "CONNMARK savedscp: dscpmask/statemask bits overlap"); -+ break; - case O_AND_MARK: - info->mode = XT_CONNMARK_SET; - info->ctmark = 0; -@@ -283,6 +313,19 @@ static void connmark_tg_parse_v2(struct - info->ctmark = cb->val.mark; - info->ctmask = cb->val.mark | cb->val.mask; - break; -+ case O_SAVEDSCP_MARK: -+ info->mode = XT_CONNMARK_SAVEDSCP; -+ info->ctmark = cb->val.mark; -+ info->ctmask = cb->val.mask; -+ info->shift_bits = info->ctmark ? ffs(info->ctmark) - 1 : 0; -+ /* need 6 contiguous bits */ -+ if ((0x3f & (info->ctmark >> info->shift_bits)) != 0x3f) -+ xtables_error(PARAMETER_PROBLEM, -+ "CONNMARK savedscp: insufficient contiguous dscpmask bits"); -+ if (info->ctmark & info->ctmask) -+ xtables_error(PARAMETER_PROBLEM, -+ "CONNMARK savedscp: dscpmask/statemask bits overlap"); -+ break; - case O_AND_MARK: - info->mode = XT_CONNMARK_SET; - info->ctmark = 0; -@@ -351,6 +394,11 @@ static void CONNMARK_print(const void *i - print_mark(markinfo->mark); - print_mask("/", markinfo->mask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" CONNMARK savedscp "); -+ print_mark(markinfo->mark); -+ print_mask("/", markinfo->mask); -+ break; - case XT_CONNMARK_SAVE: - printf(" CONNMARK save "); - print_mask("mask ", markinfo->mask); -@@ -386,6 +434,10 @@ connmark_tg_print(const void *ip, const - printf(" CONNMARK xset 0x%x/0x%x", - info->ctmark, info->ctmask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" CONNMARK DSCP set 0x%x/0x%x", -+ info->ctmark, info->ctmask); -+ break; - case XT_CONNMARK_SAVE: - if (info->nfmask == UINT32_MAX && info->ctmask == UINT32_MAX) - printf(" CONNMARK save"); -@@ -433,6 +485,10 @@ connmark_tg_print_v2(const void *ip, con - printf(" CONNMARK xset 0x%x/0x%x", - info->ctmark, info->ctmask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" CONNMARK DSCP xset 0x%x/0x%x", -+ info->ctmark, info->ctmask); -+ break; - case XT_CONNMARK_SAVE: - if (info->nfmask == UINT32_MAX && info->ctmask == UINT32_MAX) - printf(" CONNMARK save"); -@@ -474,6 +530,11 @@ static void CONNMARK_save(const void *ip - print_mark(markinfo->mark); - print_mask("/", markinfo->mask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" --savedscp-mark "); -+ print_mark(markinfo->mark); -+ print_mask("/", markinfo->mask); -+ break; - case XT_CONNMARK_SAVE: - printf(" --save-mark "); - print_mask("--mask ", markinfo->mask); -@@ -505,6 +566,9 @@ connmark_tg_save(const void *ip, const s - case XT_CONNMARK_SET: - printf(" --set-xmark 0x%x/0x%x", info->ctmark, info->ctmask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" --savedscp-mark 0x%x/0x%x", info->ctmark, info->ctmask); -+ break; - case XT_CONNMARK_SAVE: - printf(" --save-mark --nfmask 0x%x --ctmask 0x%x", - info->nfmask, info->ctmask); -@@ -529,6 +593,9 @@ connmark_tg_save_v2(const void *ip, cons - case XT_CONNMARK_SET: - printf(" --set-xmark 0x%x/0x%x", info->ctmark, info->ctmask); - break; -+ case XT_CONNMARK_SAVEDSCP: -+ printf(" --savedscp-mark 0x%x/0x%x", info->ctmark, info->ctmask); -+ break; - case XT_CONNMARK_SAVE: - printf(" --save-mark --nfmask 0x%x --ctmask 0x%x", - info->nfmask, info->ctmask); ---- a/include/linux/netfilter/xt_connmark.h -+++ b/include/linux/netfilter/xt_connmark.h -@@ -15,7 +15,8 @@ - enum { - XT_CONNMARK_SET = 0, - XT_CONNMARK_SAVE, -- XT_CONNMARK_RESTORE -+ XT_CONNMARK_RESTORE, -+ XT_CONNMARK_SAVEDSCP - }; - - struct xt_connmark_tginfo1 { diff --git a/package/network/utils/iptables/patches/010-add-set-dscpmark-support.patch b/package/network/utils/iptables/patches/010-add-set-dscpmark-support.patch new file mode 100644 index 0000000000..fb6978e6f7 --- /dev/null +++ b/package/network/utils/iptables/patches/010-add-set-dscpmark-support.patch @@ -0,0 +1,459 @@ +From 74267bacce0c43e5038b0377cb7c08f1ad9d50a3 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +Date: Sat, 23 Mar 2019 10:21:03 +0000 +Subject: [PATCH] iptables: connmark - add set-dscpmark option for openwrt + +Naive user space front end to xt_connmark 'setdscp' option. + +iptables -A QOS_MARK_eth0 -t mangle -j CONNMARK --set-dscpmark 0xfc000000/0x01000000 + +This version has a hack to support a backport to 4.14 + +Signed-off-by: Kevin Darbyshire-Bryant +--- + extensions/libxt_CONNMARK.c | 315 +++++++++++++++++++++++++- + include/linux/netfilter/xt_connmark.h | 10 + + 2 files changed, 324 insertions(+), 1 deletion(-) + +diff --git a/extensions/libxt_CONNMARK.c b/extensions/libxt_CONNMARK.c +index 21e10913..c777b110 100644 +--- a/extensions/libxt_CONNMARK.c ++++ b/extensions/libxt_CONNMARK.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -49,6 +50,7 @@ enum { + O_CTMASK, + O_NFMASK, + O_MASK, ++ O_DSCP_MARK, + F_SET_MARK = 1 << O_SET_MARK, + F_SAVE_MARK = 1 << O_SAVE_MARK, + F_RESTORE_MARK = 1 << O_RESTORE_MARK, +@@ -61,8 +63,10 @@ enum { + F_CTMASK = 1 << O_CTMASK, + F_NFMASK = 1 << O_NFMASK, + F_MASK = 1 << O_MASK, ++ F_DSCP_MARK = 1 << O_DSCP_MARK, + F_OP_ANY = F_SET_MARK | F_SAVE_MARK | F_RESTORE_MARK | +- F_AND_MARK | F_OR_MARK | F_XOR_MARK | F_SET_XMARK, ++ F_AND_MARK | F_OR_MARK | F_XOR_MARK | F_SET_XMARK | ++ F_DSCP_MARK, + }; + + static const char *const xt_connmark_shift_ops[] = { +@@ -114,6 +118,8 @@ static const struct xt_option_entry connmark_tg_opts[] = { + .excl = F_MASK, .flags = XTOPT_PUT, XTOPT_POINTER(s, nfmask)}, + {.name = "mask", .id = O_MASK, .type = XTTYPE_UINT32, + .excl = F_CTMASK | F_NFMASK}, ++ {.name = "set-dscpmark", .id = O_DSCP_MARK, .type = XTTYPE_MARKMASK32, ++ .excl = F_OP_ANY}, + XTOPT_TABLEEND, + }; + #undef s +@@ -148,6 +154,38 @@ static const struct xt_option_entry connmark_tg_opts_v2[] = { + }; + #undef s + ++#define s struct xt_connmark_tginfo3 ++static const struct xt_option_entry connmark_tg_opts_v3[] = { ++ {.name = "set-xmark", .id = O_SET_XMARK, .type = XTTYPE_MARKMASK32, ++ .excl = F_OP_ANY}, ++ {.name = "set-mark", .id = O_SET_MARK, .type = XTTYPE_MARKMASK32, ++ .excl = F_OP_ANY}, ++ {.name = "and-mark", .id = O_AND_MARK, .type = XTTYPE_UINT32, ++ .excl = F_OP_ANY}, ++ {.name = "or-mark", .id = O_OR_MARK, .type = XTTYPE_UINT32, ++ .excl = F_OP_ANY}, ++ {.name = "xor-mark", .id = O_XOR_MARK, .type = XTTYPE_UINT32, ++ .excl = F_OP_ANY}, ++ {.name = "save-mark", .id = O_SAVE_MARK, .type = XTTYPE_NONE, ++ .excl = F_OP_ANY}, ++ {.name = "restore-mark", .id = O_RESTORE_MARK, .type = XTTYPE_NONE, ++ .excl = F_OP_ANY}, ++ {.name = "left-shift-mark", .id = O_LEFT_SHIFT_MARK, .type = XTTYPE_UINT8, ++ .min = 0, .max = 32}, ++ {.name = "right-shift-mark", .id = O_RIGHT_SHIFT_MARK, .type = XTTYPE_UINT8, ++ .min = 0, .max = 32}, ++ {.name = "ctmask", .id = O_CTMASK, .type = XTTYPE_UINT32, ++ .excl = F_MASK, .flags = XTOPT_PUT, XTOPT_POINTER(s, ctmask)}, ++ {.name = "nfmask", .id = O_NFMASK, .type = XTTYPE_UINT32, ++ .excl = F_MASK, .flags = XTOPT_PUT, XTOPT_POINTER(s, nfmask)}, ++ {.name = "mask", .id = O_MASK, .type = XTTYPE_UINT32, ++ .excl = F_CTMASK | F_NFMASK}, ++ {.name = "set-dscpmark", .id = O_DSCP_MARK, .type = XTTYPE_MARKMASK32, ++ .excl = F_OP_ANY}, ++ XTOPT_TABLEEND, ++}; ++#undef s ++ + static void connmark_tg_help(void) + { + printf( +@@ -175,6 +213,15 @@ static void connmark_tg_help_v2(void) + ); + } + ++static void connmark_tg_help_v3(void) ++{ ++ connmark_tg_help_v2(); ++ printf( ++" --set-dscpmark value/mask Save DSCP to conntrack mark value\n" ++); ++} ++ ++ + static void connmark_tg_init(struct xt_entry_target *target) + { + struct xt_connmark_tginfo1 *info = (void *)target->data; +@@ -199,6 +246,16 @@ static void connmark_tg_init_v2(struct xt_entry_target *target) + info->shift_bits = 0; + } + ++static void connmark_tg_init_v3(struct xt_entry_target *target) ++{ ++ struct xt_connmark_tginfo3 *info; ++ ++ connmark_tg_init_v2(target); ++ info = (void *)target->data; ++ ++ info->func = 0; ++} ++ + static void CONNMARK_parse(struct xt_option_call *cb) + { + struct xt_connmark_target_info *markinfo = cb->data; +@@ -253,6 +310,23 @@ static void connmark_tg_parse(struct xt_option_call *cb) + info->ctmark = cb->val.u32; + info->ctmask = 0; + break; ++ case O_DSCP_MARK: ++/* we sneaky sneaky this. nfmask isn't used by the set mark functionality ++ * and by default is set to uint32max. We can use the top bit as a flag ++ * that we're in DSCP_MARK submode of SET_MARK, if set then it's normal ++ * if unset then we're in DSCP_MARK ++ */ ++ info->mode = XT_CONNMARK_SET; ++ info->ctmark = cb->val.mark; ++ info->ctmask = cb->val.mask; ++ info->nfmask = info->ctmark ? ffs(info->ctmark) - 1 : 0; ++ /* need 6 contiguous bits */ ++ if ((~0 & (info->ctmark >> info->nfmask)) != 0x3f) ++ xtables_error(PARAMETER_PROBLEM, ++ "CONNMARK set-dscpmark: need 6 contiguous dscpmask bits"); ++ if (info->ctmark & info->ctmask) ++ xtables_error(PARAMETER_PROBLEM, ++ "CONNMARK set-dscpmark: dscpmask/statemask bits overlap"); + case O_SAVE_MARK: + info->mode = XT_CONNMARK_SAVE; + break; +@@ -320,6 +394,78 @@ static void connmark_tg_parse_v2(struct xt_option_call *cb) + } + } + ++static void connmark_tg_parse_v3(struct xt_option_call *cb) ++{ ++ struct xt_connmark_tginfo3 *info = cb->data; ++ ++ xtables_option_parse(cb); ++ switch (cb->entry->id) { ++ case O_SET_XMARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_VALUE; ++ info->ctmark = cb->val.mark; ++ info->ctmask = cb->val.mask; ++ break; ++ case O_SET_MARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_VALUE; ++ info->ctmark = cb->val.mark; ++ info->ctmask = cb->val.mark | cb->val.mask; ++ break; ++ case O_AND_MARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_VALUE; ++ info->ctmark = 0; ++ info->ctmask = ~cb->val.u32; ++ break; ++ case O_OR_MARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_VALUE; ++ info->ctmark = cb->val.u32; ++ info->ctmask = cb->val.u32; ++ break; ++ case O_XOR_MARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_VALUE; ++ info->ctmark = cb->val.u32; ++ info->ctmask = 0; ++ break; ++ case O_DSCP_MARK: ++ info->mode = XT_CONNMARK_SET; ++ info->func = XT_CONNMARK_DSCP; ++ info->ctmark = cb->val.mark; ++ info->ctmask = cb->val.mask; ++ info->shift_bits = info->ctmark ? ffs(info->ctmark) - 1 : 0; ++ /* need 6 contiguous bits */ ++ if ((~0 & (info->ctmark >> info->shift_bits)) != 0x3f) ++ xtables_error(PARAMETER_PROBLEM, ++ "CONNMARK set-dscpmark: need 6 contiguous dscpmask bits"); ++ if (info->ctmark & info->ctmask) ++ xtables_error(PARAMETER_PROBLEM, ++ "CONNMARK set-dscpmark: dscpmask/statemask bits overlap"); ++ break; ++ case O_SAVE_MARK: ++ info->mode = XT_CONNMARK_SAVE; ++ break; ++ case O_RESTORE_MARK: ++ info->mode = XT_CONNMARK_RESTORE; ++ break; ++ case O_MASK: ++ info->nfmask = info->ctmask = cb->val.u32; ++ break; ++ case O_LEFT_SHIFT_MARK: ++ info->shift_dir = D_SHIFT_LEFT; ++ info->shift_bits = cb->val.u8; ++ break; ++ case O_RIGHT_SHIFT_MARK: ++ info->shift_dir = D_SHIFT_RIGHT; ++ info->shift_bits = cb->val.u8; ++ break; ++ default: ++ break; ++ } ++} ++ + static void connmark_tg_check(struct xt_fcheck_call *cb) + { + if (!(cb->xflags & F_OP_ANY)) +@@ -463,6 +609,65 @@ connmark_tg_print_v2(const void *ip, const struct xt_entry_target *target, + } + } + ++static void ++connmark_tg_print_v3(const void *ip, const struct xt_entry_target *target, ++ int numeric) ++{ ++ const struct xt_connmark_tginfo3 *info = (const void *)target->data; ++ const char *shift_op = xt_connmark_shift_ops[info->shift_dir]; ++ ++ switch (info->mode) { ++ case XT_CONNMARK_SET: ++ if (info->func & XT_CONNMARK_DSCP) { ++ printf(" CONNMARK DSCP 0x%x/0x%x", ++ info->ctmark, info->ctmask); ++ } ++ if (info->func & XT_CONNMARK_VALUE) { ++ if (info->ctmark == 0) ++ printf(" CONNMARK and 0x%x", ++ (unsigned int)(uint32_t)~info->ctmask); ++ else if (info->ctmark == info->ctmask) ++ printf(" CONNMARK or 0x%x", info->ctmark); ++ else if (info->ctmask == 0) ++ printf(" CONNMARK xor 0x%x", info->ctmark); ++ else if (info->ctmask == 0xFFFFFFFFU) ++ printf(" CONNMARK set 0x%x", info->ctmark); ++ else ++ printf(" CONNMARK xset 0x%x/0x%x", ++ info->ctmark, info->ctmask); ++ } ++ break; ++ case XT_CONNMARK_SAVE: ++ if (info->nfmask == UINT32_MAX && info->ctmask == UINT32_MAX) ++ printf(" CONNMARK save"); ++ else if (info->nfmask == info->ctmask) ++ printf(" CONNMARK save mask 0x%x", info->nfmask); ++ else ++ printf(" CONNMARK save nfmask 0x%x ctmask ~0x%x", ++ info->nfmask, info->ctmask); ++ break; ++ case XT_CONNMARK_RESTORE: ++ if (info->ctmask == UINT32_MAX && info->nfmask == UINT32_MAX) ++ printf(" CONNMARK restore"); ++ else if (info->ctmask == info->nfmask) ++ printf(" CONNMARK restore mask 0x%x", info->ctmask); ++ else ++ printf(" CONNMARK restore ctmask 0x%x nfmask ~0x%x", ++ info->ctmask, info->nfmask); ++ break; ++ ++ default: ++ printf(" ERROR: UNKNOWN CONNMARK MODE"); ++ break; ++ } ++ ++ if (info->mode <= XT_CONNMARK_RESTORE && ++ !(info->mode == XT_CONNMARK_SET && info->func == XT_CONNMARK_DSCP) && ++ info->shift_bits != 0) { ++ printf(" %s %u", shift_op, info->shift_bits); ++ } ++} ++ + static void CONNMARK_save(const void *ip, const struct xt_entry_target *target) + { + const struct xt_connmark_target_info *markinfo = +@@ -548,6 +753,38 @@ connmark_tg_save_v2(const void *ip, const struct xt_entry_target *target) + } + } + ++static void ++connmark_tg_save_v3(const void *ip, const struct xt_entry_target *target) ++{ ++ const struct xt_connmark_tginfo3 *info = (const void *)target->data; ++ const char *shift_op = xt_connmark_shift_ops[info->shift_dir]; ++ ++ switch (info->mode) { ++ case XT_CONNMARK_SET: ++ if (info->func & XT_CONNMARK_VALUE) ++ printf(" --set-xmark 0x%x/0x%x", info->ctmark, info->ctmask); ++ if (info->func & XT_CONNMARK_DSCP) ++ printf(" --set-dscpmark 0x%x/0x%x", info->ctmark, info->ctmask); ++ break; ++ case XT_CONNMARK_SAVE: ++ printf(" --save-mark --nfmask 0x%x --ctmask 0x%x", ++ info->nfmask, info->ctmask); ++ break; ++ case XT_CONNMARK_RESTORE: ++ printf(" --restore-mark --nfmask 0x%x --ctmask 0x%x", ++ info->nfmask, info->ctmask); ++ break; ++ default: ++ printf(" ERROR: UNKNOWN CONNMARK MODE"); ++ break; ++ } ++ if (info->mode <= XT_CONNMARK_RESTORE && ++ !(info->mode == XT_CONNMARK_SET && info->func == XT_CONNMARK_DSCP) && ++ info->shift_bits != 0) { ++ printf(" --%s %u", shift_op, info->shift_bits); ++ } ++} ++ + static int connmark_tg_xlate(struct xt_xlate *xl, + const struct xt_xlate_tg_params *params) + { +@@ -639,6 +876,66 @@ static int connmark_tg_xlate_v2(struct xt_xlate *xl, + + return 1; + } ++ ++static int connmark_tg_xlate_v3(struct xt_xlate *xl, ++ const struct xt_xlate_tg_params *params) ++{ ++ const struct xt_connmark_tginfo3 *info = ++ (const void *)params->target->data; ++ const char *shift_op = xt_connmark_shift_ops[info->shift_dir]; ++ ++ switch (info->mode) { ++ case XT_CONNMARK_SET: ++ xt_xlate_add(xl, "ct mark set "); ++ if (info->func & XT_CONNMARK_VALUE) { ++ if (info->ctmask == 0xFFFFFFFFU) ++ xt_xlate_add(xl, "0x%x ", info->ctmark); ++ else if (info->ctmark == 0) ++ xt_xlate_add(xl, "ct mark and 0x%x", ~info->ctmask); ++ else if (info->ctmark == info->ctmask) ++ xt_xlate_add(xl, "ct mark or 0x%x", ++ info->ctmark); ++ else if (info->ctmask == 0) ++ xt_xlate_add(xl, "ct mark xor 0x%x", ++ info->ctmark); ++ else ++ xt_xlate_add(xl, "ct mark xor 0x%x and 0x%x", ++ info->ctmark, ~info->ctmask); ++ } ++ if (info->func & XT_CONNMARK_DSCP) { ++/* FIXME the nftables syntax would go here if only we knew what it was */ ++ xt_xlate_add(xl, "ct mark set typeof(ct mark) ip dscp " ++ "<< %u or 0x%x", info->shift_bits, ++ info->ctmask); ++ } ++ break; ++ case XT_CONNMARK_SAVE: ++ xt_xlate_add(xl, "ct mark set mark"); ++ if (!(info->nfmask == UINT32_MAX && ++ info->ctmask == UINT32_MAX)) { ++ if (info->nfmask == info->ctmask) ++ xt_xlate_add(xl, " and 0x%x", info->nfmask); ++ } ++ break; ++ case XT_CONNMARK_RESTORE: ++ xt_xlate_add(xl, "meta mark set ct mark"); ++ if (!(info->nfmask == UINT32_MAX && ++ info->ctmask == UINT32_MAX)) { ++ if (info->nfmask == info->ctmask) ++ xt_xlate_add(xl, " and 0x%x", info->nfmask); ++ } ++ break; ++ } ++ ++ if (info->mode <= XT_CONNMARK_RESTORE && ++ !(info->mode == XT_CONNMARK_SET && info->func == XT_CONNMARK_DSCP) && ++ info->shift_bits != 0) { ++ xt_xlate_add(xl, " %s %u", shift_op, info->shift_bits); ++ } ++ ++ return 1; ++} ++ + static struct xtables_target connmark_tg_reg[] = { + { + .family = NFPROTO_UNSPEC, +@@ -687,6 +984,22 @@ static struct xtables_target connmark_tg_reg[] = { + .x6_options = connmark_tg_opts_v2, + .xlate = connmark_tg_xlate_v2, + }, ++ { ++ .version = XTABLES_VERSION, ++ .name = "CONNMARK", ++ .revision = 3, ++ .family = NFPROTO_UNSPEC, ++ .size = XT_ALIGN(sizeof(struct xt_connmark_tginfo3)), ++ .userspacesize = XT_ALIGN(sizeof(struct xt_connmark_tginfo3)), ++ .help = connmark_tg_help_v3, ++ .init = connmark_tg_init_v3, ++ .print = connmark_tg_print_v3, ++ .save = connmark_tg_save_v3, ++ .x6_parse = connmark_tg_parse_v3, ++ .x6_fcheck = connmark_tg_check, ++ .x6_options = connmark_tg_opts_v3, ++ .xlate = connmark_tg_xlate_v3, ++ }, + }; + + void _init(void) +diff --git a/include/linux/netfilter/xt_connmark.h b/include/linux/netfilter/xt_connmark.h +index bbf2acc9..1d8e721c 100644 +--- a/include/linux/netfilter/xt_connmark.h ++++ b/include/linux/netfilter/xt_connmark.h +@@ -18,6 +18,11 @@ enum { + XT_CONNMARK_RESTORE + }; + ++enum { ++ XT_CONNMARK_VALUE = (1 << 0), ++ XT_CONNMARK_DSCP = (1 << 1) ++}; ++ + struct xt_connmark_tginfo1 { + __u32 ctmark, ctmask, nfmask; + __u8 mode; +@@ -28,6 +33,11 @@ struct xt_connmark_tginfo2 { + __u8 shift_dir, shift_bits, mode; + }; + ++struct xt_connmark_tginfo3 { ++ __u32 ctmark, ctmask, nfmask; ++ __u8 shift_dir, shift_bits, mode, func; ++}; ++ + struct xt_connmark_mtinfo1 { + __u32 mark, mask; + __u8 invert; +-- +2.21.0 (Apple Git-122.2) + From a1cfe0dcbb242ab440af6801e223ebde540ed90f Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Tue, 3 Dec 2019 14:00:05 +0000 Subject: [PATCH 02/47] kernel: connmark set-dscpmark follow upstreamimg attempt I'm having another attempt at trying to getting the 'store dscp into conntrack connmark' functionality into upstream kernel, since the restore function (act_ctinfo) has been accepted. The syntax has changed from 'savedscp' to 'set-dscpmark' since that conforms more closely with existing functionality. 4.14 backport is more of a hack since the structure versioning mechanism isn't in place. Signed-off-by: Kevin Darbyshire-Bryant --- ...etfilter-connmark-introduce-savedscp.patch | 100 --------- ...ter-connmark-introduce-set-dscpmark.patch} | 114 +++++----- ...lter-connmark-introduce-set-dscpmark.patch | 212 ++++++++++++++++++ 3 files changed, 266 insertions(+), 160 deletions(-) delete mode 100644 target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-savedscp.patch rename target/linux/generic/{hack-4.19/645-netfilter-connmark-introduce-savedscp.patch => hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch} (54%) create mode 100644 target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-set-dscpmark.patch diff --git a/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-savedscp.patch b/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-savedscp.patch deleted file mode 100644 index 5217eca582..0000000000 --- a/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-savedscp.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 5a4d7714faa28c03e85d696fba82716fbda5c432 Mon Sep 17 00:00:00 2001 -From: Kevin Darbyshire-Bryant -Date: Sat, 23 Mar 2019 09:29:49 +0000 -Subject: [PATCH] netfilter: connmark: introduce savedscp - -savedscp is a method of storing the DSCP of an ip packet into conntrack -mark. In combination with a suitable tc filter action (conndscp but may -end up being integrated into connmark) DSCP values are able to be stored -on egress and restored on ingress across links that otherwise alter or -bleach DSCP. - -This is useful for qdiscs such as CAKE which are able to shape according -to policies based on DSCP. - -Ingress classification is traditionally a challenging task since -iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT -lookups, hence are unable to see internal IPv4 addresses as used on the -typical home masquerading gateway. - -The ingress problem is solved by the tc filter, but the tc people didn't -like the idea of tc setting conntrack mark values, though they are ok -with reading conntrack values and hence restoring DSCP from conntrack -marks. - -x_tables CONNMARK with the new savedscp action solves the problem of -storing the DSCP to the conntrack mark. - -It accepts 2 parameters. The mark is a 32bit value with usually one 1 -bit set. This bit is set when savedscp saves the DSCP to the mark. -This is useful to implement a 'one shot' -iptables based classification where the 'complicated' iptables rules are -only run once to classify the connection on initial (egress) packet and -subsequent packets are all marked/restored with the same DSCP. A mark -of zero disables the setting of a status bit/s. - -The mask is a 32bit value of at least 6 contiguous bits and represents -the area where the DSCP will be stored. - -e.g. - -iptables -A QOS_MARK_eth0 -t mangle -j CONNMARK --savedscp-mark 0xfc000000/0x01000000 - -Would store the DSCP in the top 6 bits of the 32bit mark field, and use -the LSB of the top byte as the 'DSCP has been stored' marker. - -Signed-off-by: Kevin Darbyshire-Bryant ---- - include/uapi/linux/netfilter/xt_connmark.h | 3 ++- - net/netfilter/xt_connmark.c | 21 ++++++++++++++++++++- - 2 files changed, 22 insertions(+), 2 deletions(-) - ---- a/include/uapi/linux/netfilter/xt_connmark.h -+++ b/include/uapi/linux/netfilter/xt_connmark.h -@@ -16,7 +16,8 @@ - enum { - XT_CONNMARK_SET = 0, - XT_CONNMARK_SAVE, -- XT_CONNMARK_RESTORE -+ XT_CONNMARK_RESTORE, -+ XT_CONNMARK_SAVEDSCP - }; - - struct xt_connmark_tginfo1 { ---- a/net/netfilter/xt_connmark.c -+++ b/net/netfilter/xt_connmark.c -@@ -42,6 +42,7 @@ connmark_tg(struct sk_buff *skb, const s - enum ip_conntrack_info ctinfo; - struct nf_conn *ct; - u_int32_t newmark; -+ u_int8_t dscp, maskshift; - - ct = nf_ct_get(skb, &ctinfo); - if (ct == NULL) -@@ -57,7 +58,25 @@ connmark_tg(struct sk_buff *skb, const s - break; - case XT_CONNMARK_SAVE: - newmark = (ct->mark & ~info->ctmask) ^ -- (skb->mark & info->nfmask); -+ (skb->mark & info->nfmask); -+ if (ct->mark != newmark) { -+ ct->mark = newmark; -+ nf_conntrack_event_cache(IPCT_MARK, ct); -+ } -+ break; -+ case XT_CONNMARK_SAVEDSCP: -+ if (skb->protocol == htons(ETH_P_IP)) -+ dscp = ipv4_get_dsfield(ip_hdr(skb)) >> 2; -+ else if (skb->protocol == htons(ETH_P_IPV6)) -+ dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> 2; -+ else /* protocol doesn't have diffserv */ -+ break; -+ -+ /* nfmask contains the mask shift value */ -+ maskshift = info->nfmask & 0x1f; -+ newmark = (ct->mark & ~info->ctmark) | -+ (info->ctmask | (dscp << maskshift)); -+ - if (ct->mark != newmark) { - ct->mark = newmark; - nf_conntrack_event_cache(IPCT_MARK, ct); diff --git a/target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-savedscp.patch b/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch similarity index 54% rename from target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-savedscp.patch rename to target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch index 0c4ef92c00..88c8c7f3ef 100644 --- a/target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-savedscp.patch +++ b/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch @@ -1,12 +1,12 @@ -From f171924dcf1d0b31fb7bd1cff113d7a1f7f05ec2 Mon Sep 17 00:00:00 2001 +From f1627abea333781d3e2a61bac4c7fd4502395741 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Sat, 23 Mar 2019 09:29:49 +0000 -Subject: [PATCH] netfilter: connmark: introduce savedscp +Subject: [PATCH] netfilter: connmark: introduce set-dscpmark -savedscp is a method of storing the DSCP of an ip packet into conntrack -mark. In combination with a suitable tc filter action (act_ctinfo) DSCP -values are able to be stored in the mark on egress and restored on -ingress across links that otherwise alter or bleach DSCP. +set-dscpmark is a method of storing the DSCP of an ip packet into +conntrack mark. In combination with a suitable tc filter action +(act_ctinfo) DSCP values are able to be stored in the mark on egress and +restored on ingress across links that otherwise alter or bleach DSCP. This is useful for qdiscs such as CAKE which are able to shape according to policies based on DSCP. @@ -16,12 +16,12 @@ iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT lookups, hence are unable to see internal IPv4 addresses as used on the typical home masquerading gateway. -x_tables CONNMARK savedscp action solves the problem of storing the DSCP -to the conntrack mark in a way suitable for the new act_ctinfo tc action -to restore. +x_tables CONNMARK set-dscpmark target solves the problem of storing the +DSCP to the conntrack mark in a way suitable for the new act_ctinfo tc +action to restore. -The savedsp option accepts 2 parameters, a 32bit 'dscpmask' and a 32bit -'statemask'. The dscp mask must be a minimum of 6 contiguous bits and +The set-dscpmark option accepts 2 parameters, a 32bit 'dscpmask' and a +32bit 'statemask'. The dscp mask must be 6 contiguous bits and represents the area where the DSCP will be stored in the connmark. The state mask is a minimum 1 bit length mask that must not overlap with the dscpmask. It represents a flag which is set when the DSCP has been @@ -33,7 +33,7 @@ mask of zero disables the setting of a status bit/s. example syntax with a suitably modified iptables user space application: -iptables -A QOS_MARK_eth0 -t mangle -j CONNMARK --savedscp-mark 0xfc000000/0x01000000 +iptables -A QOS_MARK_eth0 -t mangle -j CONNMARK --set-dscpmark 0xfc000000/0x01000000 Would store the DSCP in the top 6 bits of the 32bit mark field, and use the LSB of the top byte as the 'DSCP has been stored' marker. @@ -55,7 +55,7 @@ an identically configured tc action to restore looks like: tc filter show dev eth0 ingress filter parent ffff: protocol all pref 10 u32 chain 0 filter parent ffff: protocol all pref 10 u32 chain 0 fh 800: ht divisor 1 -filter parent ffff: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 not_in_hw +filter parent ffff: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1: not_in_hw match 00000000/00000000 at 0 action order 1: ctinfo zone 0 pipe index 2 ref 1 bind 1 dscp 0xfc000000/0x1000000 @@ -77,59 +77,53 @@ filter parent ffff: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key Signed-off-by: Kevin Darbyshire-Bryant --- - include/uapi/linux/netfilter/xt_connmark.h | 3 ++- - net/netfilter/xt_connmark.c | 17 +++++++++++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) + net/netfilter/xt_connmark.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) ---- a/include/uapi/linux/netfilter/xt_connmark.h -+++ b/include/uapi/linux/netfilter/xt_connmark.h -@@ -16,7 +16,8 @@ - enum { - XT_CONNMARK_SET = 0, - XT_CONNMARK_SAVE, -- XT_CONNMARK_RESTORE -+ XT_CONNMARK_RESTORE, -+ XT_CONNMARK_SAVEDSCP - }; - - enum { +diff --git a/net/netfilter/xt_connmark.c b/net/netfilter/xt_connmark.c +index ec377cc6a369..823d925b3aaf 100644 --- a/net/netfilter/xt_connmark.c +++ b/net/netfilter/xt_connmark.c -@@ -42,6 +42,7 @@ connmark_tg_shift(struct sk_buff *skb, c - u_int32_t new_targetmark; +@@ -42,6 +42,7 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) + enum ip_conntrack_info ctinfo; struct nf_conn *ct; u_int32_t newmark; -+ u_int8_t dscp; ++ u_int8_t dscp, maskshift; ct = nf_ct_get(skb, &ctinfo); if (ct == NULL) -@@ -74,6 +75,21 @@ connmark_tg_shift(struct sk_buff *skb, c - nf_conntrack_event_cache(IPCT_MARK, ct); - } - break; -+ case XT_CONNMARK_SAVEDSCP: -+ if (skb->protocol == htons(ETH_P_IP)) -+ dscp = ipv4_get_dsfield(ip_hdr(skb)) >> 2; -+ else if (skb->protocol == htons(ETH_P_IPV6)) -+ dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> 2; -+ else /* protocol doesn't have diffserv */ -+ break; -+ -+ newmark = (ct->mark & ~info->ctmark) | -+ (info->ctmask | (dscp << info->shift_bits)); -+ if (ct->mark != newmark) { -+ ct->mark = newmark; -+ nf_conntrack_event_cache(IPCT_MARK, ct); -+ } -+ break; - case XT_CONNMARK_RESTORE: - new_targetmark = (ct->mark & info->ctmask); - if (info->shift_dir == D_SHIFT_RIGHT) -@@ -86,6 +102,7 @@ connmark_tg_shift(struct sk_buff *skb, c - skb->mark = newmark; - break; - } -+out: - return XT_CONTINUE; - } +@@ -49,7 +50,21 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) + switch (info->mode) { + case XT_CONNMARK_SET: +- newmark = (ct->mark & ~info->ctmask) ^ info->ctmark; ++ if (info->nfmask & 0x80000000) { ++ newmark = (ct->mark & ~info->ctmask) ^ info->ctmark; ++ } else { ++ if (skb->protocol == htons(ETH_P_IP)) ++ dscp = ipv4_get_dsfield(ip_hdr(skb)) >> 2; ++ else if (skb->protocol == htons(ETH_P_IPV6)) ++ dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> 2; ++ else /* protocol doesn't have diffserv */ ++ break; ++ ++ /* nfmask contains the mask shift value */ ++ maskshift = info->nfmask & 0x1f; ++ newmark = (ct->mark & ~info->ctmark) | ++ (info->ctmask | (dscp << maskshift)); ++ } + if (ct->mark != newmark) { + ct->mark = newmark; + nf_conntrack_event_cache(IPCT_MARK, ct); +@@ -57,7 +72,7 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) + break; + case XT_CONNMARK_SAVE: + newmark = (ct->mark & ~info->ctmask) ^ +- (skb->mark & info->nfmask); ++ (skb->mark & info->nfmask); + if (ct->mark != newmark) { + ct->mark = newmark; + nf_conntrack_event_cache(IPCT_MARK, ct); +-- +2.21.0 (Apple Git-122.2) + diff --git a/target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-set-dscpmark.patch b/target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-set-dscpmark.patch new file mode 100644 index 0000000000..a4f246d112 --- /dev/null +++ b/target/linux/generic/hack-4.19/645-netfilter-connmark-introduce-set-dscpmark.patch @@ -0,0 +1,212 @@ +From eda40b8c8c82e0f2789d6bc8bf63846dce2e8f32 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +Date: Sat, 23 Mar 2019 09:29:49 +0000 +Subject: [PATCH] netfilter: connmark: introduce set-dscpmark + +set-dscpmark is a method of storing the DSCP of an ip packet into +conntrack mark. In combination with a suitable tc filter action +(act_ctinfo) DSCP values are able to be stored in the mark on egress and +restored on ingress across links that otherwise alter or bleach DSCP. + +This is useful for qdiscs such as CAKE which are able to shape according +to policies based on DSCP. + +Ingress classification is traditionally a challenging task since +iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT +lookups, hence are unable to see internal IPv4 addresses as used on the +typical home masquerading gateway. + +x_tables CONNMARK set-dscpmark target solves the problem of storing the +DSCP to the conntrack mark in a way suitable for the new act_ctinfo tc +action to restore. + +The set-dscpmark option accepts 2 parameters, a 32bit 'dscpmask' and a +32bit 'statemask'. The dscp mask must be 6 contiguous bits and +represents the area where the DSCP will be stored in the connmark. The +state mask is a minimum 1 bit length mask that must not overlap with the +dscpmask. It represents a flag which is set when the DSCP has been +stored in the conntrack mark. This is useful to implement a 'one shot' +iptables based classification where the 'complicated' iptables rules are +only run once to classify the connection on initial (egress) packet and +subsequent packets are all marked/restored with the same DSCP. A state +mask of zero disables the setting of a status bit/s. + +example syntax with a suitably modified iptables user space application: + +iptables -A QOS_MARK_eth0 -t mangle -j CONNMARK --set-dscpmark 0xfc000000/0x01000000 + +Would store the DSCP in the top 6 bits of the 32bit mark field, and use +the LSB of the top byte as the 'DSCP has been stored' marker. + +|----0xFC----conntrack mark----000000---| +| Bits 31-26 | bit 25 | bit24 |~~~ Bit 0| +| DSCP | unused | flag |unused | +|-----------------------0x01---000000---| + ^ ^ + | | + ---| Conditional flag + | set this when dscp +|-ip diffserv-| stored in mark +| 6 bits | +|-------------| + +an identically configured tc action to restore looks like: + +tc filter show dev eth0 ingress +filter parent ffff: protocol all pref 10 u32 chain 0 +filter parent ffff: protocol all pref 10 u32 chain 0 fh 800: ht divisor 1 +filter parent ffff: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1: not_in_hw + match 00000000/00000000 at 0 + action order 1: ctinfo zone 0 pipe + index 2 ref 1 bind 1 dscp 0xfc000000/0x1000000 + + action order 2: mirred (Egress Redirect to device ifb4eth0) stolen + index 1 ref 1 bind 1 + +|----0xFC----conntrack mark----000000---| +| Bits 31-26 | bit 25 | bit24 |~~~ Bit 0| +| DSCP | unused | flag |unused | +|-----------------------0x01---000000---| + | | + | | + ---| Conditional flag + v only restore if set +|-ip diffserv-| +| 6 bits | +|-------------| + +Signed-off-by: Kevin Darbyshire-Bryant +--- + include/uapi/linux/netfilter/xt_connmark.h | 10 ++++ + net/netfilter/xt_connmark.c | 55 ++++++++++++++++++---- + 2 files changed, 57 insertions(+), 8 deletions(-) + +--- a/include/uapi/linux/netfilter/xt_connmark.h ++++ b/include/uapi/linux/netfilter/xt_connmark.h +@@ -20,6 +20,11 @@ enum { + }; + + enum { ++ XT_CONNMARK_VALUE = BIT(0), ++ XT_CONNMARK_DSCP = BIT(1) ++}; ++ ++enum { + D_SHIFT_LEFT = 0, + D_SHIFT_RIGHT, + }; +@@ -34,6 +39,11 @@ struct xt_connmark_tginfo2 { + __u8 shift_dir, shift_bits, mode; + }; + ++struct xt_connmark_tginfo3 { ++ __u32 ctmark, ctmask, nfmask; ++ __u8 shift_dir, shift_bits, mode, func; ++}; ++ + struct xt_connmark_mtinfo1 { + __u32 mark, mask; + __u8 invert; +--- a/net/netfilter/xt_connmark.c ++++ b/net/netfilter/xt_connmark.c +@@ -36,12 +36,13 @@ MODULE_ALIAS("ipt_connmark"); + MODULE_ALIAS("ip6t_connmark"); + + static unsigned int +-connmark_tg_shift(struct sk_buff *skb, const struct xt_connmark_tginfo2 *info) ++connmark_tg_shift(struct sk_buff *skb, const struct xt_connmark_tginfo3 *info) + { + enum ip_conntrack_info ctinfo; + u_int32_t new_targetmark; + struct nf_conn *ct; + u_int32_t newmark; ++ u_int8_t dscp; + + ct = nf_ct_get(skb, &ctinfo); + if (ct == NULL) +@@ -49,12 +50,24 @@ connmark_tg_shift(struct sk_buff *skb, c + + switch (info->mode) { + case XT_CONNMARK_SET: +- newmark = (ct->mark & ~info->ctmask) ^ info->ctmark; +- if (info->shift_dir == D_SHIFT_RIGHT) +- newmark >>= info->shift_bits; +- else +- newmark <<= info->shift_bits; ++ newmark = ct->mark; ++ if (info->func & XT_CONNMARK_VALUE) { ++ newmark = (newmark & ~info->ctmask) ^ info->ctmark; ++ if (info->shift_dir == D_SHIFT_RIGHT) ++ newmark >>= info->shift_bits; ++ else ++ newmark <<= info->shift_bits; ++ } else if (info->func & XT_CONNMARK_DSCP) { ++ if (skb->protocol == htons(ETH_P_IP)) ++ dscp = ipv4_get_dsfield(ip_hdr(skb)) >> 2; ++ else if (skb->protocol == htons(ETH_P_IPV6)) ++ dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> 2; ++ else /* protocol doesn't have diffserv */ ++ break; + ++ newmark = (newmark & ~info->ctmark) | ++ (info->ctmask | (dscp << info->shift_bits)); ++ } + if (ct->mark != newmark) { + ct->mark = newmark; + nf_conntrack_event_cache(IPCT_MARK, ct); +@@ -93,20 +106,36 @@ static unsigned int + connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) + { + const struct xt_connmark_tginfo1 *info = par->targinfo; +- const struct xt_connmark_tginfo2 info2 = { ++ const struct xt_connmark_tginfo3 info3 = { + .ctmark = info->ctmark, + .ctmask = info->ctmask, + .nfmask = info->nfmask, + .mode = info->mode, ++ .func = XT_CONNMARK_VALUE + }; + +- return connmark_tg_shift(skb, &info2); ++ return connmark_tg_shift(skb, &info3); + } + + static unsigned int + connmark_tg_v2(struct sk_buff *skb, const struct xt_action_param *par) + { + const struct xt_connmark_tginfo2 *info = par->targinfo; ++ const struct xt_connmark_tginfo3 info3 = { ++ .ctmark = info->ctmark, ++ .ctmask = info->ctmask, ++ .nfmask = info->nfmask, ++ .mode = info->mode, ++ .func = XT_CONNMARK_VALUE ++ }; ++ ++ return connmark_tg_shift(skb, &info3); ++} ++ ++static unsigned int ++connmark_tg_v3(struct sk_buff *skb, const struct xt_action_param *par) ++{ ++ const struct xt_connmark_tginfo3 *info = par->targinfo; + + return connmark_tg_shift(skb, info); + } +@@ -177,6 +206,16 @@ static struct xt_target connmark_tg_reg[ + .targetsize = sizeof(struct xt_connmark_tginfo2), + .destroy = connmark_tg_destroy, + .me = THIS_MODULE, ++ }, ++ { ++ .name = "CONNMARK", ++ .revision = 3, ++ .family = NFPROTO_UNSPEC, ++ .checkentry = connmark_tg_check, ++ .target = connmark_tg_v3, ++ .targetsize = sizeof(struct xt_connmark_tginfo3), ++ .destroy = connmark_tg_destroy, ++ .me = THIS_MODULE, + } + }; + From ffbb8ed5a265930f9c20af826040f9d41e145c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 1 Feb 2020 10:54:00 +0100 Subject: [PATCH 03/47] cypress-firmware: update to v4.14.77-2020_0115 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- package/firmware/cypress-firmware/Makefile | 62 ++++++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/package/firmware/cypress-firmware/Makefile b/package/firmware/cypress-firmware/Makefile index 40aab06c98..6325086ae2 100644 --- a/package/firmware/cypress-firmware/Makefile +++ b/package/firmware/cypress-firmware/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2019 OpenWrt.org +# Copyright (C) 2019-2020 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk UNPACK_CMD=unzip -q -p $(DL_DIR)/$(PKG_SOURCE) $(PKG_SOURCE_UNZIP) | gzip -dc | $(HOST_TAR) -C $(1) $(TAR_OPTIONS) PKG_NAME:=cypress-firmware -PKG_VERSION:=v4.14.77-2019_1031 +PKG_VERSION:=v4.14.77-2020_0115 PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip -PKG_SOURCE_URL:=https://community.cypress.com/servlet/JiveServlet/download/17441-2-50210/ -PKG_HASH:=bc2eec0d144a88e3105a06cac8039a7f13becde67dfe2a86793ba66f6a2510e0 +PKG_SOURCE_URL:=https://community.cypress.com/servlet/JiveServlet/download/19000-1-51721/ +PKG_HASH:=a5510f82aacf585b5d29732b6d6777d4a4b26a667154d91cfcfc0d6d5dc4fef5 PKG_MAINTAINER:=Álvaro Fernández Rojas @@ -31,6 +31,24 @@ define Build/Compile true endef +# Cypress 43012 SDIO Firmware +define Package/cypress-firmware-43012-sdio + $(Package/cypress-firmware-default) + TITLE:=CYW43012 FullMac SDIO firmware +endef + +define Package/cypress-firmware-43012-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43012-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43012-sdio.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-43012-sdio)) + # Cypress 43340 SDIO Firmware define Package/cypress-firmware-43340-sdio $(Package/cypress-firmware-default) @@ -166,6 +184,24 @@ endef $(eval $(call BuildPackage,cypress-firmware-4356-sdio)) +# Cypress 43570 PCIe Firmware +define Package/cypress-firmware-43570-pcie + $(Package/cypress-firmware-default) + TITLE:=CYW43570 FullMac PCIe firmware +endef + +define Package/cypress-firmware-43570-pcie/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43570-pcie.bin \ + $(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac43570-pcie.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-43570-pcie)) + # Cypress 4359 PCIe Firmware define Package/cypress-firmware-4359-pcie $(Package/cypress-firmware-default) @@ -237,3 +273,21 @@ define Package/cypress-firmware-4373-usb/install endef $(eval $(call BuildPackage,cypress-firmware-4373-usb)) + +# Cypress 89459 PCIe Firmware +define Package/cypress-firmware-89459-pcie + $(Package/cypress-firmware-default) + TITLE:=CYW89459 FullMac PCIe firmware +endef + +define Package/cypress-firmware-89459-pcie/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac89459-pcie.bin \ + $(1)/lib/firmware/brcm/brcmfmac89459-pcie.bin + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/brcmfmac89459-pcie.clm_blob \ + $(1)/lib/firmware/brcm/brcmfmac89459-pcie.clm_blob +endef + +$(eval $(call BuildPackage,cypress-firmware-89459-pcie)) From 3227afbbabf06ac68a27bb5ad68c1928a06c4203 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 29 Jan 2020 18:21:53 +0100 Subject: [PATCH 04/47] ramips: collect and harmonize TP-Link image variants in common file This moves the various variants of common device definitions for TP-Link devices to a common Makefile common-tp-link.mk. This provides the opportunity to reorganize and move parameters between individual device definitions and the common ones. While at it, also use the common definitions for previously independent definitions where appropriate. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/image/common-tp-link.mk | 44 ++++++++ target/linux/ramips/image/mt7620.mk | 46 +++------ target/linux/ramips/image/mt7621.mk | 16 +-- target/linux/ramips/image/mt76x8.mk | 108 +++++++------------- 4 files changed, 100 insertions(+), 114 deletions(-) create mode 100644 target/linux/ramips/image/common-tp-link.mk diff --git a/target/linux/ramips/image/common-tp-link.mk b/target/linux/ramips/image/common-tp-link.mk new file mode 100644 index 0000000000..587ef89fc1 --- /dev/null +++ b/target/linux/ramips/image/common-tp-link.mk @@ -0,0 +1,44 @@ +DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD +DEVICE_VARS += TPLINK_HVERSION TPLINK_BOARD_ID TPLINK_HEADER_VERSION + +define Device/tplink-v1 + DEVICE_VENDOR := TP-Link + TPLINK_FLASHLAYOUT := + TPLINK_HWID := + TPLINK_HWREV := 0x1 + TPLINK_HEADER_VERSION := 1 + KERNEL := $(KERNEL_DTB) + KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v1-header -e -O + IMAGES += factory.bin + IMAGE/factory.bin := tplink-v1-image factory -e -O + IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -e -O | append-metadata | \ + check-size $$$$(IMAGE_SIZE) +endef + +define Device/tplink-v2 + DEVICE_VENDOR := TP-Link + TPLINK_FLASHLAYOUT := + TPLINK_HWID := + TPLINK_HWREV := 0x1 + TPLINK_HWREVADD := 0x0 + TPLINK_HVERSION := 3 + KERNEL := $(KERNEL_DTB) + KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e + IMAGES += factory.bin + IMAGE/factory.bin := tplink-v2-image -e + IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \ + check-size $$$$(IMAGE_SIZE) +endef + +define Device/tplink-safeloader + DEVICE_VENDOR := TP-Link + TPLINK_BOARD_ID := + TPLINK_HWID := 0x0 + TPLINK_HWREV := 0x0 + TPLINK_HEADER_VERSION := 1 + KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O + IMAGES += factory.bin + IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ + append-metadata | check-size $$$$(IMAGE_SIZE) + IMAGE/factory.bin := append-rootfs | tplink-safeloader factory +endef diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index 61f2c898f5..3512a1c55a 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -2,8 +2,9 @@ # MT7620A Profiles # -DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION \ - DLINK_ROM_ID DLINK_FAMILY_MEMBER DLINK_FIRMWARE_SIZE DLINK_IMAGE_OFFSET +include ./common-tp-link.mk + +DEVICE_VARS += DLINK_ROM_ID DLINK_FAMILY_MEMBER DLINK_FIRMWARE_SIZE DLINK_IMAGE_OFFSET define Build/elecom-header cp $@ $(KDIR)/v_0.0.0.bin @@ -64,17 +65,6 @@ define Device/amit_jboot DEVICE_PACKAGES := jboot-tools kmod-usb2 kmod-usb-ohci endef -define Device/Archer - SOC := mt7620a - DEVICE_VENDOR := TP-Link - TPLINK_HWREVADD := 0 - TPLINK_HVERSION := 3 - KERNEL := $(KERNEL_DTB) - KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e - IMAGE/factory.bin := tplink-v2-image -e - IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata -endef - define Device/asus_rp-n53 SOC := mt7620a IMAGE_SIZE := 7872k @@ -865,12 +855,12 @@ endef TARGET_DEVICES += sercomm_na930 define Device/tplink_archer-c20i - $(Device/Archer) + $(Device/tplink-v2) + SOC := mt7620a IMAGE_SIZE := 7808k TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0xc2000001 TPLINK_HWREV := 58 - IMAGES += factory.bin DEVICE_MODEL := Archer C20i DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci SUPPORTED_DEVICES += c20i @@ -878,14 +868,14 @@ endef TARGET_DEVICES += tplink_archer-c20i define Device/tplink_archer-c20-v1 - $(Device/Archer) + $(Device/tplink-v2) + SOC := mt7620a IMAGE_SIZE := 7808k SUPPORTED_DEVICES += tplink,c20-v1 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0xc2000001 TPLINK_HWREV := 0x44 TPLINK_HWREVADD := 0x1 - IMAGES += factory.bin DEVICE_MODEL := Archer C20 DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \ @@ -894,13 +884,13 @@ endef TARGET_DEVICES += tplink_archer-c20-v1 define Device/tplink_archer-c2-v1 - $(Device/Archer) + $(Device/tplink-v2) + SOC := mt7620a IMAGE_SIZE := 7808k SUPPORTED_DEVICES += tplink,c2-v1 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0xc7500001 TPLINK_HWREV := 50 - IMAGES += factory.bin DEVICE_MODEL := Archer C2 DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \ @@ -909,12 +899,13 @@ endef TARGET_DEVICES += tplink_archer-c2-v1 define Device/tplink_archer-c50-v1 - $(Device/Archer) + $(Device/tplink-v2) + SOC := mt7620a IMAGE_SIZE := 7808k TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0xc7500001 TPLINK_HWREV := 69 - IMAGES += factory-us.bin factory-eu.bin + IMAGES := sysupgrade.bin factory-us.bin factory-eu.bin IMAGE/factory-us.bin := tplink-v2-image -e -w 0 IMAGE/factory-eu.bin := tplink-v2-image -e -w 2 DEVICE_MODEL := Archer C50 @@ -925,11 +916,13 @@ endef TARGET_DEVICES += tplink_archer-c50-v1 define Device/tplink_archer-mr200 - $(Device/Archer) + $(Device/tplink-v2) + SOC := mt7620a IMAGE_SIZE := 7872k TPLINK_FLASHLAYOUT := 8MLmtk TPLINK_HWID := 0xd7500001 TPLINK_HWREV := 0x4a + IMAGES := sysupgrade.bin DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-net kmod-usb-net-rndis \ kmod-usb-serial kmod-usb-serial-option adb-enablemodem DEVICE_MODEL := Archer MR200 @@ -938,20 +931,13 @@ endef TARGET_DEVICES += tplink_archer-mr200 define Device/tplink_re200-v1 + $(Device/tplink-v1) SOC := mt7620a - DEVICE_VENDOR := TP-Link DEVICE_MODEL := RE200 DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-mt76x0e - IMAGES += factory.bin - IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -e -O | append-metadata - IMAGE/factory.bin := tplink-v1-image factory -e -O IMAGE_SIZE := 7936k - KERNEL := $(KERNEL_DTB) - KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v1-header -e -O TPLINK_HWID := 0x02000001 - TPLINK_HWREV := 0x1 - TPLINK_HEADER_VERSION := 1 TPLINK_FLASHLAYOUT := 8Mmtk endef TARGET_DEVICES += tplink_re200-v1 diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index be2a329524..6d0af9d994 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2,10 +2,11 @@ # MT7621 Profiles # +include ./common-tp-link.mk + DEFAULT_SOC := mt7621 KERNEL_DTB += -d21 -DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV define Build/elecom-gst-factory $(eval product=$(word 1,$(1))) @@ -662,19 +663,6 @@ define Device/adslr_g7 endef TARGET_DEVICES += adslr_g7 -define Device/tplink-safeloader - DEVICE_VENDOR := TP-Link - TPLINK_BOARD_ID := - TPLINK_HWID := 0x0 - TPLINK_HWREV := 0 - TPLINK_HEADER_VERSION := 1 - KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O - IMAGES += factory.bin - IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ - append-metadata | check-size $$$$(IMAGE_SIZE) - IMAGE/factory.bin := append-rootfs | tplink-safeloader factory -endef - define Device/tplink_re350-v1 $(Device/tplink-safeloader) DEVICE_MODEL := RE350 diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 37cac84229..fef5a5a733 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -2,6 +2,8 @@ # MT76x8 Profiles # +include ./common-tp-link.mk + DEFAULT_SOC := mt7628an define Device/alfa-network_awusfree1 @@ -235,69 +237,36 @@ define Device/totolink_lr1200 endef TARGET_DEVICES += totolink_lr1200 -define Device/tplink - DEVICE_VENDOR := TP-Link - TPLINK_FLASHLAYOUT := - TPLINK_HWID := - TPLINK_HWREV := - TPLINK_HWREVADD := - TPLINK_HVERSION := - KERNEL := $(KERNEL_DTB) - KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e - IMAGES += tftp-recovery.bin - IMAGE/factory.bin := tplink-v2-image -e - IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) - IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \ - check-size $$$$(IMAGE_SIZE) -endef -DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD -DEVICE_VARS += TPLINK_HVERSION - -define Device/tplink-safeloader - DEVICE_VENDOR := TP-Link - TPLINK_BOARD_ID := - TPLINK_HWID := 0x0 - TPLINK_HWREV := 0 - TPLINK_HEADER_VERSION := 1 - KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O - IMAGES += factory.bin - IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ - append-metadata | check-size $$$$(IMAGE_SIZE) - IMAGE/factory.bin := append-rootfs | tplink-safeloader factory -endef - define Device/tplink_archer-c20-v4 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := Archer C20 DEVICE_VARIANT := v4 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0xc200004 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x4 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-mt76x0e + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) SUPPORTED_DEVICES += tplink,c20-v4 endef TARGET_DEVICES += tplink_archer-c20-v4 define Device/tplink_archer-c20-v5 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7616k DEVICE_MODEL := Archer C20 DEVICE_VARIANT := v5 TPLINK_FLASHLAYOUT := 8MSUmtk TPLINK_HWID := 0xc200005 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x5 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-mt76x0e IMAGES := sysupgrade.bin endef TARGET_DEVICES += tplink_archer-c20-v5 define Device/tplink_archer-c50-v3 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := Archer C50 DEVICE_VARIANT := v3 @@ -305,14 +274,15 @@ define Device/tplink_archer-c50-v3 TPLINK_HWID := 0x001D9BA4 TPLINK_HWREV := 0x79 TPLINK_HWREVADD := 0x1 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-mt76x2 + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) SUPPORTED_DEVICES += tplink,c50-v3 endef TARGET_DEVICES += tplink_archer-c50-v3 define Device/tplink_archer-c50-v4 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7616k DEVICE_MODEL := Archer C50 DEVICE_VARIANT := v4 @@ -320,7 +290,6 @@ define Device/tplink_archer-c50-v4 TPLINK_HWID := 0x001D589B TPLINK_HWREV := 0x93 TPLINK_HWREVADD := 0x2 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-mt76x2 IMAGES := sysupgrade.bin SUPPORTED_DEVICES += tplink,c50-v4 @@ -338,7 +307,7 @@ endef TARGET_DEVICES += tplink_re305-v1 define Device/tplink_tl-mr3020-v3 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-MR3020 DEVICE_VARIANT := v3 @@ -346,13 +315,14 @@ define Device/tplink_tl-mr3020-v3 TPLINK_HWID := 0x30200003 TPLINK_HWREV := 0x3 TPLINK_HWREVADD := 0x3 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-mr3020-v3 define Device/tplink_tl-mr3420-v5 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-MR3420 DEVICE_VARIANT := v5 @@ -360,71 +330,67 @@ define Device/tplink_tl-mr3420-v5 TPLINK_HWID := 0x34200005 TPLINK_HWREV := 0x5 TPLINK_HWREVADD := 0x5 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-mr3420-v5 define Device/tplink_tl-wa801nd-v5 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WA801ND DEVICE_VARIANT := v5 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0x08010005 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x5 - TPLINK_HVERSION := 3 + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-wa801nd-v5 define Device/tplink_tl-wr802n-v4 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WR802N DEVICE_VARIANT := v4 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0x08020004 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x4 - TPLINK_HVERSION := 3 + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-wr802n-v4 define Device/tplink_tl-wr840n-v4 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WR840N DEVICE_VARIANT := v4 TPLINK_FLASHLAYOUT := 8Mmtk TPLINK_HWID := 0x08400004 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x4 - TPLINK_HVERSION := 3 + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) SUPPORTED_DEVICES += tl-wr840n-v4 endef TARGET_DEVICES += tplink_tl-wr840n-v4 define Device/tplink_tl-wr840n-v5 + $(Device/tplink-v2) IMAGE_SIZE := 3904k - DEVICE_VENDOR := TP-Link DEVICE_MODEL := TL-WR840N DEVICE_VARIANT := v5 TPLINK_FLASHLAYOUT := 4Mmtk TPLINK_HWID := 0x08400005 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x5 - TPLINK_HVERSION := 3 - KERNEL := $(KERNEL_DTB) - KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e - IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \ - check-size $$$$(IMAGE_SIZE) + IMAGES := sysupgrade.bin SUPPORTED_DEVICES += tl-wr840n-v5 endef TARGET_DEVICES += tplink_tl-wr840n-v5 define Device/tplink_tl-wr841n-v13 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WR841N DEVICE_VARIANT := v13 @@ -432,27 +398,27 @@ define Device/tplink_tl-wr841n-v13 TPLINK_HWID := 0x08410013 TPLINK_HWREV := 0x268 TPLINK_HWREVADD := 0x13 - TPLINK_HVERSION := 3 + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) SUPPORTED_DEVICES += tl-wr841n-v13 endef TARGET_DEVICES += tplink_tl-wr841n-v13 define Device/tplink_tl-wr841n-v14 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 3968k DEVICE_MODEL := TL-WR841N DEVICE_VARIANT := v14 TPLINK_FLASHLAYOUT := 4Mmtk TPLINK_HWID := 0x08410014 - TPLINK_HWREV := 0x1 TPLINK_HWREVADD := 0x14 - TPLINK_HVERSION := 3 + IMAGES := sysupgrade.bin tftp-recovery.bin IMAGE/tftp-recovery.bin := pad-extra 64k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-wr841n-v14 define Device/tplink_tl-wr842n-v5 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WR842N DEVICE_VARIANT := v5 @@ -460,13 +426,14 @@ define Device/tplink_tl-wr842n-v5 TPLINK_HWID := 0x08420005 TPLINK_HWREV := 0x5 TPLINK_HWREVADD := 0x5 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-wr842n-v5 define Device/tplink_tl-wr902ac-v3 - $(Device/tplink) + $(Device/tplink-v2) IMAGE_SIZE := 7808k DEVICE_MODEL := TL-WR902AC DEVICE_VARIANT := v3 @@ -474,9 +441,10 @@ define Device/tplink_tl-wr902ac-v3 TPLINK_HWID := 0x000dc88f TPLINK_HWREV := 0x89 TPLINK_HWREVADD := 0x1 - TPLINK_HVERSION := 3 DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \ kmod-usb-ledtrig-usbport + IMAGES := sysupgrade.bin tftp-recovery.bin + IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin) endef TARGET_DEVICES += tplink_tl-wr902ac-v3 From 6d6f36ae787c3b339b16c1d345a90faa1d9f4011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20B=C3=B6hler?= Date: Tue, 28 Jan 2020 16:17:41 +0100 Subject: [PATCH 05/47] ramips: add support for TP-Link RE200 v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN. Specifications -------------- - MediaTek MT7628AN (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 1x 10/100 Mbps Ethernet - UART header on PCB (57600 8n1) - 8x LED (GPIO-controlled), 2x button There are 2.4G and 5G LEDs in red and green which are controlled separately. MAC addresses ------------- The MAC address assignment matches stock firmware, i.e.: LAN : *:0D 2.4G: *:0E 5G : *:0F Installation ------------ Web Interface ------------- It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Serial console -------------- Opening the case is quite hard, since it is welded together. Rename the OpenWrt factory image to "test.bin", then plug in the device and quickly press "2" to enter flash mode (no line feed). Follow the prompts until OpenWrt is installed. Unfortunately, this devices does not offer a recovery mode or a tftp installation method. If the web interface upgrade fails, you have to open your device and attach serial console. Additonal notes --------------- It is possible to flash back to stock by using tplink-safeloader to create a sysupgrade image based on a stock update. After the first boot, it is necessary upgrade to another stock image, otherwise subsequent boots fail with LZMA ERROR 1 and you have to attach serial to recover the device. Signed-off-by: Andreas Böhler [remove DEVICE_VARS change] Signed-off-by: Adrian Schmutzler --- .../ramips/dts/mt7628an_tplink_re200-v2.dts | 70 +++++++++++++ .../ramips/dts/mt7628an_tplink_re200.dtsi | 98 +++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 10 ++ .../mt76x8/base-files/etc/board.d/01_leds | 1 + .../mt76x8/base-files/etc/board.d/02_network | 1 + tools/firmware-utils/src/tplink-safeloader.c | 43 ++++++++ 6 files changed, 223 insertions(+) create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200.dtsi diff --git a/target/linux/ramips/dts/mt7628an_tplink_re200-v2.dts b/target/linux/ramips/dts/mt7628an_tplink_re200-v2.dts new file mode 100644 index 0000000000..54fd805cee --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_tplink_re200-v2.dts @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7628an_tplink_re200.dtsi" + +/ { + compatible = "tplink,re200-v2", "mediatek,mt7628an-soc"; + model = "TP-Link RE200 v2"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + leds { + compatible = "gpio-leds"; + + wps { + label = "re200-v2:green:wps"; + gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; + }; + + wifi { + label = "re200-v2:green:wifi"; + gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "re200-v2:green:lan"; + gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; + }; + + led_power: power { + label = "re200-v2:green:power"; + gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; + }; + + wifi2g_green { + label = "re200-v2:green:wifi2g"; + gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi5g_green { + label = "re200-v2:green:wifi5g"; + gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wifi2g_red { + label = "re200-v2:red:wifi2g"; + gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; + }; + + wifi5g_red { + label = "re200-v2:red:wifi5g"; + gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&state_default { + gpio { + ralink,group = "p4led_an", "p3led_an", "p2led_an", "p1led_an", + "p0led_an", "wled_an", "i2c", "wdt", "refclk"; + ralink,function = "gpio"; + }; +}; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi new file mode 100644 index 0000000000..45d5b8ed76 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7628an.dtsi" + +#include +#include + +/ { + aliases { + label-mac-device = ðernet; + }; + + chosen { + bootargs = "console=ttyS0,57600n8"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x20000 0x7a0000>; + }; + + config: partition@7c0000 { + label = "config"; + reg = <0x7c0000 0x30000>; + read-only; + }; + + radio: partition@7f0000 { + label = "radio"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +ðernet { + mtd-mac-address = <&config 0x2008>; +}; + +&wmac { + status = "okay"; + + mediatek,mtd-eeprom = <&radio 0x0>; + mtd-mac-address = <&config 0x2008>; + mtd-mac-address-increment = <1>; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + mtd-mac-address = <&config 0x2008>; + mtd-mac-address-increment = <2>; + }; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index fef5a5a733..faa2ca1c5a 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -296,6 +296,16 @@ define Device/tplink_archer-c50-v4 endef TARGET_DEVICES += tplink_archer-c50-v4 +define Device/tplink_re200-v2 + $(Device/tplink-safeloader) + IMAGE_SIZE := 7808k + DEVICE_MODEL := RE200 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-mt76x0e + TPLINK_BOARD_ID := RE200-V2 +endef +TARGET_DEVICES += tplink_re200-v2 + define Device/tplink_re305-v1 $(Device/tplink-safeloader) IMAGE_SIZE := 6016k diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index 877dbb60bd..c66e13d3c5 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -64,6 +64,7 @@ tplink,archer-c50-v4) ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan2g" "phy0tpt" ucidef_set_led_wlan "wlan5g" "wlan5g" "$boardname:green:wlan5g" "phy1tpt" ;; +tplink,re200-v2|\ tplink,tl-mr3020-v3|\ tplink,tl-wa801nd-v5) ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0" diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 259a257f16..6ba23f9451 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -12,6 +12,7 @@ ramips_setup_interfaces() alfa-network,awusfree1|\ d-team,pbr-d1|\ tama,w06|\ + tplink,re200-v2|\ tplink,re305-v1|\ tplink,tl-mr3020-v3|\ tplink,tl-wr802n-v4) diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 43c4bafe00..0359c9f614 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -1436,6 +1436,49 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "file-system", }, + /** Firmware layout for the RE200 v2 */ + { + .id = "RE200-V2", + .vendor = "", + .support_list = + "SupportList:\n" + "{product_name:RE200,product_ver:2.0.0,special_id:00000000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:41520000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:41550000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:42520000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:43410000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:45530000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:45550000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:49440000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:4a500000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:4b520000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:52550000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:54570000}\n" + "{product_name:RE200,product_ver:2.0.0,special_id:55530000}\n", + .support_trail = '\x00', + .soft_ver = NULL, + + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"firmware", 0x20000, 0x7a0000}, + {"partition-table", 0x7c0000, 0x02000}, + {"default-mac", 0x7c2000, 0x00020}, + {"pin", 0x7c2100, 0x00020}, + {"product-info", 0x7c3100, 0x01000}, + {"soft-version", 0x7c4200, 0x01000}, + {"support-list", 0x7c5200, 0x01000}, + {"profile", 0x7c6200, 0x08000}, + {"config-info", 0x7ce200, 0x00400}, + {"user-config", 0x7d0000, 0x10000}, + {"default-config", 0x7e0000, 0x10000}, + {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + /** Firmware layout for the RE305 v1 */ { .id = "RE305-V1", From 67ac189e4ba8f49db428869de0837b85f3b827c7 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Fri, 31 Jan 2020 16:46:13 +0100 Subject: [PATCH 06/47] mvebu: image: sort devices alphabetically This sorts the devices in image Makefiles alphabetically. Signed-off-by: Tomasz Maciej Nowak [fixed sorting in one case, add commit message] Signed-off-by: Adrian Schmutzler --- target/linux/mvebu/image/cortex-a72.mk | 36 ++--- target/linux/mvebu/image/cortex-a9.mk | 198 ++++++++++++------------- 2 files changed, 117 insertions(+), 117 deletions(-) diff --git a/target/linux/mvebu/image/cortex-a72.mk b/target/linux/mvebu/image/cortex-a72.mk index 6abee2d8b9..a7a4d7c2e7 100644 --- a/target/linux/mvebu/image/cortex-a72.mk +++ b/target/linux/mvebu/image/cortex-a72.mk @@ -1,3 +1,21 @@ +define Device/marvell_armada7040-db + $(call Device/Default-arm64) + DEVICE_VENDOR := Marvell + DEVICE_MODEL := Armada 7040 Development Board + DEVICE_DTS := armada-7040-db + IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata +endef +TARGET_DEVICES += marvell_armada7040-db + +define Device/marvell_armada8040-db + $(call Device/Default-arm64) + DEVICE_VENDOR := Marvell + DEVICE_MODEL := Armada 8040 Development Board + DEVICE_DTS := armada-8040-db + IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata +endef +TARGET_DEVICES += marvell_armada8040-db + define Device/marvell_macchiatobin $(call Device/Default-arm64) DEVICE_VENDOR := SolidRun @@ -9,21 +27,3 @@ define Device/marvell_macchiatobin SUPPORTED_DEVICES := marvell,armada8040-mcbin endef TARGET_DEVICES += marvell_macchiatobin - -define Device/marvell_armada8040-db - $(call Device/Default-arm64) - DEVICE_VENDOR := Marvell - DEVICE_MODEL := Armada 8040 Development Board - DEVICE_DTS := armada-8040-db - IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata -endef -TARGET_DEVICES += marvell_armada8040-db - -define Device/marvell_armada7040-db - $(call Device/Default-arm64) - DEVICE_VENDOR := Marvell - DEVICE_MODEL := Armada 7040 Development Board - DEVICE_DTS := armada-7040-db - IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata -endef -TARGET_DEVICES += marvell_armada7040-db diff --git a/target/linux/mvebu/image/cortex-a9.mk b/target/linux/mvebu/image/cortex-a9.mk index 79253049c7..257d76f19f 100644 --- a/target/linux/mvebu/image/cortex-a9.mk +++ b/target/linux/mvebu/image/cortex-a9.mk @@ -6,6 +6,34 @@ # See /LICENSE for more information. # +define Device/cznic_turris-omnia + DEVICE_VENDOR := CZ.NIC + DEVICE_MODEL := Turris Omnia + KERNEL_INSTALL := 1 + KERNEL := kernel-bin + KERNEL_INITRAMFS := kernel-bin + DEVICE_PACKAGES := \ + mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \ + wpad-basic kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \ + partx-utils kmod-i2c-core kmod-i2c-mux kmod-i2c-mux-pca954x + IMAGES := $$(IMAGE_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz + IMAGE/$$(IMAGE_PREFIX)-sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata + IMAGE/omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip + IMAGE_NAME = $$(2) + SOC := armada-385 + SUPPORTED_DEVICES += armada-385-turris-omnia +endef +TARGET_DEVICES += cznic_turris-omnia + +define Device/globalscale_mirabox + $(Device/NAND-512K) + DEVICE_VENDOR := Globalscale + DEVICE_MODEL := Mirabox + SOC := armada-370 + SUPPORTED_DEVICES += mirabox +endef +TARGET_DEVICES += globalscale_mirabox + define Device/linksys $(Device/NAND-128K) DEVICE_VENDOR := Linksys @@ -25,6 +53,34 @@ define Device/linksys_wrt1200ac endef TARGET_DEVICES += linksys_wrt1200ac +define Device/linksys_wrt1900acs + $(call Device/linksys) + DEVICE_MODEL := WRT1900ACS + DEVICE_VARIANT := v1 + DEVICE_ALT0_VENDOR := Linksys + DEVICE_ALT0_MODEL := WRT1900ACS + DEVICE_ALT0_VARIANT := v2 + DEVICE_ALT1_VENDOR := Linksys + DEVICE_ALT1_MODEL := Shelby + DEVICE_DTS := armada-385-linksys-shelby + DEVICE_PACKAGES += mwlwifi-firmware-88w8864 + SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby +endef +TARGET_DEVICES += linksys_wrt1900acs + +define Device/linksys_wrt1900ac + $(call Device/linksys) + DEVICE_MODEL := WRT1900AC + DEVICE_VARIANT := v1 + DEVICE_ALT0_VENDOR := Linksys + DEVICE_ALT0_MODEL := Mamba + DEVICE_DTS := armada-xp-linksys-mamba + DEVICE_PACKAGES += mwlwifi-firmware-88w8864 + KERNEL_SIZE := 3072k + SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba +endef +TARGET_DEVICES += linksys_wrt1900ac + define Device/linksys_wrt1900acv2 $(call Device/linksys) DEVICE_MODEL := WRT1900AC @@ -48,21 +104,6 @@ define Device/linksys_wrt3200acm endef TARGET_DEVICES += linksys_wrt3200acm -define Device/linksys_wrt1900acs - $(call Device/linksys) - DEVICE_MODEL := WRT1900ACS - DEVICE_VARIANT := v1 - DEVICE_ALT0_VENDOR := Linksys - DEVICE_ALT0_MODEL := WRT1900ACS - DEVICE_ALT0_VARIANT := v2 - DEVICE_ALT1_VENDOR := Linksys - DEVICE_ALT1_MODEL := Shelby - DEVICE_DTS := armada-385-linksys-shelby - DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby -endef -TARGET_DEVICES += linksys_wrt1900acs - define Device/linksys_wrt32x $(call Device/linksys) DEVICE_MODEL := WRT32X @@ -76,43 +117,6 @@ define Device/linksys_wrt32x endef TARGET_DEVICES += linksys_wrt32x -define Device/linksys_wrt1900ac - $(call Device/linksys) - DEVICE_MODEL := WRT1900AC - DEVICE_VARIANT := v1 - DEVICE_ALT0_VENDOR := Linksys - DEVICE_ALT0_MODEL := Mamba - DEVICE_DTS := armada-xp-linksys-mamba - DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - KERNEL_SIZE := 3072k - SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba -endef -TARGET_DEVICES += linksys_wrt1900ac - -define Device/plathome_openblocks-ax3-4 - DEVICE_VENDOR := Plat'Home - DEVICE_MODEL := OpenBlocks AX3 - DEVICE_VARIANT := 4 ports - SOC := armada-xp - SUPPORTED_DEVICES += openblocks-ax3-4 - BLOCKSIZE := 128k - PAGESIZE := 1 - IMAGES += factory.img - IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi -endef -TARGET_DEVICES += plathome_openblocks-ax3-4 - -define Device/marvell_a385-db-ap - $(Device/NAND-256K) - DEVICE_VENDOR := Marvell - DEVICE_MODEL := Armada 385 Development Board AP (DB-88F6820-AP) - DEVICE_DTS := armada-385-db-ap - IMAGES += factory.img - KERNEL_SIZE := 8192k - SUPPORTED_DEVICES += armada-385-db-ap -endef -TARGET_DEVICES += marvell_a385-db-ap - define Device/marvell_a370-db $(Device/NAND-512K) DEVICE_VENDOR := Marvell @@ -131,6 +135,27 @@ define Device/marvell_a370-rd endef TARGET_DEVICES += marvell_a370-rd +define Device/marvell_a385-db-ap + $(Device/NAND-256K) + DEVICE_VENDOR := Marvell + DEVICE_MODEL := Armada 385 Development Board AP (DB-88F6820-AP) + DEVICE_DTS := armada-385-db-ap + IMAGES += factory.img + KERNEL_SIZE := 8192k + SUPPORTED_DEVICES += armada-385-db-ap +endef +TARGET_DEVICES += marvell_a385-db-ap + +define Device/marvell_a388-rd + DEVICE_VENDOR := Marvell + DEVICE_MODEL := Armada 388 RD (RD-88F6820-AP) + DEVICE_DTS := armada-388-rd + IMAGES := firmware.bin + IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs + SUPPORTED_DEVICES := armada-388-rd marvell,a385-rd +endef +TARGET_DEVICES += marvell_a388-rd + define Device/marvell_axp-db $(Device/NAND-512K) DEVICE_VENDOR := Marvell @@ -149,30 +174,18 @@ define Device/marvell_axp-gp endef TARGET_DEVICES += marvell_axp-gp -define Device/marvell_a388-rd - DEVICE_VENDOR := Marvell - DEVICE_MODEL := Armada 388 RD (RD-88F6820-AP) - DEVICE_DTS := armada-388-rd - IMAGES := firmware.bin - IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs - SUPPORTED_DEVICES := armada-388-rd marvell,a385-rd +define Device/plathome_openblocks-ax3-4 + DEVICE_VENDOR := Plat'Home + DEVICE_MODEL := OpenBlocks AX3 + DEVICE_VARIANT := 4 ports + SOC := armada-xp + SUPPORTED_DEVICES += openblocks-ax3-4 + BLOCKSIZE := 128k + PAGESIZE := 1 + IMAGES += factory.img + IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi endef -TARGET_DEVICES += marvell_a388-rd - -define Device/solidrun_clearfog-pro-a1 - DEVICE_VENDOR := SolidRun - DEVICE_MODEL := ClearFog Pro - KERNEL_INSTALL := 1 - KERNEL := kernel-bin - DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils swconfig - IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata - DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base - SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro - UBOOT := clearfog-u-boot-spl.kwb - BOOT_SCRIPT := clearfog -endef -TARGET_DEVICES += solidrun_clearfog-pro-a1 +TARGET_DEVICES += plathome_openblocks-ax3-4 define Device/solidrun_clearfog-base-a1 DEVICE_VENDOR := SolidRun @@ -189,30 +202,17 @@ define Device/solidrun_clearfog-base-a1 endef TARGET_DEVICES += solidrun_clearfog-base-a1 -define Device/globalscale_mirabox - $(Device/NAND-512K) - DEVICE_VENDOR := Globalscale - DEVICE_MODEL := Mirabox - SOC := armada-370 - SUPPORTED_DEVICES += mirabox -endef -TARGET_DEVICES += globalscale_mirabox - -define Device/cznic_turris-omnia - DEVICE_VENDOR := CZ.NIC - DEVICE_MODEL := Turris Omnia +define Device/solidrun_clearfog-pro-a1 + DEVICE_VENDOR := SolidRun + DEVICE_MODEL := ClearFog Pro KERNEL_INSTALL := 1 KERNEL := kernel-bin - KERNEL_INITRAMFS := kernel-bin - DEVICE_PACKAGES := \ - mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \ - wpad-basic kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \ - partx-utils kmod-i2c-core kmod-i2c-mux kmod-i2c-mux-pca954x - IMAGES := $$(IMAGE_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz - IMAGE/$$(IMAGE_PREFIX)-sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata - IMAGE/omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip - IMAGE_NAME = $$(2) - SOC := armada-385 - SUPPORTED_DEVICES += armada-385-turris-omnia + DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils swconfig + IMAGES := sdcard.img.gz + IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata + DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base + SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro + UBOOT := clearfog-u-boot-spl.kwb + BOOT_SCRIPT := clearfog endef -TARGET_DEVICES += cznic_turris-omnia +TARGET_DEVICES += solidrun_clearfog-pro-a1 From 87b14bc6c289e7e80052b344c0f0c35e95ced267 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Fri, 31 Jan 2020 16:46:14 +0100 Subject: [PATCH 07/47] mvebu: image: align subtargets makefile names Align subtargets makefiles names to actual subtargets. Signed-off-by: Tomasz Maciej Nowak Acked-by: Adrian Schmutzler --- target/linux/mvebu/image/Makefile | 6 +++--- target/linux/mvebu/image/{cortex-a53.mk => cortexa53.mk} | 0 target/linux/mvebu/image/{cortex-a72.mk => cortexa72.mk} | 0 target/linux/mvebu/image/{cortex-a9.mk => cortexa9.mk} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename target/linux/mvebu/image/{cortex-a53.mk => cortexa53.mk} (100%) rename target/linux/mvebu/image/{cortex-a72.mk => cortexa72.mk} (100%) rename target/linux/mvebu/image/{cortex-a9.mk => cortexa9.mk} (100%) diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index c08b113b36..aeabffdca2 100644 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -118,15 +118,15 @@ define Device/NAND-512K endef ifeq ($(SUBTARGET),cortexa9) -include cortex-a9.mk +include cortexa9.mk endif ifeq ($(SUBTARGET),cortexa53) -include cortex-a53.mk +include cortexa53.mk endif ifeq ($(SUBTARGET),cortexa72) -include cortex-a72.mk +include cortexa72.mk endif $(eval $(call BuildImage)) diff --git a/target/linux/mvebu/image/cortex-a53.mk b/target/linux/mvebu/image/cortexa53.mk similarity index 100% rename from target/linux/mvebu/image/cortex-a53.mk rename to target/linux/mvebu/image/cortexa53.mk diff --git a/target/linux/mvebu/image/cortex-a72.mk b/target/linux/mvebu/image/cortexa72.mk similarity index 100% rename from target/linux/mvebu/image/cortex-a72.mk rename to target/linux/mvebu/image/cortexa72.mk diff --git a/target/linux/mvebu/image/cortex-a9.mk b/target/linux/mvebu/image/cortexa9.mk similarity index 100% rename from target/linux/mvebu/image/cortex-a9.mk rename to target/linux/mvebu/image/cortexa9.mk From 9c37c5ef2f1f2013b359caa5528c86e1adaede3e Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 29 Jan 2020 23:52:09 +0100 Subject: [PATCH 08/47] ath79: rename Device/tplink to Device/tplink-v1 As we have tplink-v2-header and tplink-v2-image recipes as well, this patch renames the Device/tplink definition to Device/tplink-v1, as it's using the tplink-v1-* commands. This should provide easier distinction in the future. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/common-tp-link.mk | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 8aa6a5a2be..0905e605b1 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -9,7 +9,7 @@ define Build/uImageArcher @mv $@.new $@ endef -define Device/tplink +define Device/tplink-v1 DEVICE_VENDOR := TP-Link TPLINK_HWREV := 0x1 TPLINK_HEADER_VERSION := 1 @@ -22,7 +22,7 @@ define Device/tplink endef define Device/tplink-nolzma - $(Device/tplink) + $(Device/tplink-v1) LOADER_FLASH_OFFS := 0x22000 COMPILE := loader-$(1).gz COMPILE/loader-$(1).gz := loader-okli-compile @@ -38,7 +38,7 @@ define Device/tplink-4m endef define Device/tplink-4mlzma - $(Device/tplink) + $(Device/tplink-v1) TPLINK_FLASHLAYOUT := 4Mlzma IMAGE_SIZE := 3904k endef @@ -50,19 +50,19 @@ define Device/tplink-8m endef define Device/tplink-8mlzma - $(Device/tplink) + $(Device/tplink-v1) TPLINK_FLASHLAYOUT := 8Mlzma IMAGE_SIZE := 8000k endef define Device/tplink-16mlzma - $(Device/tplink) + $(Device/tplink-v1) TPLINK_FLASHLAYOUT := 16Mlzma IMAGE_SIZE := 16192k endef define Device/tplink-safeloader - $(Device/tplink) + $(Device/tplink-v1) KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ append-metadata | check-size $$$$(IMAGE_SIZE) From 8a6994eb03b2bbaefea781444a548eeff7670c92 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Thu, 30 Jan 2020 00:06:38 +0100 Subject: [PATCH 09/47] ath79: rename tplink-loader-okli to tplink-safeloader-okli This renames Device/tplink-loader-okli to Device/tplink-safeloader-okli since the latter more accurately describes the combination of tplink-safeloader and loader-okli use there. The old version might be confused with other uses of the okli loader. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/common-tp-link.mk | 2 +- target/linux/ath79/image/generic-tp-link.mk | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 0905e605b1..a9fccd0fe6 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -74,7 +74,7 @@ define Device/tplink-safeloader-uimage KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma endef -define Device/tplink-loader-okli +define Device/tplink-safeloader-okli $(Device/tplink-safeloader) LOADER_TYPE := elf LOADER_FLASH_OFFS := 0x43000 diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index 7ac27759cc..f1a603dc6d 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -213,7 +213,7 @@ endef TARGET_DEVICES += tplink_archer-d50-v1 define Device/tplink_cpe210-v1 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE210 @@ -251,7 +251,7 @@ endef TARGET_DEVICES += tplink_cpe210-v3 define Device/tplink_cpe220-v2 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE220 @@ -274,7 +274,7 @@ endef TARGET_DEVICES += tplink_cpe220-v3 define Device/tplink_cpe510-v1 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE510 @@ -286,7 +286,7 @@ endef TARGET_DEVICES += tplink_cpe510-v1 define Device/tplink_cpe510-v2 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE510 @@ -298,7 +298,7 @@ endef TARGET_DEVICES += tplink_cpe510-v2 define Device/tplink_cpe510-v3 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE510 @@ -309,7 +309,7 @@ endef TARGET_DEVICES += tplink_cpe510-v3 define Device/tplink_cpe610-v1 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := CPE610 @@ -598,7 +598,7 @@ endef TARGET_DEVICES += tplink_tl-wr902ac-v1 define Device/tplink_wbs210-v2 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := WBS210 @@ -609,7 +609,7 @@ endef TARGET_DEVICES += tplink_wbs210-v2 define Device/tplink_wbs510-v1 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := WBS510 @@ -621,7 +621,7 @@ endef TARGET_DEVICES += tplink_wbs510-v1 define Device/tplink_wbs510-v2 - $(Device/tplink-loader-okli) + $(Device/tplink-safeloader-okli) SOC := ar9344 IMAGE_SIZE := 7680k DEVICE_MODEL := WBS510 From 4897bf0ca5986663bae1086f12f7d76b860a7df3 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Thu, 30 Jan 2020 00:00:31 +0100 Subject: [PATCH 10/47] ath79: add common definition for Device/tplink-v2 This adds a shared definition Device/tplink-v2 to common-tp-link.mk. Though currently only one device in ath79 uses it, putting it in the common file seems more organized. The definitions are based on the implementation in ramips target, where a lot of devices is using tplink-v2-* commands already. The '-V "ver. 2.0"' suffix for Archer D50 v1 can be removed because it's default in Build/tplink-v2-image anyway. While at it, add TPLINK_HWREVADD and TPLINK_HVERSION to DEVICE_VARS, which seems to have been overlooked when adding Archer D50 v1. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/common-tp-link.mk | 13 ++++++++++++- target/linux/ath79/image/generic-tp-link.mk | 8 +------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index a9fccd0fe6..cfc574e4fb 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -1,5 +1,5 @@ DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION -DEVICE_VARS += TPLINK_BOARD_ID +DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HWREVADD TPLINK_HVERSION define Build/uImageArcher mkimage -A $(LINUX_KARCH) \ @@ -21,6 +21,17 @@ define Device/tplink-v1 IMAGE/factory.bin := tplink-v1-image factory endef +define Device/tplink-v2 + DEVICE_VENDOR := TP-Link + TPLINK_HWREV := 0x1 + TPLINK_HWREVADD := 0x0 + TPLINK_HVERSION := 3 + KERNEL := kernel-bin | append-dtb | lzma + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v2-header + IMAGE/sysupgrade.bin := tplink-v2-image -s | append-metadata | \ + check-size $$$$(IMAGE_SIZE) +endef + define Device/tplink-nolzma $(Device/tplink-v1) LOADER_FLASH_OFFS := 0x22000 diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index f1a603dc6d..2a2384762b 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -190,8 +190,8 @@ endef TARGET_DEVICES += tplink_archer-c7-v5 define Device/tplink_archer-d50-v1 + $(Device/tplink-v2) SOC := qca9531 - DEVICE_VENDOR := TP-Link DEVICE_MODEL := Archer D50 DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \ @@ -201,14 +201,8 @@ define Device/tplink_archer-d50-v1 TPLINK_HWID := 0xC1200001 TPLINK_HWREV := 0x00000046 TPLINK_FLASHLAYOUT := 8Mqca - TPLINK_HWREVADD := 0x00000000 - TPLINK_HVERSION := 3 - KERNEL := kernel-bin | append-dtb | lzma KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | \ tplink-v2-header -s -V "ver. 1.0" - IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := tplink-v2-image -s -V "ver. 2.0" | append-metadata | \ - check-size $$$$(IMAGE_SIZE) endef TARGET_DEVICES += tplink_archer-d50-v1 From 2699ccd08490e441bdf3f6036c4f20419631e9cb Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 2 Feb 2020 17:47:38 +0200 Subject: [PATCH 11/47] kernel: hwmon: package mcp3021 module Package kernel module for Linear Technology MCP3021/3221 I2C connected current and voltage monitor chips. Signed-off-by: Daniel Golle --- package/kernel/linux/modules/hwmon.mk | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index e79304b4fe..31836fbceb 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -257,6 +257,21 @@ endef $(eval $(call KernelPackage,hwmon-ltc4151)) +define KernelPackage/hwmon-mcp3021 + TITLE:=MCP3021/3221 monitoring support + KCONFIG:=CONFIG_SENSORS_MCP3021 + FILES:=$(LINUX_DIR)/drivers/hwmon/mcp3021.ko + AUTOLOAD:=$(call AutoProbe,mcp3021) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-mcp3021/description + Kernel module for Linear Technology MCP3021/3221 current and voltage monitor chip +endef + +$(eval $(call KernelPackage,hwmon-mcp3021)) + + define KernelPackage/hwmon-nct6775 TITLE:=NCT6106D/6775F/6776F/6779D/6791D/6792D/6793D and compatibles monitoring support KCONFIG:=CONFIG_SENSORS_NCT6775 From f6e07c8284715693375b871a21c18fdc46a27be7 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Sun, 2 Feb 2020 18:46:00 +0100 Subject: [PATCH 12/47] uci: update to version 2020-01-27 e8d8373 file: fix segfault in uci_parse_option aa5e77a file: fix segfault in uci_parse_config Signed-off-by: Hans Dedecker --- package/system/uci/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/package/system/uci/Makefile b/package/system/uci/Makefile index 47566b8dc3..7d023b9487 100644 --- a/package/system/uci/Makefile +++ b/package/system/uci/Makefile @@ -11,12 +11,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uci PKG_RELEASE:=3 -#PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git -PKG_SOURCE_URL=https://gitlab.com/ynezz/openwrt-uci.git +PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE=2019-12-12 -PKG_SOURCE_VERSION:=165b444131453d63fc78c1d86f23c3ca36a2ffd7 -PKG_MIRROR_HASH:=d4baa6454523ee11ecbfc49188e949a76c07deebf4d048049847b3d1d5e5e40c +PKG_SOURCE_DATE=2020-01-27 +PKG_SOURCE_VERSION:=e8d83732f9 +PKG_MIRROR_HASH:=f39f82b71bc1072e4bcadaeb392d51055b2be72c41744bb97897a3ac63ce0805 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:= From a06786251855b095e1b79d0010992848282b65a9 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 15 Dec 2019 23:15:29 +0100 Subject: [PATCH 13/47] mediatek: add wmac devicetree node for MT7622 Signed-off-by: John Crispin Signed-off-by: Felix Fietkau --- .../arch/arm64/boot/dts/mediatek/mt7622.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/target/linux/mediatek/files-4.19/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/target/linux/mediatek/files-4.19/arch/arm64/boot/dts/mediatek/mt7622.dtsi index 3fdd06a8d3..a5c0a5d54b 100644 --- a/target/linux/mediatek/files-4.19/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/target/linux/mediatek/files-4.19/arch/arm64/boot/dts/mediatek/mt7622.dtsi @@ -664,6 +664,17 @@ status = "disabled"; }; + wmac: wmac@18000000 { + compatible = "mediatek,mt7622-wmac"; + reg = <0 0x18000000 0 0x100000>; + interrupts = ; + + mediatek,infracfg = <&infracfg>; + status = "disabled"; + + power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>; + }; + ssusbsys: ssusbsys@1a000000 { compatible = "mediatek,mt7622-ssusbsys", "syscon"; From 8216766ad97db2f20e30b6622343d8d473ad9d68 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 2 Feb 2020 20:07:47 +0100 Subject: [PATCH 14/47] mt76: update to the latest version 8f33a1e936fd mt76: mt7615: report firmware log event messages 43db699b1ad8 mt76: mt7615: increment the MAC address of the secondary PHY (DBDC) 161d1c73c62a mt7615: use local MAC address for the second PHY 9453dbe921b9 mt76: set dma-done flag for flushed descriptors 65745c5ac503 mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw 14f37f8d86eb mt76: dma: do not write cpu_idx on rx queue reset until after refill 99ce68625473 mt76: mt7603: increase dma mcu rx ring size 62c447e2c75f mt76: enable Airtime Queue Limit support 1c258940d818 mt76: mt7615: report TSF information 2d22ef618712 mt76: mt7615: add per-phy mib statistics 8d690f3bfbc4 mt76: mt7615: add a get_stats() callback b06177ce387c mt76: move dev_irq tracepoint in mt76 module 5ac9889c33f1 mt76: move mac_txdone tracepoint in mt76 module 7801ebd775e3 mt76: mt7615: add tracing support fd877a17cc0a mt76: mt76x2: get rid of leftover target 039471502578 mt76: mt7615: initialize radar specs from host driver b208305e6275 mt76: mt7615: fix endianness in mt7615_mcu_set_eeprom fd1fa6860666 mt76: move WIPHY_FLAG_HAS_CHANNEL_SWITCH in mt76_phy_init c94afbe3d70a mt76: mt7615: remove leftover routine declaration 29fec3a9b0b4 mt76: rely on mac80211 utility routines to compute airtime 2bb518752b3f mt76: mt76x02u: avoid overwrite max_tx_fragments a0f1ff0473b5 mt76: mt76u: check tx_status_data pointer in mt76u_tx_tasklet a5dca118bf40 mt76: mt76u: add mt76u_process_rx_queue utility routine 06caaf0d33b4 mt76: mt76u: add mt76_queue to mt76u_get_next_rx_entry signature cf8e2590e46b mt76: mt76u: add mt76_queue to mt76u_refill_rx signature 0077b30ce2c8 mt76: mt76u: use mt76_queue as mt76u_complete_rx context 06d466b86981 mt76: mt76u: add queue id parameter to mt76u_submit_rx_buffers 580ddd175eee mt76: mt76u: move mcu buffer allocation in mt76x02u drivers acc227e14d95 mt76: mt76u: introduce mt76u_free_rx_queue utility routine aa28404bf287 mt76: mt76u: stop/free all possible rx queues 885fe4a29bb9 mt76: mt76u: add mt76u_alloc_rx_queue utility routine c85dec848303 mt76: mt76u: add queue parameter to mt76u_rx_urb_alloc ca7991699109 mt76: mt76u: resume all rx queue in mt76u_resume_rx e2a39697fb0a mt76: mt76u: introduce mt76u_alloc_mcu_queue utility routine 39fb59ce927b mt76: mt76u: add {read/write}_extended utility routines 8c6cf328eb1f mt76: mt76u: take into account different queue mapping for 7663 e742618fc5ce mt76: mt76u: introduce mt76u_skb_dma_info routine 23b3328e52fe mt76: mt76u: add endpoint to mt76u_bulk_msg signature 82bedb294534 mt76: mt76u: introduce MT_DRV_RX_DMA_HDR flag 2db2bab099d0 firmware: update mt7615 N9 firmware to 20200107155603 60e27689603d firmware: update MT7615 CR4 firmware to 20190121161307 d15a4bbb3f69 mt76: mt7615: add __aligned(4) to txp structs 1c4ff4f2dc7f mt76: mt7615: move mmio related code from pci.c to mmio.c 51b1eb7a4902 mt76: mt7615: split up firmware loading functions f84b590b6454 mt76: mt7615: store N9 firmware version instead of CR4 92bafd4b1bfc mt76: mt7615: fix MT_INT_TX_DONE_ALL definition for MT7622 13a4269a1bfa mt76: mt7615: add dma and tx queue initialization for MT7622 ab94a85efb18 mt76: mt7615: add eeprom support for MT7622 f0b02d8115b0 mt76: mt7615: add calibration free support for MT7622 fd3ae9a342ae mt76: mt7615: disable 5 GHz on MT7622 80d3681b404d mt76: mt7615: implement probing and firmware loading on MT7622 79808e62324e mt76: mt7615: implement DMA support for MT7622 bddcbb25cd0e mt76: mt7615: decrease rx ring size for MT7622 6cd5c381eaee mt76: mt7615: disable DBDC on MT7622 f66b480434e9 mt76: mt7615: add Kconfig entry for MT7622 68f38eea39b5 firmware: add firmware for MT7622 built-in WiFi 7882bbd25c38 mt76: mt7615: fix and rework tx power handling 0f06914acfb4 mt76: mt7615: implement hardware reset support db97358df47e mt76: mt7615: add support for testing hardware reset b9d9f91b1522 mt76: mt7615: fix adding active monitor interfaces fd216cb5b2f9 mt76: mt7615: fix monitor mode on second PHY 269de7c22957 firmware: fix version number for upcoming mt7615 mcu v2 support patches 9f8c6c4a20b4 mt76: mt7615: simplify mcu_set_bmc flow ff32af25f83e mt76: mt7615: simplify mcu_set_sta flow f16433cd7889 mt76: mt7615: add a helper to encapsulate sta_rec operation 77b9d8586307 mt76: mt7615: add starec operating flow for firmware v2 170b21f9ec78 mt76: mt7615: use new tag sta_rec_wtbl 648ce1aaa493 mt76: mt7615: switch mt7615_mcu_set_tx_ba to v2 format 721673759d82 mt76: mt7615: switch mt7615_mcu_set_rx_ba to v2 format Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index c64a1384f6..58e8de823f 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-01-03 -PKG_SOURCE_VERSION:=38f4c579898d799657b227831a7b4bab156f785d -PKG_MIRROR_HASH:=375e065c66dcd424cc31426f4c9cfb2824d2e94091c8e1d2168e9a2ee1064c95 +PKG_SOURCE_DATE:=2020-02-02 +PKG_SOURCE_VERSION:=721673759d8229a42ab39a9a7cba15261f1dfcf9 +PKG_MIRROR_HASH:=67631bbe0ec9af6e4f255841457cde706dbbde21092c9485e7b0cc222e54e6d9 PKG_MAINTAINER:=Felix Fietkau PKG_BUILD_PARALLEL:=1 @@ -192,6 +192,10 @@ ifdef CONFIG_PACKAGE_kmod-mt7603 endif ifdef CONFIG_PACKAGE_kmod-mt7615e PKG_MAKE_FLAGS += CONFIG_MT7615E=m + ifdef CONFIG_TARGET_mediatek_mt7622 + PKG_MAKE_FLAGS += CONFIG_MT7622_WMAC=y + NOSTDINC_FLAGS += -DCONFIG_MT7622_WMAC + endif endif define Build/Compile @@ -251,6 +255,9 @@ define KernelPackage/mt7615e/install $(PKG_BUILD_DIR)/firmware/mt7615_cr4.bin \ $(PKG_BUILD_DIR)/firmware/mt7615_n9.bin \ $(PKG_BUILD_DIR)/firmware/mt7615_rom_patch.bin \ + $(if $(CONFIG_TARGET_mediatek_mt7622), \ + $(PKG_BUILD_DIR)/firmware/mt7622_n9.bin \ + $(PKG_BUILD_DIR)/firmware/mt7622_rom_patch.bin) \ $(1)/lib/firmware/mediatek endef From 3b99d6763996d4cf8d59361f25046cc8086da332 Mon Sep 17 00:00:00 2001 From: Michal Cieslakiewicz Date: Mon, 20 Jan 2020 21:19:29 +0100 Subject: [PATCH 15/47] ath79: WNDR3700 v2: add dash before version in device name Adapt Netgear WNDR3700v2 device identification string to ath79 naming scheme by changing from 'wndr3700v2' to 'wndr3700-v2' (affects config, makefile, init scripts and device tree definition). Signed-off-by: Michal Cieslakiewicz --- ...etgear_wndr3700v2.dts => ar7161_netgear_wndr3700-v2.dts} | 4 ++-- .../linux/ath79/generic/base-files/etc/board.d/02_network | 4 ++-- .../base-files/etc/hotplug.d/firmware/10-ath9k-eeprom | 4 ++-- target/linux/ath79/image/generic.mk | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) rename target/linux/ath79/dts/{ar7161_netgear_wndr3700v2.dts => ar7161_netgear_wndr3700-v2.dts} (85%) diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700v2.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts similarity index 85% rename from target/linux/ath79/dts/ar7161_netgear_wndr3700v2.dts rename to target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts index 76ef300a81..f3d27f2bdf 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700v2.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts @@ -4,8 +4,8 @@ #include "ar7161_netgear_wndr3700.dtsi" / { - compatible = "netgear,wndr3700v2", "qca,ar7161"; - model = "Netgear WNDR3700v2"; + compatible = "netgear,wndr3700-v2", "qca,ar7161"; + model = "Netgear WNDR3700 v2"; }; &partitions { diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 4630cf8447..f5196be77f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -180,7 +180,7 @@ ath79_setup_interfaces() "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan" ;; netgear,wndr3700|\ - netgear,wndr3700v2|\ + netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch) ucidef_set_interface_wan "eth1" @@ -386,7 +386,7 @@ ath79_setup_macs() label_mac=$wan_mac ;; netgear,wndr3700|\ - netgear,wndr3700v2|\ + netgear,wndr3700-v2|\ netgear,wndr3800) lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)") ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 7a813b0db1..312acc8684 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -114,7 +114,7 @@ case "$FIRMWARE" in case $board in buffalo,wzr-hp-ag300h|\ netgear,wndr3700|\ - netgear,wndr3700v2|\ + netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch) caldata_extract "art" 0x1000 0xeb8 @@ -132,7 +132,7 @@ case "$FIRMWARE" in case $board in buffalo,wzr-hp-ag300h|\ netgear,wndr3700|\ - netgear,wndr3700v2|\ + netgear,wndr3700-v2|\ netgear,wndr3800|\ netgear,wndr3800ch) caldata_extract "art" 0x5000 0xeb8 diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 1bc7b2d68e..de12d6dac8 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -819,7 +819,7 @@ define Device/netgear_wndr3700 endef TARGET_DEVICES += netgear_wndr3700 -define Device/netgear_wndr3700v2 +define Device/netgear_wndr3700-v2 $(Device/netgear_wndr3x00) DEVICE_MODEL := WNDR3700 DEVICE_VARIANT := v2 @@ -827,9 +827,9 @@ define Device/netgear_wndr3700v2 NETGEAR_BOARD_ID := WNDR3700v2 NETGEAR_HW_ID := 29763654+16+64 IMAGE_SIZE := 15872k - SUPPORTED_DEVICES += wndr3700 + SUPPORTED_DEVICES += wndr3700 netgear,wndr3700v2 endef -TARGET_DEVICES += netgear_wndr3700v2 +TARGET_DEVICES += netgear_wndr3700-v2 define Device/netgear_wndr3800 $(Device/netgear_wndr3x00) From ae61d21ca30f3af2732f73f82a01bba7e4341459 Mon Sep 17 00:00:00 2001 From: August Huber Date: Sun, 26 Jan 2020 11:55:11 -0500 Subject: [PATCH 16/47] ath79: add support for COMFAST CF-E560AC This commit adds support for the COMFAST CF-E560AC, an ap143 based in-wall access point. Specifications: - SoC: Qualcomm Atheros QCA9531 - RAM: 128 MB DDR2 (Winbond W971GG6SB-25) - Storage: 16 MB NOR (Winbond 25Q128JVSO) - WAN: 1x 10/100 PoE ethernet (48v) - LAN: 4x 10/100 ethernet - WLAN1: QCA9531 - 802.11b/g/n - 2x SKY85303-21 FEM - WLAN2: QCA9886 - 802.11ac/n/a - 2x SKY85735-11 FEM - USB: one external USB2.0 port - UART: 3.3v, 2.54mm headers already populated on board - LED: 7x external - Button: 1x external - Boot: U-Boot 1.1.4 (pepe2k/u-boot_mod) MAC addressing: - stock LAN *:40 (label) WAN *:41 5G *:42 2.4G *:4a - flash (art partition) 0x0 *:40 (label) 0x6 *:42 0x1002 *:41 0x5006 *:43 This device contains valid MAC addresses in art 0x0, 0x6, 0x1002 and 0x5006, however the vendor firmware only reads from art:0x0 for the LAN interface and then increments in 02_network. They also jump 8 addresses for the second wifi interface (2.4 GHz). This behavior has been duplicated in the DTS and ath10k hotplug to align addresses with the vendor firmware v2.6.0. Recovery instructions: This device contains built-in u-boot tftp recovery. 1. Configure PC with static IP 192.168.1.10/24 and tftp server. 2. Place desired image at /firmware_auto.bin at tftp root. 3. Connect device to PC, and power on. 4. Device will fetch flash from tftp, flash and reboot into new image. Signed-off-by: August Huber [move jtag_disable_pins, remove unnecessary statuses in DTS, remove duplicate entry in 11-ath10k-caldata, remove hub_port0 label in DTS] Signed-off-by: Adrian Schmutzler --- .../ath79/dts/qca9531_comfast_cf-e560ac.dts | 174 ++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 7 + .../generic/base-files/etc/board.d/02_network | 13 +- .../etc/hotplug.d/firmware/11-ath10k-caldata | 7 + target/linux/ath79/image/generic.mk | 10 + 5 files changed, 205 insertions(+), 6 deletions(-) create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts new file mode 100644 index 0000000000..d1c2628d87 --- /dev/null +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts @@ -0,0 +1,174 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "qca953x.dtsi" + +/ { + compatible = "comfast,cf-e560ac", "qca,qca9531"; + model = "COMFAST CF-E560AC"; + + aliases { + serial0 = &uart; + label-mac-device = ð1; + led-boot = &led_system; + led-failsafe = &led_system; + led-upgrade = &led_system; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + lan1 { + label = "cf-e560ac:blue:lan1"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + lan2 { + label = "cf-e560ac:blue:lan2"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + lan3 { + label = "cf-e560ac:blue:lan3"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + lan4 { + label = "cf-e560ac:blue:lan4"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + led_system: system { + label = "cf-e560ac:blue:system"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + wan { + label = "cf-e560ac:blue:wan"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "cf-e560ac:blue:wlan"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + hw_margin_ms = <1200>; + always-running; + }; +}; + +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x010000>; + read-only; + }; + + art: partition@10000 { + label = "art"; + reg = <0x010000 0x010000>; + read-only; + }; + + partition@20000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x020000 0xfc0000>; + }; + + partition@fe0000 { + label = "configs"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + partition@ff0000 { + label = "nvram"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&usb0 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <10>; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 15a467ccca..55d6772525 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -73,6 +73,13 @@ comfast,cf-e5) ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "$boardname:blue:rssi1" "wlan0" "33" "100" ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:blue:rssi2" "wlan0" "66" "100" ;; +comfast,cf-e560ac) + ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:wan" "eth1" + ucidef_set_led_switch "lan1" "LAN1" "$boardname:blue:lan1" "switch0" "0x02" + ucidef_set_led_switch "lan2" "LAN2" "$boardname:blue:lan2" "switch0" "0x04" + ucidef_set_led_switch "lan3" "LAN3" "$boardname:blue:lan3" "switch0" "0x08" + ucidef_set_led_switch "lan4" "LAN4" "$boardname:blue:lan4" "switch0" "0x10" + ;; dlink,dir-842-c1|\ dlink,dir-842-c2|\ dlink,dir-842-c3|\ diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index f5196be77f..a3fcf35715 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -103,6 +103,13 @@ ath79_setup_interfaces() ubnt,routerstation) ucidef_set_interfaces_lan_wan "eth1" "eth0" ;; + comfast,cf-e560ac|\ + tplink,archer-c60-v1|\ + tplink,archer-c60-v2) + ucidef_set_interface_wan "eth1" + ucidef_add_switch "switch0" \ + "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" + ;; comfast,cf-wr650ac-v1|\ comfast,cf-wr650ac-v2) ucidef_add_switch "switch0" \ @@ -228,12 +235,6 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan" ;; - tplink,archer-c60-v1|\ - tplink,archer-c60-v2) - ucidef_set_interface_wan "eth1" - ucidef_add_switch "switch0" \ - "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" - ;; tplink,archer-d50-v1) ucidef_add_switch "switch0" \ "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan" diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 3be2d337b9..877a1391a9 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -130,6 +130,13 @@ case "$FIRMWARE" in /lib/firmware/ath10k/QCA9888/hw2.0/board.bin rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin ;; + comfast,cf-e560ac) + caldata_extract "art" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +2) + ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ + /lib/firmware/ath10k/QCA9888/hw2.0/board.bin + rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin + ;; dlink,dir-842-c1|\ dlink,dir-842-c2|\ dlink,dir-842-c3|\ diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index de12d6dac8..3c74b0f7d7 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -300,6 +300,16 @@ define Device/comfast_cf-e5 endef TARGET_DEVICES += comfast_cf-e5 +define Device/comfast_cf-e560ac + SOC := qca9531 + DEVICE_VENDOR := COMFAST + DEVICE_MODEL := CF-E560AC + DEVICE_PACKAGES := kmod-leds-gpio kmod-usb2 kmod-ath10k-ct \ + ath10k-firmware-qca9888-ct + IMAGE_SIZE := 16128k +endef +TARGET_DEVICES += comfast_cf-e560ac + define Device/comfast_cf-wr650ac-v1 SOC := qca9558 DEVICE_VENDOR := COMFAST From df773ead9a8e4ef492a35a0d936fefbe2066e729 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 28 Jan 2020 11:28:03 +0100 Subject: [PATCH 17/47] bcm4xxx: fix iwinfo behaviour Signed-off-by: John Crispin --- .../mac80211/patches/brcm/998-survey.patch | 154 ++++++++++++++++++ .../iwinfo/patches/000-brcm-hardware.patch | 9 + 2 files changed, 163 insertions(+) create mode 100644 package/kernel/mac80211/patches/brcm/998-survey.patch create mode 100644 package/network/utils/iwinfo/patches/000-brcm-hardware.patch diff --git a/package/kernel/mac80211/patches/brcm/998-survey.patch b/package/kernel/mac80211/patches/brcm/998-survey.patch new file mode 100644 index 0000000000..9e9d2c51b7 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/998-survey.patch @@ -0,0 +1,154 @@ +Index: backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +=================================================================== +--- backports-5.4-rc8-1.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c ++++ backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +@@ -2747,6 +2747,63 @@ done: + } + + static int ++brcmf_cfg80211_dump_survey(struct wiphy *wiphy, struct net_device *ndev, ++ int idx, struct survey_info *survey) ++{ ++ struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); ++ struct brcmf_if *ifp = netdev_priv(ndev); ++ struct brcmu_chan ch; ++ enum nl80211_band band = 0; ++ s32 err = 0; ++ int noise; ++ u32 freq; ++ u32 chanspec; ++ ++ memset(survey, 0, sizeof(struct survey_info)); ++ if (idx != 0) { ++ if (idx >= cfg->pub->num_chan_stats || cfg->pub->chan_stats == NULL) ++ return -ENOENT; ++ if (cfg->pub->chan_stats[idx].freq == 0) ++ return -ENOENT; ++ survey->filled = SURVEY_INFO_NOISE_DBM; ++ survey->channel = ieee80211_get_channel(wiphy, cfg->pub->chan_stats[idx].freq); ++ survey->noise = cfg->pub->chan_stats[idx].noise; ++ return 0; ++ } ++ ++ err = brcmf_fil_iovar_int_get(ifp, "chanspec", &chanspec); ++ if (err) { ++ brcmf_err("chanspec failed (%d)\n", err); ++ return err; ++ } ++ ++ ch.chspec = chanspec; ++ cfg->d11inf.decchspec(&ch); ++ ++ switch (ch.band) { ++ case BRCMU_CHAN_BAND_2G: ++ band = NL80211_BAND_2GHZ; ++ break; ++ case BRCMU_CHAN_BAND_5G: ++ band = NL80211_BAND_5GHZ; ++ break; ++ } ++ ++ freq = ieee80211_channel_to_frequency(ch.control_ch_num, band); ++ survey->channel = ieee80211_get_channel(wiphy, freq); ++ ++ err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_PHY_NOISE, &noise); ++ if (err) { ++ brcmf_err("Could not get noise (%d)\n", err); ++ return err; ++ } ++ ++ survey->filled = SURVEY_INFO_NOISE_DBM | SURVEY_INFO_IN_USE; ++ survey->noise = le32_to_cpu(noise); ++ return 0; ++} ++ ++static int + brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev, + int idx, u8 *mac, struct station_info *sinfo) + { +@@ -2836,6 +2893,7 @@ static s32 brcmf_inform_single_bss(struc + struct brcmu_chan ch; + u16 channel; + u32 freq; ++ int i; + u16 notify_capability; + u16 notify_interval; + u8 *notify_ie; +@@ -2860,6 +2918,17 @@ static s32 brcmf_inform_single_bss(struc + band = NL80211_BAND_5GHZ; + + freq = ieee80211_channel_to_frequency(channel, band); ++ for (i = 0;i < cfg->pub->num_chan_stats;i++) { ++ if (freq == cfg->pub->chan_stats[i].freq) ++ break; ++ if (cfg->pub->chan_stats[i].freq == 0) ++ break; ++ } ++ if (i < cfg->pub->num_chan_stats) { ++ cfg->pub->chan_stats[i].freq = freq; ++ cfg->pub->chan_stats[i].noise = bi->phy_noise; ++ } ++ + bss_data.chan = ieee80211_get_channel(wiphy, freq); + bss_data.scan_width = NL80211_BSS_CHAN_WIDTH_20; + bss_data.boottime_ns = ktime_to_ns(ktime_get_boottime()); +@@ -5277,6 +5346,7 @@ static struct cfg80211_ops brcmf_cfg8021 + .leave_ibss = brcmf_cfg80211_leave_ibss, + .get_station = brcmf_cfg80211_get_station, + .dump_station = brcmf_cfg80211_dump_station, ++ .dump_survey = brcmf_cfg80211_dump_survey, + .set_tx_power = brcmf_cfg80211_set_tx_power, + .get_tx_power = brcmf_cfg80211_get_tx_power, + .add_key = brcmf_cfg80211_add_key, +Index: backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +=================================================================== +--- backports-5.4-rc8-1.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c ++++ backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +@@ -1277,6 +1277,8 @@ int brcmf_attach(struct device *dev) + + /* Link to bus module */ + drvr->hdrlen = 0; ++ drvr->chan_stats = vzalloc(256 * sizeof(struct brcmf_chan_stats)); ++ drvr->num_chan_stats = 256; + + /* Attach and link in the protocol */ + ret = brcmf_proto_attach(drvr); +@@ -1359,6 +1361,12 @@ void brcmf_detach(struct device *dev) + if (drvr == NULL) + return; + ++ drvr->num_chan_stats = 0; ++ if (drvr->chan_stats) { ++ vfree(drvr->chan_stats); ++ drvr->chan_stats = NULL; ++ } ++ + #ifdef CONFIG_INET + unregister_inetaddr_notifier(&drvr->inetaddr_notifier); + #endif +Index: backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h +=================================================================== +--- backports-5.4-rc8-1.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h ++++ backports-5.4-rc8-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h +@@ -91,6 +91,11 @@ struct brcmf_rev_info { + u32 nvramrev; + }; + ++struct brcmf_chan_stats { ++ u32 freq; ++ int noise; ++}; ++ + /* Common structure for module and instance linkage */ + struct brcmf_pub { + /* Linkage ponters */ +@@ -100,6 +105,9 @@ struct brcmf_pub { + struct cfg80211_ops *ops; + struct brcmf_cfg80211_info *config; + ++ int num_chan_stats; ++ struct brcmf_chan_stats *chan_stats; ++ + /* Internal brcmf items */ + uint hdrlen; /* Total BRCMF header length (proto + bus) */ + diff --git a/package/network/utils/iwinfo/patches/000-brcm-hardware.patch b/package/network/utils/iwinfo/patches/000-brcm-hardware.patch new file mode 100644 index 0000000000..009a6f985c --- /dev/null +++ b/package/network/utils/iwinfo/patches/000-brcm-hardware.patch @@ -0,0 +1,9 @@ +Index: libiwinfo-2020-01-05-bf2c1069/hardware.txt +=================================================================== +--- libiwinfo-2020-01-05-bf2c1069.orig/hardware.txt ++++ libiwinfo-2020-01-05-bf2c1069/hardware.txt +@@ -180,3 +180,4 @@ + 0x14c3 0x7650 0x14c3 0x7650 0 0 "MediaTek" "MT7610E" + 0x14c3 0x7662 0x14c3 0x7662 0 0 "MediaTek" "MT76x2E" + 0x1ae9 0x0310 0x1ae9 0x0000 0 0 "Wilocity" "Wil6210" ++0x14e4 0xaa52 0x14e4 0xaa52 0 0 "Broadcom" "BRCM43602" From 01c8f2e97cc6dd8d98edd6961b744858a387b7d0 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 4 Feb 2020 07:46:52 +0100 Subject: [PATCH 18/47] mediatek: bump to v4.19 Signed-off-by: John Crispin --- target/linux/mediatek/Makefile | 2 +- target/linux/mediatek/mt7623/config-4.19 | 515 ++++++++++++++++++ .../0002-eth-fix-dsa-support.patch | 35 ++ .../0228-arm-dts-bpir2-fix-console.patch | 11 + 4 files changed, 562 insertions(+), 1 deletion(-) create mode 100755 target/linux/mediatek/mt7623/config-4.19 create mode 100755 target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch create mode 100755 target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch diff --git a/target/linux/mediatek/Makefile b/target/linux/mediatek/Makefile index 28101a70d9..4d7df98520 100644 --- a/target/linux/mediatek/Makefile +++ b/target/linux/mediatek/Makefile @@ -9,7 +9,7 @@ SUBTARGETS:=mt7622 mt7623 mt7629 FEATURES:=squashfs nand ramdisk fpu MAINTAINER:=John Crispin -KERNEL_PATCHVER:=4.14 +KERNEL_PATCHVER:=4.19 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += \ diff --git a/target/linux/mediatek/mt7623/config-4.19 b/target/linux/mediatek/mt7623/config-4.19 new file mode 100755 index 0000000000..57c0148199 --- /dev/null +++ b/target/linux/mediatek/mt7623/config-4.19 @@ -0,0 +1,515 @@ +# CONFIG_AIO is not set +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MULTIPLATFORM=y +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARM=y +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +# CONFIG_ARM_ATAG_DTB_COMPAT is not set +CONFIG_ARM_CPU_SUSPEND=y +# CONFIG_ARM_CPU_TOPOLOGY is not set +CONFIG_ARM_GIC=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_MEDIATEK_CPUFREQ=y +CONFIG_ARM_PATCH_IDIV=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +# CONFIG_ARM_SMMU is not set +CONFIG_ARM_THUMB=y +CONFIG_ARM_THUMBEE=y +CONFIG_ARM_UNWIND=y +CONFIG_ARM_VIRT_EXT=y +CONFIG_ATAGS=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BOUNCE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CLEANCACHE=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE="earlyprintk console=ttyS0,115200 rootfstype=squashfs,jffs2" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_MEDIATEK=y +CONFIG_COMMON_CLK_MT2701=y +# CONFIG_COMMON_CLK_MT2701_AUDSYS is not set +CONFIG_COMMON_CLK_MT2701_BDPSYS=y +CONFIG_COMMON_CLK_MT2701_ETHSYS=y +# CONFIG_COMMON_CLK_MT2701_G3DSYS is not set +CONFIG_COMMON_CLK_MT2701_HIFSYS=y +CONFIG_COMMON_CLK_MT2701_IMGSYS=y +CONFIG_COMMON_CLK_MT2701_MMSYS=y +CONFIG_COMMON_CLK_MT2701_VDECSYS=y +# CONFIG_COMMON_CLK_MT7622 is not set +# CONFIG_COMMON_CLK_MT7629 is not set +# CONFIG_COMMON_CLK_MT7629_ETHSYS is not set +# CONFIG_COMMON_CLK_MT7629_HIFSYS is not set +# CONFIG_COMMON_CLK_MT8135 is not set +# CONFIG_COMMON_CLK_MT8173 is not set +CONFIG_COREDUMP=y +# CONFIG_CPUFREQ_DT is not set +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_HAS_ASID=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SPECTRE=y +# CONFIG_CPU_THERMAL is not set +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRC16=y +# CONFIG_CRC32_SARWATE is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEV_MEDIATEK=y +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_ALIGN_RODATA=y +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_GPIO=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_MT6589_UART0=y +# CONFIG_DEBUG_MT8127_UART0 is not set +# CONFIG_DEBUG_MT8135_UART3 is not set +CONFIG_DEBUG_PREEMPT=y +CONFIG_DEBUG_UART_8250=y +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +CONFIG_DEBUG_UART_8250_SHIFT=2 +# CONFIG_DEBUG_UART_8250_WORD is not set +CONFIG_DEBUG_UART_PHYS=0x11004000 +CONFIG_DEBUG_UART_VIRT=0xf1004000 +CONFIG_DEBUG_UNCOMPRESS=y +# CONFIG_DEBUG_USER is not set +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_DTC=y +CONFIG_EARLY_PRINTK=y +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_EINT_MTK=y +CONFIG_ELF_CORE=y +CONFIG_EXT4_FS=y +# CONFIG_F2FS_CHECK_FS is not set +CONFIG_F2FS_FS=y +# CONFIG_F2FS_FS_SECURITY is not set +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_STAT_FS=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FREEZER=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_HOTPLUG_CPU=y +CONFIG_HWMON=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_MTK=y +CONFIG_HZ_FIXED=0 +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MT65XX=y +CONFIG_ICPLUS_PHY=y +CONFIG_IIO=y +# CONFIG_IIO_BUFFER is not set +# CONFIG_IIO_TRIGGER is not set +CONFIG_INITRAMFS_COMPRESSION="" +CONFIG_INITRAMFS_ROOT_GID=1000 +CONFIG_INITRAMFS_ROOT_UID=1000 +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_WORK=y +CONFIG_JBD2=y +CONFIG_KALLSYMS=y +CONFIG_LEDS_MT6323=y +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +# CONFIG_MACH_MT2701 is not set +# CONFIG_MACH_MT6589 is not set +# CONFIG_MACH_MT6592 is not set +CONFIG_MACH_MT7623=y +# CONFIG_MACH_MT7629 is not set +# CONFIG_MACH_MT8127 is not set +# CONFIG_MACH_MT8135 is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_GPIO=y +CONFIG_MEDIATEK_MT6577_AUXADC=y +CONFIG_MEDIATEK_WATCHDOG=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_CORE=y +CONFIG_MFD_MT6397=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MIGRATION=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_MTK=y +CONFIG_MMC_SDHCI=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_TIFM_SD is not set +CONFIG_MODULES_USE_ELF_REL=y +# CONFIG_MT753X_GSW is not set +CONFIG_MTD_BLOCK2MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_MT81xx_NOR=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_MTK=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_FIRMWARE=y +CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTK_EFUSE=y +# CONFIG_MTK_HSDMA is not set +CONFIG_MTK_INFRACFG=y +# CONFIG_MTK_IOMMU is not set +# CONFIG_MTK_IOMMU_V1 is not set +CONFIG_MTK_PMIC_WRAP=y +CONFIG_MTK_SCPSYS=y +CONFIG_MTK_THERMAL=y +CONFIG_MTK_TIMER=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEON=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_MT7530=y +CONFIG_NET_DSA_TAG_MTK=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_MEDIATEK_SOC=y +CONFIG_NET_SWITCHDEV=y +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_VENDOR_MEDIATEK=y +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_NLS=y +CONFIG_NO_BOOTMEM=y +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NR_CPUS=4 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_PADATA=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCI=y +CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIE_MEDIATEK=y +CONFIG_PCIE_PME=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +# CONFIG_PCI_V3_SEMI is not set +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHY_MTK_TPHY=y +# CONFIG_PHY_MTK_XSPHY is not set +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MT2701=y +CONFIG_PINCTRL_MT6397=y +CONFIG_PINCTRL_MT7623=y +# CONFIG_PINCTRL_MT7629 is not set +CONFIG_PINCTRL_MTK=y +CONFIG_PINCTRL_MTK_MOORE=y +CONFIG_PM=y +CONFIG_PM_CLK=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_OPP=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_POWER_RESET=y +CONFIG_POWER_SUPPLY=y +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_RCU=y +CONFIG_PRINTK_TIME=y +CONFIG_PWM=y +CONFIG_PWM_MEDIATEK=y +# CONFIG_PWM_MTK_DISP is not set +CONFIG_PWM_SYSFS=y +CONFIG_RAS=y +CONFIG_RATIONAL=y +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_REFCOUNT_FULL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_MT6323=y +# CONFIG_REGULATOR_MT6380 is not set +# CONFIG_REGULATOR_MT6397 is not set +# CONFIG_REGULATOR_QCOM_SPMI is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_MT6397 is not set +# CONFIG_RTC_DRV_MT7622 is not set +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +# CONFIG_SERIAL_8250_DMA is not set +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SFP is not set +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +# CONFIG_SMP_ON_UP is not set +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MT65XX=y +# CONFIG_SPI_MTK_SNFI is not set +CONFIG_SPMI=y +CONFIG_SRCU=y +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWCONFIG=y +CONFIG_SWPHY=y +CONFIG_SWP_EMULATE=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TASKS_RCU=y +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_OF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_USB=y +CONFIG_USB_COMMON=y +# CONFIG_USB_EHCI_HCD is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_MTK=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USE_OF=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_XPS=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch b/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch new file mode 100755 index 0000000000..873dbed817 --- /dev/null +++ b/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch @@ -0,0 +1,35 @@ +diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:02.728620670 +0800 ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:48.747289058 +0800 +@@ -999,11 +999,6 @@ + if (!(trxd.rxd2 & RX_DMA_DONE)) + break; + +- /* find out which mac the packet come from. values start at 1 */ +-#if defined(CONFIG_NET_DSA) +- mac = (trxd.rxd4 >> 22) & 0x1; +- mac = (mac + 1) % 2; +-#else + mac = (trxd.rxd4 >> RX_DMA_FPORT_SHIFT) & + RX_DMA_FPORT_MASK; + /* From QDMA(5). This is a external interface case of HWNAT. +@@ -1017,7 +1012,7 @@ + mac = 0; + else + mac--; +-#endif ++ + if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || + !eth->netdev[mac])) + goto release_desc; +@@ -2030,10 +2025,6 @@ + /* Disable RX VLan Offloading */ + mtk_w32(eth, 0, MTK_CDMP_EG_CTRL); + +-#if defined(CONFIG_NET_DSA) +- mtk_w32(eth, 0x81000001, MTK_CDMP_IG_CTRL); +-#endif +- + mtk_w32(eth, 0x8f0f8f0f, MTK_PDMA_DELAY_INT); + mtk_w32(eth, 0x8f0f8f0f, MTK_QDMA_DELAY_INT); + diff --git a/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch b/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch new file mode 100755 index 0000000000..8a3d68a405 --- /dev/null +++ b/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch @@ -0,0 +1,11 @@ +diff -urN a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts +--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:43:47.273940258 +0800 ++++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:44:20.300945884 +0800 +@@ -19,6 +19,7 @@ + + chosen { + stdout-path = "serial2:115200n8"; ++ bootargs = "console=ttyS2,115200n8"; + }; + + cpus { From 997d89cdf5187bb31691688e1ffd726bd81abf3a Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Tue, 4 Feb 2020 12:15:45 +0100 Subject: [PATCH 19/47] mediatek: remove KERNEL_PATCHVER overwrite for mt7629 Since whole target has been bumped to kernel 4.19 in 01c8f2e97cc6 ("mediatek: bump to v4.19") we do not need the overwrite in mt7629 subtarget anymore. Signed-off-by: Adrian Schmutzler --- target/linux/mediatek/mt7629/target.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/target/linux/mediatek/mt7629/target.mk b/target/linux/mediatek/mt7629/target.mk index 4bec630c1c..e0eafe0303 100644 --- a/target/linux/mediatek/mt7629/target.mk +++ b/target/linux/mediatek/mt7629/target.mk @@ -9,7 +9,6 @@ CPU_TYPE:=cortex-a7 FEATURES:=squashfs nand ramdisk KERNELNAME:=Image dtbs -KERNEL_PATCHVER:=4.19 define Target/Description Build firmware images for MediaTek mt7629 ARM based boards. From 6227c8d1bf41739586969c3102897a7ba179114d Mon Sep 17 00:00:00 2001 From: Michal Cieslakiewicz Date: Mon, 3 Feb 2020 19:54:31 +0100 Subject: [PATCH 20/47] ath79: WNDR3700 v1/v2: make u-boot env partition writable Remove read-only flag from U-boot environment partition for Netgear WNDR3700 v1 and v2 so u-boot-envtools can modify data there. Signed-off-by: Michal Cieslakiewicz --- target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts | 1 - target/linux/ath79/dts/ar7161_netgear_wndr3700.dts | 1 - 2 files changed, 2 deletions(-) diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts index f3d27f2bdf..96573bdf14 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts @@ -18,7 +18,6 @@ partition@50000 { label = "u-boot-env"; reg = <0x050000 0x020000>; - read-only; }; partition@70000 { diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts index ac6f2362ec..75c68d83c7 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dts @@ -18,7 +18,6 @@ partition@50000 { label = "u-boot-env"; reg = <0x050000 0x020000>; - read-only; }; partition@70000 { From a09408fa576c6482c21f683662cb2d5a49e14ecf Mon Sep 17 00:00:00 2001 From: Michal Cieslakiewicz Date: Mon, 20 Jan 2020 21:20:09 +0100 Subject: [PATCH 21/47] uboot-envtools: ath79: add Netgear WNDR3700v2 Add Netgear WNDR3700v2 to the list of supported boards. Signed-off-by: Michal Cieslakiewicz [rebase, adjusted commit title] Signed-off-by: Adrian Schmutzler --- package/boot/uboot-envtools/files/ath79 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 50e1c80073..15bd9ffb6e 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -47,7 +47,8 @@ buffalo,wzr-hp-ag300h) glinet,gl-ar150) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000" ;; -netgear,wndr3700) +netgear,wndr3700|\ +netgear,wndr3700-v2) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x10000" ;; netgear,wndr3700-v4|\ From 64648e29fc12b6a67c4540e909be58c02946eadb Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Wed, 5 Feb 2020 00:54:45 +0900 Subject: [PATCH 22/47] mediatek: remove unnecessary execute permission bit kernel config and patch files do not need to be executable. 644 is enough. Fixes: 01c8f2e97cc6 ("mediatek: bump to v4.19") Signed-off-by: Sungbo Eo --- target/linux/mediatek/mt7623/config-4.19 | 0 target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch | 0 .../mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 target/linux/mediatek/mt7623/config-4.19 mode change 100755 => 100644 target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch mode change 100755 => 100644 target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch diff --git a/target/linux/mediatek/mt7623/config-4.19 b/target/linux/mediatek/mt7623/config-4.19 old mode 100755 new mode 100644 diff --git a/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch b/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch old mode 100755 new mode 100644 diff --git a/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch b/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch old mode 100755 new mode 100644 From 536adedcd3e05f9a4f362b218317facb35843cf5 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Wed, 5 Feb 2020 01:00:15 +0900 Subject: [PATCH 23/47] ramips: remove unnecessary execute permission bit dts file does not need to be executable. 644 is enough. Fixes: f098c612b6db ("ramips: create shared DTSI for Netgear EX2700 and WN3000RP v3") Signed-off-by: Sungbo Eo --- target/linux/ramips/dts/mt7620a_netgear_ex2700_wn3000rp-v3.dtsi | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 target/linux/ramips/dts/mt7620a_netgear_ex2700_wn3000rp-v3.dtsi diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex2700_wn3000rp-v3.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex2700_wn3000rp-v3.dtsi old mode 100755 new mode 100644 From 1b310cff0f108cee59974f3c98dbd403da2960a0 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Tue, 4 Feb 2020 12:04:59 +0100 Subject: [PATCH 24/47] kernel: bump 4.14 to 4.14.169 Refreshed all patches. Fixes: - CVE-2019-14896 - CVE-2019-14897 Remove upstreamed: - 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch - 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- ...-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch | 39 ---- ...ct-JEDEC-incompatible-w25q128-using-.patch | 2 +- ...p-unused-and-broken-DSP-platform-dev.patch | 203 ------------------ ...lter-connmark-introduce-set-dscpmark.patch | 11 +- .../702-phy_add_aneg_done_function.patch | 2 +- .../pending-4.14/630-packet_socket_type.patch | 16 +- ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 14 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 2 +- ...detach-callback-to-struct-phy_driver.patch | 2 +- ...or-enable-4B-opcodes-for-mx25l25635f.patch | 8 +- .../202-core-linux-support-layerscape.patch | 40 ++-- .../302-dts-support-layerscape.patch | 16 +- .../811-clock-support-layerscape.patch | 2 +- .../812-flexspi-support-layerscape.patch | 4 +- .../820-sec-support-layerscape.patch | 2 +- .../patches-4.14/0052-net-phy-add-FC.patch | 2 +- ...9-thermal-mtk-Cleanup-unused-defines.patch | 2 +- ...-mediatek-add-support-for-MT7622-SoC.patch | 2 +- ...or-support-mtd-name-from-device-tree.patch | 4 +- ...d-spi-nor-add-w25q256-3b-mode-switch.patch | 10 +- ...spi-nor-w25q256-respect-default-mode.patch | 2 +- ...or-enable-4B-opcodes-for-mx25l25635f.patch | 8 +- ...s-allwinner-A64-Restore-EMAC-changes.patch | 2 +- ...ner-add-snps-dwmac-mdio-compatible-t.patch | 2 +- ...arm64-dts-allwinner-a64-Add-watchdog.patch | 2 +- ...80-arm64-allwinner-a64-add-SPI-nodes.patch | 4 +- 27 files changed, 80 insertions(+), 327 deletions(-) delete mode 100644 target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch delete mode 100644 target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 429256f400..6c67b04fb3 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.14 = .167 +LINUX_VERSION-4.14 = .169 LINUX_VERSION-4.19 = .98 -LINUX_KERNEL_HASH-4.14.167 = 2bb78fc7a902faf4f5dad47fdbc2f4bf3df3cf9b41f408e7260f36656659fe43 +LINUX_KERNEL_HASH-4.14.169 = d88ea97993c56b1fa0b0a05061bcde476c6be4fc3bb2de8bd97a8f8ff7278249 LINUX_KERNEL_HASH-4.19.98 = 91feb13bc22d60d69596ab1d01dfecbec13ef70f00c89a483e0733af94dd2937 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch b/target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch deleted file mode 100644 index d2c3848820..0000000000 --- a/target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e88098ca43a3d80ae86908f7badba683c8a0d84 Mon Sep 17 00:00:00 2001 -From: Corentin Labbe -Date: Wed, 23 Jan 2019 11:24:18 +0000 -Subject: [PATCH 07/15] crypto: crypto4xx - Fix wrong - ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments - -When building without CONFIG_HW_RANDOM_PPC4XX, I hit the following build failure: -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_probe': -drivers/crypto/amcc/crypto4xx_core.c:1407:20: error: passing argument 1 of 'ppc4xx_trng_probe' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:28:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_remove': -drivers/crypto/amcc/crypto4xx_core.c:1434:21: error: passing argument 1 of 'ppc4xx_trng_remove' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:30:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' - -This patch fix the needed argument of ppc4xx_trng_probe()/ppc4xx_trng_remove() in that case. - -Fixes: 5343e674f32f ("crypto4xx: integrate ppc4xx-rng into crypto4xx") -Signed-off-by: Corentin Labbe -Signed-off-by: Herbert Xu ---- - drivers/crypto/amcc/crypto4xx_trng.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/crypto/amcc/crypto4xx_trng.h -+++ b/drivers/crypto/amcc/crypto4xx_trng.h -@@ -26,9 +26,9 @@ void ppc4xx_trng_probe(struct crypto4xx_ - void ppc4xx_trng_remove(struct crypto4xx_core_device *core_dev); - #else - static inline void ppc4xx_trng_probe( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - static inline void ppc4xx_trng_remove( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - #endif - - #endif diff --git a/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch b/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch index 49dd89c2d7..d79b2d0b70 100644 --- a/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch +++ b/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch @@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1222,6 +1222,18 @@ static const struct flash_info *spi_nor_ +@@ -1226,6 +1226,18 @@ static const struct flash_info *spi_nor_ } dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); diff --git a/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch b/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch deleted file mode 100644 index ac03e643b3..0000000000 --- a/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Tue, 18 Dec 2018 10:19:02 +0100 -Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device - -Trying to register the DSP platform device results in a null pointer -access: - -[ 0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20 -[ 0.135208] Oops[#1]: -[ 0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87 -... -[ 0.197117] epc : 804e305c bcm63xx_dsp_register+0x80/0xa4 -[ 0.202838] ra : 804e6f20 board_register_devices+0x258/0x390 -... - -This happens because it tries to copy the passed platform data over the -platform_device's unpopulated platform_data. - -Since this code has been broken since its submission, no driver was ever -submitted for it, and apparently nobody was using it, just remove it -instead of trying to fix it. - -Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.") -Signed-off-by: Jonas Gorski ---- - arch/mips/bcm63xx/Makefile | 6 +-- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 -------- - arch/mips/bcm63xx/dev-dsp.c | 56 ---------------------- - .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 ------ - .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 -- - 5 files changed, 3 insertions(+), 98 deletions(-) - delete mode 100644 arch/mips/bcm63xx/dev-dsp.c - delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h - ---- a/arch/mips/bcm63xx/Makefile -+++ b/arch/mips/bcm63xx/Makefile -@@ -1,8 +1,8 @@ - # SPDX-License-Identifier: GPL-2.0 - obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \ -- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \ -- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \ -- dev-wdt.o dev-usb-usbd.o -+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \ -+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \ -+ dev-usb-usbd.o - obj-$(CONFIG_EARLY_PRINTK) += early_printk.o - - obj-y += boards/ ---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c -+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -23,7 +23,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -289,14 +288,6 @@ static struct board_info __initdata boar - .has_pccard = 1, - .has_ehci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .cs = 2, -- .ext_irq = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -401,14 +392,6 @@ static struct board_info __initdata boar - - .has_ohci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .ext_irq = 2, -- .cs = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -898,9 +881,6 @@ int __init board_register_devices(void) - if (board.has_usbd) - bcm63xx_usbd_register(&board.usbd); - -- if (board.has_dsp) -- bcm63xx_dsp_register(&board.dsp); -- - /* Generate MAC address for WLAN and register our SPROM, - * do this after registering enet devices - */ ---- a/arch/mips/bcm63xx/dev-dsp.c -+++ /dev/null -@@ -1,56 +0,0 @@ --/* -- * Broadcom BCM63xx VoIP DSP registration -- * -- * This file is subject to the terms and conditions of the GNU General Public -- * License. See the file "COPYING" in the main directory of this archive -- * for more details. -- * -- * Copyright (C) 2009 Florian Fainelli -- */ -- --#include --#include --#include -- --#include --#include --#include --#include -- --static struct resource voip_dsp_resources[] = { -- { -- .start = -1, /* filled at runtime */ -- .end = -1, /* filled at runtime */ -- .flags = IORESOURCE_MEM, -- }, -- { -- .start = -1, /* filled at runtime */ -- .flags = IORESOURCE_IRQ, -- }, --}; -- --static struct platform_device bcm63xx_voip_dsp_device = { -- .name = "bcm63xx-voip-dsp", -- .id = -1, -- .num_resources = ARRAY_SIZE(voip_dsp_resources), -- .resource = voip_dsp_resources, --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd) --{ -- struct bcm63xx_dsp_platform_data *dpd; -- u32 val; -- -- /* Get the memory window */ -- val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1)); -- val &= MPI_CSBASE_BASE_MASK; -- voip_dsp_resources[0].start = val; -- voip_dsp_resources[0].end = val + 0xFFFFFFF; -- voip_dsp_resources[1].start = pd->ext_irq; -- -- /* copy given platform data */ -- dpd = bcm63xx_voip_dsp_device.dev.platform_data; -- memcpy(dpd, pd, sizeof (*pd)); -- -- return platform_device_register(&bcm63xx_voip_dsp_device); --} ---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h -+++ /dev/null -@@ -1,14 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 */ --#ifndef __BCM63XX_DSP_H --#define __BCM63XX_DSP_H -- --struct bcm63xx_dsp_platform_data { -- unsigned gpio_rst; -- unsigned gpio_int; -- unsigned cs; -- unsigned ext_irq; --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd); -- --#endif /* __BCM63XX_DSP_H */ ---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -7,7 +7,6 @@ - #include - #include - #include --#include - - /* - * flash mapping -@@ -31,7 +30,6 @@ struct board_info { - unsigned int has_ohci0:1; - unsigned int has_ehci0:1; - unsigned int has_usbd:1; -- unsigned int has_dsp:1; - unsigned int has_uart0:1; - unsigned int has_uart1:1; - -@@ -43,9 +41,6 @@ struct board_info { - /* USB config */ - struct bcm63xx_usbd_platform_data usbd; - -- /* DSP config */ -- struct bcm63xx_dsp_platform_data dsp; -- - /* GPIO LEDs */ - struct gpio_led leds[5]; - diff --git a/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch b/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch index 88c8c7f3ef..1ecc95bf22 100644 --- a/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch +++ b/target/linux/generic/hack-4.14/645-netfilter-connmark-introduce-set-dscpmark.patch @@ -80,11 +80,9 @@ Signed-off-by: Kevin Darbyshire-Bryant net/netfilter/xt_connmark.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) -diff --git a/net/netfilter/xt_connmark.c b/net/netfilter/xt_connmark.c -index ec377cc6a369..823d925b3aaf 100644 --- a/net/netfilter/xt_connmark.c +++ b/net/netfilter/xt_connmark.c -@@ -42,6 +42,7 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) +@@ -42,6 +42,7 @@ connmark_tg(struct sk_buff *skb, const s enum ip_conntrack_info ctinfo; struct nf_conn *ct; u_int32_t newmark; @@ -92,7 +90,7 @@ index ec377cc6a369..823d925b3aaf 100644 ct = nf_ct_get(skb, &ctinfo); if (ct == NULL) -@@ -49,7 +50,21 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) +@@ -49,7 +50,21 @@ connmark_tg(struct sk_buff *skb, const s switch (info->mode) { case XT_CONNMARK_SET: @@ -115,7 +113,7 @@ index ec377cc6a369..823d925b3aaf 100644 if (ct->mark != newmark) { ct->mark = newmark; nf_conntrack_event_cache(IPCT_MARK, ct); -@@ -57,7 +72,7 @@ connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) +@@ -57,7 +72,7 @@ connmark_tg(struct sk_buff *skb, const s break; case XT_CONNMARK_SAVE: newmark = (ct->mark & ~info->ctmask) ^ @@ -124,6 +122,3 @@ index ec377cc6a369..823d925b3aaf 100644 if (ct->mark != newmark) { ct->mark = newmark; nf_conntrack_event_cache(IPCT_MARK, ct); --- -2.21.0 (Apple Git-122.2) - diff --git a/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch index 97bbee96a9..cc84311ef9 100644 --- a/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1461,6 +1461,9 @@ int genphy_update_link(struct phy_device +@@ -1462,6 +1462,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/pending-4.14/630-packet_socket_type.patch b/target/linux/generic/pending-4.14/630-packet_socket_type.patch index 1c9af3f2b2..a4737b23ef 100644 --- a/target/linux/generic/pending-4.14/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.14/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1830,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1836,6 +1836,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1837,6 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1843,6 +1844,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1849,7 +1851,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1855,7 +1857,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2076,12 +2078,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2082,12 +2084,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2207,12 +2209,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2213,12 +2215,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3295,6 +3297,7 @@ static int packet_create(struct net *net +@@ -3301,6 +3303,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3908,6 +3911,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3923,6 +3926,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3960,6 +3973,13 @@ static int packet_getsockopt(struct sock +@@ -3975,6 +3988,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 6e2eca6daf..96c8ae9c12 100644 --- a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -350,7 +350,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1922,6 +2084,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1920,6 +2082,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1959,6 +2130,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1957,6 +2128,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2074,6 +2285,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2072,6 +2283,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -426,7 +426,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2103,6 +2320,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2101,6 +2318,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2110,6 +2345,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2108,6 +2343,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -461,7 +461,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2119,9 +2357,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2117,9 +2355,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2161,6 +2417,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2159,6 +2415,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, diff --git a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 8919ea34ec..067de75f3c 100644 --- a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6970,6 +7017,7 @@ int dev_set_mac_address(struct net_devic +@@ -6961,6 +7008,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch index 4ba722183c..d49fdc77ab 100644 --- a/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1105,6 +1105,9 @@ void phy_detach(struct phy_device *phyde +@@ -1106,6 +1106,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = dev->dev.parent->driver->owner; struct mii_bus *bus; diff --git a/target/linux/ipq40xx/patches-4.14/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch b/target/linux/ipq40xx/patches-4.14/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch index 01de239814..b77ab89e66 100644 --- a/target/linux/ipq40xx/patches-4.14/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch +++ b/target/linux/ipq40xx/patches-4.14/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch @@ -8,7 +8,7 @@ { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, -@@ -1201,11 +1202,12 @@ static const struct flash_info spi_nor_i +@@ -1205,11 +1206,12 @@ static const struct flash_info spi_nor_i { }, }; @@ -23,7 +23,7 @@ tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); if (tmp < 0) { -@@ -1216,10 +1218,16 @@ static const struct flash_info *spi_nor_ +@@ -1220,10 +1222,16 @@ static const struct flash_info *spi_nor_ for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { info = &spi_nor_ids[tmp]; if (info->id_len) { @@ -42,7 +42,7 @@ dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); return ERR_PTR(-ENODEV); -@@ -2679,7 +2687,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2683,7 +2691,7 @@ int spi_nor_scan(struct spi_nor *nor, co info = spi_nor_match_id(name); /* Try to auto-detect if chip name wasn't specified or not found */ if (!info) @@ -51,7 +51,7 @@ if (IS_ERR_OR_NULL(info)) return -ENOENT; -@@ -2690,7 +2698,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2694,7 +2702,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (name && info->id_len) { const struct flash_info *jinfo; diff --git a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch index f0926d088d..784b10dd50 100644 --- a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch @@ -77,8 +77,8 @@ Signed-off-by: Yangbo Lu * * A side effect of the link creation is re-ordering of dpm_list and the * devices_kset list by moving the consumer device and all devices depending -@@ -182,7 +182,8 @@ struct device_link *device_link_add(stru - struct device_link *link; +@@ -183,7 +183,8 @@ struct device_link *device_link_add(stru + bool rpm_put_supplier = false; if (!consumer || !supplier || - ((flags & DL_FLAG_STATELESS) && (flags & DL_FLAG_AUTOREMOVE))) @@ -86,8 +86,8 @@ Signed-off-by: Yangbo Lu + (flags & DL_FLAG_AUTOREMOVE_CONSUMER))) return NULL; - device_links_write_lock(); -@@ -200,8 +201,10 @@ struct device_link *device_link_add(stru + if (flags & DL_FLAG_PM_RUNTIME && flags & DL_FLAG_RPM_ACTIVE) { +@@ -209,8 +210,10 @@ struct device_link *device_link_add(stru } list_for_each_entry(link, &supplier->links.consumers, s_node) @@ -99,7 +99,7 @@ Signed-off-by: Yangbo Lu link = kzalloc(sizeof(*link), GFP_KERNEL); if (!link) -@@ -233,6 +236,7 @@ struct device_link *device_link_add(stru +@@ -237,6 +240,7 @@ struct device_link *device_link_add(stru link->consumer = consumer; INIT_LIST_HEAD(&link->c_node); link->flags = flags; @@ -107,7 +107,7 @@ Signed-off-by: Yangbo Lu /* Determine the initial link state. */ if (flags & DL_FLAG_STATELESS) { -@@ -303,8 +307,10 @@ static void __device_link_free_srcu(stru +@@ -311,8 +315,10 @@ static void __device_link_free_srcu(stru device_link_free(container_of(rhead, struct device_link, rcu_head)); } @@ -119,7 +119,7 @@ Signed-off-by: Yangbo Lu dev_info(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); -@@ -316,8 +322,10 @@ static void __device_link_del(struct dev +@@ -324,8 +330,10 @@ static void __device_link_del(struct dev call_srcu(&device_links_srcu, &link->rcu_head, __device_link_free_srcu); } #else /* !CONFIG_SRCU */ @@ -131,7 +131,7 @@ Signed-off-by: Yangbo Lu dev_info(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); -@@ -335,18 +343,50 @@ static void __device_link_del(struct dev +@@ -343,18 +351,50 @@ static void __device_link_del(struct dev * @link: Device link to delete. * * The caller must ensure proper synchronization of this function with runtime @@ -184,7 +184,7 @@ Signed-off-by: Yangbo Lu static void device_links_missing_supplier(struct device *dev) { struct device_link *link; -@@ -454,8 +494,8 @@ static void __device_links_no_driver(str +@@ -462,8 +502,8 @@ static void __device_links_no_driver(str if (link->flags & DL_FLAG_STATELESS) continue; @@ -195,7 +195,7 @@ Signed-off-by: Yangbo Lu else if (link->status != DL_STATE_SUPPLIER_UNBIND) WRITE_ONCE(link->status, DL_STATE_AVAILABLE); } -@@ -490,8 +530,18 @@ void device_links_driver_cleanup(struct +@@ -498,8 +538,18 @@ void device_links_driver_cleanup(struct if (link->flags & DL_FLAG_STATELESS) continue; @@ -215,7 +215,7 @@ Signed-off-by: Yangbo Lu WRITE_ONCE(link->status, DL_STATE_DORMANT); } -@@ -608,13 +658,13 @@ static void device_links_purge(struct de +@@ -616,13 +666,13 @@ static void device_links_purge(struct de list_for_each_entry_safe_reverse(link, ln, &dev->links.suppliers, c_node) { WARN_ON(link->status == DL_STATE_ACTIVE); @@ -231,7 +231,7 @@ Signed-off-by: Yangbo Lu } device_links_write_unlock(); -@@ -1036,6 +1086,34 @@ static ssize_t online_store(struct devic +@@ -1044,6 +1094,34 @@ static ssize_t online_store(struct devic } static DEVICE_ATTR_RW(online); @@ -266,7 +266,7 @@ Signed-off-by: Yangbo Lu int device_add_groups(struct device *dev, const struct attribute_group **groups) { return sysfs_create_groups(&dev->kobj, groups); -@@ -1207,8 +1285,20 @@ static int device_add_attrs(struct devic +@@ -1215,8 +1293,20 @@ static int device_add_attrs(struct devic goto err_remove_dev_groups; } @@ -287,7 +287,7 @@ Signed-off-by: Yangbo Lu err_remove_dev_groups: device_remove_groups(dev, dev->groups); err_remove_type_groups: -@@ -1226,6 +1316,8 @@ static void device_remove_attrs(struct d +@@ -1234,6 +1324,8 @@ static void device_remove_attrs(struct d struct class *class = dev->class; const struct device_type *type = dev->type; @@ -462,7 +462,7 @@ Signed-off-by: Yangbo Lu extern int __must_check bus_create_file(struct bus_type *, struct bus_attribute *); -@@ -750,14 +752,16 @@ enum device_link_state { +@@ -751,14 +753,16 @@ enum device_link_state { * Device link flags. * * STATELESS: The core won't track the presence of supplier/consumer drivers. @@ -484,7 +484,7 @@ Signed-off-by: Yangbo Lu /** * struct device_link - Device link representation. -@@ -768,6 +772,7 @@ enum device_link_state { +@@ -769,6 +773,7 @@ enum device_link_state { * @status: The state of the link (with respect to the presence of drivers). * @flags: Link flags. * @rpm_active: Whether or not the consumer device is runtime-PM-active. @@ -492,7 +492,7 @@ Signed-off-by: Yangbo Lu * @rcu_head: An RCU head to use for deferred execution of SRCU callbacks. */ struct device_link { -@@ -778,6 +783,7 @@ struct device_link { +@@ -779,6 +784,7 @@ struct device_link { enum device_link_state status; u32 flags; bool rpm_active; @@ -500,7 +500,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_SRCU struct rcu_head rcu_head; #endif -@@ -850,6 +856,8 @@ struct dev_links_info { +@@ -851,6 +857,8 @@ struct dev_links_info { * @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all * hardware supports 64-bit addresses for consistent allocations * such descriptors. @@ -509,7 +509,7 @@ Signed-off-by: Yangbo Lu * @dma_pfn_offset: offset of DMA memory range relatively of RAM * @dma_parms: A low level driver may set these to teach IOMMU code about * segment limitations. -@@ -929,6 +937,7 @@ struct device { +@@ -930,6 +938,7 @@ struct device { not all hardware supports 64 bit addresses for consistent allocations such descriptors. */ @@ -517,7 +517,7 @@ Signed-off-by: Yangbo Lu unsigned long dma_pfn_offset; struct device_dma_parameters *dma_parms; -@@ -1267,6 +1276,7 @@ extern const char *dev_driver_string(con +@@ -1268,6 +1277,7 @@ extern const char *dev_driver_string(con struct device_link *device_link_add(struct device *consumer, struct device *supplier, u32 flags); void device_link_del(struct device_link *link); diff --git a/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch b/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch index 871a8068cb..919bb30cfc 100644 --- a/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch @@ -607,9 +607,9 @@ Signed-off-by: Zhao Qiang +}; + &enet0 { - tbi-handle = <&tbi1>; + tbi-handle = <&tbi0>; phy-handle = <&sgmii_phy2>; -@@ -228,6 +243,10 @@ +@@ -235,6 +250,10 @@ }; }; @@ -620,7 +620,7 @@ Signed-off-by: Zhao Qiang &sai1 { status = "okay"; }; -@@ -243,3 +262,11 @@ +@@ -250,3 +269,11 @@ &uart1 { status = "okay"; }; @@ -740,7 +740,7 @@ Signed-off-by: Zhao Qiang dcu: dcu@2ce0000 { compatible = "fsl,ls1021a-dcu"; reg = <0x0 0x2ce0000 0x0 0x10000>; -@@ -684,6 +734,11 @@ +@@ -693,6 +743,11 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; @@ -752,7 +752,7 @@ Signed-off-by: Zhao Qiang }; pcie@3400000 { -@@ -691,7 +746,9 @@ +@@ -700,7 +755,9 @@ reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */ 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ reg-names = "regs", "config"; @@ -763,7 +763,7 @@ Signed-off-by: Zhao Qiang fsl,pcie-scfg = <&scfg 0>; #address-cells = <3>; #size-cells = <2>; -@@ -707,6 +764,7 @@ +@@ -716,6 +773,7 @@ <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; @@ -771,7 +771,7 @@ Signed-off-by: Zhao Qiang }; pcie@3500000 { -@@ -714,7 +772,9 @@ +@@ -723,7 +781,9 @@ reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */ 0x48 0x00000000 0x0 0x00002000>; /* configuration space */ reg-names = "regs", "config"; @@ -782,7 +782,7 @@ Signed-off-by: Zhao Qiang fsl,pcie-scfg = <&scfg 1>; #address-cells = <3>; #size-cells = <2>; -@@ -730,6 +790,47 @@ +@@ -739,6 +799,47 @@ <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; diff --git a/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch b/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch index 331c77c80a..09a33572fe 100644 --- a/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch @@ -75,7 +75,7 @@ Signed-off-by: Yogesh Gaur snprintf(pll->div[i].name, sizeof(pll->div[i].name), "cg-pll%d-div%d", idx, i + 1); -@@ -1417,6 +1435,7 @@ CLK_OF_DECLARE(qoriq_clockgen_ls1043a, " +@@ -1418,6 +1436,7 @@ CLK_OF_DECLARE(qoriq_clockgen_ls1043a, " CLK_OF_DECLARE(qoriq_clockgen_ls1046a, "fsl,ls1046a-clockgen", clockgen_init); CLK_OF_DECLARE(qoriq_clockgen_ls1088a, "fsl,ls1088a-clockgen", clockgen_init); CLK_OF_DECLARE(qoriq_clockgen_ls2080a, "fsl,ls2080a-clockgen", clockgen_init); diff --git a/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch b/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch index 3ecec1756e..fa1cdf075a 100644 --- a/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch @@ -1534,7 +1534,7 @@ Signed-off-by: Yogesh Gaur /* PMC */ { "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) }, { "pm25lv010", INFO(0, 0, 32 * 1024, 4, SECT_4K_PMC) }, -@@ -2431,6 +2438,7 @@ static int spi_nor_init_params(struct sp +@@ -2435,6 +2442,7 @@ static int spi_nor_init_params(struct sp params->quad_enable = macronix_quad_enable; break; @@ -1542,7 +1542,7 @@ Signed-off-by: Yogesh Gaur case SNOR_MFR_MICRON: break; -@@ -2749,7 +2757,8 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2753,7 +2761,8 @@ int spi_nor_scan(struct spi_nor *nor, co mtd->_read = spi_nor_read; /* NOR protection support for STmicro/Micron chips and similar */ diff --git a/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch b/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch index 9632b32d56..63f6540be0 100644 --- a/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch @@ -11852,7 +11852,7 @@ Signed-off-by: Zhao Qiang dev = caam_jr_alloc(); if (IS_ERR(dev)) { -@@ -361,10 +342,3 @@ free_caam_alloc: +@@ -364,10 +345,3 @@ free_caam_alloc: caam_jr_free(dev); return err; } diff --git a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch index c396e314a9..bb49ee75e8 100644 --- a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch +++ b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1943,7 +1943,7 @@ static struct phy_driver genphy_driver = +@@ -1944,7 +1944,7 @@ static struct phy_driver genphy_driver = .config_init = genphy_config_init, .features = PHY_GBIT_FEATURES | SUPPORTED_MII | SUPPORTED_AUI | SUPPORTED_FIBRE | diff --git a/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch b/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch index a7288acdf1..af910a6660 100644 --- a/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch +++ b/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch @@ -40,7 +40,7 @@ Signed-off-by: Eduardo Valentin struct mtk_thermal; struct thermal_bank_cfg { -@@ -765,7 +758,7 @@ static struct platform_driver mtk_therma +@@ -767,7 +760,7 @@ static struct platform_driver mtk_therma .probe = mtk_thermal_probe, .remove = mtk_thermal_remove, .driver = { diff --git a/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch b/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch index 731bd163d8..1dc293641e 100644 --- a/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch +++ b/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch @@ -68,7 +68,7 @@ Signed-off-by: Shunli Wang /** * raw_to_mcelsius - convert a raw ADC value to mcelsius * @mt: The thermal controller -@@ -631,6 +662,10 @@ static const struct of_device_id mtk_the +@@ -633,6 +664,10 @@ static const struct of_device_id mtk_the { .compatible = "mediatek,mt2712-thermal", .data = (void *)&mt2712_thermal_data, diff --git a/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch index d5f9627fac..f35b3901e0 100644 --- a/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch +++ b/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch @@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -2663,6 +2663,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2667,6 +2667,7 @@ int spi_nor_scan(struct spi_nor *nor, co struct device *dev = nor->dev; struct mtd_info *mtd = &nor->mtd; struct device_node *np = spi_nor_get_flash_node(nor); @@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma int ret; int i; -@@ -2738,7 +2739,12 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2742,7 +2743,12 @@ int spi_nor_scan(struct spi_nor *nor, co spi_nor_wait_till_ready(nor); } diff --git a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch index 8631f5d720..dee65a8394 100644 --- a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch +++ b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch @@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau { "w25m512jv", INFO(0xef7119, 0, 64 * 1024, 1024, SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) }, -@@ -1237,6 +1289,9 @@ static int spi_nor_read(struct mtd_info +@@ -1241,6 +1293,9 @@ static int spi_nor_read(struct mtd_info if (ret) return ret; @@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau while (len) { loff_t addr = from; -@@ -1261,6 +1316,18 @@ static int spi_nor_read(struct mtd_info +@@ -1265,6 +1320,18 @@ static int spi_nor_read(struct mtd_info ret = 0; read_err: @@ -154,7 +154,7 @@ Signed-off-by: Felix Fietkau spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ); return ret; } -@@ -1362,6 +1429,10 @@ static int spi_nor_write(struct mtd_info +@@ -1366,6 +1433,10 @@ static int spi_nor_write(struct mtd_info if (ret) return ret; @@ -165,7 +165,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < len; ) { ssize_t written; loff_t addr = to + i; -@@ -1402,6 +1473,7 @@ static int spi_nor_write(struct mtd_info +@@ -1406,6 +1477,7 @@ static int spi_nor_write(struct mtd_info } write_err: @@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE); return ret; } -@@ -2818,8 +2890,10 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2822,8 +2894,10 @@ int spi_nor_scan(struct spi_nor *nor, co } else if (mtd->size > 0x1000000) { /* enable 4-byte addressing if the device exceeds 16MiB */ nor->addr_width = 4; diff --git a/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch b/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch index b6266a8ef3..9ea2a11354 100644 --- a/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch +++ b/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch @@ -33,7 +33,7 @@ /* * Write status register 1 byte * Returns negative if error occurred. -@@ -2890,9 +2899,16 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2894,9 +2903,16 @@ int spi_nor_scan(struct spi_nor *nor, co } else if (mtd->size > 0x1000000) { /* enable 4-byte addressing if the device exceeds 16MiB */ nor->addr_width = 4; diff --git a/target/linux/ramips/patches-4.14/304-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch b/target/linux/ramips/patches-4.14/304-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch index c8febaf73f..831350546d 100644 --- a/target/linux/ramips/patches-4.14/304-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch +++ b/target/linux/ramips/patches-4.14/304-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch @@ -18,7 +18,7 @@ For reference see: { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, -@@ -1267,11 +1268,12 @@ static const struct flash_info spi_nor_i +@@ -1271,11 +1272,12 @@ static const struct flash_info spi_nor_i { }, }; @@ -33,7 +33,7 @@ For reference see: tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); if (tmp < 0) { -@@ -1282,10 +1284,16 @@ static const struct flash_info *spi_nor_ +@@ -1286,10 +1288,16 @@ static const struct flash_info *spi_nor_ for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { info = &spi_nor_ids[tmp]; if (info->id_len) { @@ -52,7 +52,7 @@ For reference see: dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); return ERR_PTR(-ENODEV); -@@ -2765,7 +2773,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2769,7 +2777,7 @@ int spi_nor_scan(struct spi_nor *nor, co info = spi_nor_match_id(name); /* Try to auto-detect if chip name wasn't specified or not found */ if (!info) @@ -61,7 +61,7 @@ For reference see: if (IS_ERR_OR_NULL(info)) return -ENOENT; -@@ -2776,7 +2784,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2780,7 +2788,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (name && info->id_len) { const struct flash_info *jinfo; diff --git a/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch b/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch index af4a921583..23c3ec27ed 100644 --- a/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch +++ b/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch @@ -155,7 +155,7 @@ Signed-off-by: Maxime Ripard pinctrl-0 = <&mmc2_pins>; --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -449,6 +449,26 @@ +@@ -450,6 +450,26 @@ #size-cells = <0>; }; diff --git a/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch b/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch index 40efc9f3e8..ee4731d0dc 100644 --- a/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch +++ b/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -464,6 +464,7 @@ +@@ -465,6 +465,7 @@ #size-cells = <0>; mdio: mdio { diff --git a/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch b/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch index 0503b88823..90c72f9508 100644 --- a/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch +++ b/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch @@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard Example: --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -537,5 +537,12 @@ +@@ -538,5 +538,12 @@ #address-cells = <1>; #size-cells = <0>; }; diff --git a/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch b/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch index 5374547e92..1e40f99d04 100644 --- a/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch +++ b/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch @@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -325,6 +325,16 @@ +@@ -326,6 +326,16 @@ drive-strength = <40>; }; @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard uart0_pins_a: uart0@0 { pins = "PB8", "PB9"; function = "uart0"; -@@ -470,6 +480,37 @@ +@@ -471,6 +481,37 @@ }; }; From 20b5a4ca01ca7b7c98dceb204e8b7b0a32f40cc9 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Tue, 4 Feb 2020 13:17:37 +0100 Subject: [PATCH 25/47] kernel: bump 4.19 to 4.19.101 Refreshed all patches. Fixes: - CVE-2019-14896 - CVE-2019-14897 Remove upstreamed: - 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch - 950-0202-staging-bcm2835-camera-fix-module-autoloading.patch - 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- ...-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch | 39 ---- .../910-unaligned_access_hacks.patch | 2 +- ...ct-JEDEC-incompatible-w25q128-using-.patch | 2 +- ...8xx-Enable-LEDs-and-auto-negotiation.patch | 6 +- ...BCM2708-Add-core-Device-Tree-support.patch | 11 - ...78xx-Read-initial-EEE-status-from-DT.patch | 2 +- ...Disable-TCP-Segmentation-Offload-TSO.patch | 4 +- ...e-enabling-of-EEE-into-PHY-init-code.patch | 4 +- ...cm2835-camera-fix-module-autoloading.patch | 24 --- ...5-camera-Move-module-info-to-the-end.patch | 2 +- ...camera-Provide-more-specific-probe-e.patch | 10 +- ...Don-t-probe-if-no-camera-is-detected.patch | 41 ---- ...e-link-events-to-minimize-poll-storm.patch | 4 +- ...xx-EEE-support-is-now-a-PHY-property.patch | 2 +- ...use-default-alignment-for-rx-buffers.patch | 2 +- ...ce-quirks-for-Freeway-Airmouse-T3-an.patch | 4 +- ...cpi-scmi-Fix-freeing-of-dynamic-OPPs.patch | 8 +- .../209-b44-register-adm-switch.patch | 6 +- .../patches-4.19/210-b44_phy_fix.patch | 2 +- .../patches-4.19/831-old_gpio_wdt.patch | 2 +- ...p-unused-and-broken-DSP-platform-dev.patch | 203 ------------------ ...ow_offload-handle-netdevice-events-f.patch | 4 +- ...-helper-for-MACs-which-support-asym-.patch | 2 +- ...-helper-for-set_pauseparam-for-Asym-.patch | 2 +- ...t-phy-Stop-with-excessive-soft-reset.patch | 2 +- ...-net-phy-add-core-phylib-sfp-support.patch | 6 +- ...-matching-all-ones-clause-45-PHY-IDs.patch | 4 +- .../661-use_fq_codel_by_default.patch | 4 +- .../702-phy_add_aneg_done_function.patch | 2 +- .../pending-4.19/630-packet_socket_type.patch | 16 +- ...w_table-add-hardware-offload-support.patch | 14 +- ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 14 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 10 +- ...detach-callback-to-struct-phy_driver.patch | 2 +- ...or-enable-4B-opcodes-for-mx25l25635f.patch | 8 +- ...rt-adjusting-OPP-voltages-at-runtime.patch | 2 +- ...e-voltage-tolerance-when-adjusting-t.patch | 4 +- .../0002-eth-fix-dsa-support.patch | 11 +- .../0228-arm-dts-bpir2-fix-console.patch | 5 +- 40 files changed, 88 insertions(+), 408 deletions(-) delete mode 100644 target/linux/apm821xx/patches-4.19/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch delete mode 100644 target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch delete mode 100644 target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch delete mode 100644 target/linux/brcm63xx/patches-4.19/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 6c67b04fb3..30b8ab7df9 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-4.14 = .169 -LINUX_VERSION-4.19 = .98 +LINUX_VERSION-4.19 = .101 LINUX_KERNEL_HASH-4.14.169 = d88ea97993c56b1fa0b0a05061bcde476c6be4fc3bb2de8bd97a8f8ff7278249 -LINUX_KERNEL_HASH-4.19.98 = 91feb13bc22d60d69596ab1d01dfecbec13ef70f00c89a483e0733af94dd2937 +LINUX_KERNEL_HASH-4.19.101 = be26156abdb38ac0576a34a235ef456bb8ca67fbbe56fc6649b8d069159f8bc4 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/apm821xx/patches-4.19/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch b/target/linux/apm821xx/patches-4.19/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch deleted file mode 100644 index d2c3848820..0000000000 --- a/target/linux/apm821xx/patches-4.19/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e88098ca43a3d80ae86908f7badba683c8a0d84 Mon Sep 17 00:00:00 2001 -From: Corentin Labbe -Date: Wed, 23 Jan 2019 11:24:18 +0000 -Subject: [PATCH 07/15] crypto: crypto4xx - Fix wrong - ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments - -When building without CONFIG_HW_RANDOM_PPC4XX, I hit the following build failure: -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_probe': -drivers/crypto/amcc/crypto4xx_core.c:1407:20: error: passing argument 1 of 'ppc4xx_trng_probe' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:28:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_remove': -drivers/crypto/amcc/crypto4xx_core.c:1434:21: error: passing argument 1 of 'ppc4xx_trng_remove' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:30:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' - -This patch fix the needed argument of ppc4xx_trng_probe()/ppc4xx_trng_remove() in that case. - -Fixes: 5343e674f32f ("crypto4xx: integrate ppc4xx-rng into crypto4xx") -Signed-off-by: Corentin Labbe -Signed-off-by: Herbert Xu ---- - drivers/crypto/amcc/crypto4xx_trng.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/crypto/amcc/crypto4xx_trng.h -+++ b/drivers/crypto/amcc/crypto4xx_trng.h -@@ -26,9 +26,9 @@ void ppc4xx_trng_probe(struct crypto4xx_ - void ppc4xx_trng_remove(struct crypto4xx_core_device *core_dev); - #else - static inline void ppc4xx_trng_probe( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - static inline void ppc4xx_trng_remove( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - #endif - - #endif diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch index 6f36dc683c..92396c13e8 100644 --- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch @@ -728,7 +728,7 @@ EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3895,14 +3895,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -3896,14 +3896,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch b/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch index a0d40b0f0b..21687e7a35 100644 --- a/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch +++ b/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch @@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1297,6 +1297,18 @@ static const struct flash_info *spi_nor_ +@@ -1301,6 +1301,18 @@ static const struct flash_info *spi_nor_ } dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); diff --git a/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch index e635ca6d31..4f7bde1885 100644 --- a/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch +++ b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2476,6 +2476,11 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2477,6 +2477,11 @@ static int lan78xx_reset(struct lan78xx_ int ret = 0; unsigned long timeout; u8 sig; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_LRST_; -@@ -2529,6 +2534,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2530,6 +2535,9 @@ static int lan78xx_reset(struct lan78xx_ ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_MEF_; @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_write_reg(dev, HW_CFG, buf); ret = lan78xx_read_reg(dev, USB_CFG0, &buf); -@@ -2584,6 +2592,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2585,6 +2593,9 @@ static int lan78xx_reset(struct lan78xx_ buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } diff --git a/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch index 72b9cfc131..a2f937d893 100644 --- a/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch @@ -2119,17 +2119,6 @@ Signed-off-by: Phil Elwell + <&cpu3>, "clock-frequency:0"; + }; +}; ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -32,7 +32,7 @@ - - mailbox@7e00b840 { - compatible = "brcm,bcm2835-vchiq"; -- reg = <0x7e00b840 0xf>; -+ reg = <0x7e00b840 0x3c>; - interrupts = <0 2>; - }; - }; --- a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi @@ -21,7 +21,24 @@ diff --git a/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch index 01dc3554ff..b5e688c3bf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2658,6 +2658,22 @@ static int lan78xx_open(struct net_devic +@@ -2659,6 +2659,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index 28515c9d09..bd9987d8ad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -439,6 +439,15 @@ static int msg_level = -1; +@@ -440,6 +440,15 @@ static int msg_level = -1; module_param(msg_level, int, 0); MODULE_PARM_DESC(msg_level, "Override default message level"); @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3009,8 +3018,14 @@ static int lan78xx_bind(struct lan78xx_n +@@ -3010,8 +3019,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; diff --git a/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index 9b5e492c9b..2b1a3c1ab7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2190,6 +2190,22 @@ static int lan78xx_phy_init(struct lan78 +@@ -2191,6 +2191,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -2667,22 +2683,6 @@ static int lan78xx_open(struct net_devic +@@ -2668,22 +2684,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch b/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch deleted file mode 100644 index 161949da18..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8b6e9f2a951b38becf5b8a1e99ba1993f7751aac Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Sat, 20 Oct 2018 19:26:18 +0200 -Subject: [PATCH] staging: bcm2835-camera: fix module autoloading - -In order to make the module bcm2835-camera load automatically, we need to -add a module alias. - -Fixes: 4bebb0312ea9 ("staging/bcm2835-camera: Set ourselves up as a platform driver.") -Signed-off-by: Stefan Wahren ---- - drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -47,6 +47,7 @@ MODULE_DESCRIPTION("Broadcom 2835 MMAL v - MODULE_AUTHOR("Vincent Sanders"); - MODULE_LICENSE("GPL"); - MODULE_VERSION(BM2835_MMAL_VERSION); -+MODULE_ALIAS("platform:bcm2835-camera"); - - int bcm2835_v4l2_debug; - module_param_named(debug, bcm2835_v4l2_debug, int, 0644); diff --git a/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch index 19c59f6077..f97a88ba65 100644 --- a/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch +++ b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch @@ -26,7 +26,7 @@ Signed-off-by: Stefan Wahren int bcm2835_v4l2_debug; module_param_named(debug, bcm2835_v4l2_debug, int, 0644); MODULE_PARM_DESC(bcm2835_v4l2_debug, "Debug level 0-2"); -@@ -1980,3 +1974,9 @@ static struct platform_driver bcm2835_ca +@@ -1989,3 +1983,9 @@ static struct platform_driver bcm2835_ca }; module_platform_driver(bcm2835_camera_driver) diff --git a/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch index a568366855..e7566d182d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch +++ b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch @@ -98,7 +98,7 @@ Signed-off-by: Stefan Wahren return 0; -@@ -1880,21 +1891,29 @@ static int bcm2835_mmal_probe(struct pla +@@ -1886,21 +1897,29 @@ static int bcm2835_mmal_probe(struct pla snprintf(dev->v4l2_dev.name, sizeof(dev->v4l2_dev.name), "%s", BM2835_MMAL_MODULE_NAME); ret = v4l2_device_register(NULL, &dev->v4l2_dev); @@ -132,7 +132,7 @@ Signed-off-by: Stefan Wahren /* initialize queue */ q = &dev->capture.vb_vidq; memset(q, 0, sizeof(*q)); -@@ -1912,16 +1931,19 @@ static int bcm2835_mmal_probe(struct pla +@@ -1918,16 +1937,19 @@ static int bcm2835_mmal_probe(struct pla /* initialise video devices */ ret = bm2835_mmal_init_device(dev, &dev->vdev); @@ -155,12 +155,12 @@ Signed-off-by: Stefan Wahren goto unreg_dev; } -@@ -1945,8 +1967,6 @@ cleanup_gdev: +@@ -1951,8 +1973,6 @@ cleanup_gdev: bcm2835_cleanup_instance(gdev[i]); gdev[i] = NULL; } - pr_info("%s: error %d while loading driver\n", - BM2835_MMAL_MODULE_NAME, ret); - return ret; - } + cleanup_mmal: + vchiq_mmal_finalise(instance); diff --git a/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch b/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch deleted file mode 100644 index 96236f36d5..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b0ebcf556b543b0b509ad071584ca6b41076a2da Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Mon, 22 Oct 2018 11:09:18 +0200 -Subject: [PATCH] staging: bcm2835: Don't probe if no camera is - detected - -It is a waste of resources to load the camera driver in case there isn't -a camera actually connected to the Raspberry Pi. This solution also -avoids a NULL ptr dereference of mmal instance on driver unload. - -Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.") -Signed-off-by: Stefan Wahren ---- - .../vc04_services/bcm2835-camera/bcm2835-camera.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -1860,6 +1860,12 @@ static int bcm2835_mmal_probe(struct pla - num_cameras = get_num_cameras(instance, - resolutions, - MAX_BCM2835_CAMERAS); -+ -+ if (num_cameras < 1) { -+ ret = -ENODEV; -+ goto cleanup_mmal; -+ } -+ - if (num_cameras > MAX_BCM2835_CAMERAS) - num_cameras = MAX_BCM2835_CAMERAS; - -@@ -1968,6 +1974,9 @@ cleanup_gdev: - gdev[i] = NULL; - } - -+cleanup_mmal: -+ vchiq_mmal_finalise(instance); -+ - return ret; - } - diff --git a/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index 98e97706b0..395934dd49 100644 --- a/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -16,7 +16,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -448,6 +448,11 @@ static bool enable_tso; +@@ -449,6 +449,11 @@ static bool enable_tso; module_param(enable_tso, bool, 0644); MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload"); @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3823,7 +3828,12 @@ static int lan78xx_probe(struct usb_inte +@@ -3838,7 +3843,12 @@ static int lan78xx_probe(struct usb_inte dev->pipe_intr = usb_rcvintpipe(dev->udev, dev->ep_intr->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); diff --git a/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch index d147ce9eec..b37640dbed 100644 --- a/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2195,7 +2195,7 @@ static int lan78xx_phy_init(struct lan78 +@@ -2196,7 +2196,7 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); diff --git a/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch index c5eca2e076..6b93888db9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch @@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing. --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3256,7 +3256,7 @@ static int rx_submit(struct lan78xx_net +@@ -3257,7 +3257,7 @@ static int rx_submit(struct lan78xx_net size_t size = dev->rx_urb_size; int ret = 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 3320097b10..c0a7af1ee7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1193,6 +1196,9 @@ +@@ -1196,6 +1199,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -58,6 +58,6 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_XENTA, USB_DEVICE_ID_AIRMOUSE_MX3), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { 0 } - }; diff --git a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch index 45c0594c53..acdb00fd48 100644 --- a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch @@ -78,7 +78,7 @@ Signed-off-by: Rafael J. Wysocki } --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -881,11 +881,9 @@ void _opp_free(struct dev_pm_opp *opp) +@@ -884,11 +884,9 @@ void _opp_free(struct dev_pm_opp *opp) kfree(opp); } @@ -92,7 +92,7 @@ Signed-off-by: Rafael J. Wysocki /* * Notify the changes in the availability of the operable * frequency/voltage list. -@@ -894,7 +892,22 @@ static void _opp_kref_release(struct kre +@@ -897,7 +895,22 @@ static void _opp_kref_release(struct kre opp_debug_remove_one(opp); list_del(&opp->node); kfree(opp); @@ -115,7 +115,7 @@ Signed-off-by: Rafael J. Wysocki mutex_unlock(&opp_table->lock); dev_pm_opp_put_opp_table(opp_table); } -@@ -906,10 +919,16 @@ void dev_pm_opp_get(struct dev_pm_opp *o +@@ -909,10 +922,16 @@ void dev_pm_opp_get(struct dev_pm_opp *o void dev_pm_opp_put(struct dev_pm_opp *opp) { @@ -133,7 +133,7 @@ Signed-off-by: Rafael J. Wysocki /** * dev_pm_opp_remove() - Remove an OPP from OPP table * @dev: device for which we do this operation -@@ -949,6 +968,40 @@ void dev_pm_opp_remove(struct device *de +@@ -952,6 +971,40 @@ void dev_pm_opp_remove(struct device *de } EXPORT_SYMBOL_GPL(dev_pm_opp_remove); diff --git a/target/linux/brcm47xx/patches-4.19/209-b44-register-adm-switch.patch b/target/linux/brcm47xx/patches-4.19/209-b44-register-adm-switch.patch index 3706591b00..bc2d2ab90a 100644 --- a/target/linux/brcm47xx/patches-4.19/209-b44-register-adm-switch.patch +++ b/target/linux/brcm47xx/patches-4.19/209-b44-register-adm-switch.patch @@ -19,7 +19,7 @@ Subject: [PATCH 210/210] b44: register adm switch #include #include -@@ -2246,6 +2248,69 @@ static void b44_adjust_link(struct net_d +@@ -2249,6 +2251,69 @@ static void b44_adjust_link(struct net_d } } @@ -89,7 +89,7 @@ Subject: [PATCH 210/210] b44: register adm switch static int b44_register_phy_one(struct b44 *bp) { struct mii_bus *mii_bus; -@@ -2281,6 +2346,9 @@ static int b44_register_phy_one(struct b +@@ -2284,6 +2349,9 @@ static int b44_register_phy_one(struct b if (!mdiobus_is_registered_device(bp->mii_bus, bp->phy_addr) && (sprom->boardflags_lo & (B44_BOARDFLAG_ROBO | B44_BOARDFLAG_ADM))) { @@ -99,7 +99,7 @@ Subject: [PATCH 210/210] b44: register adm switch dev_info(sdev->dev, "could not find PHY at %i, use fixed one\n", bp->phy_addr); -@@ -2475,6 +2543,7 @@ static void b44_remove_one(struct ssb_de +@@ -2478,6 +2546,7 @@ static void b44_remove_one(struct ssb_de unregister_netdev(dev); if (bp->flags & B44_FLAG_EXTERNAL_PHY) b44_unregister_phy_one(bp); diff --git a/target/linux/brcm47xx/patches-4.19/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-4.19/210-b44_phy_fix.patch index 51e4b8c5ae..8c7a73ac0f 100644 --- a/target/linux/brcm47xx/patches-4.19/210-b44_phy_fix.patch +++ b/target/linux/brcm47xx/patches-4.19/210-b44_phy_fix.patch @@ -43,7 +43,7 @@ if (bp->flags & B44_FLAG_EXTERNAL_PHY) return 0; -@@ -2176,6 +2201,8 @@ static int b44_get_invariants(struct b44 +@@ -2179,6 +2204,8 @@ static int b44_get_invariants(struct b44 * valid PHY address. */ bp->phy_addr &= 0x1F; diff --git a/target/linux/brcm47xx/patches-4.19/831-old_gpio_wdt.patch b/target/linux/brcm47xx/patches-4.19/831-old_gpio_wdt.patch index 753124f37e..5c2c21ddb0 100644 --- a/target/linux/brcm47xx/patches-4.19/831-old_gpio_wdt.patch +++ b/target/linux/brcm47xx/patches-4.19/831-old_gpio_wdt.patch @@ -4,7 +4,7 @@ Signed-off-by: Mathias Adam --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -1497,6 +1497,15 @@ config WDT_MTX1 +@@ -1498,6 +1498,15 @@ config WDT_MTX1 Hardware driver for the MTX-1 boards. This is a watchdog timer that will reboot the machine after a 100 seconds timer expired. diff --git a/target/linux/brcm63xx/patches-4.19/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch b/target/linux/brcm63xx/patches-4.19/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch deleted file mode 100644 index ac03e643b3..0000000000 --- a/target/linux/brcm63xx/patches-4.19/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Tue, 18 Dec 2018 10:19:02 +0100 -Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device - -Trying to register the DSP platform device results in a null pointer -access: - -[ 0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20 -[ 0.135208] Oops[#1]: -[ 0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87 -... -[ 0.197117] epc : 804e305c bcm63xx_dsp_register+0x80/0xa4 -[ 0.202838] ra : 804e6f20 board_register_devices+0x258/0x390 -... - -This happens because it tries to copy the passed platform data over the -platform_device's unpopulated platform_data. - -Since this code has been broken since its submission, no driver was ever -submitted for it, and apparently nobody was using it, just remove it -instead of trying to fix it. - -Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.") -Signed-off-by: Jonas Gorski ---- - arch/mips/bcm63xx/Makefile | 6 +-- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 -------- - arch/mips/bcm63xx/dev-dsp.c | 56 ---------------------- - .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 ------ - .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 -- - 5 files changed, 3 insertions(+), 98 deletions(-) - delete mode 100644 arch/mips/bcm63xx/dev-dsp.c - delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h - ---- a/arch/mips/bcm63xx/Makefile -+++ b/arch/mips/bcm63xx/Makefile -@@ -1,8 +1,8 @@ - # SPDX-License-Identifier: GPL-2.0 - obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \ -- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \ -- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \ -- dev-wdt.o dev-usb-usbd.o -+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \ -+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \ -+ dev-usb-usbd.o - obj-$(CONFIG_EARLY_PRINTK) += early_printk.o - - obj-y += boards/ ---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c -+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -23,7 +23,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -289,14 +288,6 @@ static struct board_info __initdata boar - .has_pccard = 1, - .has_ehci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .cs = 2, -- .ext_irq = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -401,14 +392,6 @@ static struct board_info __initdata boar - - .has_ohci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .ext_irq = 2, -- .cs = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -898,9 +881,6 @@ int __init board_register_devices(void) - if (board.has_usbd) - bcm63xx_usbd_register(&board.usbd); - -- if (board.has_dsp) -- bcm63xx_dsp_register(&board.dsp); -- - /* Generate MAC address for WLAN and register our SPROM, - * do this after registering enet devices - */ ---- a/arch/mips/bcm63xx/dev-dsp.c -+++ /dev/null -@@ -1,56 +0,0 @@ --/* -- * Broadcom BCM63xx VoIP DSP registration -- * -- * This file is subject to the terms and conditions of the GNU General Public -- * License. See the file "COPYING" in the main directory of this archive -- * for more details. -- * -- * Copyright (C) 2009 Florian Fainelli -- */ -- --#include --#include --#include -- --#include --#include --#include --#include -- --static struct resource voip_dsp_resources[] = { -- { -- .start = -1, /* filled at runtime */ -- .end = -1, /* filled at runtime */ -- .flags = IORESOURCE_MEM, -- }, -- { -- .start = -1, /* filled at runtime */ -- .flags = IORESOURCE_IRQ, -- }, --}; -- --static struct platform_device bcm63xx_voip_dsp_device = { -- .name = "bcm63xx-voip-dsp", -- .id = -1, -- .num_resources = ARRAY_SIZE(voip_dsp_resources), -- .resource = voip_dsp_resources, --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd) --{ -- struct bcm63xx_dsp_platform_data *dpd; -- u32 val; -- -- /* Get the memory window */ -- val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1)); -- val &= MPI_CSBASE_BASE_MASK; -- voip_dsp_resources[0].start = val; -- voip_dsp_resources[0].end = val + 0xFFFFFFF; -- voip_dsp_resources[1].start = pd->ext_irq; -- -- /* copy given platform data */ -- dpd = bcm63xx_voip_dsp_device.dev.platform_data; -- memcpy(dpd, pd, sizeof (*pd)); -- -- return platform_device_register(&bcm63xx_voip_dsp_device); --} ---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h -+++ /dev/null -@@ -1,14 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 */ --#ifndef __BCM63XX_DSP_H --#define __BCM63XX_DSP_H -- --struct bcm63xx_dsp_platform_data { -- unsigned gpio_rst; -- unsigned gpio_int; -- unsigned cs; -- unsigned ext_irq; --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd); -- --#endif /* __BCM63XX_DSP_H */ ---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -7,7 +7,6 @@ - #include - #include - #include --#include - - /* - * flash mapping -@@ -31,7 +30,6 @@ struct board_info { - unsigned int has_ohci0:1; - unsigned int has_ehci0:1; - unsigned int has_usbd:1; -- unsigned int has_dsp:1; - unsigned int has_uart0:1; - unsigned int has_uart1:1; - -@@ -43,9 +41,6 @@ struct board_info { - /* USB config */ - struct bcm63xx_usbd_platform_data usbd; - -- /* DSP config */ -- struct bcm63xx_dsp_platform_data dsp; -- - /* GPIO LEDs */ - struct gpio_led leds[5]; - diff --git a/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch b/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch index 55d0f40f45..577f2d3df6 100644 --- a/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch +++ b/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch @@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c -@@ -532,5 +532,35 @@ void nf_flow_table_free(struct nf_flowta +@@ -535,5 +535,35 @@ void nf_flow_table_free(struct nf_flowta } EXPORT_SYMBOL_GPL(nf_flow_table_free); @@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso MODULE_AUTHOR("Pablo Neira Ayuso "); --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -217,47 +217,14 @@ static struct nft_expr_type nft_flow_off +@@ -216,47 +216,14 @@ static struct nft_expr_type nft_flow_off .owner = THIS_MODULE, }; diff --git a/target/linux/generic/backport-4.19/702-v4.20-net-ethernet-Add-helper-for-MACs-which-support-asym-.patch b/target/linux/generic/backport-4.19/702-v4.20-net-ethernet-Add-helper-for-MACs-which-support-asym-.patch index ee6e6a6dac..3ada51636b 100644 --- a/target/linux/generic/backport-4.19/702-v4.20-net-ethernet-Add-helper-for-MACs-which-support-asym-.patch +++ b/target/linux/generic/backport-4.19/702-v4.20-net-ethernet-Add-helper-for-MACs-which-support-asym-.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1776,6 +1776,19 @@ int phy_set_max_speed(struct phy_device +@@ -1777,6 +1777,19 @@ int phy_set_max_speed(struct phy_device } EXPORT_SYMBOL(phy_set_max_speed); diff --git a/target/linux/generic/backport-4.19/703-v4.20-net-ethernet-Add-helper-for-set_pauseparam-for-Asym-.patch b/target/linux/generic/backport-4.19/703-v4.20-net-ethernet-Add-helper-for-set_pauseparam-for-Asym-.patch index 8d68fbfe0f..4ad3bf698a 100644 --- a/target/linux/generic/backport-4.19/703-v4.20-net-ethernet-Add-helper-for-set_pauseparam-for-Asym-.patch +++ b/target/linux/generic/backport-4.19/703-v4.20-net-ethernet-Add-helper-for-set_pauseparam-for-Asym-.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1789,6 +1789,36 @@ void phy_support_asym_pause(struct phy_d +@@ -1790,6 +1790,36 @@ void phy_support_asym_pause(struct phy_d } EXPORT_SYMBOL(phy_support_asym_pause); diff --git a/target/linux/generic/backport-4.19/704-v4.20-net-phy-Stop-with-excessive-soft-reset.patch b/target/linux/generic/backport-4.19/704-v4.20-net-phy-Stop-with-excessive-soft-reset.patch index 77ad5b96dd..00ef6b7a1d 100644 --- a/target/linux/generic/backport-4.19/704-v4.20-net-phy-Stop-with-excessive-soft-reset.patch +++ b/target/linux/generic/backport-4.19/704-v4.20-net-phy-Stop-with-excessive-soft-reset.patch @@ -29,7 +29,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -885,8 +885,6 @@ int phy_init_hw(struct phy_device *phyde +@@ -886,8 +886,6 @@ int phy_init_hw(struct phy_device *phyde if (phydev->drv->soft_reset) ret = phydev->drv->soft_reset(phydev); diff --git a/target/linux/generic/backport-4.19/737-v5.5-net-phy-add-core-phylib-sfp-support.patch b/target/linux/generic/backport-4.19/737-v5.5-net-phy-add-core-phylib-sfp-support.patch index 8dcad2fa58..9b34d40a0f 100644 --- a/target/linux/generic/backport-4.19/737-v5.5-net-phy-add-core-phylib-sfp-support.patch +++ b/target/linux/generic/backport-4.19/737-v5.5-net-phy-add-core-phylib-sfp-support.patch @@ -54,7 +54,7 @@ Signed-off-by: Russell King #include #include #include -@@ -943,6 +944,65 @@ void phy_attached_print(struct phy_devic +@@ -944,6 +945,65 @@ void phy_attached_print(struct phy_devic EXPORT_SYMBOL(phy_attached_print); /** @@ -120,7 +120,7 @@ Signed-off-by: Russell King * phy_attach_direct - attach a network device to a given PHY device pointer * @dev: network device to attach * @phydev: Pointer to phy_device to attach -@@ -1015,6 +1075,9 @@ int phy_attach_direct(struct net_device +@@ -1016,6 +1076,9 @@ int phy_attach_direct(struct net_device phydev->attached_dev = dev; dev->phydev = phydev; @@ -130,7 +130,7 @@ Signed-off-by: Russell King /* Some Ethernet drivers try to connect to a PHY device before * calling register_netdevice() -> netdev_register_kobject() and * does the dev->dev.kobj initialization. Here we only check for -@@ -1949,6 +2012,9 @@ static int phy_remove(struct device *dev +@@ -1950,6 +2013,9 @@ static int phy_remove(struct device *dev phydev->state = PHY_DOWN; mutex_unlock(&phydev->lock); diff --git a/target/linux/generic/backport-4.19/740-v5.5-net-phy-avoid-matching-all-ones-clause-45-PHY-IDs.patch b/target/linux/generic/backport-4.19/740-v5.5-net-phy-avoid-matching-all-ones-clause-45-PHY-IDs.patch index d6c0120197..81f161e9b1 100644 --- a/target/linux/generic/backport-4.19/740-v5.5-net-phy-avoid-matching-all-ones-clause-45-PHY-IDs.patch +++ b/target/linux/generic/backport-4.19/740-v5.5-net-phy-avoid-matching-all-ones-clause-45-PHY-IDs.patch @@ -37,7 +37,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -334,7 +334,7 @@ static int phy_bus_match(struct device * +@@ -335,7 +335,7 @@ static int phy_bus_match(struct device * if (phydev->is_c45) { for (i = 1; i < num_ids; i++) { @@ -46,7 +46,7 @@ Signed-off-by: Russell King continue; if ((phydrv->phy_id & phydrv->phy_id_mask) == -@@ -622,10 +622,13 @@ static int get_phy_id(struct mii_bus *bu +@@ -623,10 +623,13 @@ static int get_phy_id(struct mii_bus *bu */ struct phy_device *get_phy_device(struct mii_bus *bus, int addr, bool is_c45) { diff --git a/target/linux/generic/hack-4.19/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-4.19/661-use_fq_codel_by_default.patch index 71a26dba4a..2778377de7 100644 --- a/target/linux/generic/hack-4.19/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-4.19/661-use_fq_codel_by_default.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h -@@ -486,12 +486,13 @@ extern struct Qdisc_ops noop_qdisc_ops; +@@ -487,12 +487,13 @@ extern struct Qdisc_ops noop_qdisc_ops; extern struct Qdisc_ops pfifo_fast_ops; extern struct Qdisc_ops mq_qdisc_ops; extern struct Qdisc_ops noqueue_qdisc_ops; @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau device, it has to decide which ones to send first, which ones to --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c -@@ -2160,7 +2160,7 @@ static int __init pktsched_init(void) +@@ -2162,7 +2162,7 @@ static int __init pktsched_init(void) return err; } diff --git a/target/linux/generic/hack-4.19/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-4.19/702-phy_add_aneg_done_function.patch index 22e87632fd..a0e6484be8 100644 --- a/target/linux/generic/hack-4.19/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-4.19/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1576,6 +1576,9 @@ int genphy_update_link(struct phy_device +@@ -1577,6 +1577,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/pending-4.19/630-packet_socket_type.patch b/target/linux/generic/pending-4.19/630-packet_socket_type.patch index 7c4ab32fa2..25f44b466a 100644 --- a/target/linux/generic/pending-4.19/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.19/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1790,6 +1790,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1796,6 +1796,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1797,6 +1798,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1803,6 +1804,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1809,7 +1811,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1815,7 +1817,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2037,12 +2039,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2043,12 +2045,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2168,12 +2170,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2174,12 +2176,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3259,6 +3261,7 @@ static int packet_create(struct net *net +@@ -3265,6 +3267,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3870,6 +3873,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3885,6 +3888,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3922,6 +3935,13 @@ static int packet_getsockopt(struct sock +@@ -3937,6 +3950,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index a4996efbc8..f0946e8dd2 100644 --- a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -237,7 +237,7 @@ Signed-off-by: Pablo Neira Ayuso INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); err = rhashtable_init(&flowtable->rhashtable, -@@ -535,6 +580,8 @@ static void nf_flow_table_iterate_cleanu +@@ -538,6 +583,8 @@ static void nf_flow_table_iterate_cleanu { nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev); flush_delayed_work(&flowtable->gc_work); @@ -246,7 +246,7 @@ Signed-off-by: Pablo Neira Ayuso } void nf_flow_table_cleanup(struct net *net, struct net_device *dev) -@@ -548,6 +595,26 @@ void nf_flow_table_cleanup(struct net *n +@@ -551,6 +598,26 @@ void nf_flow_table_cleanup(struct net *n } EXPORT_SYMBOL_GPL(nf_flow_table_cleanup); @@ -273,7 +273,7 @@ Signed-off-by: Pablo Neira Ayuso void nf_flow_table_free(struct nf_flowtable *flow_table) { mutex_lock(&flowtable_lock); -@@ -557,9 +624,58 @@ void nf_flow_table_free(struct nf_flowta +@@ -560,9 +627,58 @@ void nf_flow_table_free(struct nf_flowta nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL); WARN_ON(!nf_flow_offload_gc_step(flow_table)); rhashtable_destroy(&flow_table->rhashtable); @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5490,6 +5490,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5503,6 +5503,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5621,10 +5628,19 @@ static int nf_tables_newflowtable(struct +@@ -5634,10 +5641,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -5750,7 +5766,8 @@ static int nf_tables_fill_flowtable_info +@@ -5763,7 +5779,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), @@ -552,7 +552,7 @@ Signed-off-by: Pablo Neira Ayuso nest = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK); --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -127,6 +127,9 @@ static void nft_flow_offload_eval(const +@@ -126,6 +126,9 @@ static void nft_flow_offload_eval(const if (ret < 0) goto err_flow_add; diff --git a/target/linux/generic/pending-4.19/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.19/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index d5f4a4c969..8b7594e9cf 100644 --- a/target/linux/generic/pending-4.19/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.19/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -350,7 +350,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1926,6 +2088,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1924,6 +2086,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1963,6 +2134,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1961,6 +2132,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2078,6 +2289,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2076,6 +2287,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -426,7 +426,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2107,6 +2324,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2105,6 +2322,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2114,6 +2349,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2112,6 +2347,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -461,7 +461,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2123,9 +2361,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2121,9 +2359,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2165,6 +2421,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2163,6 +2419,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, diff --git a/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index ad7ccdb048..61cc4e830a 100644 --- a/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5483,6 +5483,9 @@ static enum gro_result dev_gro_receive(s +@@ -5454,6 +5454,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7141,6 +7144,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7112,6 +7115,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7191,6 +7236,7 @@ static int __netdev_upper_dev_link(struc +@@ -7162,6 +7207,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7283,6 +7329,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7254,6 +7300,7 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -7913,6 +7960,7 @@ int dev_set_mac_address(struct net_devic +@@ -7893,6 +7940,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-4.19/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.19/703-phy-add-detach-callback-to-struct-phy_driver.patch index dafd84759e..1c180b225b 100644 --- a/target/linux/generic/pending-4.19/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-4.19/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1200,6 +1200,9 @@ void phy_detach(struct phy_device *phyde +@@ -1201,6 +1201,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = dev->dev.parent->driver->owner; struct mii_bus *bus; diff --git a/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch b/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch index da9e578150..7cb6cca8df 100644 --- a/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch +++ b/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch @@ -8,7 +8,7 @@ { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, -@@ -1276,11 +1277,12 @@ static const struct flash_info spi_nor_i +@@ -1280,11 +1281,12 @@ static const struct flash_info spi_nor_i { }, }; @@ -23,7 +23,7 @@ tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); if (tmp < 0) { -@@ -1291,10 +1293,16 @@ static const struct flash_info *spi_nor_ +@@ -1295,10 +1297,16 @@ static const struct flash_info *spi_nor_ for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { info = &spi_nor_ids[tmp]; if (info->id_len) { @@ -42,7 +42,7 @@ dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); return ERR_PTR(-ENODEV); -@@ -2828,7 +2836,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2832,7 +2840,7 @@ int spi_nor_scan(struct spi_nor *nor, co info = spi_nor_match_id(name); /* Try to auto-detect if chip name wasn't specified or not found */ if (!info) @@ -51,7 +51,7 @@ if (IS_ERR_OR_NULL(info)) return -ENOENT; -@@ -2839,7 +2847,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2843,7 +2851,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (name && info->id_len) { const struct flash_info *jinfo; diff --git a/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch b/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch index bb82251bfd..c1cf02e747 100644 --- a/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch +++ b/target/linux/ipq806x/patches-4.19/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch @@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -1623,6 +1623,75 @@ put_table: +@@ -1629,6 +1629,75 @@ put_table: } /** diff --git a/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch b/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch index 8ba2369ddd..9f0b9ec6d3 100644 --- a/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch +++ b/target/linux/ipq806x/patches-4.19/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch @@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -1663,6 +1663,7 @@ int dev_pm_opp_adjust_voltage(struct dev +@@ -1669,6 +1669,7 @@ int dev_pm_opp_adjust_voltage(struct dev struct opp_table *opp_table; struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); int r = 0; @@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov /* Find the opp_table */ opp_table = _find_opp_table(dev); -@@ -1692,8 +1693,17 @@ int dev_pm_opp_adjust_voltage(struct dev +@@ -1698,8 +1699,17 @@ int dev_pm_opp_adjust_voltage(struct dev goto adjust_unlock; opp->supplies->u_volt = u_volt; diff --git a/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch b/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch index 873dbed817..6c90222517 100644 --- a/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch +++ b/target/linux/mediatek/patches-4.19/0002-eth-fix-dsa-support.patch @@ -1,7 +1,6 @@ -diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c ---- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:02.728620670 +0800 -+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:48.747289058 +0800 -@@ -999,11 +999,6 @@ +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +@@ -999,11 +999,6 @@ static int mtk_poll_rx(struct napi_struc if (!(trxd.rxd2 & RX_DMA_DONE)) break; @@ -13,7 +12,7 @@ diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/m mac = (trxd.rxd4 >> RX_DMA_FPORT_SHIFT) & RX_DMA_FPORT_MASK; /* From QDMA(5). This is a external interface case of HWNAT. -@@ -1017,7 +1012,7 @@ +@@ -1017,7 +1012,7 @@ static int mtk_poll_rx(struct napi_struc mac = 0; else mac--; @@ -22,7 +21,7 @@ diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/m if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || !eth->netdev[mac])) goto release_desc; -@@ -2030,10 +2025,6 @@ +@@ -2030,10 +2025,6 @@ static int mtk_hw_init(struct mtk_eth *e /* Disable RX VLan Offloading */ mtk_w32(eth, 0, MTK_CDMP_EG_CTRL); diff --git a/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch b/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch index 8a3d68a405..b7251177f2 100644 --- a/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch +++ b/target/linux/mediatek/patches-4.19/0228-arm-dts-bpir2-fix-console.patch @@ -1,6 +1,5 @@ -diff -urN a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts ---- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:43:47.273940258 +0800 -+++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts 2019-12-17 14:44:20.300945884 +0800 +--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts ++++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts @@ -19,6 +19,7 @@ chosen { From 6e315de0f422acf66c3505a4ed8c095a0f5d3424 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 6 Jan 2020 14:10:42 +0100 Subject: [PATCH 26/47] kernel: add support for GD25D05 SPI NOR This chip is used on newer RB912UAG-5HPnD r2 boards: Before: [ 0.642553] m25p80 spi0.0: unrecognized JEDEC id bytes: c8, 40, 10 [ 0.649381] NAND flash driver for the RouterBOARD 91x series After: [ 0.641714] m25p80 spi0.0: found gd25d05, expected m25p80 [ 0.649916] m25p80 spi0.0: gd25d05 (64 Kbytes) [ 0.655122] Creating 4 MTD partitions on "spi0.0": [ 0.660164] 0x000000000000-0x00000000c000 : "routerboot" [ 0.667782] 0x00000000c000-0x00000000d000 : "hard_config" [ 0.675073] 0x00000000d000-0x00000000e000 : "bios" [ 0.682613] 0x00000000e000-0x00000000f000 : "soft_config" [ 0.690304] NAND flash driver for the RouterBOARD 91x series Signed-off-by: Koen Vandeputte --- ...r-add-support-for-Gigadevice-GD25D05.patch | 29 +++++++++++++++++++ ...r-add-support-for-Gigadevice-GD25D05.patch | 29 +++++++++++++++++++ ...r-add-support-for-Gigadevice-GD25D05.patch | 29 +++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 target/linux/generic/pending-4.14/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch create mode 100644 target/linux/generic/pending-4.19/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch create mode 100644 target/linux/generic/pending-5.4/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch diff --git a/target/linux/generic/pending-4.14/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch b/target/linux/generic/pending-4.14/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch new file mode 100644 index 0000000000..5c71c9cf70 --- /dev/null +++ b/target/linux/generic/pending-4.14/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch @@ -0,0 +1,29 @@ +From d68b4aa22e8c625685bfad642dd7337948dc0ad1 Mon Sep 17 00:00:00 2001 +From: Koen Vandeputte +Date: Mon, 6 Jan 2020 13:07:56 +0100 +Subject: [PATCH] mtd: spi-nor: add support for Gigadevice GD25D05 + +Signed-off-by: Koen Vandeputte +--- + drivers/mtd/spi-nor/spi-nor.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c +index f4afe123e9dc..a34fa42d47a2 100644 +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -2346,6 +2346,11 @@ static const struct flash_info spi_nor_ids[] = { + { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SPI_NOR_NO_ERASE) }, + + /* GigaDevice */ ++ { ++ "gd25d05", INFO(0xc84010, 0, 64 * 1024, 1, ++ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | ++ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) ++ }, + { + "gd25q16", INFO(0xc84015, 0, 64 * 1024, 32, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | +-- +2.17.1 + diff --git a/target/linux/generic/pending-4.19/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch b/target/linux/generic/pending-4.19/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch new file mode 100644 index 0000000000..5c71c9cf70 --- /dev/null +++ b/target/linux/generic/pending-4.19/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch @@ -0,0 +1,29 @@ +From d68b4aa22e8c625685bfad642dd7337948dc0ad1 Mon Sep 17 00:00:00 2001 +From: Koen Vandeputte +Date: Mon, 6 Jan 2020 13:07:56 +0100 +Subject: [PATCH] mtd: spi-nor: add support for Gigadevice GD25D05 + +Signed-off-by: Koen Vandeputte +--- + drivers/mtd/spi-nor/spi-nor.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c +index f4afe123e9dc..a34fa42d47a2 100644 +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -2346,6 +2346,11 @@ static const struct flash_info spi_nor_ids[] = { + { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SPI_NOR_NO_ERASE) }, + + /* GigaDevice */ ++ { ++ "gd25d05", INFO(0xc84010, 0, 64 * 1024, 1, ++ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | ++ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) ++ }, + { + "gd25q16", INFO(0xc84015, 0, 64 * 1024, 32, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | +-- +2.17.1 + diff --git a/target/linux/generic/pending-5.4/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch b/target/linux/generic/pending-5.4/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch new file mode 100644 index 0000000000..5c71c9cf70 --- /dev/null +++ b/target/linux/generic/pending-5.4/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch @@ -0,0 +1,29 @@ +From d68b4aa22e8c625685bfad642dd7337948dc0ad1 Mon Sep 17 00:00:00 2001 +From: Koen Vandeputte +Date: Mon, 6 Jan 2020 13:07:56 +0100 +Subject: [PATCH] mtd: spi-nor: add support for Gigadevice GD25D05 + +Signed-off-by: Koen Vandeputte +--- + drivers/mtd/spi-nor/spi-nor.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c +index f4afe123e9dc..a34fa42d47a2 100644 +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -2346,6 +2346,11 @@ static const struct flash_info spi_nor_ids[] = { + { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SPI_NOR_NO_ERASE) }, + + /* GigaDevice */ ++ { ++ "gd25d05", INFO(0xc84010, 0, 64 * 1024, 1, ++ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | ++ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) ++ }, + { + "gd25q16", INFO(0xc84015, 0, 64 * 1024, 32, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | +-- +2.17.1 + From 953973c2991e8640549a55df7a0574a1abac8644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Tue, 4 Feb 2020 19:02:20 +0100 Subject: [PATCH 27/47] brcm2708-gpu-fw: update to latest firmware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- package/kernel/brcm2708-gpu-fw/Makefile | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/package/kernel/brcm2708-gpu-fw/Makefile b/package/kernel/brcm2708-gpu-fw/Makefile index fd2f7cb504..fa53f48333 100644 --- a/package/kernel/brcm2708-gpu-fw/Makefile +++ b/package/kernel/brcm2708-gpu-fw/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2012-2019 OpenWrt.org +# Copyright (C) 2012-2020 OpenWrt.org # Copyright (C) 2017 LEDE project # # This is free software, licensed under the GNU General Public License v2. @@ -9,8 +9,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=brcm2708-gpu-fw -PKG_VERSION:=2019-12-11 -PKG_RELEASE:=0c01dbefba45a08c47f8538d5a071a0fba6b7e83 +PKG_VERSION:=2020-01-30 +PKG_RELEASE:=63bdbe0ea609a69f5c0a2212d608ef3d9915a7ad PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/rpi-firmware-$(PKG_RELEASE) @@ -41,7 +41,7 @@ define Download/fixup_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup.dat - HASH:=85a54bf460aa3ff0d04ee54bc606bf3af39a2c5194e519ab278cf74ecf75f7a8 + HASH:=7ca06846314d7a0d0335cadd6081ea50578f450ed0ec98d284220cea1021199f endef $(eval $(call Download,fixup_dat)) @@ -49,7 +49,7 @@ define Download/fixup_cd_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup_cd.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup_cd.dat - HASH:=4d9ffff3719fff6b14f142cbb4b3f62df175e59be4ad382b0f39830dab18d760 + HASH:=fb8e8b196f9fd7bd16b00b8ed8a4d3231fb24c2910a4a10929b5f4f693ad69ef endef $(eval $(call Download,fixup_cd_dat)) @@ -57,7 +57,7 @@ define Download/fixup_x_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup_x.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup_x.dat - HASH:=81aae9581c120fbbf5020fa6b84b355ed342ead7185db0916cbce7a7849307eb + HASH:=65e0c34b5d17009d7a79f5d0ae81ced8b3649cc77258f29edb7e9b15d197634c endef $(eval $(call Download,fixup_x_dat)) @@ -65,7 +65,7 @@ define Download/fixup4_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup4.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup4.dat - HASH:=611ea1ec1384931c785687e78a50369aae3a0a29e37bed354862cf5fe6d23ade + HASH:=d040dff3e48d645e474ef9c108651e9d4d6708f75aa50799148a1917724e5d27 endef $(eval $(call Download,fixup4_dat)) @@ -73,7 +73,7 @@ define Download/fixup4cd_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup4cd.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup4cd.dat - HASH:=f82da018c2d9fe1ec54fcfe76514dbc3b9f27f53712bb5f5b90f0d38124370eb + HASH:=2a3366d0f7ea5c2d39da41f9a2c68aa84a14641dbf122dccc275e0d548296c0d endef $(eval $(call Download,fixup4cd_dat)) @@ -81,7 +81,7 @@ define Download/fixup4x_dat FILE:=$(RPI_FIRMWARE_FILE)-fixup4x.dat URL:=$(RPI_FIRMWARE_URL) URL_FILE:=fixup4x.dat - HASH:=36c1cdb7b5ff8c39c1c0cd962ea1095f79c5c290fc11813869cbb662240386d7 + HASH:=6c6e9fec9e769d1bff3cf6775b12a5f640fbd810c3a1427318509a929b854a5b endef $(eval $(call Download,fixup4x_dat)) @@ -89,7 +89,7 @@ define Download/start_elf FILE:=$(RPI_FIRMWARE_FILE)-start.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start.elf - HASH:=442919907e4b7d8f007b79df1aa1e12f98e09ab393da65b48cd2b2af04301b7d + HASH:=2cde27f015b244b35b2261fe468924298b4c3d0ea12b69f99cd0bd9d1fcadf9c endef $(eval $(call Download,start_elf)) @@ -97,7 +97,7 @@ define Download/start_cd_elf FILE:=$(RPI_FIRMWARE_FILE)-start_cd.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start_cd.elf - HASH:=0942b6ab8eec7e6116a3fc366cb0d4a94b5869c429292da600f92a37e361ec8d + HASH:=5151679b5128c3cedbeb2992d8c6f8f13ce919282f6a98e87af0fe13b2686142 endef $(eval $(call Download,start_cd_elf)) @@ -105,7 +105,7 @@ define Download/start_x_elf FILE:=$(RPI_FIRMWARE_FILE)-start_x.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start_x.elf - HASH:=e83dc1fbb5a9cb29e1db5f9ca0f9bd847f5b57a1e421cc79e39640a865456fe6 + HASH:=e4ee556a657adf5f5b1c006bfd7f7278e3cd76807adc3eb23f192f37759b674e endef $(eval $(call Download,start_x_elf)) @@ -113,7 +113,7 @@ define Download/start4_elf FILE:=$(RPI_FIRMWARE_FILE)-start4.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start4.elf - HASH:=550b55577075f4056a71b0faa2b1150290b2e8d61e5bc330a54452f28cc1b2d8 + HASH:=fc9a3b7a07bc901f677cc15420ac1c66d5b55bd1c697b07ee54ee5bbf92a7cc5 endef $(eval $(call Download,start4_elf)) @@ -121,7 +121,7 @@ define Download/start4cd_elf FILE:=$(RPI_FIRMWARE_FILE)-start4cd.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start4cd.elf - HASH:=1c8206a854fba486b7996aa3735aaca8aaeee7bf20fdbf190acdea4516794f1c + HASH:=b75ef404d1e222e84b64e7410e9c9633a643db196421c144ace51454a2a0f504 endef $(eval $(call Download,start4cd_elf)) @@ -129,7 +129,7 @@ define Download/start4x_elf FILE:=$(RPI_FIRMWARE_FILE)-start4x.elf URL:=$(RPI_FIRMWARE_URL) URL_FILE:=start4x.elf - HASH:=3ca2e259861fd31b77a536ccb33637e5305ec44b9e0c62e898e7e1d97e776f22 + HASH:=db639727412e80d1a7b0dfd9f8cb0b71318f8663ece7e6b20a3804526c6a330d endef $(eval $(call Download,start4x_elf)) From 84d555aa74434392b682fd9eb0fa701c89a046d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Tue, 4 Feb 2020 19:02:53 +0100 Subject: [PATCH 28/47] brcm2708: update to latest patches from RPi foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- target/linux/brcm2708/modules/sound.mk | 53 ++ ...-camera-Move-module-info-to-the-end.patch} | 0 ...-Fix-platform-device-unregistration.patch} | 0 ..._arm-Fix-camera-device-registration.patch} | 0 ...amera-Provide-more-specific-probe-e.patch} | 0 ...amera-Add-hint-about-possible-fault.patch} | 0 ...-Improve-error-handling-on-loading-.patch} | 0 ...amera-Do-not-bulk-receive-from-serv.patch} | 0 ...amera-Ensure-H264-header-bytes-get-.patch} | 0 ...amera-Correctly-denote-key-frames-i.patch} | 0 ...m2835-camera-Return-early-on-errors.patch} | 0 ...-camera-Remove-dead-email-addresses.patch} | 0 ...camera-Fix-comment-style-violations.patch} | 0 ...camera-Fix-spacing-around-operators.patch} | 0 ...-camera-Reduce-length-of-enum-names.patch} | 0 ...amera-Fix-multiple-line-dereference.patch} | 0 ...m2835-camera-Fix-brace-style-issues.patch} | 0 ...amera-Fix-missing-lines-between-ite.patch} | 0 ...amera-Fix-logical-continuation-spli.patch} | 0 ...amera-Fix-open-parenthesis-alignmen.patch} | 0 ...amera-Set-sequence-number-correctly.patch} | 0 ...amera-Ensure-timestamps-never-go-ba.patch} | 0 ...amera-Avoid-unneeded-internal-decla.patch} | 0 ...amera-Add-multiple-inclusion-protec.patch} | 0 ...amera-Unify-header-inclusion-define.patch} | 0 ...amera-Fix-alignment-should-match-op.patch} | 0 ...amera-Fix-multiple-assignments-shou.patch} | 0 ...amera-Fix-up-all-formatting-in-mmal.patch} | 0 ...amera-Use-enums-for-max-value-in-co.patch} | 0 ...amera-Correct-V4L2_CID_COLORFX_CBCR.patch} | 0 ...amera-Remove-amend-some-obsolete-co.patch} | 0 ...ices-Split-vchiq-mmal-into-a-module.patch} | 0 ...q-Allocate-and-free-components-as-r.patch} | 0 ...hiq-Avoid-use-of-bool-in-structures.patch} | 0 ...iq-Make-timeout-a-defined-parameter.patch} | 0 ...q-Make-a-mmal_buf-struct-for-passin.patch} | 0 ...hiq-Add-support-for-event-callbacks.patch} | 0 ...ices-Support-sending-data-to-MMAL-p.patch} | 0 ...ices-Fixup-vchiq-mmal-include-order.patch} | 0 ...4_services-Add-new-vc-sm-cma-driver.patch} | 0 ...ma-Fixup-driver-for-older-VCHI-APIs.patch} | 0 ...ices-Use-vc-sm-cma-to-support-zero-.patch} | 0 ...-Allow-exporting-of-a-struct-dmabuf.patch} | 0 ...ervices-Add-a-V4L2-M2M-codec-driver.patch} | 0 ...-Register-bcm2835-codec-as-a-platfo.patch} | 0 ...-Register-vcsm-cma-as-a-platform-dr.patch} | 0 ...amera-Fix-stride-on-RGB3-BGR3-forma.patch} | 0 ...m-Make-SECURITYFS-a-weak-dependency.patch} | 0 ...y-for-SLB9760-Iridium-LetsTrust-TPM.patch} | 0 ...river-for-3Dlab-Nano-soundcard-2758.patch} | 0 ...ate-README-with-removal-of-lirc-rpi.patch} | 0 ...amera-Check-the-error-for-REPEAT_SE.patch} | 0 ...ge-default-pull-configuration-to-up.patch} | 0 ...ypi-Report-the-fw-variant-during-pr.patch} | 0 ...ypi-Report-the-fw-git-hash-during-p.patch} | 0 ...broadcom-Enable-fixups-for-overlays.patch} | 0 ...audio-fix-sgtl5000-compatible-strin.patch} | 0 ...dd-dereference-to-fix-DMA-transfers.patch} | 0 ...-link-events-to-minimize-poll-storm.patch} | 0 ...-for-AudioSense-Pi-add-on-soundcard.patch} | 0 ...vice-tree-support-for-AudioSense-Pi.patch} | 0 ...ays-sdio-Add-enhanced-1-bit-support.patch} | 0 ...ith-port_addr-assignment-for-single.patch} | 0 ...iver-for-the-HiFiBerry-DAC-ADC-2694.patch} | 0 ...-on-the-pwmchip-device-upon-channel.patch} | 0 ...dd-ssd1306-overlay-for-OLED-display.patch} | 0 ...rlays-mcp23017-Support-the-MCP23008.patch} | 0 ...0-0268-overlays-Add-mcp342x-overlay.patch} | 0 ...char-vcio-Add-compat-ioctl-handling.patch} | 0 ...-probe-if-rpi_firmware-is-not-found.patch} | 0 ...q-Fix-client_component-for-64-bit-k.patch} | 0 ...amera-Add-sanity-checks-for-queue_s.patch} | 0 ...amera-Set-the-field-value-within-ea.patch} | 0 ...x-up-compat-ioctls-for-64bit-kernel.patch} | 0 ...-vc_mem-Fix-all-coding-style-issues.patch} | 0 ...bcm2835-Use-zd-when-printing-size_t.patch} | 0 ...rpi_sense_core-of-compatible-string.patch} | 0 ..._kms-Fix-up-64-bit-compile-warnings.patch} | 0 ...Clear-build-warning-on-64-bit-build.patch} | 0 ...ys-Correct-DT-handling-camera-GPIOs.patch} | 0 ...ov5647-Use-gpiod_set_value_cansleep.patch} | 0 ...cam-Power-on-subdev-on-open-release.patch} | 0 ...ector-octo-revert-to-dummy-supplies.patch} | 0 ...amera-Correct-ctrl-min-max-step-def.patch} | 0 ...odec-variable-vb2-may-be-used-unini.patch} | 0 ...odec-Fix-potentially-uninitialised-.patch} | 0 ...bcm2708_fb-Add-compat_ioctl-support.patch} | 0 ...08_fb-Fix-warnings-on-64-bit-builds.patch} | 0 ...708_fb-Clean-up-coding-style-issues.patch} | 0 ...a-Add-support-for-per-channel-flags.patch} | 0 ...-the-DISDEBUG-flag-for-SD-transfers.patch} | 0 ...mplement-the-digital_mute-interface.patch} | 0 ...a-double-unlock-in-pcm512x_digital_.patch} | 0 ...-up-build-warnings-on-64bit-kernels.patch} | 0 ...ma-allocation-for-mphi-dummy_send-b.patch} | 0 ...-Set-up-dma-ranges-on-child-devices.patch} | 0 ...vc-sm-cma-Correct-DMA-configuration.patch} | 0 ...-Use-a-void-pointer-as-the-handle-w.patch} | 0 ...g-vc-sm-cma-Fix-up-for-64bit-builds.patch} | 0 ...00-configs-Enable-the-AD193x-codecs.patch} | 0 ...lenaFin-v1.1.0-carrier-board-update.patch} | 0 ...Update-driver-to-not-use-plane-crtc.patch} | 0 ...ng-the-CTM-is-conditional-on-runnin.patch} | 0 ...q-Add-in-the-Bayer-encoding-formats.patch} | 0 ...q-Always-return-the-param-size-from.patch} | 0 ...q-If-the-VPU-returns-an-error-don-t.patch} | 0 ...odec-Query-supported-formats-from-t.patch} | 0 ...odec-Add-support-for-the-ISP-as-an-.patch} | 0 ...odec-Add-an-option-for-ignoring-Bay.patch} | 0 ...odec-Fix-handling-of-VB2_MEMORY_DMA.patch} | 0 ...q-Update-mmal_parameters.h-with-rec.patch} | 0 ...odec-Include-timing-info-in-SPS-hea.patch} | 0 ...t-for-vblank-on-fkms-cursor-updates.patch} | 0 ...ernel-module-in-Real-Time-kernel-co.patch} | 0 ... => 950-0315-Added-mute-stream-func.patch} | 0 ...x-EEE-support-is-now-a-PHY-property.patch} | 0 ...ma-Remove-erroneous-misc_deregister.patch} | 0 ...efile-include-on-out-of-tree-builds.patch} | 0 ...vcsm-Remove-set-but-unused-variable.patch} | 0 ...csm-Reduce-scope-of-local-functions.patch} | 0 ...odec-NULL-component-handle-on-queue.patch} | 0 ...-Remove-the-debugfs-directory-on-re.patch} | 0 ...m-cma-Use-devm_-allocs-for-sm_state.patch} | 0 ...ma-Don-t-fail-if-debugfs-calls-fail.patch} | 0 ...-Ensure-mutex-and-idr-are-destroyed.patch} | 0 ...odec-Clean-up-logging-on-unloading-.patch} | 0 ...low-for-sg-entries-that-cross-pages.patch} | 0 ...ed-4-bit-support-on-GPIOs-34-39.-29.patch} | 0 ...multiple-instantiation-of-sc16is7xx.patch} | 0 ...30-bcm2835-mmc-Fix-DMA-channel-leak.patch} | 0 ...c-Fix-struct-mmc_host-leak-on-probe.patch} | 0 ...mc-Fix-duplicate-free_irq-on-remove.patch} | 0 ...2835-mmc-Handle-mmc_add_host-errors.patch} | 0 ...licate-reset-of-driver-data-on-remo.patch} | 0 ...-Add-max17040-support-to-i2c-sensor.patch} | 0 ...cam-Add-support-for-enum-framesizes.patch} | 0 ...odec-Refactor-default-resolution-co.patch} | 0 ...> 950-0338-nvmem-add-type-attribute.patch} | 0 ... 950-0339-rtc-rv3028-add-new-driver.patch} | 0 ...0340-overlays-Add-rv3028-to-i2c-rtc.patch} | 0 ...4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch} | 0 ...4-Break-out-clock-setting-into-sepa.patch} | 0 ...32x4-Properly-Set-Processing-Blocks.patch} | 0 ...ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch} | 0 ...320aic32x4-Model-CODEC_CLKIN-in-CCF.patch} | 0 ...c32x4-Model-DAC-ADC-dividers-in-CCF.patch} | 0 ...20aic32x4-Model-BDIV-divider-in-CCF.patch} | 0 ...c32x4-Control-clock-gating-with-CCF.patch} | 0 ...4-Move-aosr-and-dosr-setting-to-sep.patch} | 0 ...32x4-Dynamically-Determine-Clocking.patch} | 0 ...0aic32x4-Restructure-set_dai_sysclk.patch} | 0 ...lv320aic32x4-Remove-mclk-references.patch} | 0 ...320aic32x4-Allow-192000-Sample-Rate.patch} | 0 ...c32x4-Only-enable-with-common-clock.patch} | 0 ...ophonics-I-Sabre-9038Q2M-DAC-driver.patch} | 0 ...-tlv320aic32x4-Change-author-s-name.patch} | 0 ...4-Update-copyright-and-use-SPDX-ide.patch} | 0 ...4-Add-Switch-for-Setting-Common-Mod.patch} | 0 ...2x4-Add-Playback-PowerTune-Controls.patch} | 0 ...lays-Add-Support-for-the-UDRC-DRAWS.patch} | 0 ...plit-when-we-actually-need-to-do-a-.patch} | 0 ...-fetch-touchscreen-geometry-from-DT.patch} | 0 ...put-ili210x-add-DT-binding-document.patch} | 0 ...core-Device-Tree-support-ilitek251x.patch} | 0 ...ng-around-dequeueing-and-killing-UR.patch} | 0 ...-Add-backup-switchover-mode-support.patch} | 0 ...gs-rv3028-backup-switchover-support.patch} | 0 ...28-backup-switchover-support-to-i2c.patch} | 0 ...axim-MAX98357A-I2S-DAC-overlay-2935.patch} | 0 ...s-for-audioinjector-octo-under-4.19.patch} | 0 ...50-0371-overlays-Add-PiGlow-overlay.patch} | 0 ...-bcm2835-audio-Clean-up-mutex-locks.patch} | 0 ...udio-Remove-redundant-spdif-stream-.patch} | 0 ...udio-Clean-up-include-files-in-bcm2.patch} | 0 ...udio-Remove-redundant-substream-mas.patch} | 0 ...udio-Fix-mute-controls-volume-handl.patch} | 0 ...udio-Remove-redundant-function-call.patch} | 0 ...-audio-Remove-superfluous-open-flag.patch} | 0 ...udio-Drop-useless-running-flag-and-.patch} | 0 ...udio-Fix-incorrect-draining-handlin.patch} | 0 ...-bcm2835-audio-Kill-unused-spinlock.patch} | 0 ...udio-Use-PCM-runtime-values-instead.patch} | 0 ...udio-Drop-unnecessary-pcm-indirect-.patch} | 0 ...m2835-audio-Drop-useless-NULL-check.patch} | 0 ...udio-Propagate-parameter-setup-erro.patch} | 0 ...udio-Drop-debug-messages-in-bcm2835.patch} | 0 ...udio-Drop-superfluous-mutex-lock-du.patch} | 0 ...35-audio-Add-10ms-period-constraint.patch} | 0 ...m2835-audio-Make-single-vchi-handle.patch} | 0 ...udio-Code-refactoring-of-vchiq-acce.patch} | 0 ...35-audio-Operate-non-atomic-PCM-ops.patch} | 0 ...bcm2835-audio-Use-card-private_data.patch} | 0 ...udio-Use-standard-error-print-helpe.patch} | 0 ...udio-Remove-unnecessary-header-file.patch} | 0 ...udio-Move-module-parameter-descript.patch} | 0 ...5-audio-Use-coherent-device-buffers.patch} | 0 ...udio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch} | 0 ...audio-Simplify-PCM-creation-helpers.patch} | 0 ...udio-Simplify-kctl-creation-helpers.patch} | 0 ...udio-Simplify-card-object-managemen.patch} | 0 ...udio-unify-FOURCC-command-definitio.patch} | 0 ...audio-don-t-initialize-memory-twice.patch} | 0 ...udio-reorder-variable-declarations-.patch} | 0 ...udio-use-anonymous-union-in-struct-.patch} | 0 ...udio-more-generic-probe-function-na.patch} | 0 ...udio-rename-platform_driver-structu.patch} | 0 ...7-staging-bcm2835-audio-update-TODO.patch} | 0 ...m2835-audio-interpolate-audio-delay.patch} | 0 ...g-bcm2835-audio-Enable-compile-test.patch} | 0 ...udio-use-module_platform_driver-mac.patch} | 0 ...udio-double-free-in-init-error-path.patch} | 0 ...Increase-default-coherent-pool-size.patch} | 0 ...se-default-alignment-for-rx-buffers.patch} | 0 ...odec-Correct-port-width-calc-for-tr.patch} | 0 ...odec-Remove-height-padding-for-ISP-.patch} | 0 ...q-Free-the-event-context-for-contro.patch} | 0 ...lso-set-coherent_pool-1M-for-BT-Pis.patch} | 0 ...rpi-sense-add-upstream-humidity-com.patch} | 0 ...vchiq-Fix-memory-leak-in-error-path.patch} | 0 ...l-Fix-memory-leak-of-vchiq-instance.patch} | 0 ...IQaudIO-Pi-Codec-board-support-2969.patch} | 0 ...on-output_write-retry-with-readback.patch} | 0 ...2-cosmetic-fixes-after-54865314f5a1.patch} | 0 ...ec-Adding-352.8kHz-samplerate-suppo.patch} | 0 ...ing-driver-for-3Dlab-Nano-soundcard.patch} | 0 ...426-.gitignore-Add-.dtbo-explicitly.patch} | 0 ...ey-sizes-only-when-Secure-Simple-Pa.patch} | 0 ...tg-Clean-up-interrupt-claiming-code.patch} | 0 ...te-the-deprecated-sdio-1bit-overlay.patch} | 0 ...move-upstream-aux-interrupt-overlay.patch} | 0 ...ndardise-on-compatible-brcm-bcm2835.patch} | 0 ...-Remove-interrupt-and-DMA-trampling.patch} | 0 ...Add-non-removable-clone-of-mmc-node.patch} | 0 ...0X_DT-usb-Refactor-DTS-and-overlays.patch} | 0 ...35-overlays-Update-upstream-overlay.patch} | 0 ...o-after-49695ac46861-reset-on-outpu.patch} | 0 ...CM270X_DT-Rename-Pi-Zero-W-DT-files.patch} | 0 ...270X_DT-Create-bcm2708-rpi-zero.dts.patch} | 0 ...mmc-related-overlays-after-refactor.patch} | 0 ... => 950-0440-Fixed-48k-timing-issue.patch} | 0 ...odec-Convert-V4L2-nsec-timestamps-t.patch} | 0 ...odec-Add-support-for-setting-S_PARM.patch} | 0 ...ke-GPIO-an-output-for-strong-pullup.patch} | 0 ...s-Update-w1-gpio-and-w1-gpio-pullup.patch} | 0 ...ix-DMA-channel-leak-on-error-remove.patch} | 0 ...46-i2c-bcm2835-Model-Divider-in-CCF.patch} | 0 ...ervices-Use-correct-cache-line-size.patch} | 0 ...y-amba-pl011-allow-shared-interrupt.patch} | 0 ...e-register-ranges-for-UART-SPI-and-.patch} | 0 ...d-the-WDT-DT-node-out-to-cover-the-.patch} | 0 ...51-ARM-dts-Add-label-to-bcm2835-RNG.patch} | 0 ...fb-rather-than-leds-for-dpi-overlay.patch} | 0 ...> 950-0453-BCM270X_DT-Minor-tidy-up.patch} | 0 ...4-arm-bcm2835-Fix-FIQ-early-ioremap.patch} | 0 ..._from_user-if-BCM2835_FAST_MEMCPY-n.patch} | 0 ...roadcom-STB-PCIe-host-controller-dr.patch} | 0 ...ma-range-mapping-for-inbound-traffi.patch} | 0 ...0458-PCI-brcmstb-Add-MSI-capability.patch} | 0 ...Add-DT-docs-for-Brcmstb-PCIe-device.patch} | 0 ...60-pcie-brcmstb-Changes-for-BCM2711.patch} | 0 ...rm-bcm2835-DMA-can-only-address-1GB.patch} | 0 ...t-Support-64-bit-physical-addresses.patch} | 0 ...-mmc-sdhci-Mask-spurious-interrupts.patch} | 0 ...dd-support-for-emmc2-of-the-BCM2838.patch} | 0 ...ng-iproc-rng200-Add-BCM2838-support.patch} | 0 ...brcmstb_thermal-Add-BCM2838-support.patch} | 0 ...67-vchiq-Add-36-bit-address-support.patch} | 0 ...35-pcm.c-Support-multichannel-audio.patch} | 0 ...enet-constrain-max-DMA-burst-length.patch} | 0 ...etter-coalescing-parameter-defaults.patch} | 0 ...link-energy-detect-powerdown-for-ex.patch} | 0 ...t-out-the-BCM54213PE-from-the-BCM54.patch} | 0 ...nfigure-the-LED-outputs-to-be-more-.patch} | 0 ...e-appropriate-IRQ-handover-strategy.patch} | 0 ...i-Disable-the-XHCI-5-second-timeout.patch} | 0 ...how-that-the-VIA-VL805-supports-LPM.patch} | 0 ...835-enable-shared-interrupt-support.patch} | 0 ...chardev-for-mmap-ing-Argon-control-.patch} | 0 ...lk-bcm2835-Don-t-wait-for-pllh-lock.patch} | 0 ...cm2835-watchdog-s-DT-probe-to-an-MF.patch} | 0 ...m-Add-support-for-power-domains-und.patch} | 0 ...m-Fix-PM_IMAGE_PERI-power-domain-su.patch} | 0 ...m-Fix-error-paths-of-initialization.patch} | 0 ...bcm-bcm2835-pm-Add-support-for-2711.patch} | 0 ...ncobj_find_fence-to-support-timelin.patch} | 0 ...-after-free-race-accessing-the-sche.patch} | 0 ...tle-debugfs-entry-for-measuring-the.patch} | 0 ...comment-about-what-uses-v3d_job_dep.patch} | 0 ...ean-up-the-reservation-object-setup.patch} | 0 ...port-for-submitting-jobs-to-the-TFU.patch} | 0 ...dev-argument-to-lock-unlock-of-BO-r.patch} | 0 ...missing-fence-timeline-name-for-TFU.patch} | 0 ...e-tracepoints-for-V3D-GPU-rendering.patch} | 0 ...rm-v3d-Drop-unused-v3d_flush_caches.patch} | 0 ...t-bother-flushing-L1TD-at-job-start.patch} | 0 ...-the-wait-for-L2T-flush-to-complete.patch} | 0 ...Stop-trying-to-flush-L2C-on-V3D-3.3.patch} | 0 ...date-the-caches-from-the-outside-in.patch} | 0 ...ats-accounting-for-dma-buf-imported.patch} | 0 ...p-level-kerneldoc-for-the-addition-.patch} | 0 ...ps-at-boot-with-firmwarekms-on-4.19.patch} | 0 ...02-drm-v3d-Add-support-for-V3D-v4.2.patch} | 0 ...n-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch} | 0 ...-the-GPU-is-on-when-measuring-clock.patch} | 0 ...0-0505-drm-v3d-Add-support-for-2711.patch} | 0 ...flush-if-the-device-is-currently-of.patch} | 0 ...-drm-v3d-Hook-up-the-runtime-PM-ops.patch} | 0 ...drm-v3d-HACK-gut-runtime-pm-for-now.patch} | 0 ...drm-v3d-Update-to-upstream-IRQ-code.patch} | 0 ...e-fence-signaled-from-IRQs-to-irq_f.patch} | 0 ...511-drm-v3d-Refactor-job-management.patch} | 0 ...dd-missing-implicit-synchronization.patch} | 0 ...ronization-firmwarekms-against-GL-r.patch} | 0 ...-that-vblank-waits-work-without-v3d.patch} | 0 ...e-format-modifiers-for-firmware-kms.patch} | 0 ...vblank-timestamping-for-firmwarekms.patch} | 0 ...ch-to-the-newer-mailbox-frame-buffe.patch} | 0 ...n-overlay-plane-to-vc4-firmware-kms.patch} | 0 ...crease-max-screen-size-to-4096x4096.patch} | 0 ...pport-for-multiple-displays-to-fkms.patch} | 0 ... 950-0521-drm-vc4-Fix-build-warning.patch} | 0 ...splay-to-blank-during-initialisatio.patch} | 0 ...drm-vc4-Remove-now-unused-structure.patch} | 0 ...-display-ID-for-each-display-in-FKM.patch} | 0 ...isplay-number-when-querying-the-dis.patch} | 0 ...all-drm_crtc_vblank_-on-off-from-vc.patch} | 0 ...rt-for-H-V-flips-on-each-plane-for-.patch} | 0 ...used-vc4_fkms_cancel_page_flip-func.patch} | 0 ...ver-all-planes-in-vc4_crtc_-dis-en-.patch} | 0 ...s-into-line-with-kms-in-blocking-do.patch} | 0 ...4-Increase-max_width-height-to-7680.patch} | 0 ...s-the-EDID-from-fw-and-supports-mod.patch} | 0 ...upport-for-setting-leaf-clock-rates.patch} | 0 ...-reparenting-leaf-clocks-while-they.patch} | 0 ...support-for-compute-shader-dispatch.patch} | 0 ...-v3d-Clock-V3D-down-when-not-in-use.patch} | 0 ...kms-Remove-incorrect-overscan-suppo.patch} | 0 ...-drm-vc4-Log-flags-in-fkms-mode-set.patch} | 0 ...irmware-kms-Fix-DSI-display-support.patch} | 0 ...e-DPI-DSI-timings-from-the-firmware.patch} | 0 ...e-case-where-there-are-no-available.patch} | 0 ...542-drm-vc4-Support-the-VEC-in-FKMS.patch} | 0 ...typo-when-setting-HDMI-aspect-ratio.patch} | 0 ...m-vc4-Correct-SAND-support-for-FKMS.patch} | 0 ...query-the-VPU-for-HDMI-clock-limits.patch} | 0 ...ution-of-7680-is-conditional-on-bei.patch} | 0 ...-Remove-obsolete-comment-and-make-f.patch} | 0 ...-Add-in-allocation-for-VPU-requests.patch} | 0 ...-0549-staging-vc-sm-cma-Update-TODO.patch} | 0 ...cma-Add-in-userspace-allocation-API.patch} | 0 ...g-vcsm-cma-Add-cache-control-ioctls.patch} | 0 ...-Alter-dev-node-permissions-to-0666.patch} | 0 ...Drop-logging-level-on-messages-in-v.patch} | 0 ...Fixup-the-alloc-code-handling-of-ke.patch} | 0 ...ti-frame-buffer-support-from-the-Pi.patch} | 0 ...ove-BCM2835-6-7-specific-to-bcm2835.patch} | 0 ...-bcm2711-rpi-4-b.dts-and-components.patch} | 0 ...ays-Add-i2c3-6-and-uart2-5-overlays.patch} | 0 ...icetree-add-overlays-for-spi-3-to-6.patch} | 0 ...rlays-Add-the-spi-gpio40-45-overlay.patch} | 0 ...it-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch} | 0 ...-0562-2711-Add-basic-64-bit-support.patch} | 0 ...orrect-vchiq-compatible-string-2840.patch} | 0 ...-downstream-vchiq-compatible-string.patch} | 0 ...5-dma-Add-proper-40-bit-DMA-support.patch} | 0 ...ve-bulk-channel-in-dma-channel-mask.patch} | 0 ...SQUASH-bcm2835-dma-Remove-debugging.patch} | 0 ...ts-Include-CSI-lane-config-for-csi1.patch} | 0 ...-vc4-Fix-T-format-modifiers-in-FKMS.patch} | 0 ...dts-Disable-the-v3d-node-by-default.patch} | 0 ...0MHz-clock-limit-from-FKMS-now-scra.patch} | 0 ...for-updating-interrupt-endpoint-int.patch} | 0 ...ci_fixup_endpoint-for-interval-adju.patch} | 0 ...ixup_endpoint-after-mangling-interv.patch} | 0 ...s-of-which-display-is-updated-throu.patch} | 0 ...ook-at-the-modifiers-correctly-for-.patch} | 0 ...m-dts-Fix-Pi4-PWR-LED-configuration.patch} | 0 ...orrect-gic400-memory-address-ranges.patch} | 0 ...-the-old-dma-controller-for-OF-conf.patch} | 0 ...80-drm-vc4-Limit-fkms-to-modes-85Hz.patch} | 0 ...m2835-Add-bcm2838-compatible-string.patch} | 0 ...ove-the-bcm27xx-inclusion-hierarchy.patch} | 0 ...dts-First-draft-of-upstream-Pi4-DTS.patch} | 0 ...ix-compatible-string-for-ds1307-RTC.patch} | 0 ...Fix-further-maxim-ds1307-references.patch} | 0 ...Cosmetic-change-to-upstream-overlay.patch} | 0 ...me-w1_family-struct-fixing-c-p-typo.patch} | 0 ...utput_write-cosmetic-fixes-simplify.patch} | 0 ...413-add-retry-support-to-state_read.patch} | 0 ...e-slave-is-not-responding-during-re.patch} | 0 ...1-ds2413-fix-state-byte-comparision.patch} | 0 ...MA-channel-and-memory-leak-in-vc4-3.patch} | 0 ...08_fb-Revert-cma-allocation-attempt.patch} | 0 ...rt-for-color-encoding-on-YUV-planes.patch} | 0 ...d-coherent_pool-1M-to-Pi-4-bootargs.patch} | 0 ...orrect-gpio-fan-gpio-flags-for-4.19.patch} | 0 ...Remove-cache-manipulation-ioctl-fro.patch} | 0 ...-cma-Rework-to-use-dma-APIs-not-CMA.patch} | 0 ...-Fix-the-few-remaining-coding-style.patch} | 0 ...-add-new-capabilities-for-buffer-ty.patch} | 0 ...et-reqbufs-create_bufs-capabilities.patch} | 0 ...-reqbufs-0-with-in-use-MMAP-buffers.patch} | 0 ...l-parameters-to-the-rpi-poe-overlay.patch} | 0 ...i3-overlays-to-be-less-model-specif.patch} | 0 ...IRQ-request-after-clock-code-in-pro.patch} | 0 ...35-Ensure-clock-exists-when-probing.patch} | 0 ...lays-i2c-gpio-Fix-the-bus-parameter.patch} | 0 ...11-Make-TX-optimisation-conditional.patch} | 0 ...r-host-controllers-that-don-t-updat.patch} | 0 ...5-Set-clock-stretch-timeout-to-35ms.patch} | 0 ...-Add-missing-dependency-on-MFD_CORE.patch} | 0 ...> 950-0612-overlays-Add-PCF2129-RTC.patch} | 0 ...s-dpi18-and-dpi24-vc4-compatibility.patch} | 0 ...ys-Add-i2c0-and-i2c1-for-regularity.patch} | 0 ...move-spinlock-usage-around-spi_sync.patch} | 0 ...m64-mm-Limit-the-DMA-zone-for-arm64.patch} | 0 ...Query-firmware-for-custom-HDMI-mode.patch} | 0 ...drm-vrefresh-to-the-firmware-on-mod.patch} | 0 ...erlays-audremap-Support-GPIOs-18-19.patch} | 0 ...x-drm_mode_create_tv_properties-doc.patch} | 0 ...ctor-Clarify-the-unit-of-TV-margins.patch} | 0 ...llow-creation-of-margin-props-alone.patch} | 0 ...in-setup-into-account-when-updating.patch} | 0 ...-margin-props-to-the-HDMI-connector.patch} | 0 ...vc4-Add-support-for-margins-to-fkms.patch} | 0 ...4-Ensure-zpos-is-always-initialised.patch} | 0 ...issing-properties-for-pmu-and-gic-n.patch} | 0 ...s-the-Hifiberry-DAC-ADC-PRO-version.patch} | 0 ...odecs-Correct-Katana-minimum-volume.patch} | 0 ...esent-but-empty-dmas-disables-audio.patch} | 0 ...-Add-audio-parameter-to-vc4-kms-v3d.patch} | 0 ...verlays-Update-the-upstream-overlay.patch} | 0 ...upt-handing-for-non-existent-displa.patch} | 0 ...correct-name-for-the-Raspberry-Pi-v.patch} | 0 ...har-rpivid-also-support-legacy-name.patch} | 0 ...e-quirks-for-Freeway-Airmouse-T3-an.patch} | 0 ...dd-Broadcast-RGB-connector-property.patch} | 0 ...-documentation-for-drm_cmdline_mode.patch} | 0 ...des-Rewrite-the-command-line-parser.patch} | 0 ...ort-modes-names-on-the-command-line.patch} | 0 ...o-specify-rotation-and-reflection-o.patch} | 0 ...or-Introduce-a-TV-margins-structure.patch} | 0 ...drm-modes-Parse-overscan-properties.patch} | 0 ...function-to-reset-connector-TV-prop.patch} | 0 ...i-Set-default-state-margin-at-reset.patch} | 0 ...s-Set-default-state-margin-at-reset.patch} | 0 ...pply-cmdline-s-rotation-if-it-wasn-.patch} | 0 ...35-codec-switch-to-multi-planar-API.patch} | 0 ...odec-implement-V4L2_CID_MIN_BUFFERS.patch} | 0 ...odec-set-device_caps-in-struct-vide.patch} | 0 ...51-Add-HDMI1-facility-to-the-driver.patch} | 0 ...Add-baudrate-parameter-to-i2c3-i2c6.patch} | 0 ...he-vblank-warnings-on-mode-switchin.patch} | 0 ...drm-vc4-Remove-unused-mode-variable.patch} | 0 ...odec-Expand-logging-on-format-setti.patch} | 0 ...odec-Correct-bytesperline-on-format.patch} | 0 ...ng-NULL-check-to-vc4_crtc_consume_e.patch} | 0 ...-Workaround-2-for-Pi4-Ethernet-fail.patch} | 0 ...m-vc4-Fix-TILE_Y_OFFSET-definitions.patch} | 0 ...efine-missing-PITCH0_SINK_PIX-field.patch} | 0 ...tomic_helper_check_plane_state-to-s.patch} | 0 ...ets-adjustment-out-of-setup_clippin.patch} | 0 ...ositioning-of-planes-using-T_TILES-.patch} | 0 ...pointer-dereference-in-the-async-up.patch} | 0 ...m2711-rpi-4-b-I2C-aliases-and-pulls.patch} | 0 ...re-event-ring-segment-table-entries.patch} | 0 ..._buf-for-small-IN-control-transfers.patch} | 0 ...tb-bounce-buffer-implementation-to-.patch} | 0 ...69-configs-arm64-vcm2711-Enable-V3D.patch} | 0 ...ys-sc16ic752-i2c-Fix-xtal-parameter.patch} | 0 ...1-vc-sm-cma-Fix-compatibility-ioctl.patch} | 0 ...odec-add-support-for-V4L2_CID_MPEG_.patch} | 0 ...odec-remove-unnecessary-padding-on-.patch} | 0 ...dd-missing-Raspberry-Pi-model-names.patch} | 0 ...rch-arm-Add-model-string-to-cpuinfo.patch} | 0 ...dd-Revision-Serial-Model-to-cpuinfo.patch} | 0 ...-Add-binding-for-the-Sony-IMX219-se.patch} | 0 ...c-Add-driver-for-Sony-IMX219-sensor.patch} | 0 ...erlay-for-the-Sony-IMX219-image-sen.patch} | 0 ...odec-Fix-non-documentation-comment-.patch} | 0 ...2835-codec-Fix-declaration-of-roles.patch} | 0 ...m2835-codec-Add-role-to-device-name.patch} | 0 ...odec-Pass-driver-context-to-create-.patch} | 0 ...-codec-add-media-controller-support.patch} | 0 ...icam-Reduce-scope-of-local-function.patch} | 0 ...unicam-add-media-controller-support.patch} | 0 ...e-under-arm64-or-any-other-platform.patch} | 0 ...nmap_sg-calls-to-free-relevant-swio.patch} | 0 ...-rename-the-GPIO-pins-node-with-the.patch} | 0 ...-Add-option-for-not-connecting-the-.patch} | 0 ...-0691-v4l2-Add-a-Greyworld-AWB-mode.patch} | 0 ...m2835-camera-Add-greyworld-AWB-mode.patch} | 0 ...PCI-brcmstb-Fix-compilation-warning.patch} | 0 ...margins-in-composite-SDTV-mode-3223.patch} | 0 ...berry-DAC-DSP-soundcard-driver-3224.patch} | 0 ...-bcm2835-codec-Allow-height-of-1920.patch} | 0 ...odec-Correct-g-s_selection-API-MPLA.patch} | 0 ...gpio-Allow-nonexclusive-GPIO-access.patch} | 0 ...e-nonexclusive-gpiods-from-DT-nodes.patch} | 0 ...0-Fix-poll-rate-on-touchscreen-3238.patch} | 0 ...for-Pi-2B-rev-1.2-with-BCM2837-3235.patch} | 0 ...hes-at-the-end-of-render-jobs-on-re.patch} | 0 ...udio-Fix-draining-behavior-regressi.patch} | 0 ...yout-of-struct-vc4_display_settings.patch} | 0 ...83x-Fix-DTC-warning-for-memory-node.patch} | 0 ...7xx-Fix-DTC-warning-for-memory-node.patch} | 0 ...able-DMA-support-for-SPI-controller.patch} | 0 ...pi-Drop-unnecessary-address-cells-s.patch} | 0 ...pi-Define-the-downstream-MMC-interf.patch} | 0 ...efine-MMC-interfaces-at-board-level.patch} | 0 ...5-rpi-zero-w-Fix-bus-width-of-sdhci.patch} | 0 ...pi-Define-the-downstream-HDMI-power.patch} | 0 ...-bcm283x-Enable-HDMI-at-board-level.patch} | 0 ...duce-SoC-specific-clock-registratio.patch} | 0 ...835-Add-BCM2711_CLOCK_EMMC2-support.patch} | 0 ...ard-clk-and-pinctrl-to-bcm2711-comp.patch} | 0 ...l-bcm2835-Switch-to-SPDX-identifier.patch} | 0 ...m2835-declare-pin-config-as-generic.patch} | 0 ...irect-GPIO-config-changes-to-generi.patch} | 0 ...dd-support-for-BCM2711-pull-up-func.patch} | 0 ...device-names-check-for-enable-state.patch} | 0 ...ce64.c-dev_err-dev_info-for-info-me.patch} | 0 ...pio-shutdown-Add-debounce-parameter.patch} | 0 ...24-overlays-fix-compatible-for-RPi4.patch} | 0 ...bcm2711-Retain-support-for-old-dtbs.patch} | 0 ...nicam-Add-support-for-raw14-formats.patch} | 0 ...cam-Rework-to-not-cache-the-list-of.patch} | 0 ...cam-Support-unpacking-CSI-format-to.patch} | 0 ...cam-Add-support-for-luma-greyscale-.patch} | 0 ...rt-for-YUV-color-encodings-and-rang.patch} | 0 ...tive-X-Y-positioning-on-SAND-planes.patch} | 0 ...2-drm-vc4-Add-support-for-H-V-flips.patch} | 0 ...andling-of-rotation-parameter-in-fk.patch} | 0 ...950-0734-overlays-Add-w5500-overlay.patch} | 0 ...cam-Replace-hard-coded-loop-limit-w.patch} | 0 ...cam-Fix-one-to-many-mapping-for-YUY.patch} | 0 ...inding-for-the-Infineon-IRS1125-sen.patch} | 0 ...river-for-the-Infineon-IRS1125-dept.patch} | 0 ...an-overlay-for-the-Infineon-IRS1125.patch} | 0 ...card-Fixed-MCLKDIV-for-Allo-Digione.patch} | 0 ...38-Disable-DWC-OTG-block-by-default.patch} | 0 ...odec-Add-support-for-ENUM_FRAMESIZE.patch} | 0 ...odec-Correct-buffer-type-check-on-G.patch} | 0 ...odec-Set-default-and-error-check-ti.patch} | 0 ...odec-Fix-imbalance-in-dma_buf_get-d.patch} | 0 ...ls-for-firmware-display-blank-unbla.patch} | 0 ...747-rpi-poe-fan-fix-def_pwm1-writes.patch} | 0 ...ncode-link-speed-and-activity-into-.patch} | 0 ...w-ethernet-LED-mode-to-be-set-via-d.patch} | 0 ...erlays-smi-fix-typo-in-comment-3320.patch} | 0 ...ge-the-default-ethernet-LED-actions.patch} | 0 ...s-README-Remove-trailing-whitespace.patch} | 0 ...-0753-overlays-Add-apds9960-overlay.patch} | 0 ...pitft35-resistive-add-upstream-comp.patch} | 0 ...cm2835-Avoid-null-pointer-exception.patch} | 0 ...andle-missing-clock-more-gracefully.patch} | 0 ...pi-scmi-Fix-freeing-of-dynamic-OPPs.patch} | 0 ...river-interfacing-with-Raspberry-Pi.patch} | 0 ...cpufreq-add-driver-for-Raspberry-Pi.patch} | 0 ...are-raspberrypi-register-clk-device.patch} | 0 ...egister-platform-device-for-raspber.patch} | 0 ...=> 950-0762-clk-bcm2835-remove-pllb.patch} | 0 ...d_drv-Allow-clock-retrieval-by-name.patch} | 0 ...clock-so-firmware-knows-we-are-usin.patch} | 0 ...llow-cpufreq-driver-to-also-adjust-.patch} | 0 ...-raspberrypi-Also-support-v3d-clock.patch} | 0 ...-0767-clk-bcm2835-Disable-v3d-clock.patch} | 0 ...-raspberrypi-Also-support-v3d-clock.patch} | 0 ...k-raspberrypi-Also-support-v3d-clock.patch | 36 + ...eq-Only-report-integer-pll-divisor-.patch} | 0 ...k-raspberrypi-Also-support-v3d-clock.patch | 40 +- ...72-arm-dts-Correct-Pi-4B-LED-values.patch} | 0 ...a_mask-as-well-as-coherent_dma_mask.patch} | 0 ...k-raspberrypi-Also-support-v3d-clock.patch | 54 -- ...0-0774-arm-dts-2711-Add-pcie0-alias.patch} | 0 ...v-Completely-disable-the-DT-warning.patch} | 0 ...3D-interactions-if-the-v3d-componen.patch} | 0 ...rst-codec-is-master-in-multicodec-s.patch} | 0 ...aneous-use-of-JustBoom-DAC-and-Digi.patch} | 0 ...the-urb-transfer_buffer-too-early-3.patch} | 0 ...ys-Make-mcp342x-run-time-compatible.patch} | 0 ...-dht11-Allow-multiple-instantiation.patch} | 0 ...erlays-i2c-rtc-Add-pcf85363-support.patch} | 0 ...trl-bcm2835-Remove-gpiochip-on-error.patch | 25 + ...2835-Change-init-order-for-gpio-hogs.patch | 82 ++ ...munication-fixes-for-scaled-down-CPU.patch | 100 +++ ...ca963x-Fix-open-drain-initialization.patch | 61 ++ ...787-add-BME680-to-i2c-sensor-overlay.patch | 67 ++ ...n-endpoint-max-packet-and-transfer-s.patch | 43 + ...pause-when-cancelling-split-transact.patch | 95 +++ ...add-a-barrier-on-entry-into-FIQ-hand.patch | 49 ++ ...-device-tree-overlay-for-SPI-devices.patch | 273 ++++++ ...und-Add-the-HiFiBerry-DAC-HD-version.patch | 776 ++++++++++++++++++ ...lise-rpi-firmware-before-clk-bcm2835.patch | 47 ++ ...settings-of-HiFiBerry-DAC-ADC-PRO-ca.patch | 26 + ...ays-Use-preferred-compatible-strings.patch | 72 ++ ...y-amba-pl011-Add-un-throttle-support.patch | 61 ++ ...50-0797-Fix-i2c-pwm-pca9685a-overlay.patch | 20 + ...ture-to-HiFiBerry-DAC-ADC-PRO-sound-.patch | 89 ++ ...ture-to-HiFiBerry-DAC-ADC-sound-card.patch | 76 ++ ...ture-to-HiFiBerry-DAC-DAC-PRO-sound-.patch | 77 ++ ...ading-Pisound-board-hardware-revisio.patch | 201 +++++ ...i-iproc-Fix-vmmc-regulators-on-iProc.patch | 46 ++ ...clare-RPi-4B-SD-card-power-regulator.patch | 43 + ...unce-buffer-support-is-for-BCM2711B0.patch | 88 ++ ...i-Use-BCM2711-PCIe-compatible-string.patch | 29 + ...6-ARM-dts-Remove-bcm2838-rpi-4-b.dts.patch | 146 ++++ ...011-Avoid-rare-write-when-full-error.patch | 42 + ...Raspberry-Pi-FW-loader-for-VIA-VL805.patch | 84 ++ ...rrect-the-eth_led-colour-assignments.patch | 51 ++ ...rlays-Remove-hack-from-uart0-overlay.patch | 45 + ...sd_poll_once-dtparam-to-bcm283x-2711.patch | 59 ++ ...verlays-Add-ssd1306-spi-overlay-3440.patch | 132 +++ ...106-spi-and-ssd1351-spi-overlays-344.patch | 248 ++++++ ...-overlays-dwc2-Increase-RX-FIFO-size.patch | 32 + ...erlays-Fix-mcp23017-s-addr-parameter.patch | 46 ++ ...106-spi-ssd1306-spi-and-ssd1351-spi-.patch | 81 ++ ...spi-ssd1306-spi-ssd1351-spi-overlays.patch | 50 ++ 618 files changed, 3580 insertions(+), 65 deletions(-) rename target/linux/brcm2708/patches-4.19/{950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch => 950-0202-staging-bcm2835-camera-Move-module-info-to-the-end.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch => 950-0203-staging-vchiq_arm-Fix-platform-device-unregistration.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch => 950-0204-staging-vchiq_arm-Fix-camera-device-registration.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch => 950-0205-staging-bcm2835-camera-Provide-more-specific-probe-e.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch => 950-0206-staging-bcm2835-camera-Add-hint-about-possible-fault.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch => 950-0207-staging-vchiq_arm-Improve-error-handling-on-loading-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch => 950-0208-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch => 950-0209-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch => 950-0210-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0213-staging-bcm2835-camera-Return-early-on-errors.patch => 950-0211-staging-bcm2835-camera-Return-early-on-errors.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch => 950-0212-staging-bcm2835-camera-Remove-dead-email-addresses.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch => 950-0213-staging-bcm2835-camera-Fix-comment-style-violations.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch => 950-0214-staging-bcm2835-camera-Fix-spacing-around-operators.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch => 950-0215-staging-bcm2835-camera-Reduce-length-of-enum-names.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch => 950-0216-staging-bcm2835-camera-Fix-multiple-line-dereference.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch => 950-0217-staging-bcm2835-camera-Fix-brace-style-issues.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch => 950-0218-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch => 950-0219-staging-bcm2835-camera-Fix-logical-continuation-spli.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch => 950-0220-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch => 950-0221-staging-bcm2835-camera-Set-sequence-number-correctly.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch => 950-0222-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch => 950-0223-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch => 950-0224-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch => 950-0225-staging-bcm2835-camera-Unify-header-inclusion-define.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch => 950-0226-staging-bcm2835-camera-Fix-alignment-should-match-op.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch => 950-0227-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch => 950-0228-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch => 950-0229-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch => 950-0230-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch => 950-0231-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch => 950-0232-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch => 950-0233-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch => 950-0234-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch => 950-0235-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch => 950-0236-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch => 950-0237-staging-mmal-vchiq-Add-support-for-event-callbacks.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch => 950-0238-staging-vc04_services-Support-sending-data-to-MMAL-p.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch => 950-0239-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch => 950-0240-staging-vc04_services-Add-new-vc-sm-cma-driver.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch => 950-0241-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch => 950-0242-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch => 950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch => 950-0244-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch => 950-0245-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch => 950-0246-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch => 950-0247-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch => 950-0248-tpm-Make-SECURITYFS-a-weak-dependency.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch => 950-0249-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch => 950-0250-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch => 950-0251-overlays-Update-README-with-removal-of-lirc-rpi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch => 950-0252-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0255-gpio-ir-change-default-pull-configuration-to-up.patch => 950-0253-gpio-ir-change-default-pull-configuration-to-up.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch => 950-0254-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch => 950-0255-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch => 950-0256-arm64-dts-broadcom-Enable-fixups-for-overlays.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch => 950-0257-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch => 950-0258-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch => 950-0259-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch => 950-0260-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch => 950-0261-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch => 950-0262-overlays-sdio-Add-enhanced-1-bit-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch => 950-0263-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch => 950-0264-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch => 950-0265-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch => 950-0266-overlays-Add-ssd1306-overlay-for-OLED-display.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0269-overlays-mcp23017-Support-the-MCP23008.patch => 950-0267-overlays-mcp23017-Support-the-MCP23008.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0270-overlays-Add-mcp342x-overlay.patch => 950-0268-overlays-Add-mcp342x-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0271-char-vcio-Add-compat-ioctl-handling.patch => 950-0269-char-vcio-Add-compat-ioctl-handling.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch => 950-0270-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch => 950-0271-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch => 950-0272-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch => 950-0273-staging-bcm2835-camera-Set-the-field-value-within-ea.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch => 950-0274-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0277-char-vc_mem-Fix-all-coding-style-issues.patch => 950-0275-char-vc_mem-Fix-all-coding-style-issues.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch => 950-0276-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch => 950-0277-mfd-Add-rpi_sense_core-of-compatible-string.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch => 950-0278-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch => 950-0279-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch => 950-0280-dtoverlays-Correct-DT-handling-camera-GPIOs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch => 950-0281-media-ov5647-Use-gpiod_set_value_cansleep.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch => 950-0282-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0285-audioinjector-octo-revert-to-dummy-supplies.patch => 950-0283-audioinjector-octo-revert-to-dummy-supplies.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch => 950-0284-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch => 950-0285-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch => 950-0286-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch => 950-0287-video-bcm2708_fb-Add-compat_ioctl-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch => 950-0288-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch => 950-0289-video-bcm2708_fb-Clean-up-coding-style-issues.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch => 950-0290-bcm2835-dma-Add-support-for-per-channel-flags.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch => 950-0291-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch => 950-0292-ASoC-pcm512x-Implement-the-digital_mute-interface.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch => 950-0293-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch => 950-0294-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch => 950-0295-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch => 950-0296-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch => 950-0297-staging-vc-sm-cma-Correct-DMA-configuration.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch => 950-0298-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch => 950-0299-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0302-configs-Enable-the-AD193x-codecs.patch => 950-0300-configs-Enable-the-AD193x-codecs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch => 950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch => 950-0302-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch => 950-0303-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch => 950-0304-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch => 950-0305-staging-mmal-vchiq-Always-return-the-param-size-from.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch => 950-0306-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch => 950-0307-staging-bcm2835_codec-Query-supported-formats-from-t.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch => 950-0308-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch => 950-0309-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch => 950-0310-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch => 950-0311-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch => 950-0312-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch => 950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch => 950-0314-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0317-Added-mute-stream-func.patch => 950-0315-Added-mute-stream-func.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch => 950-0316-lan78xx-EEE-support-is-now-a-PHY-property.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch => 950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch => 950-0318-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0321-vcsm-Remove-set-but-unused-variable.patch => 950-0319-vcsm-Remove-set-but-unused-variable.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0322-vcsm-Reduce-scope-of-local-functions.patch => 950-0320-vcsm-Reduce-scope-of-local-functions.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch => 950-0321-staging-bcm2835-codec-NULL-component-handle-on-queue.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch => 950-0322-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch => 950-0323-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch => 950-0324-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch => 950-0325-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch => 950-0326-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch => 950-0327-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch => 950-0328-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch => 950-0329-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch => 950-0330-bcm2835-mmc-Fix-DMA-channel-leak.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch => 950-0331-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch => 950-0332-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch => 950-0333-bcm2835-mmc-Handle-mmc_add_host-errors.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch => 950-0334-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch => 950-0335-overlays-Add-max17040-support-to-i2c-sensor.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch => 950-0336-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch => 950-0337-staging-bcm2835-codec-Refactor-default-resolution-co.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0340-nvmem-add-type-attribute.patch => 950-0338-nvmem-add-type-attribute.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0341-rtc-rv3028-add-new-driver.patch => 950-0339-rtc-rv3028-add-new-driver.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0342-overlays-Add-rv3028-to-i2c-rtc.patch => 950-0340-overlays-Add-rv3028-to-i2c-rtc.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch => 950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch => 950-0342-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch => 950-0343-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch => 950-0344-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch => 950-0345-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch => 950-0346-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch => 950-0347-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch => 950-0348-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch => 950-0349-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch => 950-0350-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch => 950-0351-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch => 950-0352-ASoC-tlv320aic32x4-Remove-mclk-references.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch => 950-0353-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch => 950-0354-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch => 950-0355-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch => 950-0356-ASoC-tlv320aic32x4-Change-author-s-name.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch => 950-0357-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch => 950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch => 950-0359-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch => 950-0360-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch => 950-0361-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch => 950-0362-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0365-Input-ili210x-add-DT-binding-document.patch => 950-0363-Input-ili210x-add-DT-binding-document.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch => 950-0364-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch => 950-0365-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch => 950-0366-rtc-rv3028-Add-backup-switchover-mode-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0369-dt-bindings-rv3028-backup-switchover-support.patch => 950-0367-dt-bindings-rv3028-backup-switchover-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch => 950-0368-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch => 950-0369-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch => 950-0370-sound-Fixes-for-audioinjector-octo-under-4.19.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0373-overlays-Add-PiGlow-overlay.patch => 950-0371-overlays-Add-PiGlow-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch => 950-0372-staging-bcm2835-audio-Clean-up-mutex-locks.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch => 950-0373-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch => 950-0374-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch => 950-0375-staging-bcm2835-audio-Remove-redundant-substream-mas.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch => 950-0376-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch => 950-0377-staging-bcm2835-audio-Remove-redundant-function-call.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch => 950-0378-staging-bcm2835-audio-Remove-superfluous-open-flag.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch => 950-0379-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch => 950-0380-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch => 950-0381-staging-bcm2835-audio-Kill-unused-spinlock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch => 950-0382-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch => 950-0383-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch => 950-0384-staging-bcm2835-audio-Drop-useless-NULL-check.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch => 950-0385-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch => 950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch => 950-0387-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch => 950-0388-staging-bcm2835-audio-Add-10ms-period-constraint.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch => 950-0389-staging-bcm2835-audio-Make-single-vchi-handle.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch => 950-0390-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch => 950-0391-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0394-staging-bcm2835-audio-Use-card-private_data.patch => 950-0392-staging-bcm2835-audio-Use-card-private_data.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch => 950-0393-staging-bcm2835-audio-Use-standard-error-print-helpe.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch => 950-0394-staging-bcm2835-audio-Remove-unnecessary-header-file.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch => 950-0395-staging-bcm2835-audio-Move-module-parameter-descript.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch => 950-0396-staging-bcm2835-audio-Use-coherent-device-buffers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch => 950-0397-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch => 950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch => 950-0399-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch => 950-0400-staging-bcm2835-audio-Simplify-card-object-managemen.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch => 950-0401-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch => 950-0402-staging-bcm2835-audio-don-t-initialize-memory-twice.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch => 950-0403-staging-bcm2835-audio-reorder-variable-declarations-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch => 950-0404-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch => 950-0405-staging-bcm2835-audio-more-generic-probe-function-na.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch => 950-0406-staging-bcm2835-audio-rename-platform_driver-structu.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0409-staging-bcm2835-audio-update-TODO.patch => 950-0407-staging-bcm2835-audio-update-TODO.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch => 950-0408-staging-bcm2835-audio-interpolate-audio-delay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0411-staging-bcm2835-audio-Enable-compile-test.patch => 950-0409-staging-bcm2835-audio-Enable-compile-test.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch => 950-0410-staging-bcm2835-audio-use-module_platform_driver-mac.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch => 950-0411-staging-bcm2835-audio-double-free-in-init-error-path.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0414-dts-Increase-default-coherent-pool-size.patch => 950-0412-dts-Increase-default-coherent-pool-size.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch => 950-0413-lan78xx-use-default-alignment-for-rx-buffers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch => 950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch => 950-0415-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch => 950-0416-staging-mmal-vchiq-Free-the-event-context-for-contro.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch => 950-0417-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch => 950-0418-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch => 950-0419-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch => 950-0420-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch => 950-0421-Added-IQaudIO-Pi-Codec-board-support-2969.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch => 950-0422-w1-ds2408-reset-on-output_write-retry-with-readback.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch => 950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch => 950-0424-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch => 950-0425-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0428-.gitignore-Add-.dtbo-explicitly.patch => 950-0426-.gitignore-Add-.dtbo-explicitly.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch => 950-0427-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch => 950-0428-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch => 950-0429-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch => 950-0430-overlays-Remove-upstream-aux-interrupt-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch => 950-0431-overlays-Standardise-on-compatible-brcm-bcm2835.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch => 950-0432-vc4-Remove-interrupt-and-DMA-trampling.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch => 950-0433-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch => 950-0434-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0437-overlays-Update-upstream-overlay.patch => 950-0435-overlays-Update-upstream-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch => 950-0436-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch => 950-0437-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch => 950-0438-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch => 950-0439-overlays-Fix-mmc-related-overlays-after-refactor.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0442-Fixed-48k-timing-issue.patch => 950-0440-Fixed-48k-timing-issue.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch => 950-0441-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch => 950-0442-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch => 950-0443-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch => 950-0444-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch => 950-0445-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch => 950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0449-staging-vc04_services-Use-correct-cache-line-size.patch => 950-0447-staging-vc04_services-Use-correct-cache-line-size.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0450-tty-amba-pl011-allow-shared-interrupt.patch => 950-0448-tty-amba-pl011-allow-shared-interrupt.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch => 950-0449-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch => 950-0450-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch => 950-0451-ARM-dts-Add-label-to-bcm2835-RNG.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch => 950-0452-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0455-BCM270X_DT-Minor-tidy-up.patch => 950-0453-BCM270X_DT-Minor-tidy-up.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch => 950-0454-arm-bcm2835-Fix-FIQ-early-ioremap.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch => 950-0455-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch => 950-0456-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch => 950-0457-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0460-PCI-brcmstb-Add-MSI-capability.patch => 950-0458-PCI-brcmstb-Add-MSI-capability.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch => 950-0459-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0462-pcie-brcmstb-Changes-for-BCM2711.patch => 950-0460-pcie-brcmstb-Changes-for-BCM2711.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch => 950-0461-arm-bcm2835-DMA-can-only-address-1GB.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch => 950-0462-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0465-mmc-sdhci-Mask-spurious-interrupts.patch => 950-0463-mmc-sdhci-Mask-spurious-interrupts.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch => 950-0464-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch => 950-0465-hwrng-iproc-rng200-Add-BCM2838-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch => 950-0466-thermal-brcmstb_thermal-Add-BCM2838-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0469-vchiq-Add-36-bit-address-support.patch => 950-0467-vchiq-Add-36-bit-address-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch => 950-0468-bcm2835-pcm.c-Support-multichannel-audio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0471-bcmgenet-constrain-max-DMA-burst-length.patch => 950-0469-bcmgenet-constrain-max-DMA-burst-length.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch => 950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch => 950-0471-net-genet-enable-link-energy-detect-powerdown-for-ex.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch => 950-0472-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch => 950-0473-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch => 950-0474-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch => 950-0475-usb-xhci-Disable-the-XHCI-5-second-timeout.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch => 950-0476-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0479-spi-bcm2835-enable-shared-interrupt-support.patch => 950-0477-spi-bcm2835-enable-shared-interrupt-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch => 950-0478-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch => 950-0479-clk-bcm2835-Don-t-wait-for-pllh-lock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch => 950-0480-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch => 950-0481-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch => 950-0482-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch => 950-0483-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch => 950-0484-soc-bcm-bcm2835-pm-Add-support-for-2711.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch => 950-0485-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch => 950-0486-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch => 950-0487-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch => 950-0488-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch => 950-0489-drm-v3d-Clean-up-the-reservation-object-setup.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch => 950-0490-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch => 950-0491-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch => 950-0492-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch => 950-0493-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch => 950-0494-drm-v3d-Drop-unused-v3d_flush_caches.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch => 950-0495-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch => 950-0496-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch => 950-0497-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch => 950-0498-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch => 950-0499-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch => 950-0500-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch => 950-0501-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch => 950-0502-drm-v3d-Add-support-for-V3D-v4.2.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch => 950-0503-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch => 950-0504-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0507-drm-v3d-Add-support-for-2711.patch => 950-0505-drm-v3d-Add-support-for-2711.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch => 950-0506-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch => 950-0507-drm-v3d-Hook-up-the-runtime-PM-ops.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch => 950-0508-drm-v3d-HACK-gut-runtime-pm-for-now.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch => 950-0509-drm-v3d-Update-to-upstream-IRQ-code.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch => 950-0510-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0513-drm-v3d-Refactor-job-management.patch => 950-0511-drm-v3d-Refactor-job-management.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0514-drm-v3d-Add-missing-implicit-synchronization.patch => 950-0512-drm-v3d-Add-missing-implicit-synchronization.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch => 950-0513-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch => 950-0514-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch => 950-0515-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch => 950-0516-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch => 950-0517-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch => 950-0518-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch => 950-0519-drm-vc4-Increase-max-screen-size-to-4096x4096.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch => 950-0520-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0523-drm-vc4-Fix-build-warning.patch => 950-0521-drm-vc4-Fix-build-warning.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch => 950-0522-drm-vc4-Select-display-to-blank-during-initialisatio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0525-drm-vc4-Remove-now-unused-structure.patch => 950-0523-drm-vc4-Remove-now-unused-structure.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch => 950-0524-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch => 950-0525-drm-vc4-Set-the-display-number-when-querying-the-dis.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch => 950-0526-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch => 950-0527-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch => 950-0528-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch => 950-0529-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch => 950-0530-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0533-drm-vc4-Increase-max_width-height-to-7680.patch => 950-0531-drm-vc4-Increase-max_width-height-to-7680.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch => 950-0532-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch => 950-0533-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch => 950-0534-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch => 950-0535-drm-v3d-Add-support-for-compute-shader-dispatch.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch => 950-0536-drm-v3d-Clock-V3D-down-when-not-in-use.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch => 950-0537-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch => 950-0538-drm-vc4-Log-flags-in-fkms-mode-set.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch => 950-0539-drm-vc4-firmware-kms-Fix-DSI-display-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch => 950-0540-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch => 950-0541-drm-vc4-handle-the-case-where-there-are-no-available.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch => 950-0542-drm-vc4-Support-the-VEC-in-FKMS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch => 950-0543-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch => 950-0544-drm-vc4-Correct-SAND-support-for-FKMS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch => 950-0545-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch => 950-0546-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch => 950-0547-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch => 950-0548-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0551-staging-vc-sm-cma-Update-TODO.patch => 950-0549-staging-vc-sm-cma-Update-TODO.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch => 950-0550-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch => 950-0551-staging-vcsm-cma-Add-cache-control-ioctls.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch => 950-0552-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch => 950-0553-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch => 950-0554-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch => 950-0555-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch => 950-0556-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch => 950-0557-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch => 950-0558-overlays-Add-i2c3-6-and-uart2-5-overlays.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch => 950-0559-spi-devicetree-add-overlays-for-spi-3-to-6.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch => 950-0560-overlays-Add-the-spi-gpio40-45-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch => 950-0561-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0564-2711-Add-basic-64-bit-support.patch => 950-0562-2711-Add-basic-64-bit-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch => 950-0563-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch => 950-0564-arm-dts-Change-downstream-vchiq-compatible-string.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch => 950-0565-bcm2835-dma-Add-proper-40-bit-DMA-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch => 950-0566-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch => 950-0567-SQUASH-bcm2835-dma-Remove-debugging.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0570-dts-Include-CSI-lane-config-for-csi1.patch => 950-0568-dts-Include-CSI-lane-config-for-csi1.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch => 950-0569-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch => 950-0570-bcm2711-dts-Disable-the-v3d-node-by-default.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch => 950-0571-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch => 950-0572-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch => 950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch => 950-0574-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch => 950-0575-drm-vc4-Add-status-of-which-display-is-updated-throu.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch => 950-0576-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch => 950-0577-arm-dts-Fix-Pi4-PWR-LED-configuration.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch => 950-0578-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch => 950-0579-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch => 950-0580-drm-vc4-Limit-fkms-to-modes-85Hz.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch => 950-0581-arm-bcm2835-Add-bcm2838-compatible-string.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch => 950-0582-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch => 950-0583-arm-dts-First-draft-of-upstream-Pi4-DTS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch => 950-0584-overlays-Fix-compatible-string-for-ds1307-RTC.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0587-overlays-Fix-further-maxim-ds1307-references.patch => 950-0585-overlays-Fix-further-maxim-ds1307-references.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch => 950-0586-overlays-Cosmetic-change-to-upstream-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch => 950-0587-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch => 950-0588-w1-ds2413-output_write-cosmetic-fixes-simplify.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0591-w1-ds2413-add-retry-support-to-state_read.patch => 950-0589-w1-ds2413-add-retry-support-to-state_read.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch => 950-0590-w1-ds2413-when-the-slave-is-not-responding-during-re.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0593-w1-ds2413-fix-state-byte-comparision.patch => 950-0591-w1-ds2413-fix-state-byte-comparision.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch => 950-0592-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch => 950-0593-video-bcm2708_fb-Revert-cma-allocation-attempt.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch => 950-0594-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch => 950-0595-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch => 950-0596-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch => 950-0597-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch => 950-0598-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch => 950-0599-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch => 950-0600-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch => 950-0601-media-vb2-set-reqbufs-create_bufs-capabilities.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch => 950-0602-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch => 950-0603-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch => 950-0604-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch => 950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch => 950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch => 950-0607-overlays-i2c-gpio-Fix-the-bus-parameter.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch => 950-0608-tty-amba-pl011-Make-TX-optimisation-conditional.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch => 950-0609-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch => 950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch => 950-0611-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0614-overlays-Add-PCF2129-RTC.patch => 950-0612-overlays-Add-PCF2129-RTC.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch => 950-0613-overlays-dpi18-and-dpi24-vc4-compatibility.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch => 950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch => 950-0615-Pisound-Remove-spinlock-usage-around-spi_sync.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch => 950-0616-arm64-mm-Limit-the-DMA-zone-for-arm64.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch => 950-0617-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch => 950-0618-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0621-overlays-audremap-Support-GPIOs-18-19.patch => 950-0619-overlays-audremap-Support-GPIOs-18-19.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch => 950-0620-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch => 950-0621-drm-connector-Clarify-the-unit-of-TV-margins.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch => 950-0622-drm-connector-Allow-creation-of-margin-props-alone.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch => 950-0623-drm-vc4-Take-margin-setup-into-account-when-updating.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch => 950-0624-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch => 950-0625-drm-vc4-Add-support-for-margins-to-fkms.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch => 950-0626-drm-vc4-Ensure-zpos-is-always-initialised.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch => 950-0627-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch => 950-0628-adds-the-Hifiberry-DAC-ADC-PRO-version.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0631-codecs-Correct-Katana-minimum-volume.patch => 950-0629-codecs-Correct-Katana-minimum-volume.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch => 950-0630-drm-vc4-A-present-but-empty-dmas-disables-audio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch => 950-0631-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0634-overlays-Update-the-upstream-overlay.patch => 950-0632-overlays-Update-the-upstream-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch => 950-0633-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch => 950-0634-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0637-driver-char-rpivid-also-support-legacy-name.patch => 950-0635-driver-char-rpivid-also-support-legacy-name.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch => 950-0636-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch => 950-0637-drm-vc4-Add-Broadcast-RGB-connector-property.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch => 950-0638-drm-connector-Add-documentation-for-drm_cmdline_mode.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0641-drm-modes-Rewrite-the-command-line-parser.patch => 950-0639-drm-modes-Rewrite-the-command-line-parser.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0642-drm-modes-Support-modes-names-on-the-command-line.patch => 950-0640-drm-modes-Support-modes-names-on-the-command-line.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch => 950-0641-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0644-drm-connector-Introduce-a-TV-margins-structure.patch => 950-0642-drm-connector-Introduce-a-TV-margins-structure.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0645-drm-modes-Parse-overscan-properties.patch => 950-0643-drm-modes-Parse-overscan-properties.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch => 950-0644-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch => 950-0645-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch => 950-0646-drm-vc4-fkms-Set-default-state-margin-at-reset.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch => 950-0647-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch => 950-0648-staging-bcm2835-codec-switch-to-multi-planar-API.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch => 950-0649-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch => 950-0650-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0653-Add-HDMI1-facility-to-the-driver.patch => 950-0651-Add-HDMI1-facility-to-the-driver.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch => 950-0652-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch => 950-0653-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0656-drm-vc4-Remove-unused-mode-variable.patch => 950-0654-drm-vc4-Remove-unused-mode-variable.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch => 950-0655-staging-bcm2835-codec-Expand-logging-on-format-setti.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch => 950-0656-staging-bcm2835-codec-Correct-bytesperline-on-format.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch => 950-0657-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch => 950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch => 950-0659-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch => 950-0660-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch => 950-0661-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch => 950-0662-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch => 950-0663-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch => 950-0664-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch => 950-0665-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0668-xhci-Use-more-event-ring-segment-table-entries.patch => 950-0666-xhci-Use-more-event-ring-segment-table-entries.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch => 950-0667-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch => 950-0668-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0671-configs-arm64-vcm2711-Enable-V3D.patch => 950-0669-configs-arm64-vcm2711-Enable-V3D.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch => 950-0670-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch => 950-0671-vc-sm-cma-Fix-compatibility-ioctl.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch => 950-0672-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch => 950-0673-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch => 950-0674-arm-dts-add-missing-Raspberry-Pi-model-names.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0677-arch-arm-Add-model-string-to-cpuinfo.patch => 950-0675-arch-arm-Add-model-string-to-cpuinfo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch => 950-0676-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch => 950-0677-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch => 950-0678-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch => 950-0679-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch => 950-0680-staging-bcm2835-codec-Fix-non-documentation-comment-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch => 950-0681-staging-bcm2835-codec-Fix-declaration-of-roles.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch => 950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch => 950-0683-staging-bcm2835-codec-Pass-driver-context-to-create-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0686-staging-bcm2835-codec-add-media-controller-support.patch => 950-0684-staging-bcm2835-codec-add-media-controller-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch => 950-0685-media-bcm2835-unicam-Reduce-scope-of-local-function.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0688-media-bcm2835-unicam-add-media-controller-support.patch => 950-0686-media-bcm2835-unicam-add-media-controller-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch => 950-0687-Limit-max_req_size-under-arm64-or-any-other-platform.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch => 950-0688-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch => 950-0689-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch => 950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch => 950-0691-v4l2-Add-a-Greyworld-AWB-mode.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch => 950-0692-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0695-PCI-brcmstb-Fix-compilation-warning.patch => 950-0693-PCI-brcmstb-Fix-compilation-warning.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch => 950-0694-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch => 950-0695-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch => 950-0696-staging-bcm2835-codec-Allow-height-of-1920.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch => 950-0697-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch => 950-0698-regulator-gpio-Allow-nonexclusive-GPIO-access.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch => 950-0699-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0702-Fix-poll-rate-on-touchscreen-3238.patch => 950-0700-Fix-poll-rate-on-touchscreen-3238.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch => 950-0701-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch => 950-0702-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch => 950-0703-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch => 950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch => 950-0705-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch => 950-0706-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch => 950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch => 950-0708-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch => 950-0709-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch => 950-0710-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch => 950-0711-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch => 950-0712-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch => 950-0713-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch => 950-0714-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch => 950-0715-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch => 950-0716-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch => 950-0717-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch => 950-0718-pinctrl-bcm2835-declare-pin-config-as-generic.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch => 950-0719-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch => 950-0720-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch => 950-0721-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch => 950-0722-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch => 950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0726-overlays-fix-compatible-for-RPi4.patch => 950-0724-overlays-fix-compatible-for-RPi4.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0727-bcm2711-Retain-support-for-old-dtbs.patch => 950-0725-bcm2711-Retain-support-for-old-dtbs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch => 950-0726-media-bcm2835-unicam-Add-support-for-raw14-formats.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch => 950-0727-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch => 950-0728-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch => 950-0729-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch => 950-0730-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch => 950-0731-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0734-drm-vc4-Add-support-for-H-V-flips.patch => 950-0732-drm-vc4-Add-support-for-H-V-flips.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch => 950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0736-overlays-Add-w5500-overlay.patch => 950-0734-overlays-Add-w5500-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch => 950-0735-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch => 950-0736-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch => 950-0737-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch => 950-0738-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch => 950-0739-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch => 950-0740-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch => 950-0741-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch => 950-0742-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch => 950-0743-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch => 950-0744-staging-bcm2835-codec-Set-default-and-error-check-ti.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch => 950-0745-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch => 950-0746-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch => 950-0747-rpi-poe-fan-fix-def_pwm1-writes.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch => 950-0748-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch => 950-0749-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0752-overlays-smi-fix-typo-in-comment-3320.patch => 950-0750-overlays-smi-fix-typo-in-comment-3320.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch => 950-0751-net-phy-2711-Change-the-default-ethernet-LED-actions.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0754-overlays-README-Remove-trailing-whitespace.patch => 950-0752-overlays-README-Remove-trailing-whitespace.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0755-overlays-Add-apds9960-overlay.patch => 950-0753-overlays-Add-apds9960-overlay.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch => 950-0754-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch => 950-0755-clk-bcm2835-Avoid-null-pointer-exception.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch => 950-0756-v3d_drv-Handle-missing-clock-more-gracefully.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch => 950-0757-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch => 950-0758-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch => 950-0759-cpufreq-add-driver-for-Raspberry-Pi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0762-firmware-raspberrypi-register-clk-device.patch => 950-0760-firmware-raspberrypi-register-clk-device.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch => 950-0761-clk-raspberrypi-register-platform-device-for-raspber.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0764-clk-bcm2835-remove-pllb.patch => 950-0762-clk-bcm2835-remove-pllb.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch => 950-0763-v3d_drv-Allow-clock-retrieval-by-name.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch => 950-0764-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch => 950-0765-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0768-clk-raspberrypi-Also-support-v3d-clock.patch => 950-0766-clk-raspberrypi-Also-support-v3d-clock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0769-clk-bcm2835-Disable-v3d-clock.patch => 950-0767-clk-bcm2835-Disable-v3d-clock.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch => 950-0768-fixup-clk-raspberrypi-Also-support-v3d-clock.patch} (100%) create mode 100644 target/linux/brcm2708/patches-4.19/950-0769-fixup-clk-raspberrypi-Also-support-v3d-clock.patch rename target/linux/brcm2708/patches-4.19/{950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch => 950-0770-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0774-arm-dts-Correct-Pi-4B-LED-values.patch => 950-0772-arm-dts-Correct-Pi-4B-LED-values.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch => 950-0773-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch} (100%) delete mode 100644 target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch rename target/linux/brcm2708/patches-4.19/{950-0776-arm-dts-2711-Add-pcie0-alias.patch => 950-0774-arm-dts-2711-Add-pcie0-alias.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0777-spidev-Completely-disable-the-DT-warning.patch => 950-0775-spidev-Completely-disable-the-DT-warning.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch => 950-0776-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch => 950-0777-sound-soc-only-first-codec-is-master-in-multicodec-s.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch => 950-0778-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch => 950-0779-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0782-overlays-Make-mcp342x-run-time-compatible.patch => 950-0780-overlays-Make-mcp342x-run-time-compatible.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0783-overlays-dht11-Allow-multiple-instantiation.patch => 950-0781-overlays-dht11-Allow-multiple-instantiation.patch} (100%) rename target/linux/brcm2708/patches-4.19/{950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch => 950-0782-overlays-i2c-rtc-Add-pcf85363-support.patch} (100%) create mode 100644 target/linux/brcm2708/patches-4.19/950-0783-pinctrl-bcm2835-Remove-gpiochip-on-error.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0784-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0785-Pisound-MIDI-communication-fixes-for-scaled-down-CPU.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0786-leds-pca963x-Fix-open-drain-initialization.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0787-add-BME680-to-i2c-sensor-overlay.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0788-dwc_otg-constrain-endpoint-max-packet-and-transfer-s.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0789-dwc_otg-fiq_fsm-pause-when-cancelling-split-transact.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0790-dwc_otg-fiq_fsm-add-a-barrier-on-entry-into-FIQ-hand.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0791-Add-universal-device-tree-overlay-for-SPI-devices.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0792-sound-Add-the-HiFiBerry-DAC-HD-version.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0793-Initialise-rpi-firmware-before-clk-bcm2835.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0794-Fix-master-mode-settings-of-HiFiBerry-DAC-ADC-PRO-ca.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0795-overlays-Use-preferred-compatible-strings.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0796-tty-amba-pl011-Add-un-throttle-support.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0797-Fix-i2c-pwm-pca9685a-overlay.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0798-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-PRO-sound-.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0799-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-sound-card.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0800-adds-LED-OFF-feature-to-HiFiBerry-DAC-DAC-PRO-sound-.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0802-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0803-ARM-dts-Declare-RPi-4B-SD-card-power-regulator.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0804-pcie-brcmstb-Bounce-buffer-support-is-for-BCM2711B0.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0805-bcm2838.dtsi-Use-BCM2711-PCIe-compatible-string.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0806-ARM-dts-Remove-bcm2838-rpi-4-b.dts.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0807-tty-amba-pl011-Avoid-rare-write-when-full-error.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0808-usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0809-overlays-Correct-the-eth_led-colour-assignments.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0810-overlays-Remove-hack-from-uart0-overlay.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0812-overlays-Add-ssd1306-spi-overlay-3440.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0813-overlays-Add-sh1106-spi-and-ssd1351-spi-overlays-344.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0814-overlays-dwc2-Increase-RX-FIFO-size.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0815-overlays-Fix-mcp23017-s-addr-parameter.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0816-overlays-fix-sh1106-spi-ssd1306-spi-and-ssd1351-spi-.patch create mode 100644 target/linux/brcm2708/patches-4.19/950-0817-Fix-a-sh1106-spi-ssd1306-spi-ssd1351-spi-overlays.patch diff --git a/target/linux/brcm2708/modules/sound.mk b/target/linux/brcm2708/modules/sound.mk index 16764d369d..b7da77b854 100644 --- a/target/linux/brcm2708/modules/sound.mk +++ b/target/linux/brcm2708/modules/sound.mk @@ -532,6 +532,33 @@ endef $(eval $(call KernelPackage,sound-soc-hifiberry-dacplusdsp)) +define KernelPackage/sound-soc-hifiberry-dacplushd + TITLE:=Support for HifiBerry DAC+HD + KCONFIG:= \ + CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD \ + CONFIG_SND_SOC_PCM179X \ + CONFIG_SND_SOC_PCM179X_I2C + FILES:= \ + $(LINUX_DIR)/drivers/clk/clk-hifiberry-dachd.ko \ + $(LINUX_DIR)/sound/soc/bcm/snd-soc-hifiberry-dacplushd.ko \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm179x-codec.ko \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm179x-i2c.ko + AUTOLOAD:=$(call AutoLoad,68,clk-hifiberry-dachd snd-soc-pcm179x-codec \ + snd-soc-pcm179x-i2c snd-soc-hifiberry-dacplushd) + DEPENDS:= \ + kmod-sound-soc-bcm2835-i2s \ + +kmod-i2c-bcm2835 \ + +kmod-regmap-i2c + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-hifiberry-dacplushd/description + This package contains support for HifiBerry DAC+HD +endef + +$(eval $(call KernelPackage,sound-soc-hifiberry-dacplushd)) + + define KernelPackage/sound-soc-hifiberry-dacplusadc-pro TITLE:=Support for HifiBerry DAC+ADC PRO KCONFIG:= \ @@ -704,6 +731,32 @@ endef $(eval $(call KernelPackage,sound-soc-i-sabe-q2m)) +define KernelPackage/sound-soc-justboom-both + TITLE:=Support for JustBoom DAC and Digi + KCONFIG:= \ + CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH \ + CONFIG_SND_SOC_PCM512x \ + CONFIG_SND_SOC_WM8804 + FILES:= \ + $(LINUX_DIR)/sound/soc/bcm/snd-soc-justboom-both.ko \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko + AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-wm8804 \ + snd-soc-justboom-both) + DEPENDS:= \ + kmod-sound-soc-bcm2835-i2s \ + +kmod-sound-soc-rpi-wm8804-soundcard \ + +kmod-i2c-bcm2835 + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-justboom-both/description + This package contains support for JustBoom DAC and Digi +endef + +$(eval $(call KernelPackage,sound-soc-justboom-both)) + + define KernelPackage/sound-soc-justboom-dac TITLE:=Support for JustBoom DAC KCONFIG:= \ diff --git a/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch b/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-Move-module-info-to-the-end.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch rename to target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-Move-module-info-to-the-end.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch b/target/linux/brcm2708/patches-4.19/950-0203-staging-vchiq_arm-Fix-platform-device-unregistration.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-platform-device-unregistration.patch rename to target/linux/brcm2708/patches-4.19/950-0203-staging-vchiq_arm-Fix-platform-device-unregistration.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch b/target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-camera-device-registration.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0205-staging-vchiq_arm-Fix-camera-device-registration.patch rename to target/linux/brcm2708/patches-4.19/950-0204-staging-vchiq_arm-Fix-camera-device-registration.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch b/target/linux/brcm2708/patches-4.19/950-0205-staging-bcm2835-camera-Provide-more-specific-probe-e.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch rename to target/linux/brcm2708/patches-4.19/950-0205-staging-bcm2835-camera-Provide-more-specific-probe-e.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Add-hint-about-possible-fault.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0207-staging-bcm2835-camera-Add-hint-about-possible-fault.patch rename to target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Add-hint-about-possible-fault.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch b/target/linux/brcm2708/patches-4.19/950-0207-staging-vchiq_arm-Improve-error-handling-on-loading-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0209-staging-vchiq_arm-Improve-error-handling-on-loading-.patch rename to target/linux/brcm2708/patches-4.19/950-0207-staging-vchiq_arm-Improve-error-handling-on-loading-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch b/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch rename to target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch b/target/linux/brcm2708/patches-4.19/950-0209-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch rename to target/linux/brcm2708/patches-4.19/950-0209-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch b/target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch rename to target/linux/brcm2708/patches-4.19/950-0210-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Return-early-on-errors.patch b/target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Return-early-on-errors.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Return-early-on-errors.patch rename to target/linux/brcm2708/patches-4.19/950-0211-staging-bcm2835-camera-Return-early-on-errors.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch b/target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Remove-dead-email-addresses.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Remove-dead-email-addresses.patch rename to target/linux/brcm2708/patches-4.19/950-0212-staging-bcm2835-camera-Remove-dead-email-addresses.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch b/target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Fix-comment-style-violations.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Fix-comment-style-violations.patch rename to target/linux/brcm2708/patches-4.19/950-0213-staging-bcm2835-camera-Fix-comment-style-violations.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch b/target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Fix-spacing-around-operators.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-spacing-around-operators.patch rename to target/linux/brcm2708/patches-4.19/950-0214-staging-bcm2835-camera-Fix-spacing-around-operators.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch b/target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Reduce-length-of-enum-names.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Reduce-length-of-enum-names.patch rename to target/linux/brcm2708/patches-4.19/950-0215-staging-bcm2835-camera-Reduce-length-of-enum-names.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch b/target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-multiple-line-dereference.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-multiple-line-dereference.patch rename to target/linux/brcm2708/patches-4.19/950-0216-staging-bcm2835-camera-Fix-multiple-line-dereference.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Fix-brace-style-issues.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-brace-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0217-staging-bcm2835-camera-Fix-brace-style-issues.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch b/target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch rename to target/linux/brcm2708/patches-4.19/950-0218-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch b/target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-logical-continuation-spli.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Fix-logical-continuation-spli.patch rename to target/linux/brcm2708/patches-4.19/950-0219-staging-bcm2835-camera-Fix-logical-continuation-spli.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch b/target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch rename to target/linux/brcm2708/patches-4.19/950-0220-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch b/target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Set-sequence-number-correctly.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Set-sequence-number-correctly.patch rename to target/linux/brcm2708/patches-4.19/950-0221-staging-bcm2835-camera-Set-sequence-number-correctly.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch b/target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch rename to target/linux/brcm2708/patches-4.19/950-0222-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch b/target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch rename to target/linux/brcm2708/patches-4.19/950-0223-staging-bcm2835-camera-Avoid-unneeded-internal-decla.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch b/target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch rename to target/linux/brcm2708/patches-4.19/950-0224-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch b/target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Unify-header-inclusion-define.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Unify-header-inclusion-define.patch rename to target/linux/brcm2708/patches-4.19/950-0225-staging-bcm2835-camera-Unify-header-inclusion-define.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch b/target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Fix-alignment-should-match-op.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-alignment-should-match-op.patch rename to target/linux/brcm2708/patches-4.19/950-0226-staging-bcm2835-camera-Fix-alignment-should-match-op.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch b/target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch rename to target/linux/brcm2708/patches-4.19/950-0227-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch b/target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch rename to target/linux/brcm2708/patches-4.19/950-0228-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch b/target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch rename to target/linux/brcm2708/patches-4.19/950-0229-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch b/target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0232-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch rename to target/linux/brcm2708/patches-4.19/950-0230-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch b/target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0233-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch rename to target/linux/brcm2708/patches-4.19/950-0231-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch b/target/linux/brcm2708/patches-4.19/950-0232-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0234-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch rename to target/linux/brcm2708/patches-4.19/950-0232-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch b/target/linux/brcm2708/patches-4.19/950-0233-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch rename to target/linux/brcm2708/patches-4.19/950-0233-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch b/target/linux/brcm2708/patches-4.19/950-0234-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch rename to target/linux/brcm2708/patches-4.19/950-0234-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0235-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch b/target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0238-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch rename to target/linux/brcm2708/patches-4.19/950-0236-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch b/target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Add-support-for-event-callbacks.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0239-staging-mmal-vchiq-Add-support-for-event-callbacks.patch rename to target/linux/brcm2708/patches-4.19/950-0237-staging-mmal-vchiq-Add-support-for-event-callbacks.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch b/target/linux/brcm2708/patches-4.19/950-0238-staging-vc04_services-Support-sending-data-to-MMAL-p.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Support-sending-data-to-MMAL-p.patch rename to target/linux/brcm2708/patches-4.19/950-0238-staging-vc04_services-Support-sending-data-to-MMAL-p.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch b/target/linux/brcm2708/patches-4.19/950-0239-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0241-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch rename to target/linux/brcm2708/patches-4.19/950-0239-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch b/target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Add-new-vc-sm-cma-driver.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Add-new-vc-sm-cma-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0240-staging-vc04_services-Add-new-vc-sm-cma-driver.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch b/target/linux/brcm2708/patches-4.19/950-0241-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0243-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch rename to target/linux/brcm2708/patches-4.19/950-0241-staging-vc-sm-cma-Fixup-driver-for-older-VCHI-APIs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch b/target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch rename to target/linux/brcm2708/patches-4.19/950-0242-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch b/target/linux/brcm2708/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0245-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch rename to target/linux/brcm2708/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch b/target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0246-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0244-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch b/target/linux/brcm2708/patches-4.19/950-0245-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0247-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch rename to target/linux/brcm2708/patches-4.19/950-0245-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch b/target/linux/brcm2708/patches-4.19/950-0246-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0248-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch rename to target/linux/brcm2708/patches-4.19/950-0246-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch b/target/linux/brcm2708/patches-4.19/950-0247-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0249-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch rename to target/linux/brcm2708/patches-4.19/950-0247-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch b/target/linux/brcm2708/patches-4.19/950-0248-tpm-Make-SECURITYFS-a-weak-dependency.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0250-tpm-Make-SECURITYFS-a-weak-dependency.patch rename to target/linux/brcm2708/patches-4.19/950-0248-tpm-Make-SECURITYFS-a-weak-dependency.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch b/target/linux/brcm2708/patches-4.19/950-0249-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0251-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch rename to target/linux/brcm2708/patches-4.19/950-0249-Add-overlay-for-SLB9760-Iridium-LetsTrust-TPM.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch b/target/linux/brcm2708/patches-4.19/950-0250-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0252-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch rename to target/linux/brcm2708/patches-4.19/950-0250-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch b/target/linux/brcm2708/patches-4.19/950-0251-overlays-Update-README-with-removal-of-lirc-rpi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0253-overlays-Update-README-with-removal-of-lirc-rpi.patch rename to target/linux/brcm2708/patches-4.19/950-0251-overlays-Update-README-with-removal-of-lirc-rpi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch b/target/linux/brcm2708/patches-4.19/950-0252-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0254-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch rename to target/linux/brcm2708/patches-4.19/950-0252-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch b/target/linux/brcm2708/patches-4.19/950-0253-gpio-ir-change-default-pull-configuration-to-up.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch rename to target/linux/brcm2708/patches-4.19/950-0253-gpio-ir-change-default-pull-configuration-to-up.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/target/linux/brcm2708/patches-4.19/950-0254-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0256-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch rename to target/linux/brcm2708/patches-4.19/950-0254-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch b/target/linux/brcm2708/patches-4.19/950-0255-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0257-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch rename to target/linux/brcm2708/patches-4.19/950-0255-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0256-arm64-dts-broadcom-Enable-fixups-for-overlays.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0258-arm64-dts-broadcom-Enable-fixups-for-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0256-arm64-dts-broadcom-Enable-fixups-for-overlays.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch b/target/linux/brcm2708/patches-4.19/950-0257-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0259-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch rename to target/linux/brcm2708/patches-4.19/950-0257-dtoverlays-fe-pi-audio-fix-sgtl5000-compatible-strin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0258-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0260-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0258-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/brcm2708/patches-4.19/950-0259-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch rename to target/linux/brcm2708/patches-4.19/950-0259-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch b/target/linux/brcm2708/patches-4.19/950-0260-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0262-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch rename to target/linux/brcm2708/patches-4.19/950-0260-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0261-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0263-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0261-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch b/target/linux/brcm2708/patches-4.19/950-0262-overlays-sdio-Add-enhanced-1-bit-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0264-overlays-sdio-Add-enhanced-1-bit-support.patch rename to target/linux/brcm2708/patches-4.19/950-0262-overlays-sdio-Add-enhanced-1-bit-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch b/target/linux/brcm2708/patches-4.19/950-0263-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0265-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch rename to target/linux/brcm2708/patches-4.19/950-0263-dwc_otg-fix-bug-with-port_addr-assignment-for-single.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch b/target/linux/brcm2708/patches-4.19/950-0264-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0266-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch rename to target/linux/brcm2708/patches-4.19/950-0264-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch b/target/linux/brcm2708/patches-4.19/950-0265-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0267-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch rename to target/linux/brcm2708/patches-4.19/950-0265-pwm-Send-a-uevent-on-the-pwmchip-device-upon-channel.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch b/target/linux/brcm2708/patches-4.19/950-0266-overlays-Add-ssd1306-overlay-for-OLED-display.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-ssd1306-overlay-for-OLED-display.patch rename to target/linux/brcm2708/patches-4.19/950-0266-overlays-Add-ssd1306-overlay-for-OLED-display.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0269-overlays-mcp23017-Support-the-MCP23008.patch b/target/linux/brcm2708/patches-4.19/950-0267-overlays-mcp23017-Support-the-MCP23008.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0269-overlays-mcp23017-Support-the-MCP23008.patch rename to target/linux/brcm2708/patches-4.19/950-0267-overlays-mcp23017-Support-the-MCP23008.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-mcp342x-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0268-overlays-Add-mcp342x-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0271-char-vcio-Add-compat-ioctl-handling.patch b/target/linux/brcm2708/patches-4.19/950-0269-char-vcio-Add-compat-ioctl-handling.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0271-char-vcio-Add-compat-ioctl-handling.patch rename to target/linux/brcm2708/patches-4.19/950-0269-char-vcio-Add-compat-ioctl-handling.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch b/target/linux/brcm2708/patches-4.19/950-0270-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0272-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch rename to target/linux/brcm2708/patches-4.19/950-0270-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch b/target/linux/brcm2708/patches-4.19/950-0271-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0273-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch rename to target/linux/brcm2708/patches-4.19/950-0271-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch b/target/linux/brcm2708/patches-4.19/950-0272-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0274-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch rename to target/linux/brcm2708/patches-4.19/950-0272-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch b/target/linux/brcm2708/patches-4.19/950-0273-staging-bcm2835-camera-Set-the-field-value-within-ea.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0275-staging-bcm2835-camera-Set-the-field-value-within-ea.patch rename to target/linux/brcm2708/patches-4.19/950-0273-staging-bcm2835-camera-Set-the-field-value-within-ea.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch b/target/linux/brcm2708/patches-4.19/950-0274-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0276-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch rename to target/linux/brcm2708/patches-4.19/950-0274-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0277-char-vc_mem-Fix-all-coding-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0275-char-vc_mem-Fix-all-coding-style-issues.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0277-char-vc_mem-Fix-all-coding-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0275-char-vc_mem-Fix-all-coding-style-issues.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/target/linux/brcm2708/patches-4.19/950-0276-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0278-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch rename to target/linux/brcm2708/patches-4.19/950-0276-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0277-mfd-Add-rpi_sense_core-of-compatible-string.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0279-mfd-Add-rpi_sense_core-of-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0277-mfd-Add-rpi_sense_core-of-compatible-string.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch b/target/linux/brcm2708/patches-4.19/950-0278-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0280-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch rename to target/linux/brcm2708/patches-4.19/950-0278-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch b/target/linux/brcm2708/patches-4.19/950-0279-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0281-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch rename to target/linux/brcm2708/patches-4.19/950-0279-input-rpi-ft5406-Clear-build-warning-on-64-bit-build.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch b/target/linux/brcm2708/patches-4.19/950-0280-dtoverlays-Correct-DT-handling-camera-GPIOs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0282-dtoverlays-Correct-DT-handling-camera-GPIOs.patch rename to target/linux/brcm2708/patches-4.19/950-0280-dtoverlays-Correct-DT-handling-camera-GPIOs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch b/target/linux/brcm2708/patches-4.19/950-0281-media-ov5647-Use-gpiod_set_value_cansleep.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0283-media-ov5647-Use-gpiod_set_value_cansleep.patch rename to target/linux/brcm2708/patches-4.19/950-0281-media-ov5647-Use-gpiod_set_value_cansleep.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch b/target/linux/brcm2708/patches-4.19/950-0282-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0284-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch rename to target/linux/brcm2708/patches-4.19/950-0282-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0285-audioinjector-octo-revert-to-dummy-supplies.patch b/target/linux/brcm2708/patches-4.19/950-0283-audioinjector-octo-revert-to-dummy-supplies.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0285-audioinjector-octo-revert-to-dummy-supplies.patch rename to target/linux/brcm2708/patches-4.19/950-0283-audioinjector-octo-revert-to-dummy-supplies.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch b/target/linux/brcm2708/patches-4.19/950-0284-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch rename to target/linux/brcm2708/patches-4.19/950-0284-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch b/target/linux/brcm2708/patches-4.19/950-0285-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0287-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch rename to target/linux/brcm2708/patches-4.19/950-0285-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch b/target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0288-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch rename to target/linux/brcm2708/patches-4.19/950-0286-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch b/target/linux/brcm2708/patches-4.19/950-0287-video-bcm2708_fb-Add-compat_ioctl-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Add-compat_ioctl-support.patch rename to target/linux/brcm2708/patches-4.19/950-0287-video-bcm2708_fb-Add-compat_ioctl-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch b/target/linux/brcm2708/patches-4.19/950-0288-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0290-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0288-video-bcm2708_fb-Fix-warnings-on-64-bit-builds.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch b/target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Clean-up-coding-style-issues.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0291-video-bcm2708_fb-Clean-up-coding-style-issues.patch rename to target/linux/brcm2708/patches-4.19/950-0289-video-bcm2708_fb-Clean-up-coding-style-issues.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch b/target/linux/brcm2708/patches-4.19/950-0290-bcm2835-dma-Add-support-for-per-channel-flags.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0292-bcm2835-dma-Add-support-for-per-channel-flags.patch rename to target/linux/brcm2708/patches-4.19/950-0290-bcm2835-dma-Add-support-for-per-channel-flags.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0291-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0293-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0291-bcm283x-Set-the-DISDEBUG-flag-for-SD-transfers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch b/target/linux/brcm2708/patches-4.19/950-0292-ASoC-pcm512x-Implement-the-digital_mute-interface.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0294-ASoC-pcm512x-Implement-the-digital_mute-interface.patch rename to target/linux/brcm2708/patches-4.19/950-0292-ASoC-pcm512x-Implement-the-digital_mute-interface.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch b/target/linux/brcm2708/patches-4.19/950-0293-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0295-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch rename to target/linux/brcm2708/patches-4.19/950-0293-ASoC-pcm512x-Fix-a-double-unlock-in-pcm512x_digital_.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch b/target/linux/brcm2708/patches-4.19/950-0294-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0296-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch rename to target/linux/brcm2708/patches-4.19/950-0294-usb-dwc_otg-Clean-up-build-warnings-on-64bit-kernels.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch b/target/linux/brcm2708/patches-4.19/950-0295-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0297-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch rename to target/linux/brcm2708/patches-4.19/950-0295-usb-dwc_otg-Use-dma-allocation-for-mphi-dummy_send-b.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch b/target/linux/brcm2708/patches-4.19/950-0296-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0298-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch rename to target/linux/brcm2708/patches-4.19/950-0296-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch b/target/linux/brcm2708/patches-4.19/950-0297-staging-vc-sm-cma-Correct-DMA-configuration.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Correct-DMA-configuration.patch rename to target/linux/brcm2708/patches-4.19/950-0297-staging-vc-sm-cma-Correct-DMA-configuration.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch b/target/linux/brcm2708/patches-4.19/950-0298-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0300-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch rename to target/linux/brcm2708/patches-4.19/950-0298-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch b/target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0301-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0299-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0302-configs-Enable-the-AD193x-codecs.patch b/target/linux/brcm2708/patches-4.19/950-0300-configs-Enable-the-AD193x-codecs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0302-configs-Enable-the-AD193x-codecs.patch rename to target/linux/brcm2708/patches-4.19/950-0300-configs-Enable-the-AD193x-codecs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch b/target/linux/brcm2708/patches-4.19/950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0303-overlays-balenaFin-v1.1.0-carrier-board-update.patch rename to target/linux/brcm2708/patches-4.19/950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch b/target/linux/brcm2708/patches-4.19/950-0302-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0304-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch rename to target/linux/brcm2708/patches-4.19/950-0302-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch b/target/linux/brcm2708/patches-4.19/950-0303-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0305-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch rename to target/linux/brcm2708/patches-4.19/950-0303-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch b/target/linux/brcm2708/patches-4.19/950-0304-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0306-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch rename to target/linux/brcm2708/patches-4.19/950-0304-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch b/target/linux/brcm2708/patches-4.19/950-0305-staging-mmal-vchiq-Always-return-the-param-size-from.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0307-staging-mmal-vchiq-Always-return-the-param-size-from.patch rename to target/linux/brcm2708/patches-4.19/950-0305-staging-mmal-vchiq-Always-return-the-param-size-from.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch b/target/linux/brcm2708/patches-4.19/950-0306-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0308-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch rename to target/linux/brcm2708/patches-4.19/950-0306-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch b/target/linux/brcm2708/patches-4.19/950-0307-staging-bcm2835_codec-Query-supported-formats-from-t.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Query-supported-formats-from-t.patch rename to target/linux/brcm2708/patches-4.19/950-0307-staging-bcm2835_codec-Query-supported-formats-from-t.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch b/target/linux/brcm2708/patches-4.19/950-0308-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch rename to target/linux/brcm2708/patches-4.19/950-0308-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch b/target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0311-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch rename to target/linux/brcm2708/patches-4.19/950-0309-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch b/target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch rename to target/linux/brcm2708/patches-4.19/950-0310-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch b/target/linux/brcm2708/patches-4.19/950-0311-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0313-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch rename to target/linux/brcm2708/patches-4.19/950-0311-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch b/target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0314-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch rename to target/linux/brcm2708/patches-4.19/950-0312-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch b/target/linux/brcm2708/patches-4.19/950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0315-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch rename to target/linux/brcm2708/patches-4.19/950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch b/target/linux/brcm2708/patches-4.19/950-0314-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0316-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch rename to target/linux/brcm2708/patches-4.19/950-0314-Fix-for-Pisound-kernel-module-in-Real-Time-kernel-co.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0317-Added-mute-stream-func.patch b/target/linux/brcm2708/patches-4.19/950-0315-Added-mute-stream-func.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0317-Added-mute-stream-func.patch rename to target/linux/brcm2708/patches-4.19/950-0315-Added-mute-stream-func.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch b/target/linux/brcm2708/patches-4.19/950-0316-lan78xx-EEE-support-is-now-a-PHY-property.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch rename to target/linux/brcm2708/patches-4.19/950-0316-lan78xx-EEE-support-is-now-a-PHY-property.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch b/target/linux/brcm2708/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0319-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch rename to target/linux/brcm2708/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch b/target/linux/brcm2708/patches-4.19/950-0318-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0320-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch rename to target/linux/brcm2708/patches-4.19/950-0318-vcsm-Fix-makefile-include-on-out-of-tree-builds.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0321-vcsm-Remove-set-but-unused-variable.patch b/target/linux/brcm2708/patches-4.19/950-0319-vcsm-Remove-set-but-unused-variable.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0321-vcsm-Remove-set-but-unused-variable.patch rename to target/linux/brcm2708/patches-4.19/950-0319-vcsm-Remove-set-but-unused-variable.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0322-vcsm-Reduce-scope-of-local-functions.patch b/target/linux/brcm2708/patches-4.19/950-0320-vcsm-Reduce-scope-of-local-functions.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0322-vcsm-Reduce-scope-of-local-functions.patch rename to target/linux/brcm2708/patches-4.19/950-0320-vcsm-Reduce-scope-of-local-functions.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch b/target/linux/brcm2708/patches-4.19/950-0321-staging-bcm2835-codec-NULL-component-handle-on-queue.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0323-staging-bcm2835-codec-NULL-component-handle-on-queue.patch rename to target/linux/brcm2708/patches-4.19/950-0321-staging-bcm2835-codec-NULL-component-handle-on-queue.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch b/target/linux/brcm2708/patches-4.19/950-0322-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch rename to target/linux/brcm2708/patches-4.19/950-0322-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch b/target/linux/brcm2708/patches-4.19/950-0323-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch rename to target/linux/brcm2708/patches-4.19/950-0323-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch b/target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0326-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch rename to target/linux/brcm2708/patches-4.19/950-0324-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch b/target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0327-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch rename to target/linux/brcm2708/patches-4.19/950-0325-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch b/target/linux/brcm2708/patches-4.19/950-0326-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0328-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch rename to target/linux/brcm2708/patches-4.19/950-0326-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch b/target/linux/brcm2708/patches-4.19/950-0327-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0329-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch rename to target/linux/brcm2708/patches-4.19/950-0327-bcm2835-sdhost-Allow-for-sg-entries-that-cross-pages.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch b/target/linux/brcm2708/patches-4.19/950-0328-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0330-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch rename to target/linux/brcm2708/patches-4.19/950-0328-overlays-sdio-Added-4-bit-support-on-GPIOs-34-39.-29.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch b/target/linux/brcm2708/patches-4.19/950-0329-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0331-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch rename to target/linux/brcm2708/patches-4.19/950-0329-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch b/target/linux/brcm2708/patches-4.19/950-0330-bcm2835-mmc-Fix-DMA-channel-leak.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-DMA-channel-leak.patch rename to target/linux/brcm2708/patches-4.19/950-0330-bcm2835-mmc-Fix-DMA-channel-leak.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch b/target/linux/brcm2708/patches-4.19/950-0331-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch rename to target/linux/brcm2708/patches-4.19/950-0331-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch b/target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch rename to target/linux/brcm2708/patches-4.19/950-0332-bcm2835-mmc-Fix-duplicate-free_irq-on-remove.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch b/target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Handle-mmc_add_host-errors.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0335-bcm2835-mmc-Handle-mmc_add_host-errors.patch rename to target/linux/brcm2708/patches-4.19/950-0333-bcm2835-mmc-Handle-mmc_add_host-errors.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch b/target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0336-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch rename to target/linux/brcm2708/patches-4.19/950-0334-bcm2835-mmc-Deduplicate-reset-of-driver-data-on-remo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch b/target/linux/brcm2708/patches-4.19/950-0335-overlays-Add-max17040-support-to-i2c-sensor.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0337-overlays-Add-max17040-support-to-i2c-sensor.patch rename to target/linux/brcm2708/patches-4.19/950-0335-overlays-Add-max17040-support-to-i2c-sensor.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch b/target/linux/brcm2708/patches-4.19/950-0336-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0338-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch rename to target/linux/brcm2708/patches-4.19/950-0336-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch b/target/linux/brcm2708/patches-4.19/950-0337-staging-bcm2835-codec-Refactor-default-resolution-co.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0339-staging-bcm2835-codec-Refactor-default-resolution-co.patch rename to target/linux/brcm2708/patches-4.19/950-0337-staging-bcm2835-codec-Refactor-default-resolution-co.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0340-nvmem-add-type-attribute.patch b/target/linux/brcm2708/patches-4.19/950-0338-nvmem-add-type-attribute.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0340-nvmem-add-type-attribute.patch rename to target/linux/brcm2708/patches-4.19/950-0338-nvmem-add-type-attribute.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0341-rtc-rv3028-add-new-driver.patch b/target/linux/brcm2708/patches-4.19/950-0339-rtc-rv3028-add-new-driver.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0341-rtc-rv3028-add-new-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0339-rtc-rv3028-add-new-driver.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0342-overlays-Add-rv3028-to-i2c-rtc.patch b/target/linux/brcm2708/patches-4.19/950-0340-overlays-Add-rv3028-to-i2c-rtc.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0342-overlays-Add-rv3028-to-i2c-rtc.patch rename to target/linux/brcm2708/patches-4.19/950-0340-overlays-Add-rv3028-to-i2c-rtc.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch b/target/linux/brcm2708/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch rename to target/linux/brcm2708/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch b/target/linux/brcm2708/patches-4.19/950-0342-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch rename to target/linux/brcm2708/patches-4.19/950-0342-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch b/target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch rename to target/linux/brcm2708/patches-4.19/950-0343-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0344-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0345-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0346-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0347-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0348-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch b/target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch rename to target/linux/brcm2708/patches-4.19/950-0349-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch b/target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch rename to target/linux/brcm2708/patches-4.19/950-0350-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch b/target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch rename to target/linux/brcm2708/patches-4.19/950-0351-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch b/target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Remove-mclk-references.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Remove-mclk-references.patch rename to target/linux/brcm2708/patches-4.19/950-0352-ASoC-tlv320aic32x4-Remove-mclk-references.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch b/target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0355-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch rename to target/linux/brcm2708/patches-4.19/950-0353-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch b/target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0354-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0355-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0357-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0355-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch b/target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Change-author-s-name.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Change-author-s-name.patch rename to target/linux/brcm2708/patches-4.19/950-0356-ASoC-tlv320aic32x4-Change-author-s-name.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch b/target/linux/brcm2708/patches-4.19/950-0357-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch rename to target/linux/brcm2708/patches-4.19/950-0357-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch b/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0360-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch rename to target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch b/target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0361-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch rename to target/linux/brcm2708/patches-4.19/950-0359-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch b/target/linux/brcm2708/patches-4.19/950-0360-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0362-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch rename to target/linux/brcm2708/patches-4.19/950-0360-dtoverlays-Add-Support-for-the-UDRC-DRAWS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch b/target/linux/brcm2708/patches-4.19/950-0361-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0363-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch rename to target/linux/brcm2708/patches-4.19/950-0361-dwc_otg-only-do_split-when-we-actually-need-to-do-a-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch b/target/linux/brcm2708/patches-4.19/950-0362-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0364-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch rename to target/linux/brcm2708/patches-4.19/950-0362-Input-ili210x-fetch-touchscreen-geometry-from-DT.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0365-Input-ili210x-add-DT-binding-document.patch b/target/linux/brcm2708/patches-4.19/950-0363-Input-ili210x-add-DT-binding-document.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0365-Input-ili210x-add-DT-binding-document.patch rename to target/linux/brcm2708/patches-4.19/950-0363-Input-ili210x-add-DT-binding-document.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch b/target/linux/brcm2708/patches-4.19/950-0364-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0366-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch rename to target/linux/brcm2708/patches-4.19/950-0364-BCM2708-Add-core-Device-Tree-support-ilitek251x.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch b/target/linux/brcm2708/patches-4.19/950-0365-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0367-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch rename to target/linux/brcm2708/patches-4.19/950-0365-dwc_otg-fix-locking-around-dequeueing-and-killing-UR.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch b/target/linux/brcm2708/patches-4.19/950-0366-rtc-rv3028-Add-backup-switchover-mode-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0368-rtc-rv3028-Add-backup-switchover-mode-support.patch rename to target/linux/brcm2708/patches-4.19/950-0366-rtc-rv3028-Add-backup-switchover-mode-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0369-dt-bindings-rv3028-backup-switchover-support.patch b/target/linux/brcm2708/patches-4.19/950-0367-dt-bindings-rv3028-backup-switchover-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0369-dt-bindings-rv3028-backup-switchover-support.patch rename to target/linux/brcm2708/patches-4.19/950-0367-dt-bindings-rv3028-backup-switchover-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch b/target/linux/brcm2708/patches-4.19/950-0368-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0370-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch rename to target/linux/brcm2708/patches-4.19/950-0368-overlays-Add-rv3028-backup-switchover-support-to-i2c.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch b/target/linux/brcm2708/patches-4.19/950-0369-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0371-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch rename to target/linux/brcm2708/patches-4.19/950-0369-Maxim-MAX98357A-I2S-DAC-overlay-2935.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0370-sound-Fixes-for-audioinjector-octo-under-4.19.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0372-sound-Fixes-for-audioinjector-octo-under-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0370-sound-Fixes-for-audioinjector-octo-under-4.19.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0373-overlays-Add-PiGlow-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0371-overlays-Add-PiGlow-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0373-overlays-Add-PiGlow-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0371-overlays-Add-PiGlow-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch b/target/linux/brcm2708/patches-4.19/950-0372-staging-bcm2835-audio-Clean-up-mutex-locks.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-mutex-locks.patch rename to target/linux/brcm2708/patches-4.19/950-0372-staging-bcm2835-audio-Clean-up-mutex-locks.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch b/target/linux/brcm2708/patches-4.19/950-0373-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch rename to target/linux/brcm2708/patches-4.19/950-0373-staging-bcm2835-audio-Remove-redundant-spdif-stream-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch b/target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch rename to target/linux/brcm2708/patches-4.19/950-0374-staging-bcm2835-audio-Clean-up-include-files-in-bcm2.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch b/target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-substream-mas.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-substream-mas.patch rename to target/linux/brcm2708/patches-4.19/950-0375-staging-bcm2835-audio-Remove-redundant-substream-mas.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch b/target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch rename to target/linux/brcm2708/patches-4.19/950-0376-staging-bcm2835-audio-Fix-mute-controls-volume-handl.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch b/target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-function-call.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Remove-redundant-function-call.patch rename to target/linux/brcm2708/patches-4.19/950-0377-staging-bcm2835-audio-Remove-redundant-function-call.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch b/target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Remove-superfluous-open-flag.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Remove-superfluous-open-flag.patch rename to target/linux/brcm2708/patches-4.19/950-0378-staging-bcm2835-audio-Remove-superfluous-open-flag.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch b/target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch rename to target/linux/brcm2708/patches-4.19/950-0379-staging-bcm2835-audio-Drop-useless-running-flag-and-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch b/target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch rename to target/linux/brcm2708/patches-4.19/950-0380-staging-bcm2835-audio-Fix-incorrect-draining-handlin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch b/target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Kill-unused-spinlock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Kill-unused-spinlock.patch rename to target/linux/brcm2708/patches-4.19/950-0381-staging-bcm2835-audio-Kill-unused-spinlock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch b/target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch rename to target/linux/brcm2708/patches-4.19/950-0382-staging-bcm2835-audio-Use-PCM-runtime-values-instead.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch b/target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch rename to target/linux/brcm2708/patches-4.19/950-0383-staging-bcm2835-audio-Drop-unnecessary-pcm-indirect-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch b/target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Drop-useless-NULL-check.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-useless-NULL-check.patch rename to target/linux/brcm2708/patches-4.19/950-0384-staging-bcm2835-audio-Drop-useless-NULL-check.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch b/target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch rename to target/linux/brcm2708/patches-4.19/950-0385-staging-bcm2835-audio-Propagate-parameter-setup-erro.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0386-staging-bcm2835-audio-Drop-debug-messages-in-bcm2835.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch b/target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch rename to target/linux/brcm2708/patches-4.19/950-0387-staging-bcm2835-audio-Drop-superfluous-mutex-lock-du.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch b/target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Add-10ms-period-constraint.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Add-10ms-period-constraint.patch rename to target/linux/brcm2708/patches-4.19/950-0388-staging-bcm2835-audio-Add-10ms-period-constraint.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch b/target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Make-single-vchi-handle.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Make-single-vchi-handle.patch rename to target/linux/brcm2708/patches-4.19/950-0389-staging-bcm2835-audio-Make-single-vchi-handle.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch b/target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch rename to target/linux/brcm2708/patches-4.19/950-0390-staging-bcm2835-audio-Code-refactoring-of-vchiq-acce.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch b/target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch rename to target/linux/brcm2708/patches-4.19/950-0391-staging-bcm2835-audio-Operate-non-atomic-PCM-ops.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Use-card-private_data.patch b/target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Use-card-private_data.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Use-card-private_data.patch rename to target/linux/brcm2708/patches-4.19/950-0392-staging-bcm2835-audio-Use-card-private_data.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch b/target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Use-standard-error-print-helpe.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Use-standard-error-print-helpe.patch rename to target/linux/brcm2708/patches-4.19/950-0393-staging-bcm2835-audio-Use-standard-error-print-helpe.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch b/target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Remove-unnecessary-header-file.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Remove-unnecessary-header-file.patch rename to target/linux/brcm2708/patches-4.19/950-0394-staging-bcm2835-audio-Remove-unnecessary-header-file.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch b/target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Move-module-parameter-descript.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Move-module-parameter-descript.patch rename to target/linux/brcm2708/patches-4.19/950-0395-staging-bcm2835-audio-Move-module-parameter-descript.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Use-coherent-device-buffers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Use-coherent-device-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0396-staging-bcm2835-audio-Use-coherent-device-buffers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch b/target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch rename to target/linux/brcm2708/patches-4.19/950-0397-staging-bcm2835-audio-Set-SNDRV_PCM_INFO_SYNC_APPLPT.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch b/target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch rename to target/linux/brcm2708/patches-4.19/950-0398-staging-bcm2835-audio-Simplify-PCM-creation-helpers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch b/target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch rename to target/linux/brcm2708/patches-4.19/950-0399-staging-bcm2835-audio-Simplify-kctl-creation-helpers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch b/target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-card-object-managemen.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-Simplify-card-object-managemen.patch rename to target/linux/brcm2708/patches-4.19/950-0400-staging-bcm2835-audio-Simplify-card-object-managemen.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch b/target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch rename to target/linux/brcm2708/patches-4.19/950-0401-staging-bcm2835-audio-unify-FOURCC-command-definitio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch b/target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-don-t-initialize-memory-twice.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-don-t-initialize-memory-twice.patch rename to target/linux/brcm2708/patches-4.19/950-0402-staging-bcm2835-audio-don-t-initialize-memory-twice.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch b/target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-reorder-variable-declarations-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-reorder-variable-declarations-.patch rename to target/linux/brcm2708/patches-4.19/950-0403-staging-bcm2835-audio-reorder-variable-declarations-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch b/target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch rename to target/linux/brcm2708/patches-4.19/950-0404-staging-bcm2835-audio-use-anonymous-union-in-struct-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch b/target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-more-generic-probe-function-na.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-more-generic-probe-function-na.patch rename to target/linux/brcm2708/patches-4.19/950-0405-staging-bcm2835-audio-more-generic-probe-function-na.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch b/target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-rename-platform_driver-structu.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-rename-platform_driver-structu.patch rename to target/linux/brcm2708/patches-4.19/950-0406-staging-bcm2835-audio-rename-platform_driver-structu.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-update-TODO.patch b/target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-update-TODO.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-update-TODO.patch rename to target/linux/brcm2708/patches-4.19/950-0407-staging-bcm2835-audio-update-TODO.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-interpolate-audio-delay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-interpolate-audio-delay.patch rename to target/linux/brcm2708/patches-4.19/950-0408-staging-bcm2835-audio-interpolate-audio-delay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-Enable-compile-test.patch b/target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-Enable-compile-test.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-Enable-compile-test.patch rename to target/linux/brcm2708/patches-4.19/950-0409-staging-bcm2835-audio-Enable-compile-test.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch b/target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-use-module_platform_driver-mac.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0412-staging-bcm2835-audio-use-module_platform_driver-mac.patch rename to target/linux/brcm2708/patches-4.19/950-0410-staging-bcm2835-audio-use-module_platform_driver-mac.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch b/target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-double-free-in-init-error-path.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0413-staging-bcm2835-audio-double-free-in-init-error-path.patch rename to target/linux/brcm2708/patches-4.19/950-0411-staging-bcm2835-audio-double-free-in-init-error-path.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0414-dts-Increase-default-coherent-pool-size.patch b/target/linux/brcm2708/patches-4.19/950-0412-dts-Increase-default-coherent-pool-size.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0414-dts-Increase-default-coherent-pool-size.patch rename to target/linux/brcm2708/patches-4.19/950-0412-dts-Increase-default-coherent-pool-size.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0413-lan78xx-use-default-alignment-for-rx-buffers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0413-lan78xx-use-default-alignment-for-rx-buffers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch b/target/linux/brcm2708/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0416-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch rename to target/linux/brcm2708/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch b/target/linux/brcm2708/patches-4.19/950-0415-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0417-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch rename to target/linux/brcm2708/patches-4.19/950-0415-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch b/target/linux/brcm2708/patches-4.19/950-0416-staging-mmal-vchiq-Free-the-event-context-for-contro.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0418-staging-mmal-vchiq-Free-the-event-context-for-contro.patch rename to target/linux/brcm2708/patches-4.19/950-0416-staging-mmal-vchiq-Free-the-event-context-for-contro.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch b/target/linux/brcm2708/patches-4.19/950-0417-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0419-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch rename to target/linux/brcm2708/patches-4.19/950-0417-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch b/target/linux/brcm2708/patches-4.19/950-0418-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0420-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch rename to target/linux/brcm2708/patches-4.19/950-0418-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch b/target/linux/brcm2708/patches-4.19/950-0419-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0421-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch rename to target/linux/brcm2708/patches-4.19/950-0419-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch b/target/linux/brcm2708/patches-4.19/950-0420-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0422-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch rename to target/linux/brcm2708/patches-4.19/950-0420-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch b/target/linux/brcm2708/patches-4.19/950-0421-Added-IQaudIO-Pi-Codec-board-support-2969.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0423-Added-IQaudIO-Pi-Codec-board-support-2969.patch rename to target/linux/brcm2708/patches-4.19/950-0421-Added-IQaudIO-Pi-Codec-board-support-2969.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch b/target/linux/brcm2708/patches-4.19/950-0422-w1-ds2408-reset-on-output_write-retry-with-readback.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0424-w1-ds2408-reset-on-output_write-retry-with-readback.patch rename to target/linux/brcm2708/patches-4.19/950-0422-w1-ds2408-reset-on-output_write-retry-with-readback.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch b/target/linux/brcm2708/patches-4.19/950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0425-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch rename to target/linux/brcm2708/patches-4.19/950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch b/target/linux/brcm2708/patches-4.19/950-0424-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0426-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch rename to target/linux/brcm2708/patches-4.19/950-0424-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch b/target/linux/brcm2708/patches-4.19/950-0425-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0427-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch rename to target/linux/brcm2708/patches-4.19/950-0425-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0428-.gitignore-Add-.dtbo-explicitly.patch b/target/linux/brcm2708/patches-4.19/950-0426-.gitignore-Add-.dtbo-explicitly.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0428-.gitignore-Add-.dtbo-explicitly.patch rename to target/linux/brcm2708/patches-4.19/950-0426-.gitignore-Add-.dtbo-explicitly.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch b/target/linux/brcm2708/patches-4.19/950-0427-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0429-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch rename to target/linux/brcm2708/patches-4.19/950-0427-Bluetooth-Check-key-sizes-only-when-Secure-Simple-Pa.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch b/target/linux/brcm2708/patches-4.19/950-0428-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0430-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch rename to target/linux/brcm2708/patches-4.19/950-0428-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0429-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0431-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0429-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0430-overlays-Remove-upstream-aux-interrupt-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0432-overlays-Remove-upstream-aux-interrupt-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0430-overlays-Remove-upstream-aux-interrupt-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0431-overlays-Standardise-on-compatible-brcm-bcm2835.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0433-overlays-Standardise-on-compatible-brcm-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0431-overlays-Standardise-on-compatible-brcm-bcm2835.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch b/target/linux/brcm2708/patches-4.19/950-0432-vc4-Remove-interrupt-and-DMA-trampling.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0434-vc4-Remove-interrupt-and-DMA-trampling.patch rename to target/linux/brcm2708/patches-4.19/950-0432-vc4-Remove-interrupt-and-DMA-trampling.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch b/target/linux/brcm2708/patches-4.19/950-0433-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0435-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch rename to target/linux/brcm2708/patches-4.19/950-0433-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0434-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0436-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0434-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0437-overlays-Update-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0435-overlays-Update-upstream-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0437-overlays-Update-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0435-overlays-Update-upstream-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch b/target/linux/brcm2708/patches-4.19/950-0436-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0438-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch rename to target/linux/brcm2708/patches-4.19/950-0436-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch b/target/linux/brcm2708/patches-4.19/950-0437-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0439-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch rename to target/linux/brcm2708/patches-4.19/950-0437-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch b/target/linux/brcm2708/patches-4.19/950-0438-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0440-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch rename to target/linux/brcm2708/patches-4.19/950-0438-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch b/target/linux/brcm2708/patches-4.19/950-0439-overlays-Fix-mmc-related-overlays-after-refactor.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0441-overlays-Fix-mmc-related-overlays-after-refactor.patch rename to target/linux/brcm2708/patches-4.19/950-0439-overlays-Fix-mmc-related-overlays-after-refactor.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0442-Fixed-48k-timing-issue.patch b/target/linux/brcm2708/patches-4.19/950-0440-Fixed-48k-timing-issue.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0442-Fixed-48k-timing-issue.patch rename to target/linux/brcm2708/patches-4.19/950-0440-Fixed-48k-timing-issue.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch b/target/linux/brcm2708/patches-4.19/950-0441-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0443-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch rename to target/linux/brcm2708/patches-4.19/950-0441-staging-bcm2835-codec-Convert-V4L2-nsec-timestamps-t.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch b/target/linux/brcm2708/patches-4.19/950-0442-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0444-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch rename to target/linux/brcm2708/patches-4.19/950-0442-staging-bcm2835-codec-Add-support-for-setting-S_PARM.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch b/target/linux/brcm2708/patches-4.19/950-0443-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0445-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch rename to target/linux/brcm2708/patches-4.19/950-0443-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch b/target/linux/brcm2708/patches-4.19/950-0444-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0446-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch rename to target/linux/brcm2708/patches-4.19/950-0444-overlays-Update-w1-gpio-and-w1-gpio-pullup.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch b/target/linux/brcm2708/patches-4.19/950-0445-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0447-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch rename to target/linux/brcm2708/patches-4.19/950-0445-bcm2835-sdhost-Fix-DMA-channel-leak-on-error-remove.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch b/target/linux/brcm2708/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0448-i2c-bcm2835-Model-Divider-in-CCF.patch rename to target/linux/brcm2708/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0449-staging-vc04_services-Use-correct-cache-line-size.patch b/target/linux/brcm2708/patches-4.19/950-0447-staging-vc04_services-Use-correct-cache-line-size.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0449-staging-vc04_services-Use-correct-cache-line-size.patch rename to target/linux/brcm2708/patches-4.19/950-0447-staging-vc04_services-Use-correct-cache-line-size.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0450-tty-amba-pl011-allow-shared-interrupt.patch b/target/linux/brcm2708/patches-4.19/950-0448-tty-amba-pl011-allow-shared-interrupt.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0450-tty-amba-pl011-allow-shared-interrupt.patch rename to target/linux/brcm2708/patches-4.19/950-0448-tty-amba-pl011-allow-shared-interrupt.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch b/target/linux/brcm2708/patches-4.19/950-0449-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0451-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch rename to target/linux/brcm2708/patches-4.19/950-0449-ARM-bcm283x-Reduce-register-ranges-for-UART-SPI-and-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch b/target/linux/brcm2708/patches-4.19/950-0450-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0452-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch rename to target/linux/brcm2708/patches-4.19/950-0450-ARM-bcm283x-Extend-the-WDT-DT-node-out-to-cover-the-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch b/target/linux/brcm2708/patches-4.19/950-0451-ARM-dts-Add-label-to-bcm2835-RNG.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0453-ARM-dts-Add-label-to-bcm2835-RNG.patch rename to target/linux/brcm2708/patches-4.19/950-0451-ARM-dts-Add-label-to-bcm2835-RNG.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0452-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0454-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0452-dts-Use-fb-rather-than-leds-for-dpi-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0455-BCM270X_DT-Minor-tidy-up.patch b/target/linux/brcm2708/patches-4.19/950-0453-BCM270X_DT-Minor-tidy-up.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0455-BCM270X_DT-Minor-tidy-up.patch rename to target/linux/brcm2708/patches-4.19/950-0453-BCM270X_DT-Minor-tidy-up.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch b/target/linux/brcm2708/patches-4.19/950-0454-arm-bcm2835-Fix-FIQ-early-ioremap.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0456-arm-bcm2835-Fix-FIQ-early-ioremap.patch rename to target/linux/brcm2708/patches-4.19/950-0454-arm-bcm2835-Fix-FIQ-early-ioremap.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch b/target/linux/brcm2708/patches-4.19/950-0455-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0457-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch rename to target/linux/brcm2708/patches-4.19/950-0455-Fix-copy_from_user-if-BCM2835_FAST_MEMCPY-n.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch b/target/linux/brcm2708/patches-4.19/950-0456-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch rename to target/linux/brcm2708/patches-4.19/950-0456-PCI-brcmstb-Add-Broadcom-STB-PCIe-host-controller-dr.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch b/target/linux/brcm2708/patches-4.19/950-0457-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0459-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch rename to target/linux/brcm2708/patches-4.19/950-0457-PCI-brcmstb-Add-dma-range-mapping-for-inbound-traffi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0460-PCI-brcmstb-Add-MSI-capability.patch b/target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-MSI-capability.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0460-PCI-brcmstb-Add-MSI-capability.patch rename to target/linux/brcm2708/patches-4.19/950-0458-PCI-brcmstb-Add-MSI-capability.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch b/target/linux/brcm2708/patches-4.19/950-0459-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0461-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch rename to target/linux/brcm2708/patches-4.19/950-0459-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0462-pcie-brcmstb-Changes-for-BCM2711.patch b/target/linux/brcm2708/patches-4.19/950-0460-pcie-brcmstb-Changes-for-BCM2711.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0462-pcie-brcmstb-Changes-for-BCM2711.patch rename to target/linux/brcm2708/patches-4.19/950-0460-pcie-brcmstb-Changes-for-BCM2711.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch b/target/linux/brcm2708/patches-4.19/950-0461-arm-bcm2835-DMA-can-only-address-1GB.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0463-arm-bcm2835-DMA-can-only-address-1GB.patch rename to target/linux/brcm2708/patches-4.19/950-0461-arm-bcm2835-DMA-can-only-address-1GB.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch b/target/linux/brcm2708/patches-4.19/950-0462-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0464-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch rename to target/linux/brcm2708/patches-4.19/950-0462-mmc-bcm2835-sdhost-Support-64-bit-physical-addresses.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0465-mmc-sdhci-Mask-spurious-interrupts.patch b/target/linux/brcm2708/patches-4.19/950-0463-mmc-sdhci-Mask-spurious-interrupts.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0465-mmc-sdhci-Mask-spurious-interrupts.patch rename to target/linux/brcm2708/patches-4.19/950-0463-mmc-sdhci-Mask-spurious-interrupts.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0464-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0466-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch rename to target/linux/brcm2708/patches-4.19/950-0464-mmc-sdhci-iproc-Add-support-for-emmc2-of-the-BCM2838.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch b/target/linux/brcm2708/patches-4.19/950-0465-hwrng-iproc-rng200-Add-BCM2838-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0467-hwrng-iproc-rng200-Add-BCM2838-support.patch rename to target/linux/brcm2708/patches-4.19/950-0465-hwrng-iproc-rng200-Add-BCM2838-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch b/target/linux/brcm2708/patches-4.19/950-0466-thermal-brcmstb_thermal-Add-BCM2838-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0468-thermal-brcmstb_thermal-Add-BCM2838-support.patch rename to target/linux/brcm2708/patches-4.19/950-0466-thermal-brcmstb_thermal-Add-BCM2838-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0469-vchiq-Add-36-bit-address-support.patch b/target/linux/brcm2708/patches-4.19/950-0467-vchiq-Add-36-bit-address-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0469-vchiq-Add-36-bit-address-support.patch rename to target/linux/brcm2708/patches-4.19/950-0467-vchiq-Add-36-bit-address-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch b/target/linux/brcm2708/patches-4.19/950-0468-bcm2835-pcm.c-Support-multichannel-audio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0470-bcm2835-pcm.c-Support-multichannel-audio.patch rename to target/linux/brcm2708/patches-4.19/950-0468-bcm2835-pcm.c-Support-multichannel-audio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0471-bcmgenet-constrain-max-DMA-burst-length.patch b/target/linux/brcm2708/patches-4.19/950-0469-bcmgenet-constrain-max-DMA-burst-length.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0471-bcmgenet-constrain-max-DMA-burst-length.patch rename to target/linux/brcm2708/patches-4.19/950-0469-bcmgenet-constrain-max-DMA-burst-length.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/brcm2708/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0472-bcmgenet-Better-coalescing-parameter-defaults.patch rename to target/linux/brcm2708/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/brcm2708/patches-4.19/950-0471-net-genet-enable-link-energy-detect-powerdown-for-ex.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0473-net-genet-enable-link-energy-detect-powerdown-for-ex.patch rename to target/linux/brcm2708/patches-4.19/950-0471-net-genet-enable-link-energy-detect-powerdown-for-ex.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch b/target/linux/brcm2708/patches-4.19/950-0472-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0474-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch rename to target/linux/brcm2708/patches-4.19/950-0472-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch b/target/linux/brcm2708/patches-4.19/950-0473-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0475-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch rename to target/linux/brcm2708/patches-4.19/950-0473-phy-bcm54213pe-configure-the-LED-outputs-to-be-more-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch b/target/linux/brcm2708/patches-4.19/950-0474-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0476-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch rename to target/linux/brcm2708/patches-4.19/950-0474-dwc_otg-Choose-appropriate-IRQ-handover-strategy.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch b/target/linux/brcm2708/patches-4.19/950-0475-usb-xhci-Disable-the-XHCI-5-second-timeout.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0477-usb-xhci-Disable-the-XHCI-5-second-timeout.patch rename to target/linux/brcm2708/patches-4.19/950-0475-usb-xhci-Disable-the-XHCI-5-second-timeout.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch b/target/linux/brcm2708/patches-4.19/950-0476-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0478-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch rename to target/linux/brcm2708/patches-4.19/950-0476-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0479-spi-bcm2835-enable-shared-interrupt-support.patch b/target/linux/brcm2708/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0479-spi-bcm2835-enable-shared-interrupt-support.patch rename to target/linux/brcm2708/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch b/target/linux/brcm2708/patches-4.19/950-0478-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0480-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch rename to target/linux/brcm2708/patches-4.19/950-0478-drivers-char-add-chardev-for-mmap-ing-Argon-control-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch b/target/linux/brcm2708/patches-4.19/950-0479-clk-bcm2835-Don-t-wait-for-pllh-lock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0481-clk-bcm2835-Don-t-wait-for-pllh-lock.patch rename to target/linux/brcm2708/patches-4.19/950-0479-clk-bcm2835-Don-t-wait-for-pllh-lock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch b/target/linux/brcm2708/patches-4.19/950-0480-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0482-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch rename to target/linux/brcm2708/patches-4.19/950-0480-bcm2835-pm-Move-bcm2835-watchdog-s-DT-probe-to-an-MF.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch b/target/linux/brcm2708/patches-4.19/950-0481-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch rename to target/linux/brcm2708/patches-4.19/950-0481-soc-bcm-bcm2835-pm-Add-support-for-power-domains-und.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch b/target/linux/brcm2708/patches-4.19/950-0482-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch rename to target/linux/brcm2708/patches-4.19/950-0482-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch b/target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0485-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch rename to target/linux/brcm2708/patches-4.19/950-0483-soc-bcm-bcm2835-pm-Fix-error-paths-of-initialization.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch b/target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Add-support-for-2711.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0486-soc-bcm-bcm2835-pm-Add-support-for-2711.patch rename to target/linux/brcm2708/patches-4.19/950-0484-soc-bcm-bcm2835-pm-Add-support-for-2711.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch b/target/linux/brcm2708/patches-4.19/950-0485-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0487-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch rename to target/linux/brcm2708/patches-4.19/950-0485-drm-expand-drm_syncobj_find_fence-to-support-timelin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch b/target/linux/brcm2708/patches-4.19/950-0486-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch rename to target/linux/brcm2708/patches-4.19/950-0486-drm-v3d-Fix-a-use-after-free-race-accessing-the-sche.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch b/target/linux/brcm2708/patches-4.19/950-0487-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch rename to target/linux/brcm2708/patches-4.19/950-0487-drm-v3d-Add-a-little-debugfs-entry-for-measuring-the.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch b/target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch rename to target/linux/brcm2708/patches-4.19/950-0488-drm-v3d-Update-a-comment-about-what-uses-v3d_job_dep.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch b/target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Clean-up-the-reservation-object-setup.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Clean-up-the-reservation-object-setup.patch rename to target/linux/brcm2708/patches-4.19/950-0489-drm-v3d-Clean-up-the-reservation-object-setup.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch b/target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch rename to target/linux/brcm2708/patches-4.19/950-0490-drm-v3d-Add-support-for-submitting-jobs-to-the-TFU.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch b/target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch rename to target/linux/brcm2708/patches-4.19/950-0491-drm-v3d-Drop-the-dev-argument-to-lock-unlock-of-BO-r.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch b/target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch rename to target/linux/brcm2708/patches-4.19/950-0492-drm-v3d-Add-missing-fence-timeline-name-for-TFU.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch b/target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch rename to target/linux/brcm2708/patches-4.19/950-0493-drm-v3d-Add-more-tracepoints-for-V3D-GPU-rendering.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch b/target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Drop-unused-v3d_flush_caches.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-unused-v3d_flush_caches.patch rename to target/linux/brcm2708/patches-4.19/950-0494-drm-v3d-Drop-unused-v3d_flush_caches.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch b/target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch rename to target/linux/brcm2708/patches-4.19/950-0495-drm-v3d-Don-t-bother-flushing-L1TD-at-job-start.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch b/target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch rename to target/linux/brcm2708/patches-4.19/950-0496-drm-v3d-Drop-the-wait-for-L2T-flush-to-complete.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch b/target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch rename to target/linux/brcm2708/patches-4.19/950-0497-drm-v3d-Stop-trying-to-flush-L2C-on-V3D-3.3.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch b/target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch rename to target/linux/brcm2708/patches-4.19/950-0498-drm-v3d-Invalidate-the-caches-from-the-outside-in.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch b/target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0501-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch rename to target/linux/brcm2708/patches-4.19/950-0499-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch b/target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch rename to target/linux/brcm2708/patches-4.19/950-0500-drm-v3d-Update-top-level-kerneldoc-for-the-addition-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0501-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0503-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0501-drm-vc4-Fix-oops-at-boot-with-firmwarekms-on-4.19.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch b/target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Add-support-for-V3D-v4.2.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Add-support-for-V3D-v4.2.patch rename to target/linux/brcm2708/patches-4.19/950-0502-drm-v3d-Add-support-for-V3D-v4.2.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch b/target/linux/brcm2708/patches-4.19/950-0503-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch rename to target/linux/brcm2708/patches-4.19/950-0503-drm-v3d-Don-t-try-to-set-OVRTMUOUT-on-V3D-4.x.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch b/target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0504-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Add-support-for-2711.patch b/target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Add-support-for-2711.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Add-support-for-2711.patch rename to target/linux/brcm2708/patches-4.19/950-0505-drm-v3d-Add-support-for-2711.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch b/target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch rename to target/linux/brcm2708/patches-4.19/950-0506-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch b/target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Hook-up-the-runtime-PM-ops.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Hook-up-the-runtime-PM-ops.patch rename to target/linux/brcm2708/patches-4.19/950-0507-drm-v3d-Hook-up-the-runtime-PM-ops.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch b/target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-HACK-gut-runtime-pm-for-now.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-HACK-gut-runtime-pm-for-now.patch rename to target/linux/brcm2708/patches-4.19/950-0508-drm-v3d-HACK-gut-runtime-pm-for-now.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch b/target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Update-to-upstream-IRQ-code.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Update-to-upstream-IRQ-code.patch rename to target/linux/brcm2708/patches-4.19/950-0509-drm-v3d-Update-to-upstream-IRQ-code.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch b/target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch rename to target/linux/brcm2708/patches-4.19/950-0510-drm-v3d-Rename-the-fence-signaled-from-IRQs-to-irq_f.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0513-drm-v3d-Refactor-job-management.patch b/target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Refactor-job-management.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0513-drm-v3d-Refactor-job-management.patch rename to target/linux/brcm2708/patches-4.19/950-0511-drm-v3d-Refactor-job-management.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0514-drm-v3d-Add-missing-implicit-synchronization.patch b/target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Add-missing-implicit-synchronization.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0514-drm-v3d-Add-missing-implicit-synchronization.patch rename to target/linux/brcm2708/patches-4.19/950-0512-drm-v3d-Add-missing-implicit-synchronization.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch b/target/linux/brcm2708/patches-4.19/950-0513-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch rename to target/linux/brcm2708/patches-4.19/950-0513-drm-vc4-Fix-synchronization-firmwarekms-against-GL-r.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch b/target/linux/brcm2708/patches-4.19/950-0514-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch rename to target/linux/brcm2708/patches-4.19/950-0514-drm-vc4-Make-sure-that-vblank-waits-work-without-v3d.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch b/target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0517-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch rename to target/linux/brcm2708/patches-4.19/950-0515-drm-vc4-Expose-the-format-modifiers-for-firmware-kms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch b/target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch rename to target/linux/brcm2708/patches-4.19/950-0516-drm-vc4-Fix-vblank-timestamping-for-firmwarekms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch b/target/linux/brcm2708/patches-4.19/950-0517-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0519-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch rename to target/linux/brcm2708/patches-4.19/950-0517-gpu-vc4-fkms-Switch-to-the-newer-mailbox-frame-buffe.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch b/target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch rename to target/linux/brcm2708/patches-4.19/950-0518-drm-vc4-Add-an-overlay-plane-to-vc4-firmware-kms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch b/target/linux/brcm2708/patches-4.19/950-0519-drm-vc4-Increase-max-screen-size-to-4096x4096.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Increase-max-screen-size-to-4096x4096.patch rename to target/linux/brcm2708/patches-4.19/950-0519-drm-vc4-Increase-max-screen-size-to-4096x4096.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0520-drm-vc4-Add-support-for-multiple-displays-to-fkms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Fix-build-warning.patch b/target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Fix-build-warning.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Fix-build-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0521-drm-vc4-Fix-build-warning.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch b/target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Select-display-to-blank-during-initialisatio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Select-display-to-blank-during-initialisatio.patch rename to target/linux/brcm2708/patches-4.19/950-0522-drm-vc4-Select-display-to-blank-during-initialisatio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Remove-now-unused-structure.patch b/target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Remove-now-unused-structure.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Remove-now-unused-structure.patch rename to target/linux/brcm2708/patches-4.19/950-0523-drm-vc4-Remove-now-unused-structure.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch b/target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch rename to target/linux/brcm2708/patches-4.19/950-0524-drm-vc4-Query-the-display-ID-for-each-display-in-FKM.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch b/target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Set-the-display-number-when-querying-the-dis.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Set-the-display-number-when-querying-the-dis.patch rename to target/linux/brcm2708/patches-4.19/950-0525-drm-vc4-Set-the-display-number-when-querying-the-dis.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch b/target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch rename to target/linux/brcm2708/patches-4.19/950-0526-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch b/target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch rename to target/linux/brcm2708/patches-4.19/950-0527-drm-vc4-Add-support-for-H-V-flips-on-each-plane-for-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch b/target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch rename to target/linux/brcm2708/patches-4.19/950-0528-drm-vc4-Remove-unused-vc4_fkms_cancel_page_flip-func.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch b/target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch rename to target/linux/brcm2708/patches-4.19/950-0529-drm-vc4-Iterate-over-all-planes-in-vc4_crtc_-dis-en-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch b/target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch rename to target/linux/brcm2708/patches-4.19/950-0530-drm-vc4-Bring-fkms-into-line-with-kms-in-blocking-do.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0533-drm-vc4-Increase-max_width-height-to-7680.patch b/target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Increase-max_width-height-to-7680.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0533-drm-vc4-Increase-max_width-height-to-7680.patch rename to target/linux/brcm2708/patches-4.19/950-0531-drm-vc4-Increase-max_width-height-to-7680.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch b/target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0534-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch rename to target/linux/brcm2708/patches-4.19/950-0532-drm-vc4-FKMS-reads-the-EDID-from-fw-and-supports-mod.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/target/linux/brcm2708/patches-4.19/950-0533-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0535-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch rename to target/linux/brcm2708/patches-4.19/950-0533-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/target/linux/brcm2708/patches-4.19/950-0534-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0536-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch rename to target/linux/brcm2708/patches-4.19/950-0534-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch b/target/linux/brcm2708/patches-4.19/950-0535-drm-v3d-Add-support-for-compute-shader-dispatch.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0537-drm-v3d-Add-support-for-compute-shader-dispatch.patch rename to target/linux/brcm2708/patches-4.19/950-0535-drm-v3d-Add-support-for-compute-shader-dispatch.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/brcm2708/patches-4.19/950-0536-drm-v3d-Clock-V3D-down-when-not-in-use.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0538-drm-v3d-Clock-V3D-down-when-not-in-use.patch rename to target/linux/brcm2708/patches-4.19/950-0536-drm-v3d-Clock-V3D-down-when-not-in-use.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch b/target/linux/brcm2708/patches-4.19/950-0537-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch rename to target/linux/brcm2708/patches-4.19/950-0537-drm-vc4-firmware-kms-Remove-incorrect-overscan-suppo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch b/target/linux/brcm2708/patches-4.19/950-0538-drm-vc4-Log-flags-in-fkms-mode-set.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Log-flags-in-fkms-mode-set.patch rename to target/linux/brcm2708/patches-4.19/950-0538-drm-vc4-Log-flags-in-fkms-mode-set.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch b/target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Fix-DSI-display-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-firmware-kms-Fix-DSI-display-support.patch rename to target/linux/brcm2708/patches-4.19/950-0539-drm-vc4-firmware-kms-Fix-DSI-display-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch b/target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch rename to target/linux/brcm2708/patches-4.19/950-0540-drm-vc4-Probe-DPI-DSI-timings-from-the-firmware.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch b/target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-handle-the-case-where-there-are-no-available.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-handle-the-case-where-there-are-no-available.patch rename to target/linux/brcm2708/patches-4.19/950-0541-drm-vc4-handle-the-case-where-there-are-no-available.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Support-the-VEC-in-FKMS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Support-the-VEC-in-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0542-drm-vc4-Support-the-VEC-in-FKMS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch b/target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch rename to target/linux/brcm2708/patches-4.19/950-0543-drm-vc4-Fixup-typo-when-setting-HDMI-aspect-ratio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Correct-SAND-support-for-FKMS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Correct-SAND-support-for-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0544-drm-vc4-Correct-SAND-support-for-FKMS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch b/target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0547-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch rename to target/linux/brcm2708/patches-4.19/950-0545-drm-vc4-fkms-to-query-the-VPU-for-HDMI-clock-limits.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch b/target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0548-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch rename to target/linux/brcm2708/patches-4.19/950-0546-drm-vc4-Max-resolution-of-7680-is-conditional-on-bei.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch b/target/linux/brcm2708/patches-4.19/950-0547-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch rename to target/linux/brcm2708/patches-4.19/950-0547-staging-vc-sm-cma-Remove-obsolete-comment-and-make-f.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch b/target/linux/brcm2708/patches-4.19/950-0548-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch rename to target/linux/brcm2708/patches-4.19/950-0548-staging-vc-sm-cma-Add-in-allocation-for-VPU-requests.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0551-staging-vc-sm-cma-Update-TODO.patch b/target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Update-TODO.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0551-staging-vc-sm-cma-Update-TODO.patch rename to target/linux/brcm2708/patches-4.19/950-0549-staging-vc-sm-cma-Update-TODO.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch b/target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0552-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch rename to target/linux/brcm2708/patches-4.19/950-0550-staging-vc-sm-cma-Add-in-userspace-allocation-API.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch b/target/linux/brcm2708/patches-4.19/950-0551-staging-vcsm-cma-Add-cache-control-ioctls.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Add-cache-control-ioctls.patch rename to target/linux/brcm2708/patches-4.19/950-0551-staging-vcsm-cma-Add-cache-control-ioctls.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch b/target/linux/brcm2708/patches-4.19/950-0552-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch rename to target/linux/brcm2708/patches-4.19/950-0552-staging-vcsm-cma-Alter-dev-node-permissions-to-0666.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch b/target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0555-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch rename to target/linux/brcm2708/patches-4.19/950-0553-staging-vcsm-cma-Drop-logging-level-on-messages-in-v.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch b/target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0556-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch rename to target/linux/brcm2708/patches-4.19/950-0554-staging-vcsm-cma-Fixup-the-alloc-code-handling-of-ke.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0555-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0557-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0555-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0556-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0558-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch rename to target/linux/brcm2708/patches-4.19/950-0556-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch b/target/linux/brcm2708/patches-4.19/950-0557-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0559-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch rename to target/linux/brcm2708/patches-4.19/950-0557-ARM-dts-Add-bcm2711-rpi-4-b.dts-and-components.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0558-overlays-Add-i2c3-6-and-uart2-5-overlays.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch rename to target/linux/brcm2708/patches-4.19/950-0558-overlays-Add-i2c3-6-and-uart2-5-overlays.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch b/target/linux/brcm2708/patches-4.19/950-0559-spi-devicetree-add-overlays-for-spi-3-to-6.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0561-spi-devicetree-add-overlays-for-spi-3-to-6.patch rename to target/linux/brcm2708/patches-4.19/950-0559-spi-devicetree-add-overlays-for-spi-3-to-6.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-the-spi-gpio40-45-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-the-spi-gpio40-45-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch b/target/linux/brcm2708/patches-4.19/950-0561-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0563-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch rename to target/linux/brcm2708/patches-4.19/950-0561-config-Permit-LPAE-and-PCIE_BRCMSTB-on-BCM2835.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0564-2711-Add-basic-64-bit-support.patch b/target/linux/brcm2708/patches-4.19/950-0562-2711-Add-basic-64-bit-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0564-2711-Add-basic-64-bit-support.patch rename to target/linux/brcm2708/patches-4.19/950-0562-2711-Add-basic-64-bit-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch b/target/linux/brcm2708/patches-4.19/950-0563-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0565-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch rename to target/linux/brcm2708/patches-4.19/950-0563-ARM-dts-bcm283x-Correct-vchiq-compatible-string-2840.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0564-arm-dts-Change-downstream-vchiq-compatible-string.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0566-arm-dts-Change-downstream-vchiq-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0564-arm-dts-Change-downstream-vchiq-compatible-string.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch b/target/linux/brcm2708/patches-4.19/950-0565-bcm2835-dma-Add-proper-40-bit-DMA-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0567-bcm2835-dma-Add-proper-40-bit-DMA-support.patch rename to target/linux/brcm2708/patches-4.19/950-0565-bcm2835-dma-Add-proper-40-bit-DMA-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch b/target/linux/brcm2708/patches-4.19/950-0566-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0568-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch rename to target/linux/brcm2708/patches-4.19/950-0566-BCM270X_DT-Leave-bulk-channel-in-dma-channel-mask.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch b/target/linux/brcm2708/patches-4.19/950-0567-SQUASH-bcm2835-dma-Remove-debugging.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0569-SQUASH-bcm2835-dma-Remove-debugging.patch rename to target/linux/brcm2708/patches-4.19/950-0567-SQUASH-bcm2835-dma-Remove-debugging.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0570-dts-Include-CSI-lane-config-for-csi1.patch b/target/linux/brcm2708/patches-4.19/950-0568-dts-Include-CSI-lane-config-for-csi1.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0570-dts-Include-CSI-lane-config-for-csi1.patch rename to target/linux/brcm2708/patches-4.19/950-0568-dts-Include-CSI-lane-config-for-csi1.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch b/target/linux/brcm2708/patches-4.19/950-0569-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch rename to target/linux/brcm2708/patches-4.19/950-0569-drm-vc4-Fix-T-format-modifiers-in-FKMS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0570-bcm2711-dts-Disable-the-v3d-node-by-default.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0572-bcm2711-dts-Disable-the-v3d-node-by-default.patch rename to target/linux/brcm2708/patches-4.19/950-0570-bcm2711-dts-Disable-the-v3d-node-by-default.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch b/target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0573-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch rename to target/linux/brcm2708/patches-4.19/950-0571-drm-vc4-Remove-340MHz-clock-limit-from-FKMS-now-scra.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/brcm2708/patches-4.19/950-0572-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0574-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch rename to target/linux/brcm2708/patches-4.19/950-0572-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/brcm2708/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0575-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch rename to target/linux/brcm2708/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch b/target/linux/brcm2708/patches-4.19/950-0574-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0576-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch rename to target/linux/brcm2708/patches-4.19/950-0574-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch b/target/linux/brcm2708/patches-4.19/950-0575-drm-vc4-Add-status-of-which-display-is-updated-throu.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0577-drm-vc4-Add-status-of-which-display-is-updated-throu.patch rename to target/linux/brcm2708/patches-4.19/950-0575-drm-vc4-Add-status-of-which-display-is-updated-throu.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch b/target/linux/brcm2708/patches-4.19/950-0576-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0578-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch rename to target/linux/brcm2708/patches-4.19/950-0576-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch b/target/linux/brcm2708/patches-4.19/950-0577-arm-dts-Fix-Pi4-PWR-LED-configuration.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0579-arm-dts-Fix-Pi4-PWR-LED-configuration.patch rename to target/linux/brcm2708/patches-4.19/950-0577-arm-dts-Fix-Pi4-PWR-LED-configuration.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch b/target/linux/brcm2708/patches-4.19/950-0578-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0580-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch rename to target/linux/brcm2708/patches-4.19/950-0578-bcm2838.dtsi-Correct-gic400-memory-address-ranges.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch b/target/linux/brcm2708/patches-4.19/950-0579-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0581-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch rename to target/linux/brcm2708/patches-4.19/950-0579-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch b/target/linux/brcm2708/patches-4.19/950-0580-drm-vc4-Limit-fkms-to-modes-85Hz.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0582-drm-vc4-Limit-fkms-to-modes-85Hz.patch rename to target/linux/brcm2708/patches-4.19/950-0580-drm-vc4-Limit-fkms-to-modes-85Hz.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0581-arm-bcm2835-Add-bcm2838-compatible-string.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0583-arm-bcm2835-Add-bcm2838-compatible-string.patch rename to target/linux/brcm2708/patches-4.19/950-0581-arm-bcm2835-Add-bcm2838-compatible-string.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch b/target/linux/brcm2708/patches-4.19/950-0582-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0584-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch rename to target/linux/brcm2708/patches-4.19/950-0582-arm-dts-Improve-the-bcm27xx-inclusion-hierarchy.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch b/target/linux/brcm2708/patches-4.19/950-0583-arm-dts-First-draft-of-upstream-Pi4-DTS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0585-arm-dts-First-draft-of-upstream-Pi4-DTS.patch rename to target/linux/brcm2708/patches-4.19/950-0583-arm-dts-First-draft-of-upstream-Pi4-DTS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch b/target/linux/brcm2708/patches-4.19/950-0584-overlays-Fix-compatible-string-for-ds1307-RTC.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0586-overlays-Fix-compatible-string-for-ds1307-RTC.patch rename to target/linux/brcm2708/patches-4.19/950-0584-overlays-Fix-compatible-string-for-ds1307-RTC.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0587-overlays-Fix-further-maxim-ds1307-references.patch b/target/linux/brcm2708/patches-4.19/950-0585-overlays-Fix-further-maxim-ds1307-references.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0587-overlays-Fix-further-maxim-ds1307-references.patch rename to target/linux/brcm2708/patches-4.19/950-0585-overlays-Fix-further-maxim-ds1307-references.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0586-overlays-Cosmetic-change-to-upstream-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0588-overlays-Cosmetic-change-to-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0586-overlays-Cosmetic-change-to-upstream-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch b/target/linux/brcm2708/patches-4.19/950-0587-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0589-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch rename to target/linux/brcm2708/patches-4.19/950-0587-w1-ds2805-rename-w1_family-struct-fixing-c-p-typo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch b/target/linux/brcm2708/patches-4.19/950-0588-w1-ds2413-output_write-cosmetic-fixes-simplify.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-output_write-cosmetic-fixes-simplify.patch rename to target/linux/brcm2708/patches-4.19/950-0588-w1-ds2413-output_write-cosmetic-fixes-simplify.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-add-retry-support-to-state_read.patch b/target/linux/brcm2708/patches-4.19/950-0589-w1-ds2413-add-retry-support-to-state_read.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-add-retry-support-to-state_read.patch rename to target/linux/brcm2708/patches-4.19/950-0589-w1-ds2413-add-retry-support-to-state_read.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch b/target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-when-the-slave-is-not-responding-during-re.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0592-w1-ds2413-when-the-slave-is-not-responding-during-re.patch rename to target/linux/brcm2708/patches-4.19/950-0590-w1-ds2413-when-the-slave-is-not-responding-during-re.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0593-w1-ds2413-fix-state-byte-comparision.patch b/target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-fix-state-byte-comparision.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0593-w1-ds2413-fix-state-byte-comparision.patch rename to target/linux/brcm2708/patches-4.19/950-0591-w1-ds2413-fix-state-byte-comparision.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch b/target/linux/brcm2708/patches-4.19/950-0592-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0594-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch rename to target/linux/brcm2708/patches-4.19/950-0592-drm-vc4_dsi-Fix-DMA-channel-and-memory-leak-in-vc4-3.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch b/target/linux/brcm2708/patches-4.19/950-0593-video-bcm2708_fb-Revert-cma-allocation-attempt.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0595-video-bcm2708_fb-Revert-cma-allocation-attempt.patch rename to target/linux/brcm2708/patches-4.19/950-0593-video-bcm2708_fb-Revert-cma-allocation-attempt.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch b/target/linux/brcm2708/patches-4.19/950-0594-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0596-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch rename to target/linux/brcm2708/patches-4.19/950-0594-drm-vc4-Add-support-for-color-encoding-on-YUV-planes.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch b/target/linux/brcm2708/patches-4.19/950-0595-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0597-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch rename to target/linux/brcm2708/patches-4.19/950-0595-arm-dts-Add-coherent_pool-1M-to-Pi-4-bootargs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch b/target/linux/brcm2708/patches-4.19/950-0596-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0598-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch rename to target/linux/brcm2708/patches-4.19/950-0596-overlays-Correct-gpio-fan-gpio-flags-for-4.19.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch b/target/linux/brcm2708/patches-4.19/950-0597-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0599-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch rename to target/linux/brcm2708/patches-4.19/950-0597-staging-vcsm-cma-Remove-cache-manipulation-ioctl-fro.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch b/target/linux/brcm2708/patches-4.19/950-0598-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0600-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch rename to target/linux/brcm2708/patches-4.19/950-0598-staging-vcsm-cma-Rework-to-use-dma-APIs-not-CMA.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch b/target/linux/brcm2708/patches-4.19/950-0599-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0601-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch rename to target/linux/brcm2708/patches-4.19/950-0599-staging-vc-sm-cma-Fix-the-few-remaining-coding-style.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch b/target/linux/brcm2708/patches-4.19/950-0600-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0602-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch rename to target/linux/brcm2708/patches-4.19/950-0600-media-videodev2.h-add-new-capabilities-for-buffer-ty.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch b/target/linux/brcm2708/patches-4.19/950-0601-media-vb2-set-reqbufs-create_bufs-capabilities.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0603-media-vb2-set-reqbufs-create_bufs-capabilities.patch rename to target/linux/brcm2708/patches-4.19/950-0601-media-vb2-set-reqbufs-create_bufs-capabilities.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0602-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0604-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch rename to target/linux/brcm2708/patches-4.19/950-0602-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-buffers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0603-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0605-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0603-overlays-Add-real-parameters-to-the-rpi-poe-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch b/target/linux/brcm2708/patches-4.19/950-0604-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0606-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch rename to target/linux/brcm2708/patches-4.19/950-0604-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch b/target/linux/brcm2708/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0607-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch rename to target/linux/brcm2708/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch b/target/linux/brcm2708/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0608-i2c-bcm2835-Ensure-clock-exists-when-probing.patch rename to target/linux/brcm2708/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0607-overlays-i2c-gpio-Fix-the-bus-parameter.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0609-overlays-i2c-gpio-Fix-the-bus-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0607-overlays-i2c-gpio-Fix-the-bus-parameter.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch b/target/linux/brcm2708/patches-4.19/950-0608-tty-amba-pl011-Make-TX-optimisation-conditional.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0610-tty-amba-pl011-Make-TX-optimisation-conditional.patch rename to target/linux/brcm2708/patches-4.19/950-0608-tty-amba-pl011-Make-TX-optimisation-conditional.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/brcm2708/patches-4.19/950-0609-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0611-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch rename to target/linux/brcm2708/patches-4.19/950-0609-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch b/target/linux/brcm2708/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0612-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch rename to target/linux/brcm2708/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch b/target/linux/brcm2708/patches-4.19/950-0611-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0613-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch rename to target/linux/brcm2708/patches-4.19/950-0611-arm64-bcm2835-Add-missing-dependency-on-MFD_CORE.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-PCF2129-RTC.patch b/target/linux/brcm2708/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-PCF2129-RTC.patch rename to target/linux/brcm2708/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch b/target/linux/brcm2708/patches-4.19/950-0613-overlays-dpi18-and-dpi24-vc4-compatibility.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0615-overlays-dpi18-and-dpi24-vc4-compatibility.patch rename to target/linux/brcm2708/patches-4.19/950-0613-overlays-dpi18-and-dpi24-vc4-compatibility.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch b/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0616-overlays-Add-i2c0-and-i2c1-for-regularity.patch rename to target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch b/target/linux/brcm2708/patches-4.19/950-0615-Pisound-Remove-spinlock-usage-around-spi_sync.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch rename to target/linux/brcm2708/patches-4.19/950-0615-Pisound-Remove-spinlock-usage-around-spi_sync.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch b/target/linux/brcm2708/patches-4.19/950-0616-arm64-mm-Limit-the-DMA-zone-for-arm64.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0618-arm64-mm-Limit-the-DMA-zone-for-arm64.patch rename to target/linux/brcm2708/patches-4.19/950-0616-arm64-mm-Limit-the-DMA-zone-for-arm64.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch b/target/linux/brcm2708/patches-4.19/950-0617-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0619-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0617-drm-vc4-Query-firmware-for-custom-HDMI-mode.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch b/target/linux/brcm2708/patches-4.19/950-0618-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0620-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch rename to target/linux/brcm2708/patches-4.19/950-0618-drm-vc4-Pass-the-drm-vrefresh-to-the-firmware-on-mod.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0621-overlays-audremap-Support-GPIOs-18-19.patch b/target/linux/brcm2708/patches-4.19/950-0619-overlays-audremap-Support-GPIOs-18-19.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0621-overlays-audremap-Support-GPIOs-18-19.patch rename to target/linux/brcm2708/patches-4.19/950-0619-overlays-audremap-Support-GPIOs-18-19.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch b/target/linux/brcm2708/patches-4.19/950-0620-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch rename to target/linux/brcm2708/patches-4.19/950-0620-drm-connector-Fix-drm_mode_create_tv_properties-doc.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch b/target/linux/brcm2708/patches-4.19/950-0621-drm-connector-Clarify-the-unit-of-TV-margins.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0623-drm-connector-Clarify-the-unit-of-TV-margins.patch rename to target/linux/brcm2708/patches-4.19/950-0621-drm-connector-Clarify-the-unit-of-TV-margins.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch b/target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Allow-creation-of-margin-props-alone.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0624-drm-connector-Allow-creation-of-margin-props-alone.patch rename to target/linux/brcm2708/patches-4.19/950-0622-drm-connector-Allow-creation-of-margin-props-alone.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch b/target/linux/brcm2708/patches-4.19/950-0623-drm-vc4-Take-margin-setup-into-account-when-updating.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Take-margin-setup-into-account-when-updating.patch rename to target/linux/brcm2708/patches-4.19/950-0623-drm-vc4-Take-margin-setup-into-account-when-updating.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch b/target/linux/brcm2708/patches-4.19/950-0624-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch rename to target/linux/brcm2708/patches-4.19/950-0624-drm-vc4-Attach-margin-props-to-the-HDMI-connector.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Add-support-for-margins-to-fkms.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0627-drm-vc4-Add-support-for-margins-to-fkms.patch rename to target/linux/brcm2708/patches-4.19/950-0625-drm-vc4-Add-support-for-margins-to-fkms.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch b/target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Ensure-zpos-is-always-initialised.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0628-drm-vc4-Ensure-zpos-is-always-initialised.patch rename to target/linux/brcm2708/patches-4.19/950-0626-drm-vc4-Ensure-zpos-is-always-initialised.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch b/target/linux/brcm2708/patches-4.19/950-0627-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0629-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch rename to target/linux/brcm2708/patches-4.19/950-0627-dts-bcm2838-add-missing-properties-for-pmu-and-gic-n.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch b/target/linux/brcm2708/patches-4.19/950-0628-adds-the-Hifiberry-DAC-ADC-PRO-version.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0630-adds-the-Hifiberry-DAC-ADC-PRO-version.patch rename to target/linux/brcm2708/patches-4.19/950-0628-adds-the-Hifiberry-DAC-ADC-PRO-version.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0631-codecs-Correct-Katana-minimum-volume.patch b/target/linux/brcm2708/patches-4.19/950-0629-codecs-Correct-Katana-minimum-volume.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0631-codecs-Correct-Katana-minimum-volume.patch rename to target/linux/brcm2708/patches-4.19/950-0629-codecs-Correct-Katana-minimum-volume.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch b/target/linux/brcm2708/patches-4.19/950-0630-drm-vc4-A-present-but-empty-dmas-disables-audio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0632-drm-vc4-A-present-but-empty-dmas-disables-audio.patch rename to target/linux/brcm2708/patches-4.19/950-0630-drm-vc4-A-present-but-empty-dmas-disables-audio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch b/target/linux/brcm2708/patches-4.19/950-0631-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0633-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch rename to target/linux/brcm2708/patches-4.19/950-0631-overlays-Add-audio-parameter-to-vc4-kms-v3d.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0634-overlays-Update-the-upstream-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0632-overlays-Update-the-upstream-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0634-overlays-Update-the-upstream-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0632-overlays-Update-the-upstream-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch b/target/linux/brcm2708/patches-4.19/950-0633-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0635-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch rename to target/linux/brcm2708/patches-4.19/950-0633-Fixup-FKMS-interrupt-handing-for-non-existent-displa.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch b/target/linux/brcm2708/patches-4.19/950-0634-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0636-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch rename to target/linux/brcm2708/patches-4.19/950-0634-drivers-char-Use-correct-name-for-the-Raspberry-Pi-v.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0637-driver-char-rpivid-also-support-legacy-name.patch b/target/linux/brcm2708/patches-4.19/950-0635-driver-char-rpivid-also-support-legacy-name.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0637-driver-char-rpivid-also-support-legacy-name.patch rename to target/linux/brcm2708/patches-4.19/950-0635-driver-char-rpivid-also-support-legacy-name.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/brcm2708/patches-4.19/950-0636-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch rename to target/linux/brcm2708/patches-4.19/950-0636-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch b/target/linux/brcm2708/patches-4.19/950-0637-drm-vc4-Add-Broadcast-RGB-connector-property.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0639-drm-vc4-Add-Broadcast-RGB-connector-property.patch rename to target/linux/brcm2708/patches-4.19/950-0637-drm-vc4-Add-Broadcast-RGB-connector-property.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch b/target/linux/brcm2708/patches-4.19/950-0638-drm-connector-Add-documentation-for-drm_cmdline_mode.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0640-drm-connector-Add-documentation-for-drm_cmdline_mode.patch rename to target/linux/brcm2708/patches-4.19/950-0638-drm-connector-Add-documentation-for-drm_cmdline_mode.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Rewrite-the-command-line-parser.patch b/target/linux/brcm2708/patches-4.19/950-0639-drm-modes-Rewrite-the-command-line-parser.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Rewrite-the-command-line-parser.patch rename to target/linux/brcm2708/patches-4.19/950-0639-drm-modes-Rewrite-the-command-line-parser.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0642-drm-modes-Support-modes-names-on-the-command-line.patch b/target/linux/brcm2708/patches-4.19/950-0640-drm-modes-Support-modes-names-on-the-command-line.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0642-drm-modes-Support-modes-names-on-the-command-line.patch rename to target/linux/brcm2708/patches-4.19/950-0640-drm-modes-Support-modes-names-on-the-command-line.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch b/target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch rename to target/linux/brcm2708/patches-4.19/950-0641-drm-modes-Allow-to-specify-rotation-and-reflection-o.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0644-drm-connector-Introduce-a-TV-margins-structure.patch b/target/linux/brcm2708/patches-4.19/950-0642-drm-connector-Introduce-a-TV-margins-structure.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0644-drm-connector-Introduce-a-TV-margins-structure.patch rename to target/linux/brcm2708/patches-4.19/950-0642-drm-connector-Introduce-a-TV-margins-structure.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0645-drm-modes-Parse-overscan-properties.patch b/target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Parse-overscan-properties.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0645-drm-modes-Parse-overscan-properties.patch rename to target/linux/brcm2708/patches-4.19/950-0643-drm-modes-Parse-overscan-properties.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch b/target/linux/brcm2708/patches-4.19/950-0644-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0646-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch rename to target/linux/brcm2708/patches-4.19/950-0644-drm-atomic-Add-a-function-to-reset-connector-TV-prop.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch b/target/linux/brcm2708/patches-4.19/950-0645-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0647-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch rename to target/linux/brcm2708/patches-4.19/950-0645-drm-vc4-hdmi-Set-default-state-margin-at-reset.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch b/target/linux/brcm2708/patches-4.19/950-0646-drm-vc4-fkms-Set-default-state-margin-at-reset.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0648-drm-vc4-fkms-Set-default-state-margin-at-reset.patch rename to target/linux/brcm2708/patches-4.19/950-0646-drm-vc4-fkms-Set-default-state-margin-at-reset.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch b/target/linux/brcm2708/patches-4.19/950-0647-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0649-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch rename to target/linux/brcm2708/patches-4.19/950-0647-drm-modes-Don-t-apply-cmdline-s-rotation-if-it-wasn-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch b/target/linux/brcm2708/patches-4.19/950-0648-staging-bcm2835-codec-switch-to-multi-planar-API.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-switch-to-multi-planar-API.patch rename to target/linux/brcm2708/patches-4.19/950-0648-staging-bcm2835-codec-switch-to-multi-planar-API.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch b/target/linux/brcm2708/patches-4.19/950-0649-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0651-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch rename to target/linux/brcm2708/patches-4.19/950-0649-staging-bcm2835-codec-implement-V4L2_CID_MIN_BUFFERS.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch b/target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0652-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch rename to target/linux/brcm2708/patches-4.19/950-0650-staging-bcm2835-codec-set-device_caps-in-struct-vide.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0653-Add-HDMI1-facility-to-the-driver.patch b/target/linux/brcm2708/patches-4.19/950-0651-Add-HDMI1-facility-to-the-driver.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0653-Add-HDMI1-facility-to-the-driver.patch rename to target/linux/brcm2708/patches-4.19/950-0651-Add-HDMI1-facility-to-the-driver.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch b/target/linux/brcm2708/patches-4.19/950-0652-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0654-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch rename to target/linux/brcm2708/patches-4.19/950-0652-overlays-Add-baudrate-parameter-to-i2c3-i2c6.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch b/target/linux/brcm2708/patches-4.19/950-0653-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0655-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch rename to target/linux/brcm2708/patches-4.19/950-0653-drm-vc4-Resolve-the-vblank-warnings-on-mode-switchin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Remove-unused-mode-variable.patch b/target/linux/brcm2708/patches-4.19/950-0654-drm-vc4-Remove-unused-mode-variable.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0656-drm-vc4-Remove-unused-mode-variable.patch rename to target/linux/brcm2708/patches-4.19/950-0654-drm-vc4-Remove-unused-mode-variable.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch b/target/linux/brcm2708/patches-4.19/950-0655-staging-bcm2835-codec-Expand-logging-on-format-setti.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0657-staging-bcm2835-codec-Expand-logging-on-format-setti.patch rename to target/linux/brcm2708/patches-4.19/950-0655-staging-bcm2835-codec-Expand-logging-on-format-setti.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch b/target/linux/brcm2708/patches-4.19/950-0656-staging-bcm2835-codec-Correct-bytesperline-on-format.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0658-staging-bcm2835-codec-Correct-bytesperline-on-format.patch rename to target/linux/brcm2708/patches-4.19/950-0656-staging-bcm2835-codec-Correct-bytesperline-on-format.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch b/target/linux/brcm2708/patches-4.19/950-0657-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch rename to target/linux/brcm2708/patches-4.19/950-0657-drm-vc4-Add-missing-NULL-check-to-vc4_crtc_consume_e.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/brcm2708/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0660-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch rename to target/linux/brcm2708/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch b/target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch rename to target/linux/brcm2708/patches-4.19/950-0659-drm-vc4-Fix-TILE_Y_OFFSET-definitions.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch b/target/linux/brcm2708/patches-4.19/950-0660-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch rename to target/linux/brcm2708/patches-4.19/950-0660-drm-vc4-Define-missing-PITCH0_SINK_PIX-field.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch b/target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch rename to target/linux/brcm2708/patches-4.19/950-0661-drm-vc4-Use-drm_atomic_helper_check_plane_state-to-s.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch b/target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch rename to target/linux/brcm2708/patches-4.19/950-0662-drm-vc4-Move-offsets-adjustment-out-of-setup_clippin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch b/target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0665-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch rename to target/linux/brcm2708/patches-4.19/950-0663-drm-vc4-Fix-X-Y-positioning-of-planes-using-T_TILES-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch b/target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0666-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch rename to target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-Fix-NULL-pointer-dereference-in-the-async-up.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch b/target/linux/brcm2708/patches-4.19/950-0665-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0667-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch rename to target/linux/brcm2708/patches-4.19/950-0665-ARM-dts-bcm2711-rpi-4-b-I2C-aliases-and-pulls.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0668-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/brcm2708/patches-4.19/950-0666-xhci-Use-more-event-ring-segment-table-entries.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0668-xhci-Use-more-event-ring-segment-table-entries.patch rename to target/linux/brcm2708/patches-4.19/950-0666-xhci-Use-more-event-ring-segment-table-entries.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch b/target/linux/brcm2708/patches-4.19/950-0667-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0669-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch rename to target/linux/brcm2708/patches-4.19/950-0667-dwc_otg-use-align_buf-for-small-IN-control-transfers.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch b/target/linux/brcm2708/patches-4.19/950-0668-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0670-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch rename to target/linux/brcm2708/patches-4.19/950-0668-Ported-pcie-brcmstb-bounce-buffer-implementation-to-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0671-configs-arm64-vcm2711-Enable-V3D.patch b/target/linux/brcm2708/patches-4.19/950-0669-configs-arm64-vcm2711-Enable-V3D.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0671-configs-arm64-vcm2711-Enable-V3D.patch rename to target/linux/brcm2708/patches-4.19/950-0669-configs-arm64-vcm2711-Enable-V3D.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0670-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0672-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0670-overlays-sc16ic752-i2c-Fix-xtal-parameter.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch b/target/linux/brcm2708/patches-4.19/950-0671-vc-sm-cma-Fix-compatibility-ioctl.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0673-vc-sm-cma-Fix-compatibility-ioctl.patch rename to target/linux/brcm2708/patches-4.19/950-0671-vc-sm-cma-Fix-compatibility-ioctl.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch b/target/linux/brcm2708/patches-4.19/950-0672-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0674-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch rename to target/linux/brcm2708/patches-4.19/950-0672-staging-bcm2835-codec-add-support-for-V4L2_CID_MPEG_.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch b/target/linux/brcm2708/patches-4.19/950-0673-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0675-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch rename to target/linux/brcm2708/patches-4.19/950-0673-staging-bcm2835-codec-remove-unnecessary-padding-on-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch b/target/linux/brcm2708/patches-4.19/950-0674-arm-dts-add-missing-Raspberry-Pi-model-names.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0676-arm-dts-add-missing-Raspberry-Pi-model-names.patch rename to target/linux/brcm2708/patches-4.19/950-0674-arm-dts-add-missing-Raspberry-Pi-model-names.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0677-arch-arm-Add-model-string-to-cpuinfo.patch b/target/linux/brcm2708/patches-4.19/950-0675-arch-arm-Add-model-string-to-cpuinfo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0677-arch-arm-Add-model-string-to-cpuinfo.patch rename to target/linux/brcm2708/patches-4.19/950-0675-arch-arm-Add-model-string-to-cpuinfo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch b/target/linux/brcm2708/patches-4.19/950-0676-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0678-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch rename to target/linux/brcm2708/patches-4.19/950-0676-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch b/target/linux/brcm2708/patches-4.19/950-0677-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0679-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch rename to target/linux/brcm2708/patches-4.19/950-0677-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch b/target/linux/brcm2708/patches-4.19/950-0678-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0680-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch rename to target/linux/brcm2708/patches-4.19/950-0678-media-i2c-Add-driver-for-Sony-IMX219-sensor.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch b/target/linux/brcm2708/patches-4.19/950-0679-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0681-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch rename to target/linux/brcm2708/patches-4.19/950-0679-dtoverlays-Add-overlay-for-the-Sony-IMX219-image-sen.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch b/target/linux/brcm2708/patches-4.19/950-0680-staging-bcm2835-codec-Fix-non-documentation-comment-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Fix-non-documentation-comment-.patch rename to target/linux/brcm2708/patches-4.19/950-0680-staging-bcm2835-codec-Fix-non-documentation-comment-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch b/target/linux/brcm2708/patches-4.19/950-0681-staging-bcm2835-codec-Fix-declaration-of-roles.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Fix-declaration-of-roles.patch rename to target/linux/brcm2708/patches-4.19/950-0681-staging-bcm2835-codec-Fix-declaration-of-roles.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch b/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-Add-role-to-device-name.patch rename to target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch b/target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Pass-driver-context-to-create-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0685-staging-bcm2835-codec-Pass-driver-context-to-create-.patch rename to target/linux/brcm2708/patches-4.19/950-0683-staging-bcm2835-codec-Pass-driver-context-to-create-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0686-staging-bcm2835-codec-add-media-controller-support.patch b/target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-add-media-controller-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0686-staging-bcm2835-codec-add-media-controller-support.patch rename to target/linux/brcm2708/patches-4.19/950-0684-staging-bcm2835-codec-add-media-controller-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch b/target/linux/brcm2708/patches-4.19/950-0685-media-bcm2835-unicam-Reduce-scope-of-local-function.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0687-media-bcm2835-unicam-Reduce-scope-of-local-function.patch rename to target/linux/brcm2708/patches-4.19/950-0685-media-bcm2835-unicam-Reduce-scope-of-local-function.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0688-media-bcm2835-unicam-add-media-controller-support.patch b/target/linux/brcm2708/patches-4.19/950-0686-media-bcm2835-unicam-add-media-controller-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0688-media-bcm2835-unicam-add-media-controller-support.patch rename to target/linux/brcm2708/patches-4.19/950-0686-media-bcm2835-unicam-add-media-controller-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch b/target/linux/brcm2708/patches-4.19/950-0687-Limit-max_req_size-under-arm64-or-any-other-platform.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0689-Limit-max_req_size-under-arm64-or-any-other-platform.patch rename to target/linux/brcm2708/patches-4.19/950-0687-Limit-max_req_size-under-arm64-or-any-other-platform.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch b/target/linux/brcm2708/patches-4.19/950-0688-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0690-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch rename to target/linux/brcm2708/patches-4.19/950-0688-Add-missing-dma_unmap_sg-calls-to-free-relevant-swio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch b/target/linux/brcm2708/patches-4.19/950-0689-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0691-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch rename to target/linux/brcm2708/patches-4.19/950-0689-overlays-mcp23017-rename-the-GPIO-pins-node-with-the.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch b/target/linux/brcm2708/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0692-overlays-mcp23017-Add-option-for-not-connecting-the-.patch rename to target/linux/brcm2708/patches-4.19/950-0690-overlays-mcp23017-Add-option-for-not-connecting-the-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch b/target/linux/brcm2708/patches-4.19/950-0691-v4l2-Add-a-Greyworld-AWB-mode.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0693-v4l2-Add-a-Greyworld-AWB-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0691-v4l2-Add-a-Greyworld-AWB-mode.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch b/target/linux/brcm2708/patches-4.19/950-0692-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0694-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch rename to target/linux/brcm2708/patches-4.19/950-0692-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0695-PCI-brcmstb-Fix-compilation-warning.patch b/target/linux/brcm2708/patches-4.19/950-0693-PCI-brcmstb-Fix-compilation-warning.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0695-PCI-brcmstb-Fix-compilation-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0693-PCI-brcmstb-Fix-compilation-warning.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch b/target/linux/brcm2708/patches-4.19/950-0694-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0696-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch rename to target/linux/brcm2708/patches-4.19/950-0694-drm-vc4-Fix-for-margins-in-composite-SDTV-mode-3223.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch b/target/linux/brcm2708/patches-4.19/950-0695-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0697-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch rename to target/linux/brcm2708/patches-4.19/950-0695-Add-Hifiberry-DAC-DSP-soundcard-driver-3224.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch b/target/linux/brcm2708/patches-4.19/950-0696-staging-bcm2835-codec-Allow-height-of-1920.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0698-staging-bcm2835-codec-Allow-height-of-1920.patch rename to target/linux/brcm2708/patches-4.19/950-0696-staging-bcm2835-codec-Allow-height-of-1920.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch b/target/linux/brcm2708/patches-4.19/950-0697-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0699-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch rename to target/linux/brcm2708/patches-4.19/950-0697-staging-bcm2835-codec-Correct-g-s_selection-API-MPLA.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch b/target/linux/brcm2708/patches-4.19/950-0698-regulator-gpio-Allow-nonexclusive-GPIO-access.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0700-regulator-gpio-Allow-nonexclusive-GPIO-access.patch rename to target/linux/brcm2708/patches-4.19/950-0698-regulator-gpio-Allow-nonexclusive-GPIO-access.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch b/target/linux/brcm2708/patches-4.19/950-0699-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0701-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch rename to target/linux/brcm2708/patches-4.19/950-0699-gpio-Enable-nonexclusive-gpiods-from-DT-nodes.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0702-Fix-poll-rate-on-touchscreen-3238.patch b/target/linux/brcm2708/patches-4.19/950-0700-Fix-poll-rate-on-touchscreen-3238.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0702-Fix-poll-rate-on-touchscreen-3238.patch rename to target/linux/brcm2708/patches-4.19/950-0700-Fix-poll-rate-on-touchscreen-3238.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch b/target/linux/brcm2708/patches-4.19/950-0701-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0703-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch rename to target/linux/brcm2708/patches-4.19/950-0701-dts-Add-DTS-for-Pi-2B-rev-1.2-with-BCM2837-3235.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch b/target/linux/brcm2708/patches-4.19/950-0702-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0704-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch rename to target/linux/brcm2708/patches-4.19/950-0702-drm-v3d-clean-caches-at-the-end-of-render-jobs-on-re.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch b/target/linux/brcm2708/patches-4.19/950-0703-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0705-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch rename to target/linux/brcm2708/patches-4.19/950-0703-staging-bcm2835-audio-Fix-draining-behavior-regressi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch b/target/linux/brcm2708/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch rename to target/linux/brcm2708/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch b/target/linux/brcm2708/patches-4.19/950-0705-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0707-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch rename to target/linux/brcm2708/patches-4.19/950-0705-ARM-dts-bcm283x-Fix-DTC-warning-for-memory-node.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch b/target/linux/brcm2708/patches-4.19/950-0706-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch rename to target/linux/brcm2708/patches-4.19/950-0706-ARM-dts-bcm27xx-Fix-DTC-warning-for-memory-node.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch b/target/linux/brcm2708/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0709-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch rename to target/linux/brcm2708/patches-4.19/950-0707-ARM-bcm283x-Enable-DMA-support-for-SPI-controller.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch b/target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch rename to target/linux/brcm2708/patches-4.19/950-0708-ARM-dts-bcm2835-rpi-Drop-unnecessary-address-cells-s.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch b/target/linux/brcm2708/patches-4.19/950-0709-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch rename to target/linux/brcm2708/patches-4.19/950-0709-ARM-dts-bcm2708-rpi-Define-the-downstream-MMC-interf.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch b/target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch rename to target/linux/brcm2708/patches-4.19/950-0710-ARM-dts-bcm283x-Define-MMC-interfaces-at-board-level.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch b/target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch rename to target/linux/brcm2708/patches-4.19/950-0711-ARM-dts-bcm2835-rpi-zero-w-Fix-bus-width-of-sdhci.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch b/target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0714-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch rename to target/linux/brcm2708/patches-4.19/950-0712-ARM-dts-bcm2708-rpi-Define-the-downstream-HDMI-power.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch b/target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0715-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch rename to target/linux/brcm2708/patches-4.19/950-0713-ARM-dts-bcm283x-Enable-HDMI-at-board-level.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch b/target/linux/brcm2708/patches-4.19/950-0714-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0716-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch rename to target/linux/brcm2708/patches-4.19/950-0714-clk-bcm2835-Introduce-SoC-specific-clock-registratio.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch b/target/linux/brcm2708/patches-4.19/950-0715-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0717-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch rename to target/linux/brcm2708/patches-4.19/950-0715-clk-bcm2835-Add-BCM2711_CLOCK_EMMC2-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch b/target/linux/brcm2708/patches-4.19/950-0716-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0718-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch rename to target/linux/brcm2708/patches-4.19/950-0716-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch b/target/linux/brcm2708/patches-4.19/950-0717-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch rename to target/linux/brcm2708/patches-4.19/950-0717-pinctrl-bcm2835-Switch-to-SPDX-identifier.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch b/target/linux/brcm2708/patches-4.19/950-0718-pinctrl-bcm2835-declare-pin-config-as-generic.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-declare-pin-config-as-generic.patch rename to target/linux/brcm2708/patches-4.19/950-0718-pinctrl-bcm2835-declare-pin-config-as-generic.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch b/target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0721-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch rename to target/linux/brcm2708/patches-4.19/950-0719-pinctrl-bcm2835-Direct-GPIO-config-changes-to-generi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch b/target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0722-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch rename to target/linux/brcm2708/patches-4.19/950-0720-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch b/target/linux/brcm2708/patches-4.19/950-0721-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0723-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch rename to target/linux/brcm2708/patches-4.19/950-0721-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch b/target/linux/brcm2708/patches-4.19/950-0722-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0724-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch rename to target/linux/brcm2708/patches-4.19/950-0722-pcie-brcmstb-bounce64.c-dev_err-dev_info-for-info-me.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0725-overlays-gpio-shutdown-Add-debounce-parameter.patch rename to target/linux/brcm2708/patches-4.19/950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0726-overlays-fix-compatible-for-RPi4.patch b/target/linux/brcm2708/patches-4.19/950-0724-overlays-fix-compatible-for-RPi4.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0726-overlays-fix-compatible-for-RPi4.patch rename to target/linux/brcm2708/patches-4.19/950-0724-overlays-fix-compatible-for-RPi4.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch b/target/linux/brcm2708/patches-4.19/950-0725-bcm2711-Retain-support-for-old-dtbs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch rename to target/linux/brcm2708/patches-4.19/950-0725-bcm2711-Retain-support-for-old-dtbs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch b/target/linux/brcm2708/patches-4.19/950-0726-media-bcm2835-unicam-Add-support-for-raw14-formats.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Add-support-for-raw14-formats.patch rename to target/linux/brcm2708/patches-4.19/950-0726-media-bcm2835-unicam-Add-support-for-raw14-formats.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch b/target/linux/brcm2708/patches-4.19/950-0727-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch rename to target/linux/brcm2708/patches-4.19/950-0727-media-bcm2835-unicam-Rework-to-not-cache-the-list-of.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch b/target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0730-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch rename to target/linux/brcm2708/patches-4.19/950-0728-media-bcm2835-unicam-Support-unpacking-CSI-format-to.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch b/target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0731-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch rename to target/linux/brcm2708/patches-4.19/950-0729-media-bcm2835-unicam-Add-support-for-luma-greyscale-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch b/target/linux/brcm2708/patches-4.19/950-0730-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch rename to target/linux/brcm2708/patches-4.19/950-0730-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch b/target/linux/brcm2708/patches-4.19/950-0731-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch rename to target/linux/brcm2708/patches-4.19/950-0731-drm-vc4-Fix-negative-X-Y-positioning-on-SAND-planes.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0734-drm-vc4-Add-support-for-H-V-flips.patch b/target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-H-V-flips.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0734-drm-vc4-Add-support-for-H-V-flips.patch rename to target/linux/brcm2708/patches-4.19/950-0732-drm-vc4-Add-support-for-H-V-flips.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch b/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0735-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch rename to target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0736-overlays-Add-w5500-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0734-overlays-Add-w5500-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0736-overlays-Add-w5500-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0734-overlays-Add-w5500-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch b/target/linux/brcm2708/patches-4.19/950-0735-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0737-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch rename to target/linux/brcm2708/patches-4.19/950-0735-media-bcm2835-unicam-Replace-hard-coded-loop-limit-w.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch b/target/linux/brcm2708/patches-4.19/950-0736-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0738-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch rename to target/linux/brcm2708/patches-4.19/950-0736-media-bcm2835-unicam-Fix-one-to-many-mapping-for-YUY.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch b/target/linux/brcm2708/patches-4.19/950-0737-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0739-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch rename to target/linux/brcm2708/patches-4.19/950-0737-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch b/target/linux/brcm2708/patches-4.19/950-0738-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0740-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch rename to target/linux/brcm2708/patches-4.19/950-0738-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch b/target/linux/brcm2708/patches-4.19/950-0739-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0741-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch rename to target/linux/brcm2708/patches-4.19/950-0739-dtoverlays-Add-an-overlay-for-the-Infineon-IRS1125.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch b/target/linux/brcm2708/patches-4.19/950-0740-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0742-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch rename to target/linux/brcm2708/patches-4.19/950-0740-rpi-wm8804-soundcard-Fixed-MCLKDIV-for-Allo-Digione.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch b/target/linux/brcm2708/patches-4.19/950-0741-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0743-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch rename to target/linux/brcm2708/patches-4.19/950-0741-dts-bcm2838-Disable-DWC-OTG-block-by-default.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch b/target/linux/brcm2708/patches-4.19/950-0742-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch rename to target/linux/brcm2708/patches-4.19/950-0742-staging-bcm2835-codec-Add-support-for-ENUM_FRAMESIZE.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch b/target/linux/brcm2708/patches-4.19/950-0743-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch rename to target/linux/brcm2708/patches-4.19/950-0743-staging-bcm2835-codec-Correct-buffer-type-check-on-G.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch b/target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Set-default-and-error-check-ti.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0746-staging-bcm2835-codec-Set-default-and-error-check-ti.patch rename to target/linux/brcm2708/patches-4.19/950-0744-staging-bcm2835-codec-Set-default-and-error-check-ti.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch b/target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0747-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch rename to target/linux/brcm2708/patches-4.19/950-0745-staging-bcm2835-codec-Fix-imbalance-in-dma_buf_get-d.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch b/target/linux/brcm2708/patches-4.19/950-0746-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0748-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch rename to target/linux/brcm2708/patches-4.19/950-0746-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch b/target/linux/brcm2708/patches-4.19/950-0747-rpi-poe-fan-fix-def_pwm1-writes.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0749-rpi-poe-fan-fix-def_pwm1-writes.patch rename to target/linux/brcm2708/patches-4.19/950-0747-rpi-poe-fan-fix-def_pwm1-writes.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch b/target/linux/brcm2708/patches-4.19/950-0748-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0750-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch rename to target/linux/brcm2708/patches-4.19/950-0748-net-phy-bcm54xx-Encode-link-speed-and-activity-into-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch b/target/linux/brcm2708/patches-4.19/950-0749-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch rename to target/linux/brcm2708/patches-4.19/950-0749-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0752-overlays-smi-fix-typo-in-comment-3320.patch b/target/linux/brcm2708/patches-4.19/950-0750-overlays-smi-fix-typo-in-comment-3320.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0752-overlays-smi-fix-typo-in-comment-3320.patch rename to target/linux/brcm2708/patches-4.19/950-0750-overlays-smi-fix-typo-in-comment-3320.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch b/target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Change-the-default-ethernet-LED-actions.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0753-net-phy-2711-Change-the-default-ethernet-LED-actions.patch rename to target/linux/brcm2708/patches-4.19/950-0751-net-phy-2711-Change-the-default-ethernet-LED-actions.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0754-overlays-README-Remove-trailing-whitespace.patch b/target/linux/brcm2708/patches-4.19/950-0752-overlays-README-Remove-trailing-whitespace.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0754-overlays-README-Remove-trailing-whitespace.patch rename to target/linux/brcm2708/patches-4.19/950-0752-overlays-README-Remove-trailing-whitespace.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0755-overlays-Add-apds9960-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0753-overlays-Add-apds9960-overlay.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0755-overlays-Add-apds9960-overlay.patch rename to target/linux/brcm2708/patches-4.19/950-0753-overlays-Add-apds9960-overlay.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch b/target/linux/brcm2708/patches-4.19/950-0754-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0756-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch rename to target/linux/brcm2708/patches-4.19/950-0754-arm-dts-overlays-pitft35-resistive-add-upstream-comp.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch b/target/linux/brcm2708/patches-4.19/950-0755-clk-bcm2835-Avoid-null-pointer-exception.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0757-clk-bcm2835-Avoid-null-pointer-exception.patch rename to target/linux/brcm2708/patches-4.19/950-0755-clk-bcm2835-Avoid-null-pointer-exception.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch b/target/linux/brcm2708/patches-4.19/950-0756-v3d_drv-Handle-missing-clock-more-gracefully.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0758-v3d_drv-Handle-missing-clock-more-gracefully.patch rename to target/linux/brcm2708/patches-4.19/950-0756-v3d_drv-Handle-missing-clock-more-gracefully.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch b/target/linux/brcm2708/patches-4.19/950-0757-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch rename to target/linux/brcm2708/patches-4.19/950-0757-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0758-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0760-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0758-clk-bcm283x-add-driver-interfacing-with-Raspberry-Pi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-add-driver-for-Raspberry-Pi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0761-cpufreq-add-driver-for-Raspberry-Pi.patch rename to target/linux/brcm2708/patches-4.19/950-0759-cpufreq-add-driver-for-Raspberry-Pi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0762-firmware-raspberrypi-register-clk-device.patch b/target/linux/brcm2708/patches-4.19/950-0760-firmware-raspberrypi-register-clk-device.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0762-firmware-raspberrypi-register-clk-device.patch rename to target/linux/brcm2708/patches-4.19/950-0760-firmware-raspberrypi-register-clk-device.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch b/target/linux/brcm2708/patches-4.19/950-0761-clk-raspberrypi-register-platform-device-for-raspber.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0763-clk-raspberrypi-register-platform-device-for-raspber.patch rename to target/linux/brcm2708/patches-4.19/950-0761-clk-raspberrypi-register-platform-device-for-raspber.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0764-clk-bcm2835-remove-pllb.patch b/target/linux/brcm2708/patches-4.19/950-0762-clk-bcm2835-remove-pllb.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0764-clk-bcm2835-remove-pllb.patch rename to target/linux/brcm2708/patches-4.19/950-0762-clk-bcm2835-remove-pllb.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch b/target/linux/brcm2708/patches-4.19/950-0763-v3d_drv-Allow-clock-retrieval-by-name.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0765-v3d_drv-Allow-clock-retrieval-by-name.patch rename to target/linux/brcm2708/patches-4.19/950-0763-v3d_drv-Allow-clock-retrieval-by-name.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch b/target/linux/brcm2708/patches-4.19/950-0764-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0766-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch rename to target/linux/brcm2708/patches-4.19/950-0764-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch b/target/linux/brcm2708/patches-4.19/950-0765-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0767-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch rename to target/linux/brcm2708/patches-4.19/950-0765-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0768-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0766-clk-raspberrypi-Also-support-v3d-clock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0768-clk-raspberrypi-Also-support-v3d-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0766-clk-raspberrypi-Also-support-v3d-clock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0769-clk-bcm2835-Disable-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0767-clk-bcm2835-Disable-v3d-clock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0769-clk-bcm2835-Disable-v3d-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0767-clk-bcm2835-Disable-v3d-clock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0768-fixup-clk-raspberrypi-Also-support-v3d-clock.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0770-fixup-clk-raspberrypi-Also-support-v3d-clock.patch rename to target/linux/brcm2708/patches-4.19/950-0768-fixup-clk-raspberrypi-Also-support-v3d-clock.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0769-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0769-fixup-clk-raspberrypi-Also-support-v3d-clock.patch new file mode 100644 index 0000000000..a15f41f45a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0769-fixup-clk-raspberrypi-Also-support-v3d-clock.patch @@ -0,0 +1,36 @@ +From 05c745c001c8c82bbba8a6d953ad77ad25c92c5f Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 7 Nov 2019 14:11:08 +0000 +Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock + +--- + drivers/clk/bcm/clk-raspberrypi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/clk/bcm/clk-raspberrypi.c ++++ b/drivers/clk/bcm/clk-raspberrypi.c +@@ -351,21 +351,21 @@ static const struct clk_ops raspberrypi_ + .is_prepared = raspberrypi_fw_pll_is_on, + .recalc_rate = raspberrypi_fw_pll_get_rate, + .set_rate = raspberrypi_fw_pll_set_rate, +- .determine_rate = raspberrypi_pll_determine_rate, ++ //.determine_rate = raspberrypi_pll_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { + .is_prepared = raspberrypi_fw_pll_div_is_on, + .recalc_rate = raspberrypi_fw_pll_div_get_rate, + .set_rate = raspberrypi_fw_pll_div_set_rate, +- .determine_rate = raspberrypi_pll_div_determine_rate, ++ //.determine_rate = raspberrypi_pll_div_determine_rate, + }; + + static const struct clk_ops raspberrypi_firmware_clk_ops = { + .is_prepared = raspberrypi_fw_clock_is_on, + .recalc_rate = raspberrypi_fw_clock_get_rate, + .set_rate = raspberrypi_fw_clock_set_rate, +- .determine_rate = raspberrypi_clock_determine_rate, ++ //.determine_rate = raspberrypi_clock_determine_rate, + }; + + diff --git a/target/linux/brcm2708/patches-4.19/950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch b/target/linux/brcm2708/patches-4.19/950-0770-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0772-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch rename to target/linux/brcm2708/patches-4.19/950-0770-raspberrypi-cpufreq-Only-report-integer-pll-divisor-.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch index a15f41f45a..0239b19ff2 100644 --- a/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch +++ b/target/linux/brcm2708/patches-4.19/950-0771-fixup-clk-raspberrypi-Also-support-v3d-clock.patch @@ -1,36 +1,54 @@ -From 05c745c001c8c82bbba8a6d953ad77ad25c92c5f Mon Sep 17 00:00:00 2001 +From afb2cfe3056fc643cee8ae25991f4b9c22d48bef Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Thu, 7 Nov 2019 14:11:08 +0000 +Date: Thu, 7 Nov 2019 14:23:38 +0000 Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock --- - drivers/clk/bcm/clk-raspberrypi.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + drivers/clk/bcm/clk-raspberrypi.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) --- a/drivers/clk/bcm/clk-raspberrypi.c +++ b/drivers/clk/bcm/clk-raspberrypi.c -@@ -351,21 +351,21 @@ static const struct clk_ops raspberrypi_ +@@ -208,6 +208,9 @@ static int raspberrypi_determine_rate(st + u32 clock_id, const char *name, unsigned long min_rate, unsigned long max_rate, + struct clk_rate_request *req) + { ++#if 1 ++ req->rate = clamp(req->rate, min_rate, max_rate); ++#else + u64 div, final_rate; + u32 ndiv, fdiv; + +@@ -225,6 +228,7 @@ static int raspberrypi_determine_rate(st + + req->rate = final_rate >> A2W_PLL_FRAC_BITS; + ++#endif + return 0; + } + +@@ -351,21 +355,21 @@ static const struct clk_ops raspberrypi_ .is_prepared = raspberrypi_fw_pll_is_on, .recalc_rate = raspberrypi_fw_pll_get_rate, .set_rate = raspberrypi_fw_pll_set_rate, -- .determine_rate = raspberrypi_pll_determine_rate, -+ //.determine_rate = raspberrypi_pll_determine_rate, +- //.determine_rate = raspberrypi_pll_determine_rate, ++ .determine_rate = raspberrypi_pll_determine_rate, }; static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { .is_prepared = raspberrypi_fw_pll_div_is_on, .recalc_rate = raspberrypi_fw_pll_div_get_rate, .set_rate = raspberrypi_fw_pll_div_set_rate, -- .determine_rate = raspberrypi_pll_div_determine_rate, -+ //.determine_rate = raspberrypi_pll_div_determine_rate, +- //.determine_rate = raspberrypi_pll_div_determine_rate, ++ .determine_rate = raspberrypi_pll_div_determine_rate, }; static const struct clk_ops raspberrypi_firmware_clk_ops = { .is_prepared = raspberrypi_fw_clock_is_on, .recalc_rate = raspberrypi_fw_clock_get_rate, .set_rate = raspberrypi_fw_clock_set_rate, -- .determine_rate = raspberrypi_clock_determine_rate, -+ //.determine_rate = raspberrypi_clock_determine_rate, +- //.determine_rate = raspberrypi_clock_determine_rate, ++ .determine_rate = raspberrypi_clock_determine_rate, }; diff --git a/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-Correct-Pi-4B-LED-values.patch b/target/linux/brcm2708/patches-4.19/950-0772-arm-dts-Correct-Pi-4B-LED-values.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0774-arm-dts-Correct-Pi-4B-LED-values.patch rename to target/linux/brcm2708/patches-4.19/950-0772-arm-dts-Correct-Pi-4B-LED-values.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch b/target/linux/brcm2708/patches-4.19/950-0773-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0775-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch rename to target/linux/brcm2708/patches-4.19/950-0773-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch b/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch deleted file mode 100644 index 0239b19ff2..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0773-fixup-clk-raspberrypi-Also-support-v3d-clock.patch +++ /dev/null @@ -1,54 +0,0 @@ -From afb2cfe3056fc643cee8ae25991f4b9c22d48bef Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Thu, 7 Nov 2019 14:23:38 +0000 -Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock - ---- - drivers/clk/bcm/clk-raspberrypi.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - ---- a/drivers/clk/bcm/clk-raspberrypi.c -+++ b/drivers/clk/bcm/clk-raspberrypi.c -@@ -208,6 +208,9 @@ static int raspberrypi_determine_rate(st - u32 clock_id, const char *name, unsigned long min_rate, unsigned long max_rate, - struct clk_rate_request *req) - { -+#if 1 -+ req->rate = clamp(req->rate, min_rate, max_rate); -+#else - u64 div, final_rate; - u32 ndiv, fdiv; - -@@ -225,6 +228,7 @@ static int raspberrypi_determine_rate(st - - req->rate = final_rate >> A2W_PLL_FRAC_BITS; - -+#endif - return 0; - } - -@@ -351,21 +355,21 @@ static const struct clk_ops raspberrypi_ - .is_prepared = raspberrypi_fw_pll_is_on, - .recalc_rate = raspberrypi_fw_pll_get_rate, - .set_rate = raspberrypi_fw_pll_set_rate, -- //.determine_rate = raspberrypi_pll_determine_rate, -+ .determine_rate = raspberrypi_pll_determine_rate, - }; - - static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = { - .is_prepared = raspberrypi_fw_pll_div_is_on, - .recalc_rate = raspberrypi_fw_pll_div_get_rate, - .set_rate = raspberrypi_fw_pll_div_set_rate, -- //.determine_rate = raspberrypi_pll_div_determine_rate, -+ .determine_rate = raspberrypi_pll_div_determine_rate, - }; - - static const struct clk_ops raspberrypi_firmware_clk_ops = { - .is_prepared = raspberrypi_fw_clock_is_on, - .recalc_rate = raspberrypi_fw_clock_get_rate, - .set_rate = raspberrypi_fw_clock_set_rate, -- //.determine_rate = raspberrypi_clock_determine_rate, -+ .determine_rate = raspberrypi_clock_determine_rate, - }; - - diff --git a/target/linux/brcm2708/patches-4.19/950-0776-arm-dts-2711-Add-pcie0-alias.patch b/target/linux/brcm2708/patches-4.19/950-0774-arm-dts-2711-Add-pcie0-alias.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0776-arm-dts-2711-Add-pcie0-alias.patch rename to target/linux/brcm2708/patches-4.19/950-0774-arm-dts-2711-Add-pcie0-alias.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0777-spidev-Completely-disable-the-DT-warning.patch b/target/linux/brcm2708/patches-4.19/950-0775-spidev-Completely-disable-the-DT-warning.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0777-spidev-Completely-disable-the-DT-warning.patch rename to target/linux/brcm2708/patches-4.19/950-0775-spidev-Completely-disable-the-DT-warning.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch b/target/linux/brcm2708/patches-4.19/950-0776-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0778-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch rename to target/linux/brcm2708/patches-4.19/950-0776-drm-vc4-Disable-V3D-interactions-if-the-v3d-componen.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch b/target/linux/brcm2708/patches-4.19/950-0777-sound-soc-only-first-codec-is-master-in-multicodec-s.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0779-sound-soc-only-first-codec-is-master-in-multicodec-s.patch rename to target/linux/brcm2708/patches-4.19/950-0777-sound-soc-only-first-codec-is-master-in-multicodec-s.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch b/target/linux/brcm2708/patches-4.19/950-0778-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0780-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch rename to target/linux/brcm2708/patches-4.19/950-0778-Allow-simultaneous-use-of-JustBoom-DAC-and-Digi.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch b/target/linux/brcm2708/patches-4.19/950-0779-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0781-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch rename to target/linux/brcm2708/patches-4.19/950-0779-dwc_otg-checking-the-urb-transfer_buffer-too-early-3.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0782-overlays-Make-mcp342x-run-time-compatible.patch b/target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0782-overlays-Make-mcp342x-run-time-compatible.patch rename to target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0783-overlays-dht11-Allow-multiple-instantiation.patch b/target/linux/brcm2708/patches-4.19/950-0781-overlays-dht11-Allow-multiple-instantiation.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0783-overlays-dht11-Allow-multiple-instantiation.patch rename to target/linux/brcm2708/patches-4.19/950-0781-overlays-dht11-Allow-multiple-instantiation.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch b/target/linux/brcm2708/patches-4.19/950-0782-overlays-i2c-rtc-Add-pcf85363-support.patch similarity index 100% rename from target/linux/brcm2708/patches-4.19/950-0784-overlays-i2c-rtc-Add-pcf85363-support.patch rename to target/linux/brcm2708/patches-4.19/950-0782-overlays-i2c-rtc-Add-pcf85363-support.patch diff --git a/target/linux/brcm2708/patches-4.19/950-0783-pinctrl-bcm2835-Remove-gpiochip-on-error.patch b/target/linux/brcm2708/patches-4.19/950-0783-pinctrl-bcm2835-Remove-gpiochip-on-error.patch new file mode 100644 index 0000000000..d976e37b80 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0783-pinctrl-bcm2835-Remove-gpiochip-on-error.patch @@ -0,0 +1,25 @@ +From e1bbcb1097b9d968ae61397a66a73a440a0ce705 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 6 Jan 2020 16:04:30 +0000 +Subject: [PATCH] pinctrl: bcm2835: Remove gpiochip on error + +A failure in gpiochip_irqchip_add leads to a leak of a gpiochip. Fix +the leak with the use of devm_gpiochip_add_data. + +Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP") +Signed-off-by: Phil Elwell +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1140,7 +1140,7 @@ static int bcm2835_pinctrl_probe(struct + raw_spin_lock_init(&pc->irq_lock[i]); + } + +- err = gpiochip_add_data(&pc->gpio_chip, pc); ++ err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc); + if (err) { + dev_err(dev, "could not add GPIO chip\n"); + return err; diff --git a/target/linux/brcm2708/patches-4.19/950-0784-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch b/target/linux/brcm2708/patches-4.19/950-0784-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch new file mode 100644 index 0000000000..09166b72e7 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0784-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch @@ -0,0 +1,82 @@ +From 0b3764707993123148b4e94d44ff282b111c8edb Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 6 Jan 2020 14:05:42 +0000 +Subject: [PATCH] pinctrl: bcm2835: Change init order for gpio hogs + +pinctrl-bcm2835 is a combined pinctrl/gpio driver. Currently the gpio +side is registered first, but this breaks gpio hogs (which are +configured during gpiochip_add_data). Part of the hog initialisation +is a call to pinctrl_gpio_request, and since the pinctrl driver hasn't +yet been registered this results in an -EPROBE_DEFER from which it can +never recover. + +Change the initialisation sequence to register the pinctrl driver +first. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=260600 + +Signed-off-by: Phil Elwell +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 34 +++++++++++++-------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1140,9 +1140,25 @@ static int bcm2835_pinctrl_probe(struct + raw_spin_lock_init(&pc->irq_lock[i]); + } + ++ 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); ++ if (IS_ERR(pc->pctl_dev)) ++ return PTR_ERR(pc->pctl_dev); ++ ++ pc->gpio_range = bcm2835_pinctrl_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); ++ + err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc); + if (err) { + dev_err(dev, "could not add GPIO chip\n"); ++ pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range); + return err; + } + +@@ -1150,6 +1166,7 @@ static int bcm2835_pinctrl_probe(struct + 0, handle_level_irq, IRQ_TYPE_NONE); + if (err) { + dev_info(dev, "could not add irqchip\n"); ++ pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range); + return err; + } + +@@ -1172,23 +1189,6 @@ static int bcm2835_pinctrl_probe(struct + bcm2835_gpio_irq_handler); + } + +- 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); +- if (IS_ERR(pc->pctl_dev)) { +- gpiochip_remove(&pc->gpio_chip); +- return PTR_ERR(pc->pctl_dev); +- } +- +- pc->gpio_range = bcm2835_pinctrl_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); +- + return 0; + } + diff --git a/target/linux/brcm2708/patches-4.19/950-0785-Pisound-MIDI-communication-fixes-for-scaled-down-CPU.patch b/target/linux/brcm2708/patches-4.19/950-0785-Pisound-MIDI-communication-fixes-for-scaled-down-CPU.patch new file mode 100644 index 0000000000..c363e1d990 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0785-Pisound-MIDI-communication-fixes-for-scaled-down-CPU.patch @@ -0,0 +1,100 @@ +From 5b12b655f266ea29e91a7b7a46385df05bb70ed8 Mon Sep 17 00:00:00 2001 +From: Giedrius +Date: Tue, 7 Jan 2020 11:04:21 +0200 +Subject: [PATCH] Pisound: MIDI communication fixes for scaled down + CPU. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* Increased maximum SPI communication speed to avoid running too slow + when the CPU is scaled down and losing MIDI data. + +* Keep track of buffer usage in millibytes for higher precision. + +Signed-off-by: Giedrius Trainavičius +--- + sound/soc/bcm/pisound.c | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +--- a/sound/soc/bcm/pisound.c ++++ b/sound/soc/bcm/pisound.c +@@ -1,6 +1,6 @@ + /* + * Pisound Linux kernel module. +- * Copyright (C) 2016-2019 Vilniaus Blokas UAB, https://blokas.io/pisound ++ * Copyright (C) 2016-2020 Vilniaus Blokas UAB, https://blokas.io/pisound + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -326,7 +326,7 @@ static void spi_transfer(const uint8_t * + transfer.tx_buf = txbuf; + transfer.rx_buf = rxbuf; + transfer.len = len; +- transfer.speed_hz = 100000; ++ transfer.speed_hz = 150000; + transfer.delay_usecs = 10; + spi_message_add_tail(&transfer, &msg); + +@@ -403,9 +403,9 @@ static struct spi_device *pisnd_spi_find + static void pisnd_work_handler(struct work_struct *work) + { + enum { TRANSFER_SIZE = 4 }; +- enum { PISOUND_OUTPUT_BUFFER_SIZE = 128 }; +- enum { MIDI_BYTES_PER_SECOND = 3125 }; +- int out_buffer_used = 0; ++ enum { PISOUND_OUTPUT_BUFFER_SIZE_MILLIBYTES = 127 * 1000 }; ++ enum { MIDI_MILLIBYTES_PER_JIFFIE = (3125 * 1000) / HZ }; ++ int out_buffer_used_millibytes = 0; + unsigned long now; + uint8_t val; + uint8_t txbuf[TRANSFER_SIZE]; +@@ -445,7 +445,9 @@ static void pisnd_work_handler(struct wo + had_data = false; + memset(txbuf, 0, sizeof(txbuf)); + for (i = 0; i < sizeof(txbuf) && +- out_buffer_used < PISOUND_OUTPUT_BUFFER_SIZE; ++ ((out_buffer_used_millibytes+1000 < ++ PISOUND_OUTPUT_BUFFER_SIZE_MILLIBYTES) || ++ g_ledFlashDurationChanged); + i += 2) { + + val = 0; +@@ -458,7 +460,7 @@ static void pisnd_work_handler(struct wo + } else if (kfifo_get(&spi_fifo_out, &val)) { + txbuf[i+0] = 0x0f; + txbuf[i+1] = val; +- ++out_buffer_used; ++ out_buffer_used_millibytes += 1000; + } + } + +@@ -469,12 +471,14 @@ static void pisnd_work_handler(struct wo + * rate. + */ + now = jiffies; +- out_buffer_used -= +- (MIDI_BYTES_PER_SECOND / HZ) / +- (now - last_transfer_at); +- if (out_buffer_used < 0) +- out_buffer_used = 0; +- last_transfer_at = now; ++ if (now != last_transfer_at) { ++ out_buffer_used_millibytes -= ++ (now - last_transfer_at) * ++ MIDI_MILLIBYTES_PER_JIFFIE; ++ if (out_buffer_used_millibytes < 0) ++ out_buffer_used_millibytes = 0; ++ last_transfer_at = now; ++ } + + for (i = 0; i < sizeof(rxbuf); i += 2) { + if (rxbuf[i]) { +@@ -489,6 +493,7 @@ static void pisnd_work_handler(struct wo + || !kfifo_is_empty(&spi_fifo_out) + || pisnd_spi_has_more() + || g_ledFlashDurationChanged ++ || out_buffer_used_millibytes != 0 + ); + + if (!kfifo_is_empty(&spi_fifo_in) && g_recvCallback) diff --git a/target/linux/brcm2708/patches-4.19/950-0786-leds-pca963x-Fix-open-drain-initialization.patch b/target/linux/brcm2708/patches-4.19/950-0786-leds-pca963x-Fix-open-drain-initialization.patch new file mode 100644 index 0000000000..e63d4c6bc1 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0786-leds-pca963x-Fix-open-drain-initialization.patch @@ -0,0 +1,61 @@ +From 1738aaf187e0c8e97fbdd9661960b835f45e8985 Mon Sep 17 00:00:00 2001 +From: Zahari Petkov +Date: Mon, 18 Nov 2019 23:02:55 +0200 +Subject: [PATCH] leds: pca963x: Fix open-drain initialization + +commit 697529091ac7a0a90ca349b914bb30641c13c753 upstream. + +Before commit bb29b9cccd95 ("leds: pca963x: Add bindings to invert +polarity") Mode register 2 was initialized directly with either 0x01 +or 0x05 for open-drain or totem pole (push-pull) configuration. + +Afterwards, MODE2 initialization started using bitwise operations on +top of the default MODE2 register value (0x05). Using bitwise OR for +setting OUTDRV with 0x01 and 0x05 does not produce correct results. +When open-drain is used, instead of setting OUTDRV to 0, the driver +keeps it as 1: + +Open-drain: 0x05 | 0x01 -> 0x05 (0b101 - incorrect) +Totem pole: 0x05 | 0x05 -> 0x05 (0b101 - correct but still wrong) + +Now OUTDRV setting uses correct bitwise operations for initialization: + +Open-drain: 0x05 & ~0x04 -> 0x01 (0b001 - correct) +Totem pole: 0x05 | 0x04 -> 0x05 (0b101 - correct) + +Additional MODE2 register definitions are introduced now as well. + +Fixes: bb29b9cccd95 ("leds: pca963x: Add bindings to invert polarity") +Signed-off-by: Zahari Petkov +Signed-off-by: Pavel Machek +--- + drivers/leds/leds-pca963x.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/leds/leds-pca963x.c ++++ b/drivers/leds/leds-pca963x.c +@@ -43,6 +43,8 @@ + #define PCA963X_LED_PWM 0x2 /* Controlled through PWM */ + #define PCA963X_LED_GRP_PWM 0x3 /* Controlled through PWM/GRPPWM */ + ++#define PCA963X_MODE2_OUTDRV 0x04 /* Open-drain or totem pole */ ++#define PCA963X_MODE2_INVRT 0x10 /* Normal or inverted direction */ + #define PCA963X_MODE2_DMBLNK 0x20 /* Enable blinking */ + + #define PCA963X_MODE1 0x00 +@@ -462,12 +464,12 @@ static int pca963x_probe(struct i2c_clie + PCA963X_MODE2); + /* Configure output: open-drain or totem pole (push-pull) */ + if (pdata->outdrv == PCA963X_OPEN_DRAIN) +- mode2 |= 0x01; ++ mode2 &= ~PCA963X_MODE2_OUTDRV; + else +- mode2 |= 0x05; ++ mode2 |= PCA963X_MODE2_OUTDRV; + /* Configure direction: normal or inverted */ + if (pdata->dir == PCA963X_INVERTED) +- mode2 |= 0x10; ++ mode2 |= PCA963X_MODE2_INVRT; + i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2, + mode2); + } diff --git a/target/linux/brcm2708/patches-4.19/950-0787-add-BME680-to-i2c-sensor-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0787-add-BME680-to-i2c-sensor-overlay.patch new file mode 100644 index 0000000000..55e34e288b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0787-add-BME680-to-i2c-sensor-overlay.patch @@ -0,0 +1,67 @@ +From ca88aee39825dd81ef1e8306b5947c5ae3918d1a Mon Sep 17 00:00:00 2001 +From: Willem Remie +Date: Thu, 9 Jan 2020 21:16:49 +0100 +Subject: [PATCH] add BME680 to i2c-sensor overlay + +--- + arch/arm/boot/dts/overlays/README | 7 +++++-- + .../boot/dts/overlays/i2c-sensor-overlay.dts | 19 ++++++++++++++++++- + 2 files changed, 23 insertions(+), 3 deletions(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1159,12 +1159,15 @@ Name: i2c-sensor + Info: Adds support for a number of I2C barometric pressure and temperature + sensors on i2c_arm + Load: dtoverlay=i2c-sensor,= +-Params: addr Set the address for the BME280, BMP280, DS1621, +- HDC100X, LM75, SHT3x or TMP102 ++Params: addr Set the address for the BME280, BME680, BMP280, ++ DS1621, HDC100X, LM75, SHT3x or TMP102 + + bme280 Select the Bosch Sensortronic BME280 + Valid addresses 0x76-0x77, default 0x76 + ++ bme680 Select the Bosch Sensortronic BME680 ++ Valid addresses 0x76-0x77, default 0x76 ++ + bmp085 Select the Bosch Sensortronic BMP085 + + bmp180 Select the Bosch Sensortronic BMP180 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts +@@ -216,10 +216,26 @@ + }; + }; + ++ fragment@14 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ bme680: bme680@76 { ++ compatible = "bosch,bme680"; ++ reg = <0x76>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ + __overrides__ { + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", + <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0", +- <&ds1621>,"reg:0"; ++ <&ds1621>,"reg:0", <&bme680>,"reg:0"; + bme280 = <0>,"+0"; + bmp085 = <0>,"+1"; + bmp180 = <0>,"+2"; +@@ -235,5 +251,6 @@ + sht3x = <0>,"+11"; + ds1621 = <0>,"+12"; + max17040 = <0>,"+13"; ++ bme680 = <0>,"+14"; + }; + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0788-dwc_otg-constrain-endpoint-max-packet-and-transfer-s.patch b/target/linux/brcm2708/patches-4.19/950-0788-dwc_otg-constrain-endpoint-max-packet-and-transfer-s.patch new file mode 100644 index 0000000000..ae110add5a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0788-dwc_otg-constrain-endpoint-max-packet-and-transfer-s.patch @@ -0,0 +1,43 @@ +From 7ae8ef63c14ca2fea76c9db5799321f1b3e31c36 Mon Sep 17 00:00:00 2001 +From: Jonathan Bell +Date: Tue, 7 Jan 2020 10:08:19 +0000 +Subject: [PATCH] dwc_otg: constrain endpoint max packet and transfer + size on split IN + +The hcd would unconditionally set the transfer length to the endpoint +packet size for non-isoc IN transfers. If the remaining buffer length +was less than the length of returned data, random memory would get +scribbled over, with bad effects if it crossed a page boundary. + +Force a babble error if this happens by limiting the max transfer size +to the available buffer space. DMA will stop writing to memory on a +babble condition. + +The hardware expects xfersize to be an integer multiple of maxpacket +size, so override hcchar.b.mps as well. + +Signed-off-by: Jonathan Bell +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -1813,7 +1813,7 @@ int fiq_fsm_queue_split_transaction(dwc_ + st->nr_errors = 0; + + st->hcchar_copy.d32 = 0; +- st->hcchar_copy.b.mps = hc->max_packet; ++ st->hcchar_copy.b.mps = min_t(uint32_t, hc->xfer_len, hc->max_packet); + st->hcchar_copy.b.epdir = hc->ep_is_in; + st->hcchar_copy.b.devaddr = hc->dev_addr; + st->hcchar_copy.b.epnum = hc->ep_num; +@@ -1858,7 +1858,7 @@ int fiq_fsm_queue_split_transaction(dwc_ + st->hctsiz_copy.b.pid = hc->data_pid_start; + + if (hc->ep_is_in || (hc->xfer_len > hc->max_packet)) { +- hc->xfer_len = hc->max_packet; ++ hc->xfer_len = min_t(uint32_t, hc->xfer_len, hc->max_packet); + } else if (!hc->ep_is_in && (hc->xfer_len > 188)) { + hc->xfer_len = 188; + } diff --git a/target/linux/brcm2708/patches-4.19/950-0789-dwc_otg-fiq_fsm-pause-when-cancelling-split-transact.patch b/target/linux/brcm2708/patches-4.19/950-0789-dwc_otg-fiq_fsm-pause-when-cancelling-split-transact.patch new file mode 100644 index 0000000000..53c93a5836 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0789-dwc_otg-fiq_fsm-pause-when-cancelling-split-transact.patch @@ -0,0 +1,95 @@ +From af6743f045159970b95f6426de13c0fb82678e67 Mon Sep 17 00:00:00 2001 +From: Jonathan Bell +Date: Wed, 8 Jan 2020 12:48:09 +0000 +Subject: [PATCH] dwc_otg: fiq_fsm: pause when cancelling split + transactions + +Non-periodic splits will DMA to/from the driver-provided transfer_buffer, +which may be freed immediately after the dequeue call returns. Block until +we know the transfer is complete. + +A similar delay is needed when cleaning up disconnects, as the FIQ could +have started a periodic transfer in the previous microframe to the one +that triggered a disconnect. + +Signed-off-by: Jonathan Bell +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 33 +++++++++++++++++++++-- + drivers/usb/host/dwc_otg/dwc_otg_os_dep.h | 1 + + 2 files changed, 32 insertions(+), 2 deletions(-) + +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -175,6 +175,7 @@ static void kill_urbs_in_qh_list(dwc_otg + dwc_list_link_t *qh_item, *qh_tmp; + dwc_otg_qh_t *qh; + dwc_otg_qtd_t *qtd, *qtd_tmp; ++ int quiesced = 0; + + DWC_LIST_FOREACH_SAFE(qh_item, qh_tmp, qh_list) { + qh = DWC_LIST_ENTRY(qh_item, dwc_otg_qh_t, qh_list_entry); +@@ -198,8 +199,17 @@ static void kill_urbs_in_qh_list(dwc_otg + qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; + qh->channel->halt_pending = 1; + if (hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_TURBO || +- hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_SLEEPING) ++ hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_SLEEPING) + hcd->fiq_state->channel[n].fsm = FIQ_HS_ISOC_ABORTED; ++ /* We're called from disconnect callback or in the middle of freeing the HCD here, ++ * so FIQ is disabled, top-level interrupts masked and we're holding the spinlock. ++ * No further URBs will be submitted, but wait 1 microframe for any previously ++ * submitted periodic DMA to finish. ++ */ ++ if (!quiesced) { ++ udelay(125); ++ quiesced = 1; ++ } + } else { + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); +@@ -600,15 +610,34 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ + /* In FIQ FSM mode, we need to shut down carefully. + * The FIQ may attempt to restart a disabled channel */ + if (fiq_fsm_enable && (hcd->fiq_state->channel[n].fsm != FIQ_PASSTHROUGH)) { ++ int retries = 3; ++ int running = 0; ++ enum fiq_fsm_state state; ++ + local_fiq_disable(); + fiq_fsm_spin_lock(&hcd->fiq_state->lock); + qh->channel->halt_status = DWC_OTG_HC_XFER_URB_DEQUEUE; + qh->channel->halt_pending = 1; + if (hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_TURBO || +- hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_SLEEPING) ++ hcd->fiq_state->channel[n].fsm == FIQ_HS_ISOC_SLEEPING) + hcd->fiq_state->channel[n].fsm = FIQ_HS_ISOC_ABORTED; + fiq_fsm_spin_unlock(&hcd->fiq_state->lock); + local_fiq_enable(); ++ ++ if (dwc_qh_is_non_per(qh)) { ++ do { ++ state = READ_ONCE(hcd->fiq_state->channel[n].fsm); ++ running = (state != FIQ_NP_SPLIT_DONE) && ++ (state != FIQ_NP_SPLIT_LS_ABORTED) && ++ (state != FIQ_NP_SPLIT_HS_ABORTED); ++ if (!running) ++ break; ++ udelay(125); ++ } while(--retries); ++ if (!retries) ++ DWC_WARN("Timed out waiting for FSM NP transfer to complete on %d", ++ qh->channel->hc_num); ++ } + } else { + dwc_otg_hc_halt(hcd->core_if, qh->channel, + DWC_OTG_HC_XFER_URB_DEQUEUE); +--- a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/target/linux/brcm2708/patches-4.19/950-0790-dwc_otg-fiq_fsm-add-a-barrier-on-entry-into-FIQ-hand.patch b/target/linux/brcm2708/patches-4.19/950-0790-dwc_otg-fiq_fsm-add-a-barrier-on-entry-into-FIQ-hand.patch new file mode 100644 index 0000000000..dc48605cb1 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0790-dwc_otg-fiq_fsm-add-a-barrier-on-entry-into-FIQ-hand.patch @@ -0,0 +1,49 @@ +From b2d43d61a1d6d070664f10d12b3c8b6df11eb21d Mon Sep 17 00:00:00 2001 +From: Jonathan Bell +Date: Mon, 13 Jan 2020 15:54:55 +0000 +Subject: [PATCH] dwc_otg: fiq_fsm: add a barrier on entry into FIQ + handler(s) + +On BCM2835, there is no hardware guarantee that multiple outstanding +reads to different peripherals will complete in-order. The FIQ code +uses peripheral reads without barriers for performance, so in the case +where a read to a slow peripheral was issued immediately prior to FIQ +entry, the first peripheral read that the FIQ did could end up with +wrong read data returned. + +Add dsb(sy) on entry so that all outstanding reads are retired. + +The FIQ only issues reads to the dwc_otg core, so per-read barriers +in the handler itself are not required. + +On BCM2836 and BCM2837 the barrier is not strictly required due to +differences in how the peripheral bus is implemented, but having +arch-specific handlers that introduce different latencies is risky. + +Signed-off-by: Jonathan Bell +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -1259,6 +1259,9 @@ void notrace dwc_otg_fiq_fsm(struct fiq_ + haintmsk_data_t haintmsk; + int kick_irq = 0; + ++ /* Ensure peripheral reads issued prior to FIQ entry are complete */ ++ dsb(sy); ++ + gintsts_handled.d32 = 0; + haint_handled.d32 = 0; + +@@ -1379,6 +1382,9 @@ void notrace dwc_otg_fiq_nop(struct fiq_ + gintmsk_data_t gintmsk; + hfnum_data_t hfnum; + ++ /* Ensure peripheral reads issued prior to FIQ entry are complete */ ++ dsb(sy); ++ + fiq_fsm_spin_lock(&state->lock); + hfnum.d32 = FIQ_READ(state->dwc_regs_base + HFNUM); + gintsts.d32 = FIQ_READ(state->dwc_regs_base + GINTSTS); diff --git a/target/linux/brcm2708/patches-4.19/950-0791-Add-universal-device-tree-overlay-for-SPI-devices.patch b/target/linux/brcm2708/patches-4.19/950-0791-Add-universal-device-tree-overlay-for-SPI-devices.patch new file mode 100644 index 0000000000..ce027e72f0 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0791-Add-universal-device-tree-overlay-for-SPI-devices.patch @@ -0,0 +1,273 @@ +From 4d19be9132ca10cf582450a86dcb2c41f227f589 Mon Sep 17 00:00:00 2001 +From: Ed Spiridonov +Date: Tue, 10 Dec 2019 22:45:04 +0300 +Subject: [PATCH] Add universal device tree overlay for SPI devices + +Just specify the SPI address and device name ("compatible" property). +This overlay lacks any device-specific parameter support! +(some of them could be added later) + +Examples: +1. SPI NOR flash on spi0.1, maximum SPI clock frequency 45MHz: + dtoverlay=anyspi:spi0-1,dev="jedec,spi-nor",speed=45000000 +2. MCP3204 ADC on spi1.2, maximum SPI clock frequency 500kHz: + dtoverlay=anyspi:spi1-2,dev="microchip,mcp3204" + +Signed-off-by: Ed Spiridonov +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 23 ++ + arch/arm/boot/dts/overlays/anyspi-overlay.dts | 205 ++++++++++++++++++ + 3 files changed, 229 insertions(+) + create mode 100755 arch/arm/boot/dts/overlays/anyspi-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -15,6 +15,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + allo-katana-dac-audio.dtbo \ + allo-piano-dac-pcm512x-audio.dtbo \ + allo-piano-dac-plus-pcm512x-audio.dtbo \ ++ anyspi.dtbo \ + apds9960.dtbo \ + applepi-dac.dtbo \ + at86rf233.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -441,6 +441,29 @@ Params: 24db_digital_gain Allow ga + better voice quality. (default Off) + + ++Name: anyspi ++Info: Universal device tree overlay for SPI devices ++ ++ Just specify the SPI address and device name ("compatible" property). ++ This overlay lacks any device-specific parameter support! ++ ++ For devices on spi1 or spi2, the interfaces should be enabled ++ with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays. ++ ++ Examples: ++ 1. SPI NOR flash on spi0.1, maximum SPI clock frequency 45MHz: ++ dtoverlay=anyspi:spi0-1,dev="jedec,spi-nor",speed=45000000 ++ 2. MCP3204 ADC on spi1.2, maximum SPI clock frequency 500kHz: ++ dtoverlay=anyspi:spi1-2,dev="microchip,mcp3204" ++Load: dtoverlay=anyspi,= ++Params: spi- Configure device at spi, cs ++ (boolean, required) ++ dev Set device name to search compatible module ++ (string, required) ++ speed Set SPI clock frequency in Hz ++ (integer, optional, default 500000) ++ ++ + Name: apds9960 + Info: Configures the AVAGO APDS9960 digital proximity, ambient light, RGB and + gesture sensor +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/anyspi-overlay.dts +@@ -0,0 +1,205 @@ ++/* ++ * Universal device tree overlay for SPI devices ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev1>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "spi1/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target-path = "spi1/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@4 { ++ target-path = "spi1/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@5 { ++ target-path = "spi2/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@6 { ++ target-path = "spi2/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@7 { ++ target-path = "spi2/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@8 { ++ target = <&spi0>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_00: anyspi@0 { ++ reg = <0>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@9 { ++ target = <&spi0>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_01: anyspi@1 { ++ reg = <1>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@10 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_10: anyspi@0 { ++ reg = <0>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@11 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_11: anyspi@1 { ++ reg = <1>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@12 { ++ target = <&spi1>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_12: anyspi@2 { ++ reg = <2>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@13 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_20: anyspi@0 { ++ reg = <0>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@14 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_21: anyspi@1 { ++ reg = <1>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@15 { ++ target = <&spi2>; ++ __dormant__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anyspi_22: anyspi@2 { ++ reg = <2>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ spi0-0 = <0>, "+0+8"; ++ spi0-1 = <0>, "+1+9"; ++ spi1-0 = <0>, "+2+10"; ++ spi1-1 = <0>, "+3+11"; ++ spi1-2 = <0>, "+4+12"; ++ spi2-0 = <0>, "+5+13"; ++ spi2-1 = <0>, "+6+14"; ++ spi2-2 = <0>, "+7+15"; ++ dev = <&anyspi_00>,"compatible", ++ <&anyspi_01>,"compatible", ++ <&anyspi_10>,"compatible", ++ <&anyspi_11>,"compatible", ++ <&anyspi_12>,"compatible", ++ <&anyspi_20>,"compatible", ++ <&anyspi_21>,"compatible", ++ <&anyspi_22>,"compatible"; ++ speed = <&anyspi_00>, "spi-max-frequency:0", ++ <&anyspi_01>, "spi-max-frequency:0", ++ <&anyspi_10>, "spi-max-frequency:0", ++ <&anyspi_11>, "spi-max-frequency:0", ++ <&anyspi_12>, "spi-max-frequency:0", ++ <&anyspi_20>, "spi-max-frequency:0", ++ <&anyspi_21>, "spi-max-frequency:0", ++ <&anyspi_22>, "spi-max-frequency:0"; ++ }; ++}; diff --git a/target/linux/brcm2708/patches-4.19/950-0792-sound-Add-the-HiFiBerry-DAC-HD-version.patch b/target/linux/brcm2708/patches-4.19/950-0792-sound-Add-the-HiFiBerry-DAC-HD-version.patch new file mode 100644 index 0000000000..c8b8fd520b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0792-sound-Add-the-HiFiBerry-DAC-HD-version.patch @@ -0,0 +1,776 @@ +From bb4781b1dac98688a3cf64cf728a64d811ca6add Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Schambacher?= + +Date: Tue, 21 Jan 2020 15:58:39 +0100 +Subject: [PATCH] sound: Add the HiFiBerry DAC+HD version + +This adds the driver for the DAC+HD version supporting HiFiBerry's +PCM179x based DACs. It also adds PLL control for clock generation. + +Signed-off-by: Joerg Schambacher +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 + + .../overlays/hifiberry-dacplushd-overlay.dts | 106 ++++++ + drivers/clk/Makefile | 1 + + drivers/clk/clk-hifiberry-dachd.c | 333 ++++++++++++++++++ + sound/soc/bcm/Kconfig | 7 + + sound/soc/bcm/Makefile | 2 + + sound/soc/bcm/hifiberry_dacplushd.c | 235 ++++++++++++ + 13 files changed, 696 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts + create mode 100644 drivers/clk/clk-hifiberry-dachd.c + create mode 100644 sound/soc/bcm/hifiberry_dacplushd.c + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -57,6 +57,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + hifiberry-dacplusadc.dtbo \ + hifiberry-dacplusadcpro.dtbo \ + hifiberry-dacplusdsp.dtbo \ ++ hifiberry-dacplushd.dtbo \ + hifiberry-digi.dtbo \ + hifiberry-digi-pro.dtbo \ + hy28a.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -956,6 +956,12 @@ Load: dtoverlay=hifiberry-dacplusdsp + Params: + + ++Name: hifiberry-dacplushd ++Info: Configures the HifiBerry DAC+ HD audio card ++Load: dtoverlay=hifiberry-dacplushd ++Params: ++ ++ + Name: hifiberry-digi + Info: Configures the HifiBerry Digi and Digi+ audio card + Load: dtoverlay=hifiberry-digi +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts +@@ -0,0 +1,106 @@ ++// Definitions for HiFiBerry DAC+ HD ++/dts-v1/; ++/plugin/; ++ ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target-path = "/clocks"; ++ __overlay__ { ++ dachd_osc: pll_dachd_osc { ++ compatible = "hifiberry,dachd-clk"; ++ #clock-cells = <0>; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcm1792a@4c { ++ compatible = "ti,pcm1792a"; ++ #sound-dai-cells = <0>; ++ #clock-cells = <0>; ++ clocks = <&dachd_osc>; ++ reg = <0x4c>; ++ status = "okay"; ++ }; ++ pll: pll@62 { ++ compatible = "hifiberry,dachd-clk"; ++ #clock-cells = <0>; ++ reg = <0x62>; ++ clocks = <&dachd_osc>; ++ status = "okay"; ++ common_pll_regs = [ ++ 02 53 03 00 07 20 0F 00 ++ 10 0D 11 1D 12 0D 13 8C ++ 14 8C 15 8C 16 8C 17 8C ++ 18 2A 1C 00 1D 0F 1F 00 ++ 2A 00 2C 00 2F 00 30 00 ++ 31 00 32 00 34 00 37 00 ++ 38 00 39 00 3A 00 3B 01 ++ 3E 00 3F 00 40 00 41 00 ++ 5A 00 5B 00 95 00 96 00 ++ 97 00 98 00 99 00 9A 00 ++ 9B 00 A2 00 A3 00 A4 00 ++ B7 92 ]; ++ 192k_pll_regs = [ ++ 1A 0C 1B 35 1E F0 20 09 ++ 21 50 2B 02 2D 10 2E 40 ++ 33 01 35 22 36 80 3C 22 ++ 3D 46 ]; ++ 96k_pll_regs = [ ++ 1A 0C 1B 35 1E F0 20 09 ++ 21 50 2B 02 2D 10 2E 40 ++ 33 01 35 47 36 00 3C 32 ++ 3D 46 ]; ++ 48k_pll_regs = [ ++ 1A 0C 1B 35 1E F0 20 09 ++ 21 50 2B 02 2D 10 2E 40 ++ 33 01 35 90 36 00 3C 42 ++ 3D 46 ]; ++ 176k4_pll_regs = [ ++ 1A 3D 1B 09 1E F3 20 13 ++ 21 75 2B 04 2D 11 2E E0 ++ 33 02 35 25 36 C0 3C 22 ++ 3D 7A ]; ++ 88k2_pll_regs = [ ++ 1A 3D 1B 09 1E F3 20 13 ++ 21 75 2B 04 2D 11 2E E0 ++ 33 01 35 4D 36 80 3C 32 ++ 3D 7A ]; ++ 44k1_pll_regs = [ ++ 1A 3D 1B 09 1E F3 20 13 ++ 21 75 2B 04 2D 11 2E E0 ++ 33 01 35 9D 36 00 3C 42 ++ 3D 7A ]; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&sound>; ++ __overlay__ { ++ compatible = "hifiberry,hifiberry-dacplushd"; ++ i2s-controller = <&i2s>; ++ clocks = <&pll 0>; ++ reset-gpio = <&gpio 16 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++ }; ++ }; ++ ++}; +--- a/drivers/clk/Makefile ++++ b/drivers/clk/Makefile +@@ -32,6 +32,7 @@ obj-$(CONFIG_COMMON_CLK_ASPEED) += clk- + obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o + obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += clk-hifiberry-dacpro.o ++obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD) += clk-hifiberry-dachd.o + obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o + obj-$(CONFIG_COMMON_CLK_MAX9485) += clk-max9485.o + obj-$(CONFIG_ARCH_MOXART) += clk-moxart.o +--- /dev/null ++++ b/drivers/clk/clk-hifiberry-dachd.c +@@ -0,0 +1,333 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Clock Driver for HiFiBerry DAC+ HD ++ * ++ * Author: Joerg Schambacher, i2Audio GmbH for HiFiBerry ++ * Copyright 2020 ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define NO_PLL_RESET 0 ++#define PLL_RESET 1 ++#define HIFIBERRY_PLL_MAX_REGISTER 256 ++#define DEFAULT_RATE 44100 ++ ++static struct reg_default hifiberry_pll_reg_defaults[] = { ++ {0x02, 0x53}, {0x03, 0x00}, {0x07, 0x20}, {0x0F, 0x00}, ++ {0x10, 0x0D}, {0x11, 0x1D}, {0x12, 0x0D}, {0x13, 0x8C}, ++ {0x14, 0x8C}, {0x15, 0x8C}, {0x16, 0x8C}, {0x17, 0x8C}, ++ {0x18, 0x2A}, {0x1C, 0x00}, {0x1D, 0x0F}, {0x1F, 0x00}, ++ {0x2A, 0x00}, {0x2C, 0x00}, {0x2F, 0x00}, {0x30, 0x00}, ++ {0x31, 0x00}, {0x32, 0x00}, {0x34, 0x00}, {0x37, 0x00}, ++ {0x38, 0x00}, {0x39, 0x00}, {0x3A, 0x00}, {0x3B, 0x01}, ++ {0x3E, 0x00}, {0x3F, 0x00}, {0x40, 0x00}, {0x41, 0x00}, ++ {0x5A, 0x00}, {0x5B, 0x00}, {0x95, 0x00}, {0x96, 0x00}, ++ {0x97, 0x00}, {0x98, 0x00}, {0x99, 0x00}, {0x9A, 0x00}, ++ {0x9B, 0x00}, {0xA2, 0x00}, {0xA3, 0x00}, {0xA4, 0x00}, ++ {0xB7, 0x92}, ++ {0x1A, 0x3D}, {0x1B, 0x09}, {0x1E, 0xF3}, {0x20, 0x13}, ++ {0x21, 0x75}, {0x2B, 0x04}, {0x2D, 0x11}, {0x2E, 0xE0}, ++ {0x3D, 0x7A}, ++ {0x35, 0x9D}, {0x36, 0x00}, {0x3C, 0x42}, ++ { 177, 0xAC}, ++}; ++static struct reg_default common_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_common_pll_regs; ++static struct reg_default dedicated_192k_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_192k_pll_regs; ++static struct reg_default dedicated_96k_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_96k_pll_regs; ++static struct reg_default dedicated_48k_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_48k_pll_regs; ++static struct reg_default dedicated_176k4_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_176k4_pll_regs; ++static struct reg_default dedicated_88k2_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_88k2_pll_regs; ++static struct reg_default dedicated_44k1_pll_regs[HIFIBERRY_PLL_MAX_REGISTER]; ++static int num_dedicated_44k1_pll_regs; ++ ++/** ++ * struct clk_hifiberry_drvdata - Common struct to the HiFiBerry DAC HD Clk ++ * @hw: clk_hw for the common clk framework ++ */ ++struct clk_hifiberry_drvdata { ++ struct regmap *regmap; ++ struct clk *clk; ++ struct clk_hw hw; ++ unsigned long rate; ++}; ++ ++#define to_hifiberry_clk(_hw) \ ++ container_of(_hw, struct clk_hifiberry_drvdata, hw) ++ ++static int clk_hifiberry_dachd_write_pll_regs(struct regmap *regmap, ++ struct reg_default *regs, ++ int num, int do_pll_reset) ++{ ++ int i; ++ int ret = 0; ++ char pll_soft_reset[] = { 177, 0xAC, }; ++ ++ for (i = 0; i < num; i++) { ++ ret |= regmap_write(regmap, regs[i].reg, regs[i].def); ++ if (ret) ++ return ret; ++ } ++ if (do_pll_reset) { ++ ret |= regmap_write(regmap, pll_soft_reset[0], ++ pll_soft_reset[1]); ++ mdelay(10); ++ } ++ return ret; ++} ++ ++static unsigned long clk_hifiberry_dachd_recalc_rate(struct clk_hw *hw, ++ unsigned long parent_rate) ++{ ++ return to_hifiberry_clk(hw)->rate; ++} ++ ++static long clk_hifiberry_dachd_round_rate(struct clk_hw *hw, ++ unsigned long rate, unsigned long *parent_rate) ++{ ++ return rate; ++} ++ ++static int clk_hifiberry_dachd_set_rate(struct clk_hw *hw, ++ unsigned long rate, unsigned long parent_rate) ++{ ++ int ret; ++ struct clk_hifiberry_drvdata *drvdata = to_hifiberry_clk(hw); ++ ++ switch (rate) { ++ case 44100: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_44k1_pll_regs, num_dedicated_44k1_pll_regs, ++ PLL_RESET); ++ break; ++ case 88200: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_88k2_pll_regs, num_dedicated_88k2_pll_regs, ++ PLL_RESET); ++ break; ++ case 176400: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_176k4_pll_regs, num_dedicated_176k4_pll_regs, ++ PLL_RESET); ++ break; ++ case 48000: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_48k_pll_regs, num_dedicated_48k_pll_regs, ++ PLL_RESET); ++ break; ++ case 96000: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_96k_pll_regs, num_dedicated_96k_pll_regs, ++ PLL_RESET); ++ break; ++ case 192000: ++ ret = clk_hifiberry_dachd_write_pll_regs(drvdata->regmap, ++ dedicated_192k_pll_regs, num_dedicated_192k_pll_regs, ++ PLL_RESET); ++ break; ++ default: ++ ret = -EINVAL; ++ break; ++ } ++ to_hifiberry_clk(hw)->rate = rate; ++ ++ return ret; ++} ++ ++const struct clk_ops clk_hifiberry_dachd_rate_ops = { ++ .recalc_rate = clk_hifiberry_dachd_recalc_rate, ++ .round_rate = clk_hifiberry_dachd_round_rate, ++ .set_rate = clk_hifiberry_dachd_set_rate, ++}; ++ ++static int clk_hifiberry_get_prop_values(struct device *dev, ++ char *prop_name, ++ struct reg_default *regs) ++{ ++ int ret; ++ int i; ++ u8 tmp[2 * HIFIBERRY_PLL_MAX_REGISTER]; ++ ++ ret = of_property_read_variable_u8_array(dev->of_node, prop_name, ++ tmp, 0, 2 * HIFIBERRY_PLL_MAX_REGISTER); ++ if (ret < 0) ++ return ret; ++ if (ret & 1) { ++ dev_err(dev, ++ "%s <%s> -> #%i odd number of bytes for reg/val pairs!", ++ __func__, ++ prop_name, ++ ret); ++ return -EINVAL; ++ } ++ ret /= 2; ++ for (i = 0; i < ret; i++) { ++ regs[i].reg = (u32)tmp[2 * i]; ++ regs[i].def = (u32)tmp[2 * i + 1]; ++ } ++ return ret; ++} ++ ++ ++static int clk_hifiberry_dachd_dt_parse(struct device *dev) ++{ ++ num_common_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "common_pll_regs", common_pll_regs); ++ num_dedicated_44k1_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "44k1_pll_regs", dedicated_44k1_pll_regs); ++ num_dedicated_88k2_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "88k2_pll_regs", dedicated_88k2_pll_regs); ++ num_dedicated_176k4_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "176k4_pll_regs", dedicated_176k4_pll_regs); ++ num_dedicated_48k_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "48k_pll_regs", dedicated_48k_pll_regs); ++ num_dedicated_96k_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "96k_pll_regs", dedicated_96k_pll_regs); ++ num_dedicated_192k_pll_regs = clk_hifiberry_get_prop_values(dev, ++ "192k_pll_regs", dedicated_192k_pll_regs); ++ return 0; ++} ++ ++ ++static int clk_hifiberry_dachd_remove(struct device *dev) ++{ ++ of_clk_del_provider(dev->of_node); ++ return 0; ++} ++ ++const struct regmap_config hifiberry_pll_regmap = { ++ .reg_bits = 8, ++ .val_bits = 8, ++ .max_register = HIFIBERRY_PLL_MAX_REGISTER, ++ .reg_defaults = hifiberry_pll_reg_defaults, ++ .num_reg_defaults = ARRAY_SIZE(hifiberry_pll_reg_defaults), ++ .cache_type = REGCACHE_RBTREE, ++}; ++EXPORT_SYMBOL_GPL(hifiberry_pll_regmap); ++ ++ ++static int clk_hifiberry_dachd_i2c_probe(struct i2c_client *i2c, ++ const struct i2c_device_id *id) ++{ ++ struct clk_hifiberry_drvdata *hdclk; ++ int ret = 0; ++ struct clk_init_data init; ++ struct device *dev = &i2c->dev; ++ struct device_node *dev_node = dev->of_node; ++ struct regmap_config config = hifiberry_pll_regmap; ++ ++ hdclk = devm_kzalloc(&i2c->dev, ++ sizeof(struct clk_hifiberry_drvdata), GFP_KERNEL); ++ if (!hdclk) ++ return -ENOMEM; ++ ++ i2c_set_clientdata(i2c, hdclk); ++ ++ hdclk->regmap = devm_regmap_init_i2c(i2c, &config); ++ ++ if (IS_ERR(hdclk->regmap)) ++ return PTR_ERR(hdclk->regmap); ++ ++ /* start PLL to allow detection of DAC */ ++ ret = clk_hifiberry_dachd_write_pll_regs(hdclk->regmap, ++ hifiberry_pll_reg_defaults, ++ ARRAY_SIZE(hifiberry_pll_reg_defaults), ++ PLL_RESET); ++ if (ret) ++ return ret; ++ ++ clk_hifiberry_dachd_dt_parse(dev); ++ ++ /* restart PLL with configs from DTB */ ++ ret = clk_hifiberry_dachd_write_pll_regs(hdclk->regmap, common_pll_regs, ++ num_common_pll_regs, PLL_RESET); ++ if (ret) ++ return ret; ++ ++ init.name = "clk-hifiberry-dachd"; ++ init.ops = &clk_hifiberry_dachd_rate_ops; ++ init.flags = CLK_IS_BASIC; ++ init.parent_names = NULL; ++ init.num_parents = 0; ++ ++ hdclk->hw.init = &init; ++ ++ hdclk->clk = devm_clk_register(dev, &hdclk->hw); ++ if (IS_ERR(hdclk->clk)) { ++ dev_err(dev, "unable to register %s\n", init.name); ++ return PTR_ERR(hdclk->clk); ++ } ++ ++ ret = of_clk_add_provider(dev_node, of_clk_src_simple_get, hdclk->clk); ++ if (ret != 0) { ++ dev_err(dev, "Cannot of_clk_add_provider"); ++ return ret; ++ } ++ ++ ret = clk_set_rate(hdclk->hw.clk, DEFAULT_RATE); ++ if (ret != 0) { ++ dev_err(dev, "Cannot set rate : %d\n", ret); ++ return -EINVAL; ++ } ++ ++ return ret; ++} ++ ++static int clk_hifiberry_dachd_i2c_remove(struct i2c_client *i2c) ++{ ++ clk_hifiberry_dachd_remove(&i2c->dev); ++ return 0; ++} ++ ++static const struct i2c_device_id clk_hifiberry_dachd_i2c_id[] = { ++ { "dachd-clk", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(i2c, clk_hifiberry_dachd_i2c_id); ++ ++static const struct of_device_id clk_hifiberry_dachd_of_match[] = { ++ { .compatible = "hifiberry,dachd-clk", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, clk_hifiberry_dachd_of_match); ++ ++static struct i2c_driver clk_hifiberry_dachd_i2c_driver = { ++ .probe = clk_hifiberry_dachd_i2c_probe, ++ .remove = clk_hifiberry_dachd_i2c_remove, ++ .id_table = clk_hifiberry_dachd_i2c_id, ++ .driver = { ++ .name = "dachd-clk", ++ .of_match_table = of_match_ptr(clk_hifiberry_dachd_of_match), ++ }, ++}; ++ ++module_i2c_driver(clk_hifiberry_dachd_i2c_driver); ++ ++ ++MODULE_DESCRIPTION("HiFiBerry DAC+ HD clock driver"); ++MODULE_AUTHOR("Joerg Schambacher "); ++MODULE_LICENSE("GPL v2"); ++MODULE_ALIAS("platform:clk-hifiberry-dachd"); +--- a/sound/soc/bcm/Kconfig ++++ b/sound/soc/bcm/Kconfig +@@ -40,6 +40,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DACPLUS + help + Say Y or M if you want to add support for HifiBerry DAC+. + ++config SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD ++ tristate "Support for HifiBerry DAC+ HD" ++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S ++ select SND_SOC_PCM179X_I2C ++ help ++ Say Y or M if you want to add support for HifiBerry DAC+ HD. ++ + config SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC + tristate "Support for HifiBerry DAC+ADC" + depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S +--- a/sound/soc/bcm/Makefile ++++ b/sound/soc/bcm/Makefile +@@ -13,6 +13,7 @@ snd-soc-googlevoicehat-codec-objs := goo + + # BCM2708 Machine Support + snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o ++snd-soc-hifiberry-dacplushd-objs := hifiberry_dacplushd.o + snd-soc-hifiberry-dacplusadc-objs := hifiberry_dacplusadc.o + snd-soc-hifiberry-dacplusadcpro-objs := hifiberry_dacplusadcpro.o + snd-soc-hifiberry-dacplusdsp-objs := hifiberry_dacplusdsp.o +@@ -40,6 +41,7 @@ snd-soc-rpi-wm8804-soundcard-objs := rpi + + obj-$(CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD) += snd-soc-googlevoicehat-codec.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += snd-soc-hifiberry-dacplus.o ++obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD) += snd-soc-hifiberry-dacplushd.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC) += snd-soc-hifiberry-dacplusadc.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO) += snd-soc-hifiberry-dacplusadcpro.o + obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP) += snd-soc-hifiberry-dacplusdsp.o +--- /dev/null ++++ b/sound/soc/bcm/hifiberry_dacplushd.c +@@ -0,0 +1,235 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * ASoC Driver for HiFiBerry DAC+ HD ++ * ++ * Author: Joerg Schambacher, i2Audio GmbH for HiFiBerry ++ * Copyright 2020 ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "../codecs/pcm179x.h" ++ ++#define DEFAULT_RATE 44100 ++ ++struct brd_drv_data { ++ struct regmap *regmap; ++ struct clk *sclk; ++}; ++ ++static struct brd_drv_data drvdata; ++static struct gpio_desc *reset_gpio; ++static const unsigned int hb_dacplushd_rates[] = { ++ 192000, 96000, 48000, 176400, 88200, 44100, ++}; ++ ++static struct snd_pcm_hw_constraint_list hb_dacplushd_constraints = { ++ .list = hb_dacplushd_rates, ++ .count = ARRAY_SIZE(hb_dacplushd_rates), ++}; ++ ++static int snd_rpi_hb_dacplushd_startup(struct snd_pcm_substream *substream) ++{ ++ /* constraints for standard sample rates */ ++ snd_pcm_hw_constraint_list(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_RATE, ++ &hb_dacplushd_constraints); ++ return 0; ++} ++ ++static void snd_rpi_hifiberry_dacplushd_set_sclk( ++ struct snd_soc_component *component, ++ int sample_rate) ++{ ++ if (!IS_ERR(drvdata.sclk)) ++ clk_set_rate(drvdata.sclk, sample_rate); ++} ++ ++static int snd_rpi_hifiberry_dacplushd_init(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct snd_soc_dai_link *dai = rtd->dai_link; ++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai; ++ ++ dai->name = "HiFiBerry DAC+ HD"; ++ dai->stream_name = "HiFiBerry DAC+ HD HiFi"; ++ dai->dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF ++ | SND_SOC_DAIFMT_CBM_CFM; ++ ++ /* allow only fixed 32 clock counts per channel */ ++ snd_soc_dai_set_bclk_ratio(cpu_dai, 32*2); ++ ++ return 0; ++} ++ ++static int snd_rpi_hifiberry_dacplushd_hw_params( ++ struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) ++{ ++ int ret = 0; ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ ++ struct snd_soc_component *component = rtd->codec_dai->component; ++ ++ snd_rpi_hifiberry_dacplushd_set_sclk(component, params_rate(params)); ++ return ret; ++} ++ ++/* machine stream operations */ ++static struct snd_soc_ops snd_rpi_hifiberry_dacplushd_ops = { ++ .startup = snd_rpi_hb_dacplushd_startup, ++ .hw_params = snd_rpi_hifiberry_dacplushd_hw_params, ++}; ++ ++static struct snd_soc_dai_link snd_rpi_hifiberry_dacplushd_dai[] = { ++{ ++ .name = "HiFiBerry DAC+ HD", ++ .stream_name = "HiFiBerry DAC+ HD HiFi", ++ .cpu_dai_name = "bcm2708-i2s.0", ++ .codec_dai_name = "pcm179x-hifi", ++ .platform_name = "bcm2708-i2s.0", ++ .codec_name = "pcm179x.1-004c", ++ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBS_CFS, ++ .ops = &snd_rpi_hifiberry_dacplushd_ops, ++ .init = snd_rpi_hifiberry_dacplushd_init, ++}, ++}; ++ ++/* audio machine driver */ ++static struct snd_soc_card snd_rpi_hifiberry_dacplushd = { ++ .name = "snd_rpi_hifiberry_dacplushd", ++ .driver_name = "HifiberryDacplusHD", ++ .owner = THIS_MODULE, ++ .dai_link = snd_rpi_hifiberry_dacplushd_dai, ++ .num_links = ARRAY_SIZE(snd_rpi_hifiberry_dacplushd_dai), ++}; ++ ++static int snd_rpi_hifiberry_dacplushd_probe(struct platform_device *pdev) ++{ ++ int ret = 0; ++ static int dac_reset_done; ++ struct device *dev = &pdev->dev; ++ struct device_node *dev_node = dev->of_node; ++ ++ snd_rpi_hifiberry_dacplushd.dev = &pdev->dev; ++ ++ /* get GPIO and release DAC from RESET */ ++ if (!dac_reset_done) { ++ reset_gpio = gpiod_get(&pdev->dev, "reset", GPIOD_OUT_LOW); ++ if (IS_ERR(reset_gpio)) { ++ dev_err(&pdev->dev, "gpiod_get() failed\n"); ++ return -EINVAL; ++ } ++ dac_reset_done = 1; ++ } ++ if (!IS_ERR(reset_gpio)) ++ gpiod_set_value(reset_gpio, 0); ++ msleep(1); ++ if (!IS_ERR(reset_gpio)) ++ gpiod_set_value(reset_gpio, 1); ++ msleep(1); ++ if (!IS_ERR(reset_gpio)) ++ gpiod_set_value(reset_gpio, 0); ++ ++ if (pdev->dev.of_node) { ++ struct device_node *i2s_node; ++ struct snd_soc_dai_link *dai; ++ ++ dai = &snd_rpi_hifiberry_dacplushd_dai[0]; ++ i2s_node = of_parse_phandle(pdev->dev.of_node, ++ "i2s-controller", 0); ++ ++ if (i2s_node) { ++ dai->cpu_dai_name = NULL; ++ dai->cpu_of_node = i2s_node; ++ dai->platform_name = NULL; ++ dai->platform_of_node = i2s_node; ++ } else { ++ return -EPROBE_DEFER; ++ } ++ ++ } ++ ++ ret = devm_snd_soc_register_card(&pdev->dev, ++ &snd_rpi_hifiberry_dacplushd); ++ if (ret && ret != -EPROBE_DEFER) { ++ dev_err(&pdev->dev, ++ "snd_soc_register_card() failed: %d\n", ret); ++ return ret; ++ } ++ if (ret == -EPROBE_DEFER) ++ return ret; ++ ++ dev_set_drvdata(dev, &drvdata); ++ if (dev_node == NULL) { ++ dev_err(&pdev->dev, "Device tree node not found\n"); ++ return -ENODEV; ++ } ++ ++ drvdata.sclk = devm_clk_get(dev, NULL); ++ if (IS_ERR(drvdata.sclk)) { ++ drvdata.sclk = ERR_PTR(-ENOENT); ++ return -ENODEV; ++ } ++ ++ clk_set_rate(drvdata.sclk, DEFAULT_RATE); ++ ++ return ret; ++} ++ ++static int snd_rpi_hifiberry_dacplushd_remove(struct platform_device *pdev) ++{ ++ if (IS_ERR(reset_gpio)) ++ return -EINVAL; ++ ++ /* put DAC into RESET and release GPIO */ ++ gpiod_set_value(reset_gpio, 0); ++ gpiod_put(reset_gpio); ++ ++ return 0; ++} ++ ++static const struct of_device_id snd_rpi_hifiberry_dacplushd_of_match[] = { ++ { .compatible = "hifiberry,hifiberry-dacplushd", }, ++ {}, ++}; ++ ++MODULE_DEVICE_TABLE(of, snd_rpi_hifiberry_dacplushd_of_match); ++ ++static struct platform_driver snd_rpi_hifiberry_dacplushd_driver = { ++ .driver = { ++ .name = "snd-rpi-hifiberry-dacplushd", ++ .owner = THIS_MODULE, ++ .of_match_table = snd_rpi_hifiberry_dacplushd_of_match, ++ }, ++ .probe = snd_rpi_hifiberry_dacplushd_probe, ++ .remove = snd_rpi_hifiberry_dacplushd_remove, ++}; ++ ++module_platform_driver(snd_rpi_hifiberry_dacplushd_driver); ++ ++MODULE_AUTHOR("Joerg Schambacher "); ++MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ HD"); ++MODULE_LICENSE("GPL v2"); diff --git a/target/linux/brcm2708/patches-4.19/950-0793-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/brcm2708/patches-4.19/950-0793-Initialise-rpi-firmware-before-clk-bcm2835.patch new file mode 100644 index 0000000000..3a68193506 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0793-Initialise-rpi-firmware-before-clk-bcm2835.patch @@ -0,0 +1,47 @@ +From 43551a95378230b8d062e107e012573739af2bf1 Mon Sep 17 00:00:00 2001 +From: Luke Hinds <7058938+lukehinds@users.noreply.github.com> +Date: Wed, 22 Jan 2020 16:03:00 +0000 +Subject: [PATCH] Initialise rpi-firmware before clk-bcm2835 + +The IMA (Integrity Measurement Architecture) looks for a TPM (Trusted +Platform Module) having been registered when it initialises; otherwise +it assumes there is no TPM. It has been observed on BCM2835 that IMA +is initialised before TPM, and that initialising the BCM2835 clock +driver before the firmware driver has the effect of reversing this +order. + +Change the firmware driver to initialise at core_initcall, delaying the +BCM2835 clock driver to postcore_initcall. + +See: https://github.com/raspberrypi/linux/issues/3291 + https://github.com/raspberrypi/linux/pull/3297 + +Signed-off-by: Luke Hinds +Co-authored-by: Phil Elwell +--- + drivers/clk/bcm/clk-bcm2835.c | 2 +- + drivers/firmware/raspberrypi.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -2388,7 +2388,7 @@ static int __init __bcm2835_clk_driver_i + { + return platform_driver_register(&bcm2835_clk_driver); + } +-core_initcall(__bcm2835_clk_driver_init); ++postcore_initcall(__bcm2835_clk_driver_init); + + MODULE_AUTHOR("Eric Anholt "); + MODULE_DESCRIPTION("BCM2835 clock driver"); +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -404,7 +404,7 @@ out2: + out1: + return ret; + } +-subsys_initcall(rpi_firmware_init); ++core_initcall(rpi_firmware_init); + + static void __init rpi_firmware_exit(void) + { diff --git a/target/linux/brcm2708/patches-4.19/950-0794-Fix-master-mode-settings-of-HiFiBerry-DAC-ADC-PRO-ca.patch b/target/linux/brcm2708/patches-4.19/950-0794-Fix-master-mode-settings-of-HiFiBerry-DAC-ADC-PRO-ca.patch new file mode 100644 index 0000000000..020118d95a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0794-Fix-master-mode-settings-of-HiFiBerry-DAC-ADC-PRO-ca.patch @@ -0,0 +1,26 @@ +From 898cec85907f8f171264c8be281a9ac2979b1655 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Schambacher?= + +Date: Thu, 23 Jan 2020 13:32:13 +0100 +Subject: [PATCH] Fix master mode settings of HiFiBerry DAC+ADC PRO + card (#3424) + +This patch fixes the board DAI setting when in master-mode. +Wrong setting could have caused random pop noise. + +Signed-off-by: Joerg Schambacher +--- + sound/soc/bcm/hifiberry_dacplusadcpro.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/sound/soc/bcm/hifiberry_dacplusadcpro.c ++++ b/sound/soc/bcm/hifiberry_dacplusadcpro.c +@@ -285,6 +285,8 @@ static int snd_rpi_hifiberry_dacplusadcp + + dai->name = "HiFiBerry DAC+ADC Pro"; + dai->stream_name = "HiFiBerry DAC+ADC Pro HiFi"; ++ dai->dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF ++ | SND_SOC_DAIFMT_CBM_CFM; + + // set DAC DAI configuration + ret = snd_soc_dai_set_fmt(rtd->codec_dais[0], diff --git a/target/linux/brcm2708/patches-4.19/950-0795-overlays-Use-preferred-compatible-strings.patch b/target/linux/brcm2708/patches-4.19/950-0795-overlays-Use-preferred-compatible-strings.patch new file mode 100644 index 0000000000..7e5921d15d --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0795-overlays-Use-preferred-compatible-strings.patch @@ -0,0 +1,72 @@ +From 0a865ae13d5f98594562ebe5713caec65ab689e5 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 24 Jan 2020 09:02:37 +0000 +Subject: [PATCH] overlays: Use preferred compatible strings + +Make sure all overlays have correct compatible strings before enabling +the automated checking. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts | 2 +- + arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts | 2 ++ + arch/arm/boot/dts/overlays/pwm-overlay.dts | 2 ++ + arch/arm/boot/dts/overlays/smi-dev-overlay.dts | 2 ++ + 5 files changed, 8 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts +@@ -3,7 +3,7 @@ + /plugin/; + + / { +- compatible = "brcm,bcm2708"; ++ compatible = "brcm,bcm2835"; + + fragment@0 { + target-path = "/clocks"; +--- a/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts ++++ b/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts +@@ -3,7 +3,7 @@ + /plugin/; + + / { +- compatible = "brcm,bcm2708"; ++ compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&i2s>; +--- a/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts ++++ b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts +@@ -17,6 +17,8 @@ N.B.: + */ + + / { ++ compatible = "brcm,bcm2835"; ++ + fragment@0 { + target = <&gpio>; + __overlay__ { +--- a/arch/arm/boot/dts/overlays/pwm-overlay.dts ++++ b/arch/arm/boot/dts/overlays/pwm-overlay.dts +@@ -15,6 +15,8 @@ N.B.: + */ + + / { ++ compatible = "brcm,bcm2835"; ++ + fragment@0 { + target = <&gpio>; + __overlay__ { +--- a/arch/arm/boot/dts/overlays/smi-dev-overlay.dts ++++ b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts +@@ -5,6 +5,8 @@ + /plugin/; + + /{ ++ compatible = "brcm,bcm2835"; ++ + fragment@0 { + target = <&soc>; + __overlay__ { diff --git a/target/linux/brcm2708/patches-4.19/950-0796-tty-amba-pl011-Add-un-throttle-support.patch b/target/linux/brcm2708/patches-4.19/950-0796-tty-amba-pl011-Add-un-throttle-support.patch new file mode 100644 index 0000000000..0ab6cf2fe9 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0796-tty-amba-pl011-Add-un-throttle-support.patch @@ -0,0 +1,61 @@ +From d4f4b57c667141ca98711cfcb30ae2b8deb1a034 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 24 Jan 2020 11:38:28 +0000 +Subject: [PATCH] tty: amba-pl011: Add un/throttle support + +The PL011 driver lacks throttle and unthrottle methods. As a result, +sending more data to the Pi than it can immediately sink while CRTSCTS +is enabled causes a NULL pointer to be followed. + +Add a throttle handler that disables the RX interrupts, and an +unthrottle handler that reenables them. + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -1323,6 +1323,32 @@ static void pl011_start_tx(struct uart_p + pl011_start_tx_pio(uap); + } + ++static void pl011_throttle(struct uart_port *port) ++{ ++ struct uart_amba_port *uap = ++ container_of(port, struct uart_amba_port, port); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&uap->port.lock, flags); ++ uap->im &= ~(UART011_RTIM | UART011_RXIM); ++ pl011_write(uap->im, uap, REG_IMSC); ++ spin_unlock_irqrestore(&uap->port.lock, flags); ++} ++ ++static void pl011_unthrottle(struct uart_port *port) ++{ ++ struct uart_amba_port *uap = ++ container_of(port, struct uart_amba_port, port); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&uap->port.lock, flags); ++ uap->im |= UART011_RTIM; ++ if (!pl011_dma_rx_running(uap)) ++ uap->im |= UART011_RXIM; ++ pl011_write(uap->im, uap, REG_IMSC); ++ spin_unlock_irqrestore(&uap->port.lock, flags); ++} ++ + static void pl011_stop_rx(struct uart_port *port) + { + struct uart_amba_port *uap = +@@ -2165,6 +2191,8 @@ static const struct uart_ops amba_pl011_ + .stop_tx = pl011_stop_tx, + .start_tx = pl011_start_tx, + .stop_rx = pl011_stop_rx, ++ .throttle = pl011_throttle, ++ .unthrottle = pl011_unthrottle, + .enable_ms = pl011_enable_ms, + .break_ctl = pl011_break_ctl, + .startup = pl011_startup, diff --git a/target/linux/brcm2708/patches-4.19/950-0797-Fix-i2c-pwm-pca9685a-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0797-Fix-i2c-pwm-pca9685a-overlay.patch new file mode 100644 index 0000000000..e01e7fd669 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0797-Fix-i2c-pwm-pca9685a-overlay.patch @@ -0,0 +1,20 @@ +From 493aa5b9a2f57003dd0a16946eb56b08650090b4 Mon Sep 17 00:00:00 2001 +From: MikeDK +Date: Sun, 26 Jan 2020 23:33:54 +0100 +Subject: [PATCH] Fix i2c-pwm-pca9685a overlay + +--- + arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts +@@ -13,7 +13,7 @@ + status = "okay"; + + pca: pca@40 { +- compatible = "nxp,pca9685"; ++ compatible = "nxp,pca9685-pwm"; + #pwm-cells = <2>; + reg = <0x40>; + status = "okay"; diff --git a/target/linux/brcm2708/patches-4.19/950-0798-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-PRO-sound-.patch b/target/linux/brcm2708/patches-4.19/950-0798-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-PRO-sound-.patch new file mode 100644 index 0000000000..233e368737 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0798-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-PRO-sound-.patch @@ -0,0 +1,89 @@ +From c23190019110e3314041f2184552a8343de55117 Mon Sep 17 00:00:00 2001 +From: j-schambacher +Date: Mon, 27 Jan 2020 17:45:51 +0100 +Subject: [PATCH] adds LED OFF feature to HiFiBerry DAC+ADC PRO sound + card + +This adds a DT overlay parameter 'leds_off' which allows +to switch off the onboard activity LEDs at all times +which has been requested by some users. + +Signed-off-by: Joerg Schambacher +--- + arch/arm/boot/dts/overlays/README | 2 ++ + .../overlays/hifiberry-dacplusadcpro-overlay.dts | 1 + + sound/soc/bcm/hifiberry_dacplusadcpro.c | 15 +++++++++++++-- + 3 files changed, 16 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -948,6 +948,8 @@ Params: 24db_digital_gain Allow ga + that does not result in clipping/distortion!) + slave Force DAC+ADC Pro into slave mode, using Pi as + master for bit clock and frame clock. ++ leds_off If set to 'true' the onboard indicator LEDs ++ are switched off at all times. + + + Name: hifiberry-dacplusdsp +--- a/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts +@@ -60,5 +60,6 @@ + 24db_digital_gain = + <&hifiberry_dacplusadcpro>,"hifiberry-dacplusadcpro,24db_digital_gain?"; + slave = <&hifiberry_dacplusadcpro>,"hifiberry-dacplusadcpro,slave?"; ++ leds_off = <&hifiberry_dacplusadcpro>,"hifiberry-dacplusadcpro,leds_off?"; + }; + }; +--- a/sound/soc/bcm/hifiberry_dacplusadcpro.c ++++ b/sound/soc/bcm/hifiberry_dacplusadcpro.c +@@ -54,6 +54,7 @@ struct pcm512x_priv { + static bool slave; + static bool snd_rpi_hifiberry_is_dacpro; + static bool digital_gain_0db_limit = true; ++static bool leds_off; + + static const unsigned int pcm186x_adc_input_channel_sel_value[] = { + 0x00, 0x01, 0x02, 0x03, 0x10 +@@ -321,7 +322,10 @@ static int snd_rpi_hifiberry_dacplusadcp + + snd_soc_component_update_bits(dac, PCM512x_GPIO_EN, 0x08, 0x08); + snd_soc_component_update_bits(dac, PCM512x_GPIO_OUTPUT_4, 0x0f, 0x02); +- snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); ++ if (leds_off) ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x00); ++ else ++ snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); + + ret = pcm1863_add_controls(adc); + if (ret < 0) +@@ -331,7 +335,10 @@ static int snd_rpi_hifiberry_dacplusadcp + /* set GPIO2 to output, GPIO3 input */ + snd_soc_component_write(adc, PCM186X_GPIO3_2_CTRL, 0x00); + snd_soc_component_write(adc, PCM186X_GPIO3_2_DIR_CTRL, 0x04); +- snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x40); ++ if (leds_off) ++ snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x00); ++ else ++ snd_soc_component_update_bits(adc, PCM186X_GPIO_IN_OUT, 0x40, 0x40); + + if (digital_gain_0db_limit) { + int ret; +@@ -417,6 +424,8 @@ static int snd_rpi_hifiberry_dacplusadcp + struct snd_soc_component *dac = rtd->codec_dais[0]->component; + struct snd_soc_component *adc = rtd->codec_dais[1]->component; + ++ if (leds_off) ++ return 0; + /* switch on respective LED */ + if (!substream->stream) + snd_soc_component_update_bits(dac, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); +@@ -508,6 +517,8 @@ static int snd_rpi_hifiberry_dacplusadcp + pdev->dev.of_node, "hifiberry-dacplusadcpro,24db_digital_gain"); + slave = of_property_read_bool(pdev->dev.of_node, + "hifiberry-dacplusadcpro,slave"); ++ leds_off = of_property_read_bool(pdev->dev.of_node, ++ "hifiberry-dacplusadcpro,leds_off"); + ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplusadcpro); + if (ret && ret != -EPROBE_DEFER) + dev_err(&pdev->dev, diff --git a/target/linux/brcm2708/patches-4.19/950-0799-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-sound-card.patch b/target/linux/brcm2708/patches-4.19/950-0799-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-sound-card.patch new file mode 100644 index 0000000000..2bc030666f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0799-adds-LED-OFF-feature-to-HiFiBerry-DAC-ADC-sound-card.patch @@ -0,0 +1,76 @@ +From ee513338448ddbb72ac8f76e7053865fe926a18c Mon Sep 17 00:00:00 2001 +From: j-schambacher +Date: Mon, 27 Jan 2020 20:37:34 +0100 +Subject: [PATCH] adds LED OFF feature to HiFiBerry DAC+ADC sound card + +This adds a DT overlay parameter 'leds_off' which allows +to switch off the onboard activity LEDs at all times +which has been requested by some users. + +Signed-off-by: Joerg Schambacher +--- + arch/arm/boot/dts/overlays/README | 2 ++ + .../boot/dts/overlays/hifiberry-dacplusadc-overlay.dts | 1 + + sound/soc/bcm/hifiberry_dacplusadc.c | 10 +++++++++- + 3 files changed, 12 insertions(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -927,6 +927,8 @@ Params: 24db_digital_gain Allow ga + that does not result in clipping/distortion!) + slave Force DAC+ Pro into slave mode, using Pi as + master for bit clock and frame clock. ++ leds_off If set to 'true' the onboard indicator LEDs ++ are switched off at all times. + + + Name: hifiberry-dacplusadcpro +--- a/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts +@@ -67,5 +67,6 @@ + 24db_digital_gain = + <&hifiberry_dacplusadc>,"hifiberry,24db_digital_gain?"; + slave = <&hifiberry_dacplusadc>,"hifiberry-dacplusadc,slave?"; ++ leds_off = <&hifiberry_dacplusadc>,"hifiberry-dacplusadc,leds_off?"; + }; + }; +--- a/sound/soc/bcm/hifiberry_dacplusadc.c ++++ b/sound/soc/bcm/hifiberry_dacplusadc.c +@@ -54,6 +54,7 @@ struct pcm512x_priv { + static bool slave; + static bool snd_rpi_hifiberry_is_dacpro; + static bool digital_gain_0db_limit = true; ++static bool leds_off; + + static void snd_rpi_hifiberry_dacplusadc_select_clk(struct snd_soc_component *component, + int clk_id) +@@ -175,7 +176,10 @@ static int snd_rpi_hifiberry_dacplusadc_ + + snd_soc_component_update_bits(component, PCM512x_GPIO_EN, 0x08, 0x08); + snd_soc_component_update_bits(component, PCM512x_GPIO_OUTPUT_4, 0x0f, 0x02); +- snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); ++ if (leds_off) ++ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x00); ++ else ++ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); + + if (digital_gain_0db_limit) { + int ret; +@@ -256,6 +260,8 @@ static int snd_rpi_hifiberry_dacplusadc_ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_component *component = rtd->codec_dai->component; + ++ if (leds_off) ++ return 0; + snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, + 0x08, 0x08); + hifiberry_dacplusadc_LED_cnt++; +@@ -347,6 +353,8 @@ static int snd_rpi_hifiberry_dacplusadc_ + pdev->dev.of_node, "hifiberry,24db_digital_gain"); + slave = of_property_read_bool(pdev->dev.of_node, + "hifiberry-dacplusadc,slave"); ++ leds_off = of_property_read_bool(pdev->dev.of_node, ++ "hifiberry-dacplusadc,leds_off"); + + ret = devm_snd_soc_register_card(&pdev->dev, + &snd_rpi_hifiberry_dacplusadc); diff --git a/target/linux/brcm2708/patches-4.19/950-0800-adds-LED-OFF-feature-to-HiFiBerry-DAC-DAC-PRO-sound-.patch b/target/linux/brcm2708/patches-4.19/950-0800-adds-LED-OFF-feature-to-HiFiBerry-DAC-DAC-PRO-sound-.patch new file mode 100644 index 0000000000..68763fe27b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0800-adds-LED-OFF-feature-to-HiFiBerry-DAC-DAC-PRO-sound-.patch @@ -0,0 +1,77 @@ +From 5eccee0e620b799558d89ebee29280116ad37e4f Mon Sep 17 00:00:00 2001 +From: j-schambacher +Date: Mon, 27 Jan 2020 20:58:24 +0100 +Subject: [PATCH] adds LED OFF feature to HiFiBerry DAC+/DAC+PRO sound + cards + +This adds a DT overlay parameter 'leds_off' which allows +to switch off the onboard activity LEDs at all times +which has been requested by some users. + +Signed-off-by: Joerg Schambacher +--- + arch/arm/boot/dts/overlays/README | 2 ++ + .../boot/dts/overlays/hifiberry-dacplus-overlay.dts | 1 + + sound/soc/bcm/hifiberry_dacplus.c | 10 +++++++++- + 3 files changed, 12 insertions(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -906,6 +906,8 @@ Params: 24db_digital_gain Allow ga + that does not result in clipping/distortion!) + slave Force DAC+ Pro into slave mode, using Pi as + master for bit clock and frame clock. ++ leds_off If set to 'true' the onboard indicator LEDs ++ are switched off at all times. + + + Name: hifiberry-dacplusadc +--- a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts ++++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts +@@ -55,5 +55,6 @@ + 24db_digital_gain = + <&hifiberry_dacplus>,"hifiberry,24db_digital_gain?"; + slave = <&hifiberry_dacplus>,"hifiberry-dacplus,slave?"; ++ leds_off = <&hifiberry_dacplus>,"hifiberry-dacplus,leds_off?"; + }; + }; +--- a/sound/soc/bcm/hifiberry_dacplus.c ++++ b/sound/soc/bcm/hifiberry_dacplus.c +@@ -50,6 +50,7 @@ struct pcm512x_priv { + static bool slave; + static bool snd_rpi_hifiberry_is_dacpro; + static bool digital_gain_0db_limit = true; ++static bool leds_off; + + static void snd_rpi_hifiberry_dacplus_select_clk(struct snd_soc_component *component, + int clk_id) +@@ -171,7 +172,10 @@ static int snd_rpi_hifiberry_dacplus_ini + + snd_soc_component_update_bits(component, PCM512x_GPIO_EN, 0x08, 0x08); + snd_soc_component_update_bits(component, PCM512x_GPIO_OUTPUT_4, 0x0f, 0x02); +- snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); ++ if (leds_off) ++ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x00); ++ else ++ snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); + + if (digital_gain_0db_limit) + { +@@ -251,6 +255,8 @@ static int snd_rpi_hifiberry_dacplus_sta + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_component *component = rtd->codec_dai->component; + ++ if (leds_off) ++ return 0; + snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x08, 0x08); + return 0; + } +@@ -319,6 +325,8 @@ static int snd_rpi_hifiberry_dacplus_pro + pdev->dev.of_node, "hifiberry,24db_digital_gain"); + slave = of_property_read_bool(pdev->dev.of_node, + "hifiberry-dacplus,slave"); ++ leds_off = of_property_read_bool(pdev->dev.of_node, ++ "hifiberry-dacplus,leds_off"); + } + + ret = devm_snd_soc_register_card(&pdev->dev, diff --git a/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch b/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch new file mode 100644 index 0000000000..bb6afe328c --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch @@ -0,0 +1,201 @@ +From a879ab9cad6b598c08988404934273d3cbfbd993 Mon Sep 17 00:00:00 2001 +From: gtrainavicius +Date: Tue, 28 Jan 2020 14:16:37 +0200 +Subject: [PATCH] pisound: Added reading Pisound board hardware + revision and exposing it (#3425) + +pisound: Added reading Pisound board hardware revision and exposing it in kernel log and sysfs file: + +/sys/kernel/pisound/hw_version + +Signed-off-by: Giedrius +--- + sound/soc/bcm/pisound.c | 86 ++++++++++++++++++++++++++++------------- + 1 file changed, 59 insertions(+), 27 deletions(-) + +--- a/sound/soc/bcm/pisound.c ++++ b/sound/soc/bcm/pisound.c +@@ -51,7 +51,8 @@ static void pisnd_spi_set_callback(pisnd + + static const char *pisnd_spi_get_serial(void); + static const char *pisnd_spi_get_id(void); +-static const char *pisnd_spi_get_version(void); ++static const char *pisnd_spi_get_fw_version(void); ++static const char *pisnd_spi_get_hw_version(void); + + static int pisnd_midi_init(struct snd_card *card); + static void pisnd_midi_uninit(void); +@@ -222,7 +223,9 @@ static pisnd_spi_recv_cb g_recvCallback; + + static char g_serial_num[11]; + static char g_id[25]; +-static char g_version[5]; ++enum { MAX_VERSION_STR_LEN = 6 }; ++static char g_fw_version[MAX_VERSION_STR_LEN]; ++static char g_hw_version[MAX_VERSION_STR_LEN]; + + static uint8_t g_ledFlashDuration; + static bool g_ledFlashDurationChanged; +@@ -558,7 +561,8 @@ static int spi_read_info(void) + char *p; + + memset(g_serial_num, 0, sizeof(g_serial_num)); +- memset(g_version, 0, sizeof(g_version)); ++ memset(g_fw_version, 0, sizeof(g_fw_version)); ++ strcpy(g_hw_version, "1.0"); // Assume 1.0 hw version. + memset(g_id, 0, sizeof(g_id)); + + tmp = spi_transfer16(0); +@@ -581,12 +585,28 @@ static int spi_read_info(void) + return -EINVAL; + + snprintf( +- g_version, +- sizeof(g_version), ++ g_fw_version, ++ MAX_VERSION_STR_LEN, + "%x.%02x", + buffer[0], + buffer[1] + ); ++ ++ g_fw_version[MAX_VERSION_STR_LEN-1] = '\0'; ++ break; ++ case 3: ++ if (n != 2) ++ return -EINVAL; ++ ++ snprintf( ++ g_hw_version, ++ MAX_VERSION_STR_LEN, ++ "%x.%x", ++ buffer[0], ++ buffer[1] ++ ); ++ ++ g_hw_version[MAX_VERSION_STR_LEN-1] = '\0'; + break; + case 1: + if (n >= sizeof(g_serial_num)) +@@ -596,12 +616,14 @@ static int spi_read_info(void) + break; + case 2: + { +- if (n >= sizeof(g_id)) ++ if (n*2 >= sizeof(g_id)) + return -EINVAL; + + p = g_id; + for (j = 0; j < n; ++j) + p += sprintf(p, "%02x", buffer[j]); ++ ++ *p = '\0'; + } + break; + default: +@@ -619,7 +641,8 @@ static int pisnd_spi_init(struct device + + memset(g_serial_num, 0, sizeof(g_serial_num)); + memset(g_id, 0, sizeof(g_id)); +- memset(g_version, 0, sizeof(g_version)); ++ memset(g_fw_version, 0, sizeof(g_fw_version)); ++ memset(g_hw_version, 0, sizeof(g_hw_version)); + + spi = pisnd_spi_find_device(); + +@@ -729,26 +752,22 @@ static void pisnd_spi_set_callback(pisnd + + static const char *pisnd_spi_get_serial(void) + { +- if (strlen(g_serial_num)) +- return g_serial_num; +- +- return ""; ++ return g_serial_num; + } + + static const char *pisnd_spi_get_id(void) + { +- if (strlen(g_id)) +- return g_id; +- +- return ""; ++ return g_id; + } + +-static const char *pisnd_spi_get_version(void) ++static const char *pisnd_spi_get_fw_version(void) + { +- if (strlen(g_version)) +- return g_version; ++ return g_fw_version; ++} + +- return ""; ++static const char *pisnd_spi_get_hw_version(void) ++{ ++ return g_hw_version; + } + + static const struct of_device_id pisound_of_match[] = { +@@ -1054,13 +1073,22 @@ static ssize_t pisnd_id_show( + return sprintf(buf, "%s\n", pisnd_spi_get_id()); + } + +-static ssize_t pisnd_version_show( ++static ssize_t pisnd_fw_version_show( + struct kobject *kobj, + struct kobj_attribute *attr, + char *buf + ) + { +- return sprintf(buf, "%s\n", pisnd_spi_get_version()); ++ return sprintf(buf, "%s\n", pisnd_spi_get_fw_version()); ++} ++ ++static ssize_t pisnd_hw_version_show( ++ struct kobject *kobj, ++ struct kobj_attribute *attr, ++ char *buf ++) ++{ ++ return sprintf(buf, "%s\n", pisnd_spi_get_hw_version()); + } + + static ssize_t pisnd_led_store( +@@ -1085,15 +1113,18 @@ static struct kobj_attribute pisnd_seria + __ATTR(serial, 0444, pisnd_serial_show, NULL); + static struct kobj_attribute pisnd_id_attribute = + __ATTR(id, 0444, pisnd_id_show, NULL); +-static struct kobj_attribute pisnd_version_attribute = +- __ATTR(version, 0444, pisnd_version_show, NULL); ++static struct kobj_attribute pisnd_fw_version_attribute = ++ __ATTR(version, 0444, pisnd_fw_version_show, NULL); ++static struct kobj_attribute pisnd_hw_version_attribute = ++__ATTR(hw_version, 0444, pisnd_hw_version_show, NULL); + static struct kobj_attribute pisnd_led_attribute = + __ATTR(led, 0644, NULL, pisnd_led_store); + + static struct attribute *attrs[] = { + &pisnd_serial_attribute.attr, + &pisnd_id_attribute.attr, +- &pisnd_version_attribute.attr, ++ &pisnd_fw_version_attribute.attr, ++ &pisnd_hw_version_attribute.attr, + &pisnd_led_attribute.attr, + NULL + }; +@@ -1112,9 +1143,10 @@ static int pisnd_probe(struct platform_d + } + + printi("Detected Pisound card:\n"); +- printi("\tSerial: %s\n", pisnd_spi_get_serial()); +- printi("\tVersion: %s\n", pisnd_spi_get_version()); +- printi("\tId: %s\n", pisnd_spi_get_id()); ++ printi("\tSerial: %s\n", pisnd_spi_get_serial()); ++ printi("\tFirmware Version: %s\n", pisnd_spi_get_fw_version()); ++ printi("\tHardware Version: %s\n", pisnd_spi_get_hw_version()); ++ printi("\tId: %s\n", pisnd_spi_get_id()); + + pisnd_kobj = kobject_create_and_add("pisound", kernel_kobj); + if (!pisnd_kobj) { diff --git a/target/linux/brcm2708/patches-4.19/950-0802-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch b/target/linux/brcm2708/patches-4.19/950-0802-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch new file mode 100644 index 0000000000..5046fc91e9 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0802-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch @@ -0,0 +1,46 @@ +From 5ee0de9d7abd644d4cb678fe26ac5130a1a8075f Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 2 Aug 2019 15:20:11 +0100 +Subject: [PATCH] mmc: sdhci-iproc: Fix vmmc regulators on iProc + +The Linux support for controlling card power via regulators appears to +be contentious. I would argue that the default behaviour is contrary to +the SDHCI spec - turning off the power writes a reserved value to the +SD Bus Voltage Select field of the Power Control Register, which +seems to kill the Arasan/iProc controller - but fortunately there is a +hook in sdhci_ops to override the behaviour. Borrow the implementation +from sdhci_arasan_set_power. + +Signed-off-by: Phil Elwell +--- + drivers/mmc/host/sdhci-iproc.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/drivers/mmc/host/sdhci-iproc.c ++++ b/drivers/mmc/host/sdhci-iproc.c +@@ -162,6 +162,17 @@ static void sdhci_iproc_writeb(struct sd + sdhci_iproc_writel(host, newval, reg & ~3); + } + ++static void sdhci_iproc_set_power(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); ++} ++ + static const struct sdhci_ops sdhci_iproc_ops = { + .set_clock = sdhci_set_clock, + .get_max_clock = sdhci_pltfm_clk_get_max_clock, +@@ -178,6 +189,7 @@ static const struct sdhci_ops sdhci_ipro + .write_w = sdhci_iproc_writew, + .write_b = sdhci_iproc_writeb, + .set_clock = sdhci_set_clock, ++ .set_power = sdhci_iproc_set_power, + .get_max_clock = sdhci_pltfm_clk_get_max_clock, + .set_bus_width = sdhci_set_bus_width, + .reset = sdhci_reset, diff --git a/target/linux/brcm2708/patches-4.19/950-0803-ARM-dts-Declare-RPi-4B-SD-card-power-regulator.patch b/target/linux/brcm2708/patches-4.19/950-0803-ARM-dts-Declare-RPi-4B-SD-card-power-regulator.patch new file mode 100644 index 0000000000..f08fd3d6ce --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0803-ARM-dts-Declare-RPi-4B-SD-card-power-regulator.patch @@ -0,0 +1,43 @@ +From 03bd617d5ba9124a59e86f285385b95415962af7 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 30 Jul 2019 12:37:02 +0100 +Subject: [PATCH] ARM: dts: Declare RPi 4B SD card power regulator + +Later revisions of the Raspberry Pi 4B have a separate control over the +SD card power. Expose that control to Linux as a fixed regulator with +a GPIO enable. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++ + arch/arm/configs/bcm2711_defconfig | 2 +- + arch/arm64/configs/bcm2711_defconfig | 2 +- + 3 files changed, 13 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -122,6 +122,16 @@ + states = <1800000 0x1 + 3300000 0x0>; + }; ++ ++ 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>; ++ }; + }; + + &sdhost { +@@ -132,6 +142,7 @@ + status = "okay"; + broken-cd; + vqmmc-supply = <&sd_io_1v8_reg>; ++ vmmc-supply = <&sd_vcc_reg>; + }; + + &leds { diff --git a/target/linux/brcm2708/patches-4.19/950-0804-pcie-brcmstb-Bounce-buffer-support-is-for-BCM2711B0.patch b/target/linux/brcm2708/patches-4.19/950-0804-pcie-brcmstb-Bounce-buffer-support-is-for-BCM2711B0.patch new file mode 100644 index 0000000000..05172ebcec --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0804-pcie-brcmstb-Bounce-buffer-support-is-for-BCM2711B0.patch @@ -0,0 +1,88 @@ +From 4b777f389e22abb364e398f45673e54bcda9cc55 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 12 Jul 2019 11:41:25 +0100 +Subject: [PATCH] pcie-brcmstb: Bounce buffer support is for BCM2711B0 + +Add a new compatible string to identify BCM2711B0, as later revisions +don't require the bounce buffer support. + +Signed-off-by: Phil Elwell +--- + drivers/pci/controller/pcie-brcmstb.c | 31 +++++++++++++++++++++++---- + 1 file changed, 27 insertions(+), 4 deletions(-) + +--- a/drivers/pci/controller/pcie-brcmstb.c ++++ b/drivers/pci/controller/pcie-brcmstb.c +@@ -206,6 +206,8 @@ enum pcie_type { + BCM7435, + GENERIC, + BCM7278, ++ BCM2711B0, ++ BCM2711, + }; + + struct brcm_window { +@@ -302,6 +304,20 @@ static const int pcie_offsets[] = { + [EXT_CFG_DATA] = 0x8000, + }; + ++static const struct pcie_cfg_data bcm2711b0_cfg = { ++ .reg_field_info = pcie_reg_field_info, ++ .offsets = pcie_offsets, ++ .max_burst_size = BURST_SIZE_128, ++ .type = BCM2711B0, ++}; ++ ++static const struct pcie_cfg_data bcm2711_cfg = { ++ .reg_field_info = pcie_reg_field_info, ++ .offsets = pcie_offsets, ++ .max_burst_size = BURST_SIZE_128, ++ .type = BCM2711, ++}; ++ + static const struct pcie_cfg_data bcm7435_cfg = { + .reg_field_info = pcie_reg_field_info, + .offsets = pcie_offsets, +@@ -312,7 +328,7 @@ static const struct pcie_cfg_data bcm743 + static const struct pcie_cfg_data generic_cfg = { + .reg_field_info = pcie_reg_field_info, + .offsets = pcie_offsets, +- .max_burst_size = BURST_SIZE_128, // before BURST_SIZE_512 ++ .max_burst_size = BURST_SIZE_512, + .type = GENERIC, + }; + +@@ -380,7 +396,7 @@ static unsigned int bounce_buffer = 32*1 + module_param(bounce_buffer, uint, 0644); + MODULE_PARM_DESC(bounce_buffer, "Size of bounce buffer"); + +-static unsigned int bounce_threshold = 0xc0000000; ++static unsigned int bounce_threshold; + module_param(bounce_threshold, uint, 0644); + MODULE_PARM_DESC(bounce_threshold, "Bounce threshold"); + +@@ -1681,6 +1697,8 @@ static int brcm_pcie_remove(struct platf + } + + static const struct of_device_id brcm_pcie_match[] = { ++ { .compatible = "brcm,bcm2711b0-pcie", .data = &bcm2711b0_cfg }, ++ { .compatible = "brcm,bcm2711-pcie", .data = &bcm2711_cfg }, + { .compatible = "brcm,bcm7425-pcie", .data = &bcm7425_cfg }, + { .compatible = "brcm,bcm7435-pcie", .data = &bcm7435_cfg }, + { .compatible = "brcm,bcm7278-pcie", .data = &bcm7278_cfg }, +@@ -1736,8 +1754,13 @@ static int brcm_pcie_probe(struct platfo + if (IS_ERR(base)) + return PTR_ERR(base); + +- /* To Do: Add hardware check if this ever gets fixed */ +- if (max_pfn > (bounce_threshold/PAGE_SIZE)) { ++ if (!bounce_threshold) { ++ /* PCIe on BCM2711B0 can only address 3GB */ ++ if (pcie->type == BCM2711B0 || pcie->type == GENERIC) ++ bounce_threshold = 0xc0000000; ++ } ++ ++ if (bounce_threshold && (max_pfn > (bounce_threshold/PAGE_SIZE))) { + int ret; + ret = brcm_pcie_bounce_init(&pdev->dev, bounce_buffer, + (dma_addr_t)bounce_threshold); diff --git a/target/linux/brcm2708/patches-4.19/950-0805-bcm2838.dtsi-Use-BCM2711-PCIe-compatible-string.patch b/target/linux/brcm2708/patches-4.19/950-0805-bcm2838.dtsi-Use-BCM2711-PCIe-compatible-string.patch new file mode 100644 index 0000000000..9286c9b0b1 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0805-bcm2838.dtsi-Use-BCM2711-PCIe-compatible-string.patch @@ -0,0 +1,29 @@ +From bacf6a02fe12125d2d675f0c6238d9265d31b45f Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 12 Jul 2019 11:43:03 +0100 +Subject: [PATCH] bcm2838.dtsi: Use BCM2711 PCIe compatible string + +The BCM2711 PCIe controller has a limited address range in the B0 +silicon, and the driver uses a compatible string to identify the +limitation. The current Pi 4 firmware will override the compatible +string if it detects a downstream DTB and it is running on a newer +revision but set the default value to enable the workaround for +backwards-compatibility with old firmware. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2838.dtsi | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/bcm2838.dtsi ++++ b/arch/arm/boot/dts/bcm2838.dtsi +@@ -327,7 +327,8 @@ + #interrupt-cells = <1>; + #size-cells = <2>; + bus-range = <0x0 0x01>; +- compatible = "brcm,bcm7211-pcie", "brcm,bcm7445-pcie", ++ compatible = "brcm,bcm2711b0-pcie", // Safe value ++ "brcm,bcm2711-pcie", + "brcm,pci-plat-dev"; + max-link-speed = <2>; + tot-num-pcie = <1>; diff --git a/target/linux/brcm2708/patches-4.19/950-0806-ARM-dts-Remove-bcm2838-rpi-4-b.dts.patch b/target/linux/brcm2708/patches-4.19/950-0806-ARM-dts-Remove-bcm2838-rpi-4-b.dts.patch new file mode 100644 index 0000000000..7a0b8c5cb6 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0806-ARM-dts-Remove-bcm2838-rpi-4-b.dts.patch @@ -0,0 +1,146 @@ +From 8aa8fd89094952e3201b927fb846ba61b30cab6b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 29 Jan 2020 11:29:06 +0000 +Subject: [PATCH] ARM: dts: Remove bcm2838-rpi-4-b.dts + +Upstream are not going to use the bcm2838 identifier, so begin the +cleanup by removing the suggested upstream Pi 4 .dts file. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/Makefile | 1 - + arch/arm/boot/dts/bcm2838-rpi-4-b.dts | 118 -------------------------- + 2 files changed, 119 deletions(-) + delete mode 100644 arch/arm/boot/dts/bcm2838-rpi-4-b.dts + +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -95,7 +95,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2836-rpi-2-b.dtb \ + bcm2837-rpi-3-b.dtb \ + bcm2837-rpi-3-b-plus.dtb \ +- bcm2838-rpi-4-b.dtb \ + bcm2835-rpi-zero.dtb \ + bcm2835-rpi-zero-w.dtb + dtb-$(CONFIG_ARCH_BCM_5301X) += \ +--- a/arch/arm/boot/dts/bcm2838-rpi-4-b.dts ++++ /dev/null +@@ -1,118 +0,0 @@ +-// SPDX-License-Identifier: GPL-2.0 +-/dts-v1/; +-#include "bcm2838.dtsi" +-#include "bcm2835-rpi.dtsi" +-#include "bcm2838-rpi.dtsi" +- +-/ { +- compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; +- model = "Raspberry Pi 4 Model B"; +- +- chosen { +- /* 8250 auxiliary UART instead of pl011 */ +- stdout-path = "serial1:115200n8"; +- }; +- +- memory@0 { +- reg = <0 0 0x40000000>; +- }; +- +- leds { +- act { +- gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; +- }; +- +- pwr { +- label = "PWR"; +- gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; +- }; +- }; +- +- wifi_pwrseq: wifi-pwrseq { +- compatible = "mmc-pwrseq-simple"; +- reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; +- }; +- +- sd_io_1v8_reg: sd_io_1v8_reg { +- status = "okay"; +- compatible = "regulator-gpio"; +- vin-supply = <&vdd_5v0_reg>; +- regulator-name = "vdd-sd-io"; +- regulator-min-microvolt = <1800000>; +- regulator-max-microvolt = <3300000>; +- regulator-boot-on; +- regulator-always-on; +- regulator-settling-time-us = <5000>; +- +- gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>; +- states = <1800000 0x1 +- 3300000 0x0>; +- }; +-}; +- +-&firmware { +- expgpio: gpio { +- compatible = "raspberrypi,firmware-gpio"; +- gpio-controller; +- #gpio-cells = <2>; +- gpio-line-names = "BT_ON", +- "WL_ON", +- "PWR_LED_OFF", +- "GLOBAL_RESET", +- "VDD_SD_IO_SEL", +- "CAM_GPIO", +- "", +- ""; +- status = "okay"; +- }; +-}; +- +-&pwm1 { +- pinctrl-names = "default"; +- pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; +- status = "okay"; +-}; +- +-/* SDHCI is used to control the SDIO for wireless */ +-&sdhci { +- #address-cells = <1>; +- #size-cells = <0>; +- pinctrl-names = "default"; +- pinctrl-0 = <&emmc_gpio34>; +- status = "okay"; +- bus-width = <4>; +- non-removable; +- mmc-pwrseq = <&wifi_pwrseq>; +- +- brcmf: wifi@1 { +- reg = <1>; +- compatible = "brcm,bcm4329-fmac"; +- }; +-}; +- +-/* EMMC2 is used to drive the SD card */ +-&emmc2 { +- status = "okay"; +- broken-cd; +- vqmmc-supply = <&sd_io_1v8_reg>; +-}; +- +-/* uart0 communicates with the BT module */ +-&uart0 { +- pinctrl-names = "default"; +- pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; +- status = "okay"; +- +- bluetooth { +- compatible = "brcm,bcm43438-bt"; +- max-speed = <2000000>; +- shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; +- }; +-}; +- +-/* uart1 is mapped to the pin header */ +-&uart1 { +- pinctrl-names = "default"; +- pinctrl-0 = <&uart1_gpio14>; +- status = "okay"; +-}; diff --git a/target/linux/brcm2708/patches-4.19/950-0807-tty-amba-pl011-Avoid-rare-write-when-full-error.patch b/target/linux/brcm2708/patches-4.19/950-0807-tty-amba-pl011-Avoid-rare-write-when-full-error.patch new file mode 100644 index 0000000000..8deb882a98 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0807-tty-amba-pl011-Avoid-rare-write-when-full-error.patch @@ -0,0 +1,42 @@ +From 8ef5143f743a4e922fdf0029f81452d3d7003daf Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 29 Jan 2020 09:35:19 +0000 +Subject: [PATCH] tty: amba-pl011: Avoid rare write-when-full error + +Under some circumstances on BCM283x processors data loss can be +observed - a single byte missing from the TX output stream. These bytes +are always the last byte of a batch of 8 written from pl011_tx_chars +when from_irq is true, meaning that the FIFO full flag is not checked +before writing. + +The transmit optimisation relies on the FIFO being half-empty when the +TX interrupt is raised. Instrumenting the driver further showed that +the failure case correlated with the TX FIFO full flag being set at the +point where the last byte was written to the data register, which +explains the data loss but not how the FIFO appeared to be prematurely +full. A possible explanation is that a FIFO write was in flight at the +time the interrupt was raised, but as yet there is no hypothesis as to +how this might occur. + +In the absence of a clear understanding of the failure mechanism, avoid +the problem by checking the FIFO levels before writing the last byte of +the group, which will have minimal performance impact. + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/amba-pl011.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -1444,6 +1444,10 @@ static bool pl011_tx_chars(struct uart_a + if (likely(from_irq) && count-- == 0) + break; + ++ if (likely(from_irq) && count == 0 && ++ pl011_read(uap, REG_FR) & UART01x_FR_TXFF) ++ break; ++ + if (!pl011_tx_char(uap, xmit->buf[xmit->tail], from_irq)) + break; + diff --git a/target/linux/brcm2708/patches-4.19/950-0808-usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch b/target/linux/brcm2708/patches-4.19/950-0808-usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch new file mode 100644 index 0000000000..ba1e9d4af4 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0808-usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch @@ -0,0 +1,84 @@ +From fd483c4e43a983d90c308c4d668e83be4fd6a392 Mon Sep 17 00:00:00 2001 +From: Tim Gover <990920+timg236@users.noreply.github.com> +Date: Wed, 15 Jan 2020 11:26:19 +0000 +Subject: [PATCH] usb: xhci: Raspberry Pi FW loader for VIA VL805 + +The VL805 FW may either be loaded from an SPI EEPROM or alternatively +loaded directly by the VideoCore firmware. A PCI reset will reset +the VL805 XHCI controller on the Raspberry Pi4 requiring the firmware +to be reloaded if an SPI EEPROM is not present. + +Use a VideoCore mailbox to trigger the loading of the VL805 +firmware (if necessary) after a PCI reset. + +Signed-off-by: Tim Gover +--- + drivers/usb/host/pci-quirks.c | 31 +++++++++++++++++++++- + include/soc/bcm2835/raspberrypi-firmware.h | 2 +- + 2 files changed, 31 insertions(+), 2 deletions(-) + +--- a/drivers/usb/host/pci-quirks.c ++++ b/drivers/usb/host/pci-quirks.c +@@ -18,7 +18,7 @@ + #include + #include "pci-quirks.h" + #include "xhci-ext-caps.h" +- ++#include + + #define UHCI_USBLEGSUP 0xc0 /* legacy support */ + #define UHCI_USBCMD 0 /* command register */ +@@ -632,6 +632,32 @@ EXPORT_SYMBOL_GPL(usb_amd_pt_check_port) + + #endif /* CONFIG_PCI_DISABLE_COMMON_QUIRKS */ + ++/* The VL805 firmware may either be loaded from an EEPROM or by the BIOS into ++ * memory. If run from memory it must be reloaded after a PCI fundmental reset. ++ * The Raspberry Pi firmware acts as the BIOS in this case. ++ */ ++static void usb_vl805_init(struct pci_dev *pdev) ++{ ++#if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE) ++ struct rpi_firmware *fw; ++ struct { ++ u32 dev_addr; ++ } packet; ++ int ret; ++ ++ fw = rpi_firmware_get(NULL); ++ if (!fw) ++ return; ++ ++ packet.dev_addr = (pdev->bus->number << 20) | ++ (PCI_SLOT(pdev->devfn) << 15) | (PCI_FUNC(pdev->devfn) << 12); ++ ++ dev_dbg(&pdev->dev, "RPI_FIRMWARE_NOTIFY_XHCI_RESET %x", packet.dev_addr); ++ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET, ++ &packet, sizeof(packet)); ++#endif ++} ++ + #if IS_ENABLED(CONFIG_USB_UHCI_HCD) + + /* +@@ -1226,6 +1252,9 @@ hc_init: + if (pdev->vendor == PCI_VENDOR_ID_INTEL) + usb_enable_intel_xhci_ports(pdev); + ++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) ++ usb_vl805_init(pdev); ++ + op_reg_base = base + XHCI_HC_LENGTH(readl(base)); + + /* Wait for the host controller to be ready before writing any +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -98,7 +98,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, diff --git a/target/linux/brcm2708/patches-4.19/950-0809-overlays-Correct-the-eth_led-colour-assignments.patch b/target/linux/brcm2708/patches-4.19/950-0809-overlays-Correct-the-eth_led-colour-assignments.patch new file mode 100644 index 0000000000..1130964209 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0809-overlays-Correct-the-eth_led-colour-assignments.patch @@ -0,0 +1,51 @@ +From 8a120b47005fccce4534f8a73c3a3deda92f95fa Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 29 Jan 2020 14:32:51 +0000 +Subject: [PATCH] overlays: Correct the eth_led* colour assignments + +See: https://github.com/raspberrypi/firmware/issues/1311 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/README | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -109,27 +109,28 @@ Params: + Legal values are 2, 3, 4, 5 and 0, where + 0 means never downshift (default 2). Pi3B+ only. + +- eth_led0 Set mode of LED0 (usually orange). The legal +- values are: ++ eth_led0 Set mode of LED0 - amber on Pi3B+ (default "1"), ++ green on Pi4 (default "0"). ++ The legal values are: + + Pi3B+ + +- 0=link/activity 1=link1000/activity (default) ++ 0=link/activity 1=link1000/activity + 2=link100/activity 3=link10/activity + 4=link100/1000/activity 5=link10/1000/activity + 6=link10/100/activity 14=off 15=on + + Pi4 + +- 0=Speed/Activity (default) 1=Speed +- 2=Speed/Flash activity 3=FDX ++ 0=Speed/Activity 1=Speed ++ 2=Flash activity 3=FDX + 4=Off 5=On + 6=Alt 7=Speed/Flash + 8=Link 9=Activity + +- eth_led1 Set mode of LED1 (usually green) (Pi3B+ default +- "6", Pi4 default "8"). See eth_led0 for legal +- values. ++ eth_led1 Set mode of LED1 - green on Pi3B (default "6"), ++ amber on Pi4 (default "8"). See eth_led0 for ++ legal values. + + eth_max_speed Set the maximum speed a link is allowed + to negotiate. Legal values are 10, 100 and diff --git a/target/linux/brcm2708/patches-4.19/950-0810-overlays-Remove-hack-from-uart0-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0810-overlays-Remove-hack-from-uart0-overlay.patch new file mode 100644 index 0000000000..ca582b8141 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0810-overlays-Remove-hack-from-uart0-overlay.patch @@ -0,0 +1,45 @@ +From b006cc7ddfa96c044068ef367c0bc82c2d221ca3 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 1 Oct 2019 10:19:50 +0100 +Subject: [PATCH] overlays: Remove hack from uart0 overlay + +The uart0 overlay contained a hack to return GPIOs 14 and 15 to inputs +when the UART0 function was moved to alternative pins. This has the +unwanted side effect of claiming GPIOs 14 & 15, preventing them being +used for something else. + +See: https://github.com/raspberrypi/linux/issues/2856 + https://www.raspberrypi.org/forums/viewtopic.php?f=98&t=252911 + +Signed-off-by: Stefan Enge +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/uart0-overlay.dts | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +--- a/arch/arm/boot/dts/overlays/uart0-overlay.dts ++++ b/arch/arm/boot/dts/overlays/uart0-overlay.dts +@@ -17,17 +17,16 @@ + target = <&gpio>; + __overlay__ { + uart0_pins: uart0_pins { +- brcm,pins = <14 15 14 15>; +- brcm,function = <0 0 4 4>; /* alt0 */ +- brcm,pull = <0 0 0 2>; ++ brcm,pins = <14 15>; ++ brcm,function = <4>; /* alt0 */ ++ brcm,pull = <0 2>; + }; + }; + }; + + __overrides__ { +- txd0_pin = <&uart0_pins>,"brcm,pins:8"; +- rxd0_pin = <&uart0_pins>,"brcm,pins:12"; +- pin_func = <&uart0_pins>,"brcm,function:8", +- <&uart0_pins>,"brcm,function:12"; ++ txd0_pin = <&uart0_pins>,"brcm,pins:0"; ++ rxd0_pin = <&uart0_pins>,"brcm,pins:4"; ++ pin_func = <&uart0_pins>,"brcm,function:0"; + }; + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch b/target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch new file mode 100644 index 0000000000..449380bd7b --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch @@ -0,0 +1,59 @@ +From d7044f06dea839c61a01e6016a4b9dee15543f8d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 30 Jan 2020 09:47:00 +0000 +Subject: [PATCH] ARM: dts: Add sd_poll_once dtparam to bcm283x/2711 + +The old sdtweak overlay allowed the SD interface to be effectively +disabled unless there was a card present at boot time, but that +overlay doesn't work on bcm2711 and has largely been replaced by +a set of sd_* dtparams (which have the advantage of being board- +specific. + +Add an sd_poll_once dtparam to allow the same functionality on +all Raspberry Pi boards. + +See: https://github.com/raspberrypi/linux/issues/3286 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 1 + + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 ++ + arch/arm/boot/dts/overlays/README | 7 +++++++ + 3 files changed, 10 insertions(+) + +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -92,6 +92,7 @@ + watchdog = <&watchdog>,"status"; + random = <&random>,"status"; + sd_overclock = <&sdhost>,"brcm,overclock-50:0"; ++ sd_poll_once = <&sdhost>,"non-removable?"; + sd_force_pio = <&sdhost>,"brcm,force-pio?"; + sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; + sd_debug = <&sdhost>,"brcm,debug"; +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -349,5 +349,7 @@ + + eth_led0 = <&phy1>,"led-modes:0"; + eth_led1 = <&phy1>,"led-modes:4"; ++ ++ sd_poll_once = <&emmc2>, "non-removable?"; + }; + }; +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -165,6 +165,13 @@ Params: + sd_overclock Clock (in MHz) to use when the MMC framework + requests 50MHz + ++ sd_poll_once Looks for a card once after booting. Useful ++ for network booting scenarios to avoid the ++ overhead of continuous polling. N.B. Using ++ this option restricts the system to using a ++ single card per boot (or none at all). ++ (default off) ++ + sd_force_pio Disable DMA support for SD driver (default off) + + sd_pio_limit Number of blocks above which to use DMA for diff --git a/target/linux/brcm2708/patches-4.19/950-0812-overlays-Add-ssd1306-spi-overlay-3440.patch b/target/linux/brcm2708/patches-4.19/950-0812-overlays-Add-ssd1306-spi-overlay-3440.patch new file mode 100644 index 0000000000..e27893d9ac --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0812-overlays-Add-ssd1306-spi-overlay-3440.patch @@ -0,0 +1,132 @@ +From db048a80e63c66607b3bd73fa641802ec83bf166 Mon Sep 17 00:00:00 2001 +From: MikeDK +Date: Fri, 31 Jan 2020 10:57:21 +0100 +Subject: [PATCH] overlays: Add ssd1306-spi overlay (#3440) + +Add an overlay for SSD1306 based OLED boards using SPI. +This will load the staging fbtft driver. + +Signed-off-by: Michael Kaplan +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 12 +++ + .../boot/dts/overlays/ssd1306-spi-overlay.dts | 82 +++++++++++++++++++ + 3 files changed, 95 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -168,6 +168,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + spi6-1cs.dtbo \ + spi6-2cs.dtbo \ + ssd1306.dtbo \ ++ ssd1306-spi.dtbo \ + superaudioboard.dtbo \ + sx150x.dtbo \ + tc358743.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2428,6 +2428,18 @@ Params: address Location + https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf + + ++Name: ssd1306-spi ++Info: Overlay for SSD1306 OLED via SPI using fbtft staging driver. ++Load: dtoverlay=ssd1306-spi,= ++Params: speed SPI bus speed (default 10000000) ++ rotate Display rotation (0, 90, 180 or 270; default 0) ++ fps Delay between frame updates (default 25) ++ debug Debug output level (0-7; default 0) ++ dc_pin GPIO pin for D/C (default 24) ++ reset_pin GPIO pin for RESET (default 25) ++ height Display height (32 or 64; default 64) ++ ++ + Name: superaudioboard + Info: Configures the SuperAudioBoard sound card + Load: dtoverlay=superaudioboard,= +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts +@@ -0,0 +1,82 @@ ++/* ++ * Device Tree overlay for SSD1306 based SPI OLED display ++ * ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&spidev1>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&gpio>; ++ __overlay__ { ++ ssd1306_pins: ssd1306_pins { ++ brcm,pins = <25 24>; ++ brcm,function = <1 1>; /* out out */ ++ }; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&spi0>; ++ __overlay__ { ++ /* needed to avoid dtc warning */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ssd1306: ssd1306@0{ ++ compatible = "solomon,ssd1306"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ssd1306_pins>; ++ ++ spi-max-frequency = <10000000>; ++ bgr = <0>; ++ bpp = <1>; ++ rotate = <0>; ++ fps = <25>; ++ buswidth = <8>; ++ reset-gpios = <&gpio 25 0>; ++ dc-gpios = <&gpio 24 0>; ++ debug = <0>; ++ ++ solomon,height = <64>; ++ solomon,width = <128>; ++ solomon,page-offset = <0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ speed = <&ssd1306>,"spi-max-frequency:0"; ++ rotate = <&ssd1306>,"rotate:0"; ++ fps = <&ssd1306>,"fps:0"; ++ debug = <&ssd1306>,"debug:0"; ++ dc_pin = <&ssd1306>,"dc-gpios:4>"; ++ reset_pin = <&ssd1306>,"reset-gpios:4>"; ++ height = <&ssd1306>,"solomon,height:0>"; ++ }; ++}; diff --git a/target/linux/brcm2708/patches-4.19/950-0813-overlays-Add-sh1106-spi-and-ssd1351-spi-overlays-344.patch b/target/linux/brcm2708/patches-4.19/950-0813-overlays-Add-sh1106-spi-and-ssd1351-spi-overlays-344.patch new file mode 100644 index 0000000000..4dc8e0943a --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0813-overlays-Add-sh1106-spi-and-ssd1351-spi-overlays-344.patch @@ -0,0 +1,248 @@ +From 1b8ea7066ee06404e0148702bc3e85a191f6d867 Mon Sep 17 00:00:00 2001 +From: MikeDK +Date: Fri, 31 Jan 2020 12:45:43 +0100 +Subject: [PATCH] overlays: Add sh1106-spi and ssd1351-spi overlays + (#3442) + +Add overlays for SH1106 and SSD1351 based OLED displays. +SH1106 is present in many 1.3 inch OLEDs and SSD1351 is present in +1.5 inch RGB OLEDs from AliExpress. + +This will load the staging fbtft drivers. + +Signed-off-by: Michael Kaplan +--- + arch/arm/boot/dts/overlays/Makefile | 2 + + arch/arm/boot/dts/overlays/README | 23 ++++++ + .../boot/dts/overlays/sh1106-spi-overlay.dts | 82 +++++++++++++++++++ + .../boot/dts/overlays/ssd1351-spi-overlay.dts | 81 ++++++++++++++++++ + 4 files changed, 188 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts + create mode 100644 arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -145,6 +145,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + sdhost.dtbo \ + sdio.dtbo \ + sdtweak.dtbo \ ++ sh1106-spi.dtbo \ + smi.dtbo \ + smi-dev.dtbo \ + smi-nand.dtbo \ +@@ -169,6 +170,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + spi6-2cs.dtbo \ + ssd1306.dtbo \ + ssd1306-spi.dtbo \ ++ ssd1351-spi.dtbo \ + superaudioboard.dtbo \ + sx150x.dtbo \ + tc358743.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2145,6 +2145,18 @@ Params: overclock_50 Clock (i + (default on) + + ++Name: sh1106-spi ++Info: Overlay for SH1106 OLED via SPI using fbtft staging driver. ++Load: dtoverlay=sh1106-spi,= ++Params: speed SPI bus speed (default 4000000) ++ rotate Display rotation (0, 90, 180 or 270; default 0) ++ fps Delay between frame updates (default 25) ++ debug Debug output level (0-7; default 0) ++ dc_pin GPIO pin for D/C (default 24) ++ reset_pin GPIO pin for RESET (default 25) ++ height Display height (32 or 64; default 64) ++ ++ + Name: smi + Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25! + Load: dtoverlay=smi +@@ -2440,6 +2452,17 @@ Params: speed SPI bus + height Display height (32 or 64; default 64) + + ++Name: ssd1351-spi ++Info: Overlay for SSD1351 OLED via SPI using fbtft staging driver. ++Load: dtoverlay=ssd1351-spi,= ++Params: speed SPI bus speed (default 4500000) ++ rotate Display rotation (0, 90, 180 or 270; default 0) ++ fps Delay between frame updates (default 25) ++ debug Debug output level (0-7; default 0) ++ dc_pin GPIO pin for D/C (default 24) ++ reset_pin GPIO pin for RESET (default 25) ++ ++ + Name: superaudioboard + Info: Configures the SuperAudioBoard sound card + Load: dtoverlay=superaudioboard,= +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts +@@ -0,0 +1,82 @@ ++/* ++ * Device Tree overlay for SH1106 based SPI OLED display ++ * ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&spidev1>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&gpio>; ++ __overlay__ { ++ sh1106_pins: sh1106_pins { ++ brcm,pins = <25 24>; ++ brcm,function = <1 1>; /* out out */ ++ }; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&spi0>; ++ __overlay__ { ++ /* needed to avoid dtc warning */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ sh1106: sh1106@0{ ++ compatible = "sinowealth,sh1106"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sh1106_pins>; ++ ++ spi-max-frequency = <4000000>; ++ bgr = <0>; ++ bpp = <1>; ++ rotate = <0>; ++ fps = <25>; ++ buswidth = <8>; ++ reset-gpios = <&gpio 25 0>; ++ dc-gpios = <&gpio 24 0>; ++ debug = <0>; ++ ++ sinowealth,height = <64>; ++ sinowealth,width = <128>; ++ sinowealth,page-offset = <0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ speed = <&sh1106>,"spi-max-frequency:0"; ++ rotate = <&sh1106>,"rotate:0"; ++ fps = <&sh1106>,"fps:0"; ++ debug = <&sh1106>,"debug:0"; ++ dc_pin = <&sh1106>,"dc-gpios:4>"; ++ reset_pin = <&sh1106>,"reset-gpios:4>"; ++ height = <&sh1106>,"sinowealth,height:0>"; ++ }; ++}; +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts +@@ -0,0 +1,81 @@ ++/* ++ * Device Tree overlay for SSD1351 based SPI OLED display ++ * ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev0>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&spidev1>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&gpio>; ++ __overlay__ { ++ ssd1351_pins: ssd1351_pins { ++ brcm,pins = <25 24>; ++ brcm,function = <1 1>; /* out out */ ++ }; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&spi0>; ++ __overlay__ { ++ /* needed to avoid dtc warning */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ssd1351: ssd1351@0{ ++ compatible = "solomon,ssd1351"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ssd1351_pins>; ++ ++ spi-max-frequency = <4500000>; ++ bgr = <0>; ++ bpp = <16>; ++ rotate = <0>; ++ fps = <25>; ++ buswidth = <8>; ++ reset-gpios = <&gpio 25 0>; ++ dc-gpios = <&gpio 24 0>; ++ debug = <0>; ++ ++ solomon,height = <128>; ++ solomon,width = <128>; ++ solomon,page-offset = <0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ speed = <&ssd1351>,"spi-max-frequency:0"; ++ rotate = <&ssd1351>,"rotate:0"; ++ fps = <&ssd1351>,"fps:0"; ++ debug = <&ssd1351>,"debug:0"; ++ dc_pin = <&ssd1351>,"dc-gpios:4>"; ++ reset_pin = <&ssd1351>,"reset-gpios:4>"; ++ }; ++}; diff --git a/target/linux/brcm2708/patches-4.19/950-0814-overlays-dwc2-Increase-RX-FIFO-size.patch b/target/linux/brcm2708/patches-4.19/950-0814-overlays-dwc2-Increase-RX-FIFO-size.patch new file mode 100644 index 0000000000..a8e7bd3c90 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0814-overlays-dwc2-Increase-RX-FIFO-size.patch @@ -0,0 +1,32 @@ +From 389107911744588cce5e06c23a058c9cfb641f33 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 4 Feb 2020 13:03:21 +0000 +Subject: [PATCH] overlays: dwc2: Increase RX FIFO size + +The previous version of the dwc2 overlay set the RX FIFO size to +256 4-byte words. This sounds large enough for a 1024 byte packet (the +largest isochronous high speed packet allowed), but it doesn't take +into account some extra space needed by the hardware. + +Minas Harutyunyan at Synopsys (the source of the DWC OTG design) +came up with a more correct value, 301, but since there is spare packet +RAM this can be increased to 558 to allow two packets per frame. + +See: https://github.com/raspberrypi/linux/issues/3447 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/dwc2-overlay.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/overlays/dwc2-overlay.dts ++++ b/arch/arm/boot/dts/overlays/dwc2-overlay.dts +@@ -12,7 +12,7 @@ + compatible = "brcm,bcm2835-usb"; + dr_mode = "otg"; + g-np-tx-fifo-size = <32>; +- g-rx-fifo-size = <256>; ++ g-rx-fifo-size = <558>; + g-tx-fifo-size = <512 512 512 512 512 256 256>; + status = "okay"; + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0815-overlays-Fix-mcp23017-s-addr-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0815-overlays-Fix-mcp23017-s-addr-parameter.patch new file mode 100644 index 0000000000..f1750b2e2f --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0815-overlays-Fix-mcp23017-s-addr-parameter.patch @@ -0,0 +1,46 @@ +From 11ef396f6e72b22469e1c8aebf5fd50488a9431d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 4 Feb 2020 15:22:55 +0000 +Subject: [PATCH] overlays: Fix mcp23017's addr parameter + +The addr parameter of the mcp23017 overlay was broken by the addition +of the noints parameter; splitting the mcp node in two without also +modifying the second half from the addr parameter would cause the two +halves to separate. Change the implementation strategy to patch +fragment 2 (as was originally proposed). This will prevent the +overlay from being applied at runtime until the "dtoverlay" command +is improved, but the overlay already has this restriction due to +fragment 3 so this isn't a step backwards. + +See: https://github.com/raspberrypi/linux/issues/3449 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/mcp23017-overlay.dts | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +--- a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts +@@ -48,15 +48,13 @@ + }; + + fragment@4 { +- target = <&i2c1>; +- __overlay__ { +- mcp23017_irq: mcp@20 { +- #interrupt-cells=<2>; +- interrupt-parent = <&gpio>; +- interrupts = <4 2>; +- interrupt-controller; +- microchip,irq-mirror; +- }; ++ target = <&mcp23017>; ++ mcp23017_irq: __overlay__ { ++ #interrupt-cells=<2>; ++ interrupt-parent = <&gpio>; ++ interrupts = <4 2>; ++ interrupt-controller; ++ microchip,irq-mirror; + }; + }; + diff --git a/target/linux/brcm2708/patches-4.19/950-0816-overlays-fix-sh1106-spi-ssd1306-spi-and-ssd1351-spi-.patch b/target/linux/brcm2708/patches-4.19/950-0816-overlays-fix-sh1106-spi-ssd1306-spi-and-ssd1351-spi-.patch new file mode 100644 index 0000000000..837e7bfb17 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0816-overlays-fix-sh1106-spi-ssd1306-spi-and-ssd1351-spi-.patch @@ -0,0 +1,81 @@ +From f80af7bdb76f767a236eeb55b6ea210023180cd6 Mon Sep 17 00:00:00 2001 +From: Michael Kaplan +Date: Tue, 4 Feb 2020 16:14:48 +0100 +Subject: [PATCH] overlays: fix sh1106-spi, ssd1306-spi and ssd1351-spi overlays + +--- + .../arm/boot/dts/overlays/sh1106-spi-overlay.dts | 16 +++++++++------- + .../boot/dts/overlays/ssd1306-spi-overlay.dts | 16 +++++++++------- + .../boot/dts/overlays/ssd1351-spi-overlay.dts | 14 ++++++++------ + 3 files changed, 26 insertions(+), 20 deletions(-) + +--- a/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts +@@ -71,12 +71,14 @@ + }; + + __overrides__ { +- speed = <&sh1106>,"spi-max-frequency:0"; +- rotate = <&sh1106>,"rotate:0"; +- fps = <&sh1106>,"fps:0"; +- debug = <&sh1106>,"debug:0"; +- dc_pin = <&sh1106>,"dc-gpios:4>"; +- reset_pin = <&sh1106>,"reset-gpios:4>"; +- height = <&sh1106>,"sinowealth,height:0>"; ++ speed = <&sh1106>,"spi-max-frequency:0"; ++ rotate = <&sh1106>,"rotate:0"; ++ fps = <&sh1106>,"fps:0"; ++ debug = <&sh1106>,"debug:0"; ++ dc_pin = <&sh1106>,"dc-gpios:4", ++ <&sh1106_pins>,"brcm,pins:4; ++ reset_pin = <&sh1106>,"reset-gpios:4", ++ <&sh1106_pins>,"brcm,pins:0; ++ height = <&sh1106>,"sinowealth,height:0"; + }; + }; +--- a/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts +@@ -71,12 +71,14 @@ + }; + + __overrides__ { +- speed = <&ssd1306>,"spi-max-frequency:0"; +- rotate = <&ssd1306>,"rotate:0"; +- fps = <&ssd1306>,"fps:0"; +- debug = <&ssd1306>,"debug:0"; +- dc_pin = <&ssd1306>,"dc-gpios:4>"; +- reset_pin = <&ssd1306>,"reset-gpios:4>"; +- height = <&ssd1306>,"solomon,height:0>"; ++ speed = <&ssd1306>,"spi-max-frequency:0"; ++ rotate = <&ssd1306>,"rotate:0"; ++ fps = <&ssd1306>,"fps:0"; ++ debug = <&ssd1306>,"debug:0"; ++ dc_pin = <&ssd1306>,"dc-gpios:4"; ++ <&ssd1306_pins>,"brcm,pins:4"; ++ reset_pin = <&ssd1306>,"reset-gpios:4"; ++ <&ssd1306_pins>,"brcm,pins:0"; ++ height = <&ssd1306>,"solomon,height:0"; + }; + }; +--- a/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts +@@ -71,11 +71,13 @@ + }; + + __overrides__ { +- speed = <&ssd1351>,"spi-max-frequency:0"; +- rotate = <&ssd1351>,"rotate:0"; +- fps = <&ssd1351>,"fps:0"; +- debug = <&ssd1351>,"debug:0"; +- dc_pin = <&ssd1351>,"dc-gpios:4>"; +- reset_pin = <&ssd1351>,"reset-gpios:4>"; ++ speed = <&ssd1351>,"spi-max-frequency:0"; ++ rotate = <&ssd1351>,"rotate:0"; ++ fps = <&ssd1351>,"fps:0"; ++ debug = <&ssd1351>,"debug:0"; ++ dc_pin = <&ssd1351>,"dc-gpios:4", ++ <&ssd1351_pins>,"brcm,pins:4"; ++ reset_pin = <&ssd1351>,"reset-gpios:4"; ++ <&ssd1351_pins>,"brcm,pins:0"; + }; + }; diff --git a/target/linux/brcm2708/patches-4.19/950-0817-Fix-a-sh1106-spi-ssd1306-spi-ssd1351-spi-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0817-Fix-a-sh1106-spi-ssd1306-spi-ssd1351-spi-overlays.patch new file mode 100644 index 0000000000..aa472ff370 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0817-Fix-a-sh1106-spi-ssd1306-spi-ssd1351-spi-overlays.patch @@ -0,0 +1,50 @@ +From 45754db702ff044e45ba14efdcf3708151e25c5f Mon Sep 17 00:00:00 2001 +From: Jason Kim +Date: Wed, 5 Feb 2020 01:48:10 +0900 +Subject: [PATCH] Fix a sh1106-spi, ssd1306-spi, ssd1351-spi overlays + +--- + arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts | 4 ++-- + arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts | 4 ++-- + arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +--- a/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts +@@ -76,9 +76,9 @@ + fps = <&sh1106>,"fps:0"; + debug = <&sh1106>,"debug:0"; + dc_pin = <&sh1106>,"dc-gpios:4", +- <&sh1106_pins>,"brcm,pins:4; ++ <&sh1106_pins>,"brcm,pins:4"; + reset_pin = <&sh1106>,"reset-gpios:4", +- <&sh1106_pins>,"brcm,pins:0; ++ <&sh1106_pins>,"brcm,pins:0"; + height = <&sh1106>,"sinowealth,height:0"; + }; + }; +--- a/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts +@@ -75,9 +75,9 @@ + rotate = <&ssd1306>,"rotate:0"; + fps = <&ssd1306>,"fps:0"; + debug = <&ssd1306>,"debug:0"; +- dc_pin = <&ssd1306>,"dc-gpios:4"; ++ dc_pin = <&ssd1306>,"dc-gpios:4", + <&ssd1306_pins>,"brcm,pins:4"; +- reset_pin = <&ssd1306>,"reset-gpios:4"; ++ reset_pin = <&ssd1306>,"reset-gpios:4", + <&ssd1306_pins>,"brcm,pins:0"; + height = <&ssd1306>,"solomon,height:0"; + }; +--- a/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts ++++ b/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts +@@ -77,7 +77,7 @@ + debug = <&ssd1351>,"debug:0"; + dc_pin = <&ssd1351>,"dc-gpios:4", + <&ssd1351_pins>,"brcm,pins:4"; +- reset_pin = <&ssd1351>,"reset-gpios:4"; ++ reset_pin = <&ssd1351>,"reset-gpios:4", + <&ssd1351_pins>,"brcm,pins:0"; + }; + }; From 96424c143dd818b391d9b8da18249eca1d2e6c83 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Tue, 4 Feb 2020 14:53:52 +0100 Subject: [PATCH 29/47] iwinfo: update to latest Git HEAD eba5a20 iwinfo: add device id for BCM43602 a6914dc iwinfo: add BSS load element to scan result bb21698 iwinfo: add device id for Atheros AR9287 7483398 iwinfo: add device id for MediaTek MT7615E Signed-off-by: David Bauer --- package/network/utils/iwinfo/Makefile | 6 +++--- .../network/utils/iwinfo/patches/000-brcm-hardware.patch | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) delete mode 100644 package/network/utils/iwinfo/patches/000-brcm-hardware.patch diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index c7548dee98..72aca27d6e 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/iwinfo.git -PKG_SOURCE_DATE:=2020-01-05 -PKG_SOURCE_VERSION:=bf2c1069a7f14d1af1e02c8edd2b7338f0355ac8 -PKG_MIRROR_HASH:=b5f370e087005783e816866eb031952c4b37f8b6c649c1ac1dacfb0b95fd61a7 +PKG_SOURCE_DATE:=2020-02-04 +PKG_SOURCE_VERSION:=eba5a204f776f49b9948b41e41c03560dbd307c8 +PKG_MIRROR_HASH:=c63de01ce41a4e2621bfdcd75c8ab684af9e9676895d7af008400badd34c9c57 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iwinfo/patches/000-brcm-hardware.patch b/package/network/utils/iwinfo/patches/000-brcm-hardware.patch deleted file mode 100644 index 009a6f985c..0000000000 --- a/package/network/utils/iwinfo/patches/000-brcm-hardware.patch +++ /dev/null @@ -1,9 +0,0 @@ -Index: libiwinfo-2020-01-05-bf2c1069/hardware.txt -=================================================================== ---- libiwinfo-2020-01-05-bf2c1069.orig/hardware.txt -+++ libiwinfo-2020-01-05-bf2c1069/hardware.txt -@@ -180,3 +180,4 @@ - 0x14c3 0x7650 0x14c3 0x7650 0 0 "MediaTek" "MT7610E" - 0x14c3 0x7662 0x14c3 0x7662 0 0 "MediaTek" "MT76x2E" - 0x1ae9 0x0310 0x1ae9 0x0000 0 0 "Wilocity" "Wil6210" -+0x14e4 0xaa52 0x14e4 0xaa52 0 0 "Broadcom" "BRCM43602" From c0c988e179a75d33c82ed0621d954fc0ac2c0c14 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Thu, 30 Jan 2020 18:32:00 +0000 Subject: [PATCH 30/47] procd: support 'requirejail' attribute Bump procd package to reduce log spam related to missing jail binaries in a non-jail capable system. bcb8655 instance: add 'requirejail' attribute An additional jail attribute 'requirejail' can now be used to indicate mandatory use of a jailed environment and hence prevent process startup in the event that the jail subsystem is unavailable. Procd will now only log errors if jail is unavailable and 1) is a mandatory requirement or 2) a procd debug level of at least 2 is in use. Signed-off-by: Kevin Darbyshire-Bryant --- package/system/procd/Makefile | 4 ++-- package/system/procd/files/procd.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 978da29dd0..de2b94b1d9 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git -PKG_SOURCE_DATE:=2020-01-24 +PKG_SOURCE_DATE:=2020-02-04 PKG_SOURCE_VERSION:=00aafc4f439ec3ace834c1a803b899bd1ceba9db -PKG_MIRROR_HASH:=0d5abe409f8dd5979fa753c2f9999c0434a4b465079fcdd861494814992f1980 +PKG_MIRROR_HASH:=a435449aed225a0394455d627b1ac5ca8bcf27d38238869bad5220a672012688 CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index b8f9a210f6..e8b1b6ffb7 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -194,6 +194,7 @@ _procd_add_jail() { procfs) json_add_boolean "procfs" "1";; sysfs) json_add_boolean "sysfs" "1";; ronly) json_add_boolean "ronly" "1";; + requirejail) json_add_boolean "requirejail" "1";; esac done json_add_object "mount" From 5f5ec7660ca26d5637c77f45d88c2e2eb35d3bb1 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 5 Feb 2020 15:31:34 +0100 Subject: [PATCH 31/47] Revert "iwinfo: update to latest Git HEAD" This reverts commit 96424c143dd818b391d9b8da18249eca1d2e6c83. The commit changed libiwinfo's internal ABI which breaks a number of downstream projects, including LuCI and rpcd-mod-iwinfo. Signed-off-by: Jo-Philipp Wich --- package/network/utils/iwinfo/Makefile | 6 +++--- .../network/utils/iwinfo/patches/000-brcm-hardware.patch | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 package/network/utils/iwinfo/patches/000-brcm-hardware.patch diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index 72aca27d6e..c7548dee98 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/iwinfo.git -PKG_SOURCE_DATE:=2020-02-04 -PKG_SOURCE_VERSION:=eba5a204f776f49b9948b41e41c03560dbd307c8 -PKG_MIRROR_HASH:=c63de01ce41a4e2621bfdcd75c8ab684af9e9676895d7af008400badd34c9c57 +PKG_SOURCE_DATE:=2020-01-05 +PKG_SOURCE_VERSION:=bf2c1069a7f14d1af1e02c8edd2b7338f0355ac8 +PKG_MIRROR_HASH:=b5f370e087005783e816866eb031952c4b37f8b6c649c1ac1dacfb0b95fd61a7 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iwinfo/patches/000-brcm-hardware.patch b/package/network/utils/iwinfo/patches/000-brcm-hardware.patch new file mode 100644 index 0000000000..009a6f985c --- /dev/null +++ b/package/network/utils/iwinfo/patches/000-brcm-hardware.patch @@ -0,0 +1,9 @@ +Index: libiwinfo-2020-01-05-bf2c1069/hardware.txt +=================================================================== +--- libiwinfo-2020-01-05-bf2c1069.orig/hardware.txt ++++ libiwinfo-2020-01-05-bf2c1069/hardware.txt +@@ -180,3 +180,4 @@ + 0x14c3 0x7650 0x14c3 0x7650 0 0 "MediaTek" "MT7610E" + 0x14c3 0x7662 0x14c3 0x7662 0 0 "MediaTek" "MT76x2E" + 0x1ae9 0x0310 0x1ae9 0x0000 0 0 "Wilocity" "Wil6210" ++0x14e4 0xaa52 0x14e4 0xaa52 0 0 "Broadcom" "BRCM43602" From be4d53bf69b63f0534fba37fad56dcf4c6de3e5c Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Wed, 25 Sep 2019 03:02:04 +0900 Subject: [PATCH 32/47] ramips: extend and rename wr1201-factory-header This commit adds the ability to set custom uImage magic to Build/wr1201-factory-header and renames it to "Build/custom-initramfs-uimage". Custom uImage header in initramfs image is required on following devices: - I-O DATA WN-AX1167GR2 - I-O DATA WN-AX2033GR - I-O DATA WN-AX2033GR2 - I-O DATA WN-DX1167R While at it, fix typo in comment. Signed-off-by: INAGAKI Hiroshi Reviewed-by: Sungbo Eo [shorten commit title, minor commit message adjustments] Signed-off-by: Adrian Schmutzler --- target/linux/ramips/image/mt7621.mk | 30 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 6d0af9d994..ae83501c9d 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -7,6 +7,21 @@ include ./common-tp-link.mk DEFAULT_SOC := mt7621 KERNEL_DTB += -d21 +DEVICE_VARS += UIMAGE_MAGIC + +# The OEM webinterface expects an kernel with initramfs which has the uImage +# header field ih_name. +# We don't want to set the header name field for the kernel include in the +# sysupgrade image as well, as this image shouldn't be accepted by the OEM +# webinterface. It will soft-brick the board. +define Build/custom-initramfs-uimage + mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel \ + -C lzma -a $(KERNEL_LOADADDR) $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC),) \ + -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -n '$(1)' -d $@ $@.new + mv $@.new $@ +endef define Build/elecom-gst-factory $(eval product=$(word 1,$(1))) @@ -74,19 +89,6 @@ define Build/ubnt-erx-factory-image fi endef -# The OEM webinterface expects an kernel with initramfs which has the uImage -# header field ih_name. -# We don't wan't to set the header name field for the kernel include in the -# sysupgrade image as well, as this image shouldn't be accepted by the OEM -# webinterface. It will soft-brick the board. -define Build/wr1201-factory-header - mkimage -A $(LINUX_KARCH) \ - -O linux -T kernel \ - -C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ - -n 'WR1201_8_128' -d $@ $@.new - mv $@.new $@ -endef - define Device/afoundry_ew1200 IMAGE_SIZE := 16064k DEVICE_VENDOR := AFOUNDRY @@ -466,7 +468,7 @@ define Device/mtc_wr1201 IMAGE_SIZE := 16000k DEVICE_VENDOR := MTC DEVICE_MODEL := Wireless Router WR1201 - KERNEL_INITRAMFS := $(KERNEL_DTB) | wr1201-factory-header + KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage WR1201_8_128 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \ kmod-usb-ledtrig-usbport wpad-basic endef From 3c0e2aa63ef040dbfbd7fe5f05bc9dfaf5ae9242 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Tue, 9 Apr 2019 14:48:31 +0900 Subject: [PATCH 33/47] ramips: add support for I-O DATA WN-DX1167R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I-O DATA WN-DX1167R is a 2.4/5 GHz band 11ac rotuer, based on MediaTek MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : NAND 128 MiB - WLAN : MediaTek MT7615D (2.4/5 GHz, 2T2R) - Ethernet : 5x 10/100/1000 Mbps - Switch : MediaTek MT7621A (MT7530) - LEDs/Input : 2x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J5: Vcc, TX, RX, NC, GND - 57600 bps Flash instruction using initramfs image: 1. Boot WN-DX1167R normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with squashfs-sysupgrade image 5. Wait ~120 seconds to complete flashing Notes: - configuration in DeviceTree of DBDC (Dual-Band-Dual-Concurrent) mode for MT7615D chip is not supported in mt76 driver - last 0x80000 (512 KiB) in NAND flash is not used on stock firmware - stock firmware requires "customized uImage header" by MSTC (MitraStar Technology Corp.), but U-Boot doesn't - uImage magic (0x0 - 0x3) : 0x434F4D43 (COMC) - header crc32 (0x4 - 0x7) : with data length and data crc32 - image name (0x20 - 0x37) : model ID and firmware versions - data length (0x38 - 0x3b): kernel + rootfs - data crc32 (0x3c - 0x3f) : kernel + rootfs Signed-off-by: INAGAKI Hiroshi Reviewed-by: Sungbo Eo --- .../ramips/dts/mt7621_iodata_wn-dx1167r.dts | 31 ++++ .../ramips/dts/mt7621_iodata_wn-xx-xr.dtsi | 140 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 32 ++++ .../mt7621/base-files/etc/board.d/02_network | 10 +- .../mt7621/base-files/lib/upgrade/iodata.sh | 55 +++++++ .../mt7621/base-files/lib/upgrade/platform.sh | 4 + 6 files changed, 268 insertions(+), 4 deletions(-) create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi create mode 100644 target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts b/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts new file mode 100644 index 0000000000..ee69b97e44 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621_iodata_wn-xx-xr.dtsi" + +/ { + compatible = "iodata,wn-dx1167r", "mediatek,mt7621-soc"; + model = "I-O DATA WN-DX1167R"; +}; + +&partitions { + partition@6b00000 { + label = "idmkey"; + reg = <0x6b00000 0x0100000>; + read-only; + }; + + partition@6c00000 { + label = "Backup"; + reg = <0x6c00000 0x1380000>; + read-only; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi new file mode 100644 index 0000000000..8b3329113f --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + wps { + label = "iodata:green:wps"; + gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; + }; + + led_power: power { + label = "iodata:green:power"; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + repeater { + label = "repeater"; + gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; + linux,code = ; + linux,input-type = ; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&nand { + status = "okay"; + + partitions: partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x0100000>; + read-only; + }; + + partition@100000 { + label = "u-boot-env"; + reg = <0x0100000 0x0100000>; + read-only; + }; + + factory: partition@200000 { + label = "factory"; + reg = <0x0200000 0x0100000>; + }; + + partition@300000 { + label = "SecondBoot"; + reg = <0x0300000 0x0100000>; + read-only; + }; + + partition@400000 { + label = "kernel"; + reg = <0x0400000 0x0400000>; + }; + + partition@800000 { + label = "ubi"; + reg = <0x0800000 0x2e00000>; + }; + + partition@3600000 { + label = "Config"; + reg = <0x3600000 0x0100000>; + read-only; + }; + + partition@3700000 { + label = "firmware_2"; + reg = <0x3700000 0x3200000>; + }; + + partition@6900000 { + label = "Config_2"; + reg = <0x6900000 0x0100000>; + read-only; + }; + + partition@6a00000 { + label = "persist"; + reg = <0x6a00000 0x0100000>; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&pcie { + status = "okay"; +}; + +&state_default { + gpio { + ralink,group = "uart2", "uart3", "wdt"; + ralink,function = "gpio"; + }; +}; + +&xhci { + status = "disabled"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index ae83501c9d..b66842e880 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -65,6 +65,22 @@ define Build/iodata-factory fi endef +define Build/iodata-mstc-header + ( \ + data_size_crc="$$(dd if=$@ ibs=64 skip=1 2>/dev/null | \ + gzip -c | tail -c 8 | od -An -tx8 --endian little | tr -d ' \n')"; \ + echo -ne "$$(echo $$data_size_crc | sed 's/../\\x&/g')" | \ + dd of=$@ bs=8 count=1 seek=7 conv=notrunc 2>/dev/null; \ + ) + dd if=/dev/zero of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null + ( \ + header_crc="$$(dd if=$@ bs=64 count=1 2>/dev/null | \ + gzip -c | tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \ + echo -ne "$$(echo $$header_crc | sed 's/../\\x&/g')" | \ + dd of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null; \ + ) +endef + define Build/ubnt-erx-factory-image if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \ echo '21001:6' > $(1).compat; \ @@ -336,6 +352,22 @@ define Device/iodata_wn-ax1167gr endef TARGET_DEVICES += iodata_wn-ax1167gr +define Device/iodata_wn-dx1167r + BLOCKSIZE := 128k + PAGESIZE := 2048 + UBINIZE_OPTS := -E 5 + UIMAGE_MAGIC := 0x434f4d43 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 51200k + DEVICE_VENDOR := I-O DATA + DEVICE_MODEL := WN-DX1167R + KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XIK.1)b10 | \ + iodata-mstc-header + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_PACKAGES := kmod-mt7615e wpad-basic +endef +TARGET_DEVICES += iodata_wn-dx1167r + define Device/iodata_wn-gx300gr IMAGE_SIZE := 7616k DEVICE_VENDOR := I-O DATA diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 84fc283f4f..ffe5793a6e 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -72,6 +72,7 @@ ramips_setup_interfaces() elecom,wrc-1900gst|\ elecom,wrc-2533gst|\ iodata,wn-ax1167gr|\ + iodata,wn-dx1167r|\ iodata,wn-gx300gr|\ iodata,wnpr2600g|\ iptime,a8004t) @@ -222,6 +223,11 @@ ramips_setup_macs() xiaoyu,xy-c5) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; + iodata,wn-dx1167r|\ + xiaomi,mir3g-v2) + wan_mac=$(mtd_get_mac_binary factory 0xe006) + label_mac=$wan_mac + ;; iodata,wnpr2600g) wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac @@ -266,10 +272,6 @@ ramips_setup_macs() lan_mac=$(mtd_get_mac_binary factory 0xe006) label_mac=$lan_mac ;; - xiaomi,mir3g-v2) - wan_mac=$(mtd_get_mac_binary factory 0xe006) - label_mac=$wan_mac - ;; zbtlink,zbt-we1326) wan_mac=$(mtd_get_mac_binary factory 0xe006) label_mac=$(mtd_get_mac_binary factory 0x4) diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh new file mode 100644 index 0000000000..d7a3477f0a --- /dev/null +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh @@ -0,0 +1,55 @@ +# +# Copyright (C) 2019 OpenWrt.org +# + +. /lib/functions.sh + +iodata_mstc_prepare_fail() { + echo "failed to check and prepare the environment, rebooting..." + umount -a + reboot -f +} + +# I-O DATA devices manufactured by MSTC (MitraStar Technology Corp.) +# have two important flags: +# - bootnum: switch between two os images +# use 1st image in OpenWrt +# - debugflag: enable/disable debug +# users can interrupt Z-Loader for recovering the device if enabled +iodata_mstc_upgrade_prepare() { + local persist_mtd="$(find_mtd_part persist)" + local factory_mtd="$(find_mtd_part factory)" + + if [ -z "$persist_mtd" -o -z "$factory_mtd" ]; then + echo 'cannot find mtd partition(s), "factory" or "persist"' + iodata_mstc_prepare_fail + fi + + local bootnum=$(hexdump -s 4 -n 1 -e '"%x"' ${persist_mtd}) + local debugflag=$(hexdump -s 65141 -n 1 -e '"%x"' ${factory_mtd}) + + if [ "$bootnum" != "1" -a "$bootnum" != "2" ]; then + echo "failed to get bootnum, please check the value at 0x4 in ${persist_mtd}" + iodata_mstc_prepare_fail + fi + if [ "$debugflag" != "0" -a "$debugflag" != "1" ]; then + echo "failed to get debugflag, please check the value at 0xFE75 in ${factory_mtd}" + iodata_mstc_prepare_fail + fi + echo "current: bootnum => ${bootnum}, debugflag => ${debugflag}" + + if [ "$bootnum" = "2" ]; then + if ! (echo -ne "\x01" | dd bs=1 count=1 seek=4 conv=notrunc of=${persist_mtd} 2>/dev/null); then + echo "failed to set bootnum" + iodata_mstc_prepare_fail + fi + echo "### switch to 1st os-image on next boot ###" + fi + if [ "$debugflag" = "0" ]; then + if ! (echo -ne "\x01" | dd bs=1 count=1 seek=65141 conv=notrunc of=${factory_mtd} 2>/dev/null); then + echo "failed to set debugflag" + iodata_mstc_prepare_fail + fi + echo "### enable debug ###" + fi +} diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index d74aba3bfe..e27f9df387 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -53,6 +53,10 @@ platform_do_upgrade() { xiaomi,mir3p) nand_do_upgrade "$1" ;; + iodata,wn-dx1167r) + iodata_mstc_upgrade_prepare + nand_do_upgrade "$1" + ;; ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp) platform_upgrade_ubnt_erx "$1" From 867db0a283864f3715dd4982a438fae9497e8b46 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Mon, 26 Aug 2019 20:27:22 +0900 Subject: [PATCH 34/47] ramips: add support for I-O DATA WN-AX1167GR2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I-O DATA WN-AX1167GR2 is a 2.4/5 GHz band 11ac router, based on MediaTek MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : NAND 128 MiB - WLAN : MediaTek MT7615D (2.4/5 GHz, 2T2R) - Ethernet : 5x 10/100/1000 Mbps - Switch : MediaTek MT7621A (MT7530) - LEDs/Input : 2x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J5: Vcc, TX, RX, NC, GND - 57600 bps Flash instruction using initramfs image: 1. Boot WN-AX1167GR2 normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with squashfs-sysupgrade image 5. Wait ~120 seconds to complete flashing Notes: - configuration in DeviceTree of DBDC (Dual-Band-Dual-Concurrent) mode for MT7615D chip is not supported in mt76 driver - last 0x80000 (512 KiB) in NAND flash is not used on stock firmware - stock firmware requires "customized uImage header" by MSTC (MitraStar Technology Corp.), but U-Boot doesn't - uImage magic (0x0 - 0x3) : 0x434F4D42 (COMB) - header crc32 (0x4 - 0x7) : with data length and data crc32 - image name (0x20 - 0x37) : model ID and firmware versions - data length (0x38 - 0x3b): kernel + rootfs - data crc32 (0x3c - 0x3f) : kernel + rootfs Signed-off-by: INAGAKI Hiroshi Reviewed-by: Sungbo Eo --- .../ramips/dts/mt7621_iodata_wn-ax1167gr2.dts | 25 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 16 ++++++++++++ .../mt7621/base-files/etc/board.d/02_network | 2 ++ .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 44 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr2.dts diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr2.dts b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr2.dts new file mode 100644 index 0000000000..251caf4250 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr2.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621_iodata_wn-xx-xr.dtsi" + +/ { + compatible = "iodata,wn-ax1167gr2", "mediatek,mt7621-soc"; + model = "I-O DATA WN-AX1167GR2"; +}; + +&partitions { + partition@6b00000 { + label = "Backup"; + reg = <0x6b00000 0x1480000>; + read-only; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index b66842e880..17b32653e7 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -352,6 +352,22 @@ define Device/iodata_wn-ax1167gr endef TARGET_DEVICES += iodata_wn-ax1167gr +define Device/iodata_wn-ax1167gr2 + BLOCKSIZE := 128k + PAGESIZE := 2048 + UBINIZE_OPTS := -E 5 + UIMAGE_MAGIC := 0x434f4d42 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 51200k + DEVICE_VENDOR := I-O DATA + DEVICE_MODEL := WN-AX1167GR2 + KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XBC.1)b10 | \ + iodata-mstc-header + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_PACKAGES := kmod-mt7615e wpad-basic +endef +TARGET_DEVICES += iodata_wn-ax1167gr2 + define Device/iodata_wn-dx1167r BLOCKSIZE := 128k PAGESIZE := 2048 diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index ffe5793a6e..c0412626f2 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -72,6 +72,7 @@ ramips_setup_interfaces() elecom,wrc-1900gst|\ elecom,wrc-2533gst|\ iodata,wn-ax1167gr|\ + iodata,wn-ax1167gr2|\ iodata,wn-dx1167r|\ iodata,wn-gx300gr|\ iodata,wnpr2600g|\ @@ -223,6 +224,7 @@ ramips_setup_macs() xiaoyu,xy-c5) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; + iodata,wn-ax1167gr2|\ iodata,wn-dx1167r|\ xiaomi,mir3g-v2) wan_mac=$(mtd_get_mac_binary factory 0xe006) diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index e27f9df387..6e0e8a6b2c 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -53,6 +53,7 @@ platform_do_upgrade() { xiaomi,mir3p) nand_do_upgrade "$1" ;; + iodata,wn-ax1167gr2|\ iodata,wn-dx1167r) iodata_mstc_upgrade_prepare nand_do_upgrade "$1" From 71de48bd375bbde9b70ccf94b03c3f9c2aae5f21 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 5 Feb 2020 14:46:46 +0100 Subject: [PATCH 35/47] wireguard: bump to 0.0.20200205 * compat: support building for RHEL-8.2 * compat: remove RHEL-7.6 workaround Bleeding edge RHEL users should be content now (which includes the actual RedHat employees I've been talking to about getting this into the RHEL kernel itself). Also, we remove old hacks for versions we no longer support anyway. * allowedips: remove previously added list item when OOM fail * noise: reject peers with low order public keys With this now being upstream, we benefit from increased fuzzing coverage of the code, uncovering these two bugs. * netns: ensure non-addition of peers with failed precomputation * netns: tie socket waiting to target pid An added test to our test suite for the above and a small fix for high-load CI scenarios. Signed-off-by: Jason A. Donenfeld --- package/network/services/wireguard/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/services/wireguard/Makefile b/package/network/services/wireguard/Makefile index 435c50ece6..6f9ae778f2 100644 --- a/package/network/services/wireguard/Makefile +++ b/package/network/services/wireguard/Makefile @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=wireguard -PKG_VERSION:=0.0.20200128 +PKG_VERSION:=0.0.20200205 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/ -PKG_HASH:=8610c6d8712cfd885f50b1a8c572518edf318c094d68491ea218bb50566a9a8a +PKG_HASH:=9669e165fc7252cab7f908ba57f160f6d57539b7cc81180f260cb675d2fd362b PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING From aca274091ad3b50b770c0dd44f3ceefe8095d528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 6 Feb 2020 11:36:15 +0100 Subject: [PATCH 36/47] mac80211: brcm: backport remaining 5.6 kernel patches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- ...ix-memory-leak-in-brcmf_usbdev_qinit.patch | 26 ++ ...B-wake-interrupt-disabled-when-it-sh.patch | 66 ++++ ...mac-use-true-false-for-bool-variable.patch | 27 ++ ...x-OOB-interrupt-initialization-on-br.patch | 57 +++ ...lify-building-interface-combinations.patch | 103 ++++++ ...add-initial-support-for-monitor-mode.patch | 345 ++++++++++++++++++ ...-Remove-always-false-idx-0-statement.patch | 24 ++ ...-register-wiphy-s-during-module_init.patch | 2 +- ...und-bug-with-some-inconsistent-BSSes.patch | 2 +- ...62-brcmfmac-Disable-power-management.patch | 2 +- 10 files changed, 651 insertions(+), 3 deletions(-) create mode 100644 package/kernel/mac80211/patches/brcm/115-v5.6-brcmfmac-Fix-memory-leak-in-brcmf_usbdev_qinit.patch create mode 100644 package/kernel/mac80211/patches/brcm/116-v5.6-brcmfmac-Keep-OOB-wake-interrupt-disabled-when-it-sh.patch create mode 100644 package/kernel/mac80211/patches/brcm/117-v5.6-brcmfmac-use-true-false-for-bool-variable.patch create mode 100644 package/kernel/mac80211/patches/brcm/118-v5.6-brcmfmac-sdio-Fix-OOB-interrupt-initialization-on-br.patch create mode 100644 package/kernel/mac80211/patches/brcm/119-v5.6-0001-brcmfmac-simplify-building-interface-combinations.patch create mode 100644 package/kernel/mac80211/patches/brcm/119-v5.6-0002-brcmfmac-add-initial-support-for-monitor-mode.patch create mode 100644 package/kernel/mac80211/patches/brcm/120-v5.6-brcmfmac-Remove-always-false-idx-0-statement.patch diff --git a/package/kernel/mac80211/patches/brcm/115-v5.6-brcmfmac-Fix-memory-leak-in-brcmf_usbdev_qinit.patch b/package/kernel/mac80211/patches/brcm/115-v5.6-brcmfmac-Fix-memory-leak-in-brcmf_usbdev_qinit.patch new file mode 100644 index 0000000000..a55d286e57 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/115-v5.6-brcmfmac-Fix-memory-leak-in-brcmf_usbdev_qinit.patch @@ -0,0 +1,26 @@ +From 4282dc057d750c6a7dd92953564b15c26b54c22c Mon Sep 17 00:00:00 2001 +From: Navid Emamdoost +Date: Sat, 14 Dec 2019 19:51:14 -0600 +Subject: [PATCH] brcmfmac: Fix memory leak in brcmf_usbdev_qinit + +In the implementation of brcmf_usbdev_qinit() the allocated memory for +reqs is leaking if usb_alloc_urb() fails. Release reqs in the error +handling path. + +Fixes: 71bb244ba2fd ("brcm80211: fmac: add USB support for bcm43235/6/8 chipsets") +Signed-off-by: Navid Emamdoost +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +@@ -430,6 +430,7 @@ fail: + usb_free_urb(req->urb); + list_del(q->next); + } ++ kfree(reqs); + return NULL; + + } diff --git a/package/kernel/mac80211/patches/brcm/116-v5.6-brcmfmac-Keep-OOB-wake-interrupt-disabled-when-it-sh.patch b/package/kernel/mac80211/patches/brcm/116-v5.6-brcmfmac-Keep-OOB-wake-interrupt-disabled-when-it-sh.patch new file mode 100644 index 0000000000..f579e16a7f --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/116-v5.6-brcmfmac-Keep-OOB-wake-interrupt-disabled-when-it-sh.patch @@ -0,0 +1,66 @@ +From a32de68edab7b73ded850bcf76cdf6858e92a7e5 Mon Sep 17 00:00:00 2001 +From: Dmitry Osipenko +Date: Sun, 15 Dec 2019 21:42:24 +0300 +Subject: [PATCH] brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't + be enabled + +NVIDIA Tegra SoCs do not like when OOB wake is enabled and WiFi interface +is in DOWN state during suspend. This results in a CPU hang on programming +OOB wake-up state of the GPIO controller during of system's suspend. + +The solution is trivial: don't enable wake for the OOB interrupt when it +should be disabled. + +This fixes hang on Tegra20 (Acer A500) and Tegra30 (Nexus 7) devices which +are using BCM4329 and BCM4330 WiFi chips respectively. + +Signed-off-by: Dmitry Osipenko +Signed-off-by: Kalle Valo +--- + .../net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 10 +++++----- + .../net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 1 - + 2 files changed, 5 insertions(+), 6 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +@@ -120,7 +120,7 @@ int brcmf_sdiod_intr_register(struct brc + brcmf_err("enable_irq_wake failed %d\n", ret); + return ret; + } +- sdiodev->irq_wake = true; ++ disable_irq_wake(pdata->oob_irq_nr); + + sdio_claim_host(sdiodev->func1); + +@@ -179,10 +179,6 @@ void brcmf_sdiod_intr_unregister(struct + sdio_release_host(sdiodev->func1); + + sdiodev->oob_irq_requested = false; +- if (sdiodev->irq_wake) { +- disable_irq_wake(pdata->oob_irq_nr); +- sdiodev->irq_wake = false; +- } + free_irq(pdata->oob_irq_nr, &sdiodev->func1->dev); + sdiodev->irq_en = false; + sdiodev->oob_irq_requested = false; +@@ -1173,6 +1169,10 @@ static int brcmf_ops_sdio_resume(struct + if (ret) + brcmf_err("Failed to probe device on resume\n"); + } else { ++ if (sdiodev->wowl_enabled && ++ sdiodev->settings->bus.sdio.oob_irq_supported) ++ disable_irq_wake(sdiodev->settings->bus.sdio.oob_irq_nr); ++ + brcmf_sdiod_freezer_off(sdiodev); + } + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h +@@ -178,7 +178,6 @@ struct brcmf_sdio_dev { + bool sd_irq_requested; + bool irq_en; /* irq enable flags */ + spinlock_t irq_en_lock; +- bool irq_wake; /* irq wake enable flags */ + bool sg_support; + uint max_request_size; + ushort max_segment_count; diff --git a/package/kernel/mac80211/patches/brcm/117-v5.6-brcmfmac-use-true-false-for-bool-variable.patch b/package/kernel/mac80211/patches/brcm/117-v5.6-brcmfmac-use-true-false-for-bool-variable.patch new file mode 100644 index 0000000000..0eb169c2d3 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/117-v5.6-brcmfmac-use-true-false-for-bool-variable.patch @@ -0,0 +1,27 @@ +From b92c017deda819e45a0f054f6df6b53e645d7fe4 Mon Sep 17 00:00:00 2001 +From: zhengbin +Date: Tue, 24 Dec 2019 22:16:06 +0800 +Subject: [PATCH] brcmfmac: use true,false for bool variable + +Fixes coccicheck warning: + +drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c:911:2-24: WARNING: Assignment of 0/1 to bool variable + +Reported-by: Hulk Robot +Signed-off-by: zhengbin +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c +@@ -908,7 +908,7 @@ static u8 brcmf_fws_hdrpush(struct brcmf + wlh += wlh[1] + 2; + + if (entry->send_tim_signal) { +- entry->send_tim_signal = 0; ++ entry->send_tim_signal = false; + wlh[0] = BRCMF_FWS_TYPE_PENDING_TRAFFIC_BMP; + wlh[1] = BRCMF_FWS_TYPE_PENDING_TRAFFIC_BMP_LEN; + wlh[2] = entry->mac_handle; diff --git a/package/kernel/mac80211/patches/brcm/118-v5.6-brcmfmac-sdio-Fix-OOB-interrupt-initialization-on-br.patch b/package/kernel/mac80211/patches/brcm/118-v5.6-brcmfmac-sdio-Fix-OOB-interrupt-initialization-on-br.patch new file mode 100644 index 0000000000..5ec2e9b131 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/118-v5.6-brcmfmac-sdio-Fix-OOB-interrupt-initialization-on-br.patch @@ -0,0 +1,57 @@ +From 8c8e60fb86a90a30721bbd797f58f96b3980dcc1 Mon Sep 17 00:00:00 2001 +From: Jean-Philippe Brucker +Date: Thu, 26 Dec 2019 10:20:33 +0100 +Subject: [PATCH] brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 + +Commit 262f2b53f679 ("brcmfmac: call brcmf_attach() just before calling +brcmf_bus_started()") changed the initialization order of the brcmfmac +SDIO driver. Unfortunately since brcmf_sdiod_intr_register() is now +called before the sdiodev->bus_if initialization, it reads the wrong +chip ID and fails to initialize the GPIO on brcm43362. Thus the chip +cannot send interrupts and fails to probe: + +[ 12.517023] brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout +[ 12.531214] ieee80211 phy0: brcmf_bus_started: failed: -110 +[ 12.536976] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-110 +[ 12.566467] brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed + +Initialize the bus interface earlier to ensure that +brcmf_sdiod_intr_register() properly sets up the OOB interrupt. + +BugLink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908438 +Fixes: 262f2b53f679 ("brcmfmac: call brcmf_attach() just before calling brcmf_bus_started()") +Signed-off-by: Jean-Philippe Brucker +Reviewed-by: Arend van Spriel +Signed-off-by: Kalle Valo +--- + .../net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +@@ -4243,6 +4243,12 @@ static void brcmf_sdio_firmware_callback + } + + if (err == 0) { ++ /* Assign bus interface call back */ ++ sdiod->bus_if->dev = sdiod->dev; ++ sdiod->bus_if->ops = &brcmf_sdio_bus_ops; ++ sdiod->bus_if->chip = bus->ci->chip; ++ sdiod->bus_if->chiprev = bus->ci->chiprev; ++ + /* Allow full data communication using DPC from now on. */ + brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); + +@@ -4259,12 +4265,6 @@ static void brcmf_sdio_firmware_callback + + sdio_release_host(sdiod->func1); + +- /* Assign bus interface call back */ +- sdiod->bus_if->dev = sdiod->dev; +- sdiod->bus_if->ops = &brcmf_sdio_bus_ops; +- sdiod->bus_if->chip = bus->ci->chip; +- sdiod->bus_if->chiprev = bus->ci->chiprev; +- + err = brcmf_alloc(sdiod->dev, sdiod->settings); + if (err) { + brcmf_err("brcmf_alloc failed\n"); diff --git a/package/kernel/mac80211/patches/brcm/119-v5.6-0001-brcmfmac-simplify-building-interface-combinations.patch b/package/kernel/mac80211/patches/brcm/119-v5.6-0001-brcmfmac-simplify-building-interface-combinations.patch new file mode 100644 index 0000000000..d52a7a1cc0 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/119-v5.6-0001-brcmfmac-simplify-building-interface-combinations.patch @@ -0,0 +1,103 @@ +From 24332f8068ff6df7f16aefee45d514de1de4de80 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Thu, 26 Dec 2019 14:30:49 +0100 +Subject: [PATCH] brcmfmac: simplify building interface combinations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Move similar/duplicated code out of combination specific code blocks. +This simplifies code a bit and allows adding more combinations later. +A list of combinations remains unchanged. + +Signed-off-by: Rafał Miłecki +Signed-off-by: Kalle Valo +--- + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 43 ++++++------------- + 1 file changed, 14 insertions(+), 29 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +@@ -6479,12 +6479,13 @@ static int brcmf_setup_ifmodes(struct wi + struct ieee80211_iface_limit *c0_limits = NULL; + struct ieee80211_iface_limit *p2p_limits = NULL; + struct ieee80211_iface_limit *mbss_limits = NULL; +- bool mbss, p2p, rsdb; ++ bool mbss, p2p, rsdb, mchan; + int i, c, n_combos; + + mbss = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS); + p2p = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_P2P); + rsdb = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_RSDB); ++ mchan = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MCHAN); + + n_combos = 1 + !!(p2p && !rsdb) + !!mbss; + combo = kcalloc(n_combos, sizeof(*combo), GFP_KERNEL); +@@ -6494,6 +6495,10 @@ static int brcmf_setup_ifmodes(struct wi + wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_ADHOC) | + BIT(NL80211_IFTYPE_AP); ++ if (p2p) ++ wiphy->interface_modes |= BIT(NL80211_IFTYPE_P2P_CLIENT) | ++ BIT(NL80211_IFTYPE_P2P_GO) | ++ BIT(NL80211_IFTYPE_P2P_DEVICE); + + c = 0; + i = 0; +@@ -6505,48 +6510,28 @@ static int brcmf_setup_ifmodes(struct wi + c0_limits = kcalloc(2, sizeof(*c0_limits), GFP_KERNEL); + if (!c0_limits) + goto err; +- if (p2p && rsdb) { +- combo[c].num_different_channels = 2; +- wiphy->interface_modes |= BIT(NL80211_IFTYPE_P2P_CLIENT) | +- BIT(NL80211_IFTYPE_P2P_GO) | +- BIT(NL80211_IFTYPE_P2P_DEVICE); +- c0_limits[i].max = 2; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); ++ ++ combo[c].num_different_channels = 1 + (rsdb || (p2p && mchan)); ++ c0_limits[i].max = 1 + rsdb; ++ c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); ++ if (p2p) { + c0_limits[i].max = 1; + c0_limits[i++].types = BIT(NL80211_IFTYPE_P2P_DEVICE); +- c0_limits[i].max = 2; ++ c0_limits[i].max = 1 + rsdb; + c0_limits[i++].types = BIT(NL80211_IFTYPE_P2P_CLIENT) | + BIT(NL80211_IFTYPE_P2P_GO); ++ } ++ if (p2p && rsdb) { + c0_limits[i].max = 2; + c0_limits[i++].types = BIT(NL80211_IFTYPE_AP); + combo[c].max_interfaces = 5; + } else if (p2p) { +- if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MCHAN)) +- combo[c].num_different_channels = 2; +- else +- combo[c].num_different_channels = 1; +- c0_limits[i].max = 1; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); +- wiphy->interface_modes |= BIT(NL80211_IFTYPE_P2P_CLIENT) | +- BIT(NL80211_IFTYPE_P2P_GO) | +- BIT(NL80211_IFTYPE_P2P_DEVICE); +- c0_limits[i].max = 1; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_P2P_DEVICE); +- c0_limits[i].max = 1; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_P2P_CLIENT) | +- BIT(NL80211_IFTYPE_P2P_GO); + combo[c].max_interfaces = i; + } else if (rsdb) { +- combo[c].num_different_channels = 2; +- c0_limits[i].max = 2; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); + c0_limits[i].max = 2; + c0_limits[i++].types = BIT(NL80211_IFTYPE_AP); + combo[c].max_interfaces = 3; + } else { +- combo[c].num_different_channels = 1; +- c0_limits[i].max = 1; +- c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); + c0_limits[i].max = 1; + c0_limits[i++].types = BIT(NL80211_IFTYPE_AP); + combo[c].max_interfaces = i; diff --git a/package/kernel/mac80211/patches/brcm/119-v5.6-0002-brcmfmac-add-initial-support-for-monitor-mode.patch b/package/kernel/mac80211/patches/brcm/119-v5.6-0002-brcmfmac-add-initial-support-for-monitor-mode.patch new file mode 100644 index 0000000000..08fa1544ec --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/119-v5.6-0002-brcmfmac-add-initial-support-for-monitor-mode.patch @@ -0,0 +1,345 @@ +From 20f2c5fa3af060401c72e444999470a4cab641cf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Thu, 26 Dec 2019 14:30:50 +0100 +Subject: [PATCH] brcmfmac: add initial support for monitor mode +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Report monitor interface availability using cfg80211 and support it in +the add_virtual_intf() and del_virtual_intf() callbacks. This new +feature is conditional and depends on firmware flagging monitor packets. +Receiving monitor frames is already handled by the brcmf_netif_mon_rx(). + +Signed-off-by: Rafał Miłecki +Signed-off-by: Kalle Valo +--- + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 112 ++++++++++++++++-- + .../broadcom/brcm80211/brcmfmac/core.c | 68 ++++++++++- + .../broadcom/brcm80211/brcmfmac/core.h | 2 + + .../broadcom/brcm80211/brcmfmac/feature.c | 1 + + .../broadcom/brcm80211/brcmfmac/feature.h | 2 + + .../broadcom/brcm80211/brcmfmac/fwil.h | 2 + + 6 files changed, 174 insertions(+), 13 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -619,6 +620,82 @@ static bool brcmf_is_ibssmode(struct brc + return vif->wdev.iftype == NL80211_IFTYPE_ADHOC; + } + ++/** ++ * brcmf_mon_add_vif() - create monitor mode virtual interface ++ * ++ * @wiphy: wiphy device of new interface. ++ * @name: name of the new interface. ++ */ ++static struct wireless_dev *brcmf_mon_add_vif(struct wiphy *wiphy, ++ const char *name) ++{ ++ struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); ++ struct brcmf_cfg80211_vif *vif; ++ struct net_device *ndev; ++ struct brcmf_if *ifp; ++ int err; ++ ++ if (cfg->pub->mon_if) { ++ err = -EEXIST; ++ goto err_out; ++ } ++ ++ vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_MONITOR); ++ if (IS_ERR(vif)) { ++ err = PTR_ERR(vif); ++ goto err_out; ++ } ++ ++ ndev = alloc_netdev(sizeof(*ifp), name, NET_NAME_UNKNOWN, ether_setup); ++ if (!ndev) { ++ err = -ENOMEM; ++ goto err_free_vif; ++ } ++ ndev->type = ARPHRD_IEEE80211_RADIOTAP; ++ ndev->ieee80211_ptr = &vif->wdev; ++ ndev->needs_free_netdev = true; ++ ndev->priv_destructor = brcmf_cfg80211_free_netdev; ++ SET_NETDEV_DEV(ndev, wiphy_dev(cfg->wiphy)); ++ ++ ifp = netdev_priv(ndev); ++ ifp->vif = vif; ++ ifp->ndev = ndev; ++ ifp->drvr = cfg->pub; ++ ++ vif->ifp = ifp; ++ vif->wdev.netdev = ndev; ++ ++ err = brcmf_net_mon_attach(ifp); ++ if (err) { ++ brcmf_err("Failed to attach %s device\n", ndev->name); ++ free_netdev(ndev); ++ goto err_free_vif; ++ } ++ ++ cfg->pub->mon_if = ifp; ++ ++ return &vif->wdev; ++ ++err_free_vif: ++ brcmf_free_vif(vif); ++err_out: ++ return ERR_PTR(err); ++} ++ ++static int brcmf_mon_del_vif(struct wiphy *wiphy, struct wireless_dev *wdev) ++{ ++ struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); ++ struct net_device *ndev = wdev->netdev; ++ ++ ndev->netdev_ops->ndo_stop(ndev); ++ ++ brcmf_net_detach(ndev, true); ++ ++ cfg->pub->mon_if = NULL; ++ ++ return 0; ++} ++ + static struct wireless_dev *brcmf_cfg80211_add_iface(struct wiphy *wiphy, + const char *name, + unsigned char name_assign_type, +@@ -641,9 +718,10 @@ static struct wireless_dev *brcmf_cfg802 + case NL80211_IFTYPE_STATION: + case NL80211_IFTYPE_AP_VLAN: + case NL80211_IFTYPE_WDS: +- case NL80211_IFTYPE_MONITOR: + case NL80211_IFTYPE_MESH_POINT: + return ERR_PTR(-EOPNOTSUPP); ++ case NL80211_IFTYPE_MONITOR: ++ return brcmf_mon_add_vif(wiphy, name); + case NL80211_IFTYPE_AP: + wdev = brcmf_ap_add_vif(wiphy, name, params); + break; +@@ -826,9 +904,10 @@ int brcmf_cfg80211_del_iface(struct wiph + case NL80211_IFTYPE_STATION: + case NL80211_IFTYPE_AP_VLAN: + case NL80211_IFTYPE_WDS: +- case NL80211_IFTYPE_MONITOR: + case NL80211_IFTYPE_MESH_POINT: + return -EOPNOTSUPP; ++ case NL80211_IFTYPE_MONITOR: ++ return brcmf_mon_del_vif(wiphy, wdev); + case NL80211_IFTYPE_AP: + return brcmf_cfg80211_del_ap_iface(wiphy, wdev); + case NL80211_IFTYPE_P2P_CLIENT: +@@ -6479,9 +6558,10 @@ static int brcmf_setup_ifmodes(struct wi + struct ieee80211_iface_limit *c0_limits = NULL; + struct ieee80211_iface_limit *p2p_limits = NULL; + struct ieee80211_iface_limit *mbss_limits = NULL; +- bool mbss, p2p, rsdb, mchan; +- int i, c, n_combos; ++ bool mon_flag, mbss, p2p, rsdb, mchan; ++ int i, c, n_combos, n_limits; + ++ mon_flag = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MONITOR_FLAG); + mbss = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS); + p2p = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_P2P); + rsdb = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_RSDB); +@@ -6495,6 +6575,8 @@ static int brcmf_setup_ifmodes(struct wi + wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_ADHOC) | + BIT(NL80211_IFTYPE_AP); ++ if (mon_flag) ++ wiphy->interface_modes |= BIT(NL80211_IFTYPE_MONITOR); + if (p2p) + wiphy->interface_modes |= BIT(NL80211_IFTYPE_P2P_CLIENT) | + BIT(NL80211_IFTYPE_P2P_GO) | +@@ -6502,18 +6584,18 @@ static int brcmf_setup_ifmodes(struct wi + + c = 0; + i = 0; +- if (p2p && rsdb) +- c0_limits = kcalloc(4, sizeof(*c0_limits), GFP_KERNEL); +- else if (p2p) +- c0_limits = kcalloc(3, sizeof(*c0_limits), GFP_KERNEL); +- else +- c0_limits = kcalloc(2, sizeof(*c0_limits), GFP_KERNEL); ++ n_limits = 1 + mon_flag + (p2p ? 2 : 0) + (rsdb || !p2p); ++ c0_limits = kcalloc(n_limits, sizeof(*c0_limits), GFP_KERNEL); + if (!c0_limits) + goto err; + + combo[c].num_different_channels = 1 + (rsdb || (p2p && mchan)); + c0_limits[i].max = 1 + rsdb; + c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION); ++ if (mon_flag) { ++ c0_limits[i].max = 1; ++ c0_limits[i++].types = BIT(NL80211_IFTYPE_MONITOR); ++ } + if (p2p) { + c0_limits[i].max = 1; + c0_limits[i++].types = BIT(NL80211_IFTYPE_P2P_DEVICE); +@@ -6562,14 +6644,20 @@ static int brcmf_setup_ifmodes(struct wi + if (mbss) { + c++; + i = 0; +- mbss_limits = kcalloc(1, sizeof(*mbss_limits), GFP_KERNEL); ++ n_limits = 1 + mon_flag; ++ mbss_limits = kcalloc(n_limits, sizeof(*mbss_limits), ++ GFP_KERNEL); + if (!mbss_limits) + goto err; + mbss_limits[i].max = 4; + mbss_limits[i++].types = BIT(NL80211_IFTYPE_AP); ++ if (mon_flag) { ++ mbss_limits[i].max = 1; ++ mbss_limits[i++].types = BIT(NL80211_IFTYPE_MONITOR); ++ } + combo[c].beacon_int_infra_match = true; + combo[c].num_different_channels = 1; +- combo[c].max_interfaces = 4; ++ combo[c].max_interfaces = 4 + mon_flag; + combo[c].n_limits = i; + combo[c].limits = mbss_limits; + } +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +@@ -690,7 +690,7 @@ fail: + return -EBADE; + } + +-static void brcmf_net_detach(struct net_device *ndev, bool rtnl_locked) ++void brcmf_net_detach(struct net_device *ndev, bool rtnl_locked) + { + if (ndev->reg_state == NETREG_REGISTERED) { + if (rtnl_locked) +@@ -703,6 +703,72 @@ static void brcmf_net_detach(struct net_ + } + } + ++static int brcmf_net_mon_open(struct net_device *ndev) ++{ ++ struct brcmf_if *ifp = netdev_priv(ndev); ++ struct brcmf_pub *drvr = ifp->drvr; ++ u32 monitor; ++ int err; ++ ++ brcmf_dbg(TRACE, "Enter\n"); ++ ++ err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_MONITOR, &monitor); ++ if (err) { ++ bphy_err(drvr, "BRCMF_C_GET_MONITOR error (%d)\n", err); ++ return err; ++ } else if (monitor) { ++ bphy_err(drvr, "Monitor mode is already enabled\n"); ++ return -EEXIST; ++ } ++ ++ monitor = 3; ++ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_MONITOR, monitor); ++ if (err) ++ bphy_err(drvr, "BRCMF_C_SET_MONITOR error (%d)\n", err); ++ ++ return err; ++} ++ ++static int brcmf_net_mon_stop(struct net_device *ndev) ++{ ++ struct brcmf_if *ifp = netdev_priv(ndev); ++ struct brcmf_pub *drvr = ifp->drvr; ++ u32 monitor; ++ int err; ++ ++ brcmf_dbg(TRACE, "Enter\n"); ++ ++ monitor = 0; ++ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_MONITOR, monitor); ++ if (err) ++ bphy_err(drvr, "BRCMF_C_SET_MONITOR error (%d)\n", err); ++ ++ return err; ++} ++ ++static const struct net_device_ops brcmf_netdev_ops_mon = { ++ .ndo_open = brcmf_net_mon_open, ++ .ndo_stop = brcmf_net_mon_stop, ++}; ++ ++int brcmf_net_mon_attach(struct brcmf_if *ifp) ++{ ++ struct brcmf_pub *drvr = ifp->drvr; ++ struct net_device *ndev; ++ int err; ++ ++ brcmf_dbg(TRACE, "Enter\n"); ++ ++ ndev = ifp->ndev; ++ ndev->netdev_ops = &brcmf_netdev_ops_mon; ++ ++ err = register_netdevice(ndev); ++ if (err) ++ bphy_err(drvr, "Failed to register %s device\n", ndev->name); ++ ++ return err; ++} ++ + void brcmf_net_setcarrier(struct brcmf_if *ifp, bool on) + { + struct net_device *ndev; +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h +@@ -210,6 +210,8 @@ void brcmf_txflowblock_if(struct brcmf_i + void brcmf_txfinalize(struct brcmf_if *ifp, struct sk_buff *txp, bool success); + void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb); + void brcmf_netif_mon_rx(struct brcmf_if *ifp, struct sk_buff *skb); ++void brcmf_net_detach(struct net_device *ndev, bool rtnl_locked); ++int brcmf_net_mon_attach(struct brcmf_if *ifp); + void brcmf_net_setcarrier(struct brcmf_if *ifp, bool on); + int __init brcmf_core_init(void); + void __exit brcmf_core_exit(void); +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +@@ -38,6 +38,7 @@ static const struct brcmf_feat_fwcap brc + { BRCMF_FEAT_MCHAN, "mchan" }, + { BRCMF_FEAT_P2P, "p2p" }, + { BRCMF_FEAT_MONITOR, "monitor" }, ++ { BRCMF_FEAT_MONITOR_FLAG, "rtap" }, + { BRCMF_FEAT_MONITOR_FMT_RADIOTAP, "rtap" }, + { BRCMF_FEAT_DOT11H, "802.11h" } + }; +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h +@@ -23,6 +23,7 @@ + * GSCAN: enhanced scan offload feature. + * FWSUP: Firmware supplicant. + * MONITOR: firmware can pass monitor packets to host. ++ * MONITOR_FLAG: firmware flags monitor packets. + * MONITOR_FMT_RADIOTAP: firmware provides monitor packets with radiotap header + * MONITOR_FMT_HW_RX_HDR: firmware provides monitor packets with hw/ucode header + * DOT11H: firmware supports 802.11h +@@ -43,6 +44,7 @@ + BRCMF_FEAT_DEF(GSCAN) \ + BRCMF_FEAT_DEF(FWSUP) \ + BRCMF_FEAT_DEF(MONITOR) \ ++ BRCMF_FEAT_DEF(MONITOR_FLAG) \ + BRCMF_FEAT_DEF(MONITOR_FMT_RADIOTAP) \ + BRCMF_FEAT_DEF(MONITOR_FMT_HW_RX_HDR) \ + BRCMF_FEAT_DEF(DOT11H) +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.h +@@ -49,6 +49,8 @@ + #define BRCMF_C_GET_PM 85 + #define BRCMF_C_SET_PM 86 + #define BRCMF_C_GET_REVINFO 98 ++#define BRCMF_C_GET_MONITOR 107 ++#define BRCMF_C_SET_MONITOR 108 + #define BRCMF_C_GET_CURR_RATESET 114 + #define BRCMF_C_GET_AP 117 + #define BRCMF_C_SET_AP 118 diff --git a/package/kernel/mac80211/patches/brcm/120-v5.6-brcmfmac-Remove-always-false-idx-0-statement.patch b/package/kernel/mac80211/patches/brcm/120-v5.6-brcmfmac-Remove-always-false-idx-0-statement.patch new file mode 100644 index 0000000000..9efa762830 --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/120-v5.6-brcmfmac-Remove-always-false-idx-0-statement.patch @@ -0,0 +1,24 @@ +From 627b0d094240c38393b2f2d40626c33a8fff6103 Mon Sep 17 00:00:00 2001 +From: yuehaibing +Date: Wed, 8 Jan 2020 21:57:48 +0800 +Subject: [PATCH] brcmfmac: Remove always false 'idx < 0' statement + +idx is declared as u32, it will never less than 0. + +Signed-off-by: yuehaibing +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +@@ -365,7 +365,7 @@ brcmf_msgbuf_get_pktid(struct device *de + struct brcmf_msgbuf_pktid *pktid; + struct sk_buff *skb; + +- if (idx < 0 || idx >= pktids->array_size) { ++ if (idx >= pktids->array_size) { + brcmf_err("Invalid packet id %d (max %d)\n", idx, + pktids->array_size); + return NULL; diff --git a/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch b/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch index f64167b1c3..a1bcbfaec8 100644 --- a/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch +++ b/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch @@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -1479,6 +1479,7 @@ int __init brcmf_core_init(void) +@@ -1545,6 +1545,7 @@ int __init brcmf_core_init(void) { if (!schedule_work(&brcmf_driver_work)) return -EBUSY; diff --git a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch index 5f0fa7faab..37ebb5190b 100644 --- a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch +++ b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch @@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -628,8 +628,36 @@ static struct wireless_dev *brcmf_cfg802 +@@ -705,8 +705,36 @@ static struct wireless_dev *brcmf_cfg802 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); struct brcmf_pub *drvr = cfg->pub; struct wireless_dev *wdev; diff --git a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch index 6412653a3a..988ece1f5f 100644 --- a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch +++ b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2795,6 +2795,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip +@@ -2874,6 +2874,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip * preference in cfg struct to apply this to * FW later while initializing the dongle */ From ebf0d8dadeca443121f4f597c51bf6591e341caf Mon Sep 17 00:00:00 2001 From: Chuanhong Guo Date: Wed, 5 Feb 2020 20:25:45 +0800 Subject: [PATCH 37/47] ath79: add new ar934x spi driver A new shift mode was introduced since ar934x which has a way better performance than current bitbang driver and can handle higher spi clock properly. This commit adds a new driver to make use of this new feature. This new driver has chipselect properly configured and we don't need cs-gpios hack in dts anymore. Remove them. Signed-off-by: Chuanhong Guo --- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/dts/ar9344_qihoo_c301.dts | 1 - target/linux/ath79/dts/ar934x.dtsi | 3 +- .../ath79/dts/qca9531_glinet_gl-ar300m.dtsi | 1 - target/linux/ath79/dts/qca953x.dtsi | 5 +- target/linux/ath79/dts/qca9557.dtsi | 5 +- .../ath79/dts/qca9563_glinet_gl-ar750s.dtsi | 1 - .../linux/ath79/dts/qca9563_netgear_wndr.dtsi | 1 - target/linux/ath79/dts/qca956x.dtsi | 5 +- ...ovide-devm_platform_ioremap_resource.patch | 61 ++++ ...add-driver-for-ar934x-spi-controller.patch | 277 ++++++++++++++++++ 11 files changed, 346 insertions(+), 15 deletions(-) create mode 100644 target/linux/ath79/patches-4.19/0050-v5.1-drivers-provide-devm_platform_ioremap_resource.patch create mode 100644 target/linux/ath79/patches-4.19/0051-spi-add-driver-for-ar934x-spi-controller.patch diff --git a/target/linux/ath79/config-4.19 b/target/linux/ath79/config-4.19 index be5e46ac76..d92da1fbe2 100644 --- a/target/linux/ath79/config-4.19 +++ b/target/linux/ath79/config-4.19 @@ -211,6 +211,7 @@ CONFIG_SERIAL_AR933X_CONSOLE=y CONFIG_SERIAL_AR933X_NR_UARTS=2 CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SPI=y +CONFIG_SPI_AR934X=y CONFIG_SPI_ATH79=y CONFIG_SPI_BITBANG=y CONFIG_SPI_GPIO=y diff --git a/target/linux/ath79/dts/ar9344_qihoo_c301.dts b/target/linux/ath79/dts/ar9344_qihoo_c301.dts index 746c7f588e..46d1f4c4c8 100644 --- a/target/linux/ath79/dts/ar9344_qihoo_c301.dts +++ b/target/linux/ath79/dts/ar9344_qihoo_c301.dts @@ -110,7 +110,6 @@ status = "okay"; num-cs = <2>; - cs-gpios= <0>, <0>; flash@0 { #address-cells = <1>; diff --git a/target/linux/ath79/dts/ar934x.dtsi b/target/linux/ath79/dts/ar934x.dtsi index 8cd0b4e086..c17623511b 100644 --- a/target/linux/ath79/dts/ar934x.dtsi +++ b/target/linux/ath79/dts/ar934x.dtsi @@ -183,11 +183,10 @@ }; spi: spi@1f000000 { - compatible = "qca,ar9340-spi", "qca,ar7100-spi"; + compatible = "qca,ar934x-spi"; reg = <0x1f000000 0x1c>; clocks = <&pll ATH79_CLK_AHB>; - clock-names = "ahb"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi index f06305c47f..d769225fd4 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi @@ -76,7 +76,6 @@ status = "okay"; num-cs = <2>; - cs-gpios = <0>, <0>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca953x.dtsi b/target/linux/ath79/dts/qca953x.dtsi index 73a6ad91e5..e359badd2b 100644 --- a/target/linux/ath79/dts/qca953x.dtsi +++ b/target/linux/ath79/dts/qca953x.dtsi @@ -201,11 +201,10 @@ }; spi: spi@1f000000 { - compatible = "qca,ar9530-spi", "qca,ar7100-spi"; - reg = <0x1f000000 0x10>; + compatible = "qca,ar934x-spi"; + reg = <0x1f000000 0x1c>; clocks = <&pll ATH79_CLK_AHB>; - clock-names = "ahb"; status = "disabled"; diff --git a/target/linux/ath79/dts/qca9557.dtsi b/target/linux/ath79/dts/qca9557.dtsi index d5d3f02544..69ea639804 100644 --- a/target/linux/ath79/dts/qca9557.dtsi +++ b/target/linux/ath79/dts/qca9557.dtsi @@ -292,11 +292,10 @@ }; spi: spi@1f000000 { - compatible = "qca,ar9557-spi", "qca,ar7100-spi"; - reg = <0x1f000000 0x10>; + compatible = "qca,ar934x-spi"; + reg = <0x1f000000 0x1c>; clocks = <&pll ATH79_CLK_AHB>; - clock-names = "ahb"; status = "disabled"; diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi index 3e30a0fd0b..8a00029c65 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi @@ -75,7 +75,6 @@ status = "okay"; num-cs = <2>; - cs-gpios = <0>, <0>; flash_nor: flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi index bc06c5bd9d..29b422536f 100644 --- a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi @@ -100,7 +100,6 @@ status = "okay"; num-cs = <2>; - cs-gpios = <0>, <0>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca956x.dtsi b/target/linux/ath79/dts/qca956x.dtsi index 03541b86fb..d0ce952ef4 100644 --- a/target/linux/ath79/dts/qca956x.dtsi +++ b/target/linux/ath79/dts/qca956x.dtsi @@ -215,11 +215,10 @@ }; spi: spi@1f000000 { - compatible = "qca,qca9560-spi", "qca,ar7100-spi"; - reg = <0x1f000000 0x10>; + compatible = "qca,ar934x-spi"; + reg = <0x1f000000 0x1c>; clocks = <&pll ATH79_CLK_AHB>; - clock-names = "ahb"; status = "disabled"; diff --git a/target/linux/ath79/patches-4.19/0050-v5.1-drivers-provide-devm_platform_ioremap_resource.patch b/target/linux/ath79/patches-4.19/0050-v5.1-drivers-provide-devm_platform_ioremap_resource.patch new file mode 100644 index 0000000000..a52addbf95 --- /dev/null +++ b/target/linux/ath79/patches-4.19/0050-v5.1-drivers-provide-devm_platform_ioremap_resource.patch @@ -0,0 +1,61 @@ +From 7945f929f1a77a1c8887a97ca07f87626858ff42 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Wed, 20 Feb 2019 11:12:39 +0000 +Subject: [PATCH] drivers: provide devm_platform_ioremap_resource() + +There are currently 1200+ instances of using platform_get_resource() +and devm_ioremap_resource() together in the kernel tree. + +This patch wraps these two calls in a single helper. Thanks to that +we don't have to declare a local variable for struct resource * and can +omit the redundant argument for resource type. We also have one +function call less. + +Signed-off-by: Bartosz Golaszewski +Acked-by: Greg Kroah-Hartman +Reviewed-by: Andy Shevchenko +Signed-off-by: Linus Walleij +--- + drivers/base/platform.c | 18 ++++++++++++++++++ + include/linux/platform_device.h | 3 +++ + 2 files changed, 21 insertions(+) + +--- a/drivers/base/platform.c ++++ b/drivers/base/platform.c +@@ -80,6 +80,24 @@ struct resource *platform_get_resource(s + EXPORT_SYMBOL_GPL(platform_get_resource); + + /** ++ * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform ++ * device ++ * ++ * @pdev: platform device to use both for memory resource lookup as well as ++ * resource managemend ++ * @index: resource index ++ */ ++void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, ++ unsigned int index) ++{ ++ struct resource *res; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, index); ++ return devm_ioremap_resource(&pdev->dev, res); ++} ++EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource); ++ ++/** + * platform_get_irq - get an IRQ for a device + * @dev: platform device + * @num: IRQ number index +--- a/include/linux/platform_device.h ++++ b/include/linux/platform_device.h +@@ -51,6 +51,9 @@ extern struct device platform_bus; + extern void arch_setup_pdev_archdata(struct platform_device *); + extern struct resource *platform_get_resource(struct platform_device *, + unsigned int, unsigned int); ++extern void __iomem * ++devm_platform_ioremap_resource(struct platform_device *pdev, ++ unsigned int index); + extern int platform_get_irq(struct platform_device *, unsigned int); + extern int platform_irq_count(struct platform_device *); + extern struct resource *platform_get_resource_byname(struct platform_device *, diff --git a/target/linux/ath79/patches-4.19/0051-spi-add-driver-for-ar934x-spi-controller.patch b/target/linux/ath79/patches-4.19/0051-spi-add-driver-for-ar934x-spi-controller.patch new file mode 100644 index 0000000000..9dbc3dbd4e --- /dev/null +++ b/target/linux/ath79/patches-4.19/0051-spi-add-driver-for-ar934x-spi-controller.patch @@ -0,0 +1,277 @@ +From b518f18f89dbd49fe9403a8c92230f1af59219bc Mon Sep 17 00:00:00 2001 +From: Chuanhong Guo +Date: Wed, 5 Feb 2020 18:25:37 +0800 +Subject: [PATCH 1/2] spi: add driver for ar934x spi controller + +This patch adds driver for SPI controller found in Qualcomm Atheros +AR934x/QCA95xx SoCs. +This controller is a superset of the already supported qca,ar7100-spi. +Besides the bit-bang mode in spi-ath79.c, this new controller added +a new "shift register" mode, allowing faster spi operations. + +Signed-off-by: Chuanhong Guo +--- + drivers/spi/Kconfig | 7 ++ + drivers/spi/Makefile | 1 + + drivers/spi/spi-ar934x.c | 229 +++++++++++++++++++++++++++++++++++++++ + 3 files changed, 237 insertions(+) + create mode 100644 drivers/spi/spi-ar934x.c + +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig +@@ -61,6 +61,13 @@ config SPI_ALTERA + help + This is the driver for the Altera SPI Controller. + ++config SPI_AR934X ++ tristate "Qualcomm Atheros AR934X/QCA95XX SPI controller driver" ++ depends on ATH79 || COMPILE_TEST ++ help ++ This enables support for the SPI controller present on the ++ Qualcomm Atheros AR934X/QCA95XX SoCs. ++ + config SPI_ATH79 + tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" + depends on ATH79 && GPIOLIB +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile +@@ -14,6 +14,7 @@ obj-$(CONFIG_SPI_LOOPBACK_TEST) += spi- + + # SPI master controller drivers (bus) + obj-$(CONFIG_SPI_ALTERA) += spi-altera.o ++obj-$(CONFIG_SPI_AR934X) += spi-ar934x.o + obj-$(CONFIG_SPI_ARMADA_3700) += spi-armada-3700.o + obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o + obj-$(CONFIG_SPI_ATH79) += spi-ath79.o +--- /dev/null ++++ b/drivers/spi/spi-ar934x.c +@@ -0,0 +1,229 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// ++// SPI controller driver for Qualcomm Atheros AR934x/QCA95xx SoCs ++// ++// Copyright (C) 2020 Chuanhong Guo ++// ++// Based on spi-mt7621.c: ++// Copyright (C) 2011 Sergiy ++// Copyright (C) 2011-2013 Gabor Juhos ++// Copyright (C) 2014-2015 Felix Fietkau ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define DRIVER_NAME "spi-ar934x" ++ ++#define AR934X_SPI_REG_FS 0x00 ++#define AR934X_SPI_ENABLE BIT(0) ++ ++#define AR934X_SPI_REG_CTRL 0x04 ++#define AR934X_SPI_CLK_MASK GENMASK(5, 0) ++ ++#define AR934X_SPI_DATAOUT 0x10 ++ ++#define AR934X_SPI_REG_SHIFT_CTRL 0x14 ++#define AR934X_SPI_SHIFT_EN BIT(31) ++#define AR934X_SPI_SHIFT_CS(n) BIT(28 + (n)) ++#define AR934X_SPI_SHIFT_TERM 26 ++#define AR934X_SPI_SHIFT_VAL(cs, term, count) \ ++ (AR934X_SPI_SHIFT_EN | AR934X_SPI_SHIFT_CS(cs) | \ ++ (term) << AR934X_SPI_SHIFT_TERM | (count)) ++ ++#define AR934X_SPI_DATAIN 0x18 ++ ++struct ar934x_spi { ++ struct spi_controller *ctlr; ++ void __iomem *base; ++ struct clk *clk; ++ unsigned int clk_freq; ++}; ++ ++static inline int ar934x_spi_clk_div(struct ar934x_spi *sp, unsigned int freq) ++{ ++ int div = DIV_ROUND_UP(sp->clk_freq, freq * 2) - 1; ++ ++ if (div < 0) ++ return 0; ++ else if (div > AR934X_SPI_CLK_MASK) ++ return -EINVAL; ++ else ++ return div; ++} ++ ++static int ar934x_spi_setup(struct spi_device *spi) ++{ ++ struct ar934x_spi *sp = spi_controller_get_devdata(spi->master); ++ ++ if ((spi->max_speed_hz == 0) || ++ (spi->max_speed_hz > (sp->clk_freq / 2))) { ++ spi->max_speed_hz = sp->clk_freq / 2; ++ } else if (spi->max_speed_hz < (sp->clk_freq / 128)) { ++ dev_err(&spi->dev, "spi clock is too low\n"); ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static int ar934x_spi_transfer_one_message(struct spi_controller *master, ++ struct spi_message *m) ++{ ++ struct ar934x_spi *sp = spi_controller_get_devdata(master); ++ struct spi_transfer *t = NULL; ++ struct spi_device *spi = m->spi; ++ unsigned long trx_done, trx_cur; ++ int stat = 0; ++ u8 term = 0; ++ int div, i; ++ u32 reg; ++ const u8 *tx_buf; ++ u8 *buf; ++ ++ m->actual_length = 0; ++ list_for_each_entry(t, &m->transfers, transfer_list) { ++ if (t->speed_hz) ++ div = ar934x_spi_clk_div(sp, t->speed_hz); ++ else ++ div = ar934x_spi_clk_div(sp, spi->max_speed_hz); ++ if (div < 0) { ++ stat = -EIO; ++ goto msg_done; ++ } ++ ++ reg = ioread32(sp->base + AR934X_SPI_REG_CTRL); ++ reg &= ~AR934X_SPI_CLK_MASK; ++ reg |= div; ++ iowrite32(reg, sp->base + AR934X_SPI_REG_CTRL); ++ iowrite32(0, sp->base + AR934X_SPI_DATAOUT); ++ ++ for (trx_done = 0; trx_done < t->len; trx_done += 4) { ++ trx_cur = t->len - trx_done; ++ if (trx_cur > 4) ++ trx_cur = 4; ++ else if (list_is_last(&t->transfer_list, &m->transfers)) ++ term = 1; ++ ++ if (t->tx_buf) { ++ tx_buf = t->tx_buf + trx_done; ++ reg = tx_buf[0]; ++ for (i = 1; i < trx_cur; i++) ++ reg = reg << 8 | tx_buf[i]; ++ iowrite32(reg, sp->base + AR934X_SPI_DATAOUT); ++ } ++ ++ reg = AR934X_SPI_SHIFT_VAL(spi->chip_select, term, ++ trx_cur * 8); ++ iowrite32(reg, sp->base + AR934X_SPI_REG_SHIFT_CTRL); ++ stat = readl_poll_timeout( ++ sp->base + AR934X_SPI_REG_SHIFT_CTRL, reg, ++ !(reg & AR934X_SPI_SHIFT_EN), 0, 5); ++ if (stat < 0) ++ goto msg_done; ++ ++ if (t->rx_buf) { ++ reg = ioread32(sp->base + AR934X_SPI_DATAIN); ++ buf = t->rx_buf + trx_done; ++ for (i = 0; i < trx_cur; i++) { ++ buf[trx_cur - i - 1] = reg & 0xff; ++ reg >>= 8; ++ } ++ } ++ } ++ m->actual_length += t->len; ++ } ++ ++msg_done: ++ m->status = stat; ++ spi_finalize_current_message(master); ++ ++ return 0; ++} ++ ++static const struct of_device_id ar934x_spi_match[] = { ++ { .compatible = "qca,ar934x-spi" }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, ar934x_spi_match); ++ ++static int ar934x_spi_probe(struct platform_device *pdev) ++{ ++ struct spi_controller *ctlr; ++ struct ar934x_spi *sp; ++ void __iomem *base; ++ struct clk *clk; ++ int ret; ++ ++ base = devm_platform_ioremap_resource(pdev, 0); ++ if (IS_ERR(base)) ++ return PTR_ERR(base); ++ ++ clk = devm_clk_get(&pdev->dev, NULL); ++ if (IS_ERR(clk)) { ++ dev_err(&pdev->dev, "failed to get clock\n"); ++ return PTR_ERR(clk); ++ } ++ ++ ret = clk_prepare_enable(clk); ++ if (ret) ++ return ret; ++ ++ ctlr = spi_alloc_master(&pdev->dev, sizeof(*sp)); ++ if (!ctlr) { ++ dev_info(&pdev->dev, "failed to allocate spi controller\n"); ++ return -ENOMEM; ++ } ++ ++ iowrite32(AR934X_SPI_ENABLE, base + AR934X_SPI_REG_FS); ++ ++ ctlr->mode_bits = SPI_LSB_FIRST; ++ ctlr->setup = ar934x_spi_setup; ++ ctlr->transfer_one_message = ar934x_spi_transfer_one_message; ++ ctlr->bits_per_word_mask = SPI_BPW_MASK(8); ++ ctlr->dev.of_node = pdev->dev.of_node; ++ ctlr->num_chipselect = 3; ++ ++ dev_set_drvdata(&pdev->dev, ctlr); ++ ++ sp = spi_controller_get_devdata(ctlr); ++ sp->base = base; ++ sp->clk = clk; ++ sp->clk_freq = clk_get_rate(clk); ++ sp->ctlr = ctlr; ++ ++ return devm_spi_register_controller(&pdev->dev, ctlr); ++} ++ ++static int ar934x_spi_remove(struct platform_device *pdev) ++{ ++ struct spi_controller *ctlr; ++ struct ar934x_spi *sp; ++ ++ ctlr = dev_get_drvdata(&pdev->dev); ++ sp = spi_controller_get_devdata(ctlr); ++ ++ clk_disable_unprepare(sp->clk); ++ ++ return 0; ++} ++ ++static struct platform_driver ar934x_spi_driver = { ++ .driver = { ++ .name = DRIVER_NAME, ++ .of_match_table = ar934x_spi_match, ++ }, ++ .probe = ar934x_spi_probe, ++ .remove = ar934x_spi_remove, ++}; ++ ++module_platform_driver(ar934x_spi_driver); ++ ++MODULE_DESCRIPTION("SPI controller driver for Qualcomm Atheros AR934x/QCA95xx"); ++MODULE_AUTHOR("Chuanhong Guo "); ++MODULE_LICENSE("GPL v2"); ++MODULE_ALIAS("platform:" DRIVER_NAME); From 0046aef672cbd5f1d6300cd559cb77b7f83c01be Mon Sep 17 00:00:00 2001 From: Chuanhong Guo Date: Thu, 6 Feb 2020 22:30:14 +0800 Subject: [PATCH 38/47] ath79: use ar934x-spi for ar933x as well ar933x appears to have the same spi controller as ar934x but it's not mentioned in datasheet at all. Use new spi driver instead to gain more flash operating performance. Signed-off-by: Chuanhong Guo --- target/linux/ath79/dts/ar9330.dtsi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/target/linux/ath79/dts/ar9330.dtsi b/target/linux/ath79/dts/ar9330.dtsi index 042b70e0bb..8e52ae8fdb 100644 --- a/target/linux/ath79/dts/ar9330.dtsi +++ b/target/linux/ath79/dts/ar9330.dtsi @@ -119,11 +119,10 @@ }; spi: spi@1f000000 { - compatible = "qca,ar7100-spi"; - reg = <0x1f000000 0x10>; + compatible = "qca,ar934x-spi"; + reg = <0x1f000000 0x1c>; clocks = <&pll ATH79_CLK_AHB>; - clock-names = "ahb"; #address-cells = <1>; #size-cells = <0>; From 6f10aa737e7bba94ab00df9f999c42d2d70ad63c Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 5 Feb 2020 17:43:03 +0200 Subject: [PATCH 39/47] kernel: remove duplicate flash chip definition XTX XT25F128A shares it's chip ID with XM25QH128A which got identical features. Hence there it makes no sense to add it to the driver. Signed-off-by: Daniel Golle --- ... => 479-mtd-spi-nor-add-xtx-xt25f128b.patch} | 17 ++++++++--------- ... => 479-mtd-spi-nor-add-xtx-xt25f128b.patch} | 17 ++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) rename target/linux/generic/pending-4.14/{479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch => 479-mtd-spi-nor-add-xtx-xt25f128b.patch} (72%) rename target/linux/generic/pending-4.19/{479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch => 479-mtd-spi-nor-add-xtx-xt25f128b.patch} (72%) diff --git a/target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch b/target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128b.patch similarity index 72% rename from target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch rename to target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128b.patch index fb9cd9c330..7545cf8427 100644 --- a/target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch +++ b/target/linux/generic/pending-4.14/479-mtd-spi-nor-add-xtx-xt25f128b.patch @@ -1,14 +1,14 @@ -From patchwork Thu Jan 30 08:55:12 2020 +From patchwork Thu Feb 6 17:19:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 1231340 -Date: Thu, 30 Jan 2020 10:55:12 +0200 +X-Patchwork-Id: 1234465 +Date: Thu, 6 Feb 2020 19:19:41 +0200 From: Daniel Golle To: linux-mtd@lists.infradead.org -Subject: [PATCH] mtd: spi-nor: Add support for xt25f128 chips -Message-ID: <20200130085512.GA243814@makrotopia.org> +Subject: [PATCH v2] mtd: spi-nor: Add support for xt25f128b chip +Message-ID: <20200206171941.GA2398@makrotopia.org> MIME-Version: 1.0 Content-Disposition: inline List-Subscribe: , @@ -18,8 +18,8 @@ Cc: Eitan Cohen , Piotr Dymacz , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org -Add XT25F128A and XT25F128B made by XTX Technology (Shenzhen) Limited. -Both chips supports dual and quad read and uniform 4K-byte erase. +Add XT25F128B made by XTX Technology (Shenzhen) Limited. +This chip supports dual and quad read and uniform 4K-byte erase. Verified on Teltonika RUT955 which comes with XT25F128B in recent versions of the device. @@ -30,13 +30,12 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1198,6 +1198,10 @@ static const struct flash_info spi_nor_i +@@ -1198,6 +1198,9 @@ static const struct flash_info spi_nor_i /* XMC (Wuhan Xinxin Semiconductor Manufacturing Corp.) */ { "XM25QH64A", INFO(0x207017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + + /* XTX Technology (Shenzhen) Limited */ -+ { "xt25f128a", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "xt25f128b", INFO(0x0B4018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { }, }; diff --git a/target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch b/target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128b.patch similarity index 72% rename from target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch rename to target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128b.patch index 6ae1fee989..664837928b 100644 --- a/target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128a-and-xt25f128b.patch +++ b/target/linux/generic/pending-4.19/479-mtd-spi-nor-add-xtx-xt25f128b.patch @@ -1,14 +1,14 @@ -From patchwork Thu Jan 30 08:55:12 2020 +From patchwork Thu Feb 6 17:19:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 1231340 -Date: Thu, 30 Jan 2020 10:55:12 +0200 +X-Patchwork-Id: 1234465 +Date: Thu, 6 Feb 2020 19:19:41 +0200 From: Daniel Golle To: linux-mtd@lists.infradead.org -Subject: [PATCH] mtd: spi-nor: Add support for xt25f128 chips -Message-ID: <20200130085512.GA243814@makrotopia.org> +Subject: [PATCH v2] mtd: spi-nor: Add support for xt25f128b chip +Message-ID: <20200206171941.GA2398@makrotopia.org> MIME-Version: 1.0 Content-Disposition: inline List-Subscribe: , @@ -18,8 +18,8 @@ Cc: Eitan Cohen , Piotr Dymacz , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org -Add XT25F128A and XT25F128B made by XTX Technology (Shenzhen) Limited. -Both chips supports dual and quad read and uniform 4K-byte erase. +Add XT25F128B made by XTX Technology (Shenzhen) Limited. +This chip supports dual and quad read and uniform 4K-byte erase. Verified on Teltonika RUT955 which comes with XT25F128B in recent versions of the device. @@ -30,13 +30,12 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1273,6 +1273,10 @@ static const struct flash_info spi_nor_i +@@ -1273,6 +1273,9 @@ static const struct flash_info spi_nor_i /* XMC (Wuhan Xinxin Semiconductor Manufacturing Corp.) */ { "XM25QH64A", INFO(0x207017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + + /* XTX Technology (Shenzhen) Limited */ -+ { "xt25f128a", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "xt25f128b", INFO(0x0B4018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { }, }; From dd280444b351f4a196554da2493f2ea65956de66 Mon Sep 17 00:00:00 2001 From: Chuanhong Guo Date: Mon, 6 Jan 2020 16:12:03 -0800 Subject: [PATCH 40/47] ath79: ag71xx: use netif_receive_skb_list on 4.19 This new function make batch processing of network packets possible, which slightly improves performance. Signed-off-by: Chuanhong Guo Tested-by: Rosen Penev --- .../net/ethernet/atheros/ag71xx/ag71xx_main.c | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index 6123a26f2c..2394ccc90d 100644 --- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -1214,14 +1214,22 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit) unsigned int offset = ag->rx_buf_offset; int ring_mask = BIT(ring->order) - 1; int ring_size = BIT(ring->order); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) + struct list_head rx_list; + struct sk_buff *next; +#else struct sk_buff_head queue; +#endif struct sk_buff *skb; int done = 0; DBG("%s: rx packets, limit=%d, curr=%u, dirty=%u\n", dev->name, limit, ring->curr, ring->dirty); - +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) + INIT_LIST_HEAD(&rx_list); +#else skb_queue_head_init(&queue); +#endif while (done < limit) { unsigned int i = ring->curr & ring_mask; @@ -1263,7 +1271,11 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit) } else { skb->dev = dev; skb->ip_summed = CHECKSUM_NONE; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) + list_add_tail(&skb->list, &rx_list); +#else __skb_queue_tail(&queue, skb); +#endif } next: @@ -1275,10 +1287,16 @@ next: ag71xx_ring_rx_refill(ag); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) + list_for_each_entry_safe(skb, next, &rx_list, list) + skb->protocol = eth_type_trans(skb, dev); + netif_receive_skb_list(&rx_list); +#else while ((skb = __skb_dequeue(&queue)) != NULL) { skb->protocol = eth_type_trans(skb, dev); netif_receive_skb(skb); } +#endif DBG("%s: rx finish, curr=%u, dirty=%u, done=%d\n", dev->name, ring->curr, ring->dirty, done); From 9aa6569aa669767ec9febf1de01a3983a1cb9482 Mon Sep 17 00:00:00 2001 From: Dan Haab Date: Wed, 5 Feb 2020 10:37:43 -0700 Subject: [PATCH 41/47] firmware-utils: add lxlfw tool for generating Luxul firmwares It's a simple tool prepending image with a Luxul header. Signed-off-by: Dan Haab --- tools/firmware-utils/Makefile | 1 + tools/firmware-utils/src/lxlfw.c | 282 +++++++++++++++++++++++++++++++ 2 files changed, 283 insertions(+) create mode 100644 tools/firmware-utils/src/lxlfw.c diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 2d2c96ce0a..97c89eec27 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -25,6 +25,7 @@ define Host/Compile mkdir -p $(HOST_BUILD_DIR)/bin $(call cc,addpattern) $(call cc,asustrx) + $(call cc,lxlfw) $(call cc,trx) $(call cc,otrx) $(call cc,motorola-bin) diff --git a/tools/firmware-utils/src/lxlfw.c b/tools/firmware-utils/src/lxlfw.c new file mode 100644 index 0000000000..15678b8736 --- /dev/null +++ b/tools/firmware-utils/src/lxlfw.c @@ -0,0 +1,282 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Luxul's firmware container format + * + * Copyright 2020 Legrand AV Inc. + */ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __BYTE_ORDER == __BIG_ENDIAN +#define cpu_to_le32(x) bswap_32(x) +#define cpu_to_le16(x) bswap_16(x) +#define le32_to_cpu(x) bswap_32(x) +#define le16_to_cpu(x) bswap_16(x) +#elif __BYTE_ORDER == __LITTLE_ENDIAN +#define cpu_to_le32(x) (x) +#define cpu_to_le16(x) (x) +#define le32_to_cpu(x) (x) +#define le16_to_cpu(x) (x) +#endif + +#define min(a, b) \ + ({ \ + __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a < _b ? _a : _b; \ + }) + +#define max(a, b) \ + ({ \ + __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a > _b ? _a : _b; \ + }) + +#define LXL_FLAGS_VENDOR_LUXUL 0x00000001 + +struct lxl_hdr { + char magic[4]; /* "LXL#" */ + uint32_t version; + uint32_t hdr_len; + uint8_t v0_end[0]; + /* Version: 1+ */ + uint32_t flags; + char board[16]; + uint8_t v1_end[0]; + /* Version: 2+ */ + uint8_t release[4]; + uint8_t v2_end[0]; +} __packed; + +static uint32_t lxlfw_hdr_len(uint32_t version) +{ + switch (version) { + case 0: + return offsetof(struct lxl_hdr, v0_end); + case 1: + return offsetof(struct lxl_hdr, v1_end); + case 2: + return offsetof(struct lxl_hdr, v2_end); + default: + fprintf(stderr, "Unsupported version %d\n", version); + return 0; + } +} + +/************************************************** + * Info + **************************************************/ + +static int lxlfw_info(int argc, char **argv) { + struct lxl_hdr hdr; + uint32_t version; + uint32_t hdr_len; + char board[17]; + size_t bytes; + int err = 0; + FILE *lxl; + int flags; + + if (argc < 3) { + fprintf(stderr, "Missing argument\n"); + err = -EINVAL; + goto out; + } + + lxl = fopen(argv[2], "r"); + if (!lxl) { + fprintf(stderr, "Could not open \"%s\" file\n", argv[2]); + err = -ENOENT; + goto out; + } + + bytes = fread(&hdr, 1, sizeof(hdr), lxl); + if (bytes < offsetof(struct lxl_hdr, v0_end)) { + fprintf(stderr, "Input file too small to use Luxul format\n"); + err = -ENXIO; + goto err_close; + } + + if (memcmp(hdr.magic, "LXL#", 4)) { + fprintf(stderr, "File does not use Luxul's format\n"); + err = -EINVAL; + goto err_close; + } + + version = le32_to_cpu(hdr.version); + hdr_len = lxlfw_hdr_len(version); + if (bytes < hdr_len) { + fprintf(stderr, "Input file too small for header version %d\n", version); + err = -ENXIO; + goto err_close; + } + + printf("Format version:\t%d\n", version); + printf("Header length:\t%d\n", le32_to_cpu(hdr.hdr_len)); + if (version >= 1) { + printf("Flags:\t\t"); + flags = le32_to_cpu(hdr.flags); + if (flags & LXL_FLAGS_VENDOR_LUXUL) + printf("VENDOR_LUXUL "); + printf("\n"); + memcpy(board, hdr.board, sizeof(hdr.board)); + board[16] = '\0'; + printf("Board:\t\t%s\n", board); + } + if (version >= 2) { + printf("Release:\t"); + if (hdr.release[0] || hdr.release[1] || hdr.release[2] || hdr.release[3]) { + printf("%hu.%hu.%hu", hdr.release[0], hdr.release[1], hdr.release[2]); + if (hdr.release[3]) + printf(".%hu", hdr.release[3]); + } + printf("\n"); + } + +err_close: + fclose(lxl); +out: + return err; +} + +/************************************************** + * Create + **************************************************/ + +static int lxlfw_create(int argc, char **argv) { + struct lxl_hdr hdr = { + .magic = { 'L', 'X', 'L', '#' }, + }; + char *in_path = NULL; + uint32_t version = 0; + uint32_t hdr_len; + ssize_t bytes; + char buf[512]; + int err = 0; + FILE *lxl; + FILE *in; + int c; + + if (argc < 3) { + fprintf(stderr, "Missing argument\n"); + err = -EINVAL; + goto out; + } + + optind = 3; + while ((c = getopt(argc, argv, "i:lb:r:")) != -1) { + switch (c) { + case 'i': + in_path = optarg; + break; + case 'l': + hdr.flags |= cpu_to_le32(LXL_FLAGS_VENDOR_LUXUL); + version = max(version, 1); + break; + case 'b': + memcpy(hdr.board, optarg, strlen(optarg) > 16 ? 16 : strlen(optarg)); + version = max(version, 1); + break; + case 'r': + if (sscanf(optarg, "%hhu.%hhu.%hhu.%hhu", &hdr.release[0], &hdr.release[1], &hdr.release[2], &hdr.release[3]) < 1) { + fprintf(stderr, "Failed to parse release number \"%s\"\n", optarg); + err = -EINVAL; + goto out; + } + version = max(version, 2); + break; + } + } + + hdr.version = cpu_to_le32(version); + hdr_len = lxlfw_hdr_len(version); + if (!hdr_len) { + err = -EINVAL; + goto out; + } + hdr.hdr_len = cpu_to_le32(hdr_len); + + if (!in_path) { + fprintf(stderr, "Missing input file argument\n"); + err = -EINVAL; + goto out; + } + + in = fopen(in_path, "r"); + if (!in) { + fprintf(stderr, "Could not open input file %s\n", in_path); + err = -EIO; + goto out; + } + + lxl = fopen(argv[2], "w+"); + if (!lxl) { + fprintf(stderr, "Could not open \"%s\" file\n", argv[2]); + err = -EIO; + goto err_close_in; + } + + bytes = fwrite(&hdr, 1, hdr_len, lxl); + if (bytes != hdr_len) { + fprintf(stderr, "Could not write Luxul's header\n"); + err = -EIO; + goto err_close_lxl; + } + + while ((bytes = fread(buf, 1, sizeof(buf), in)) > 0) { + if (fwrite(buf, 1, bytes, lxl) != bytes) { + fprintf(stderr, "Could not copy %zu bytes from input file\n", bytes); + err = -EIO; + goto err_close_lxl; + } + } + +err_close_lxl: + fclose(lxl); +err_close_in: + fclose(in); +out: + return err; +} + +/************************************************** + * Start + **************************************************/ + +static void usage() { + printf("Usage:\n"); + printf("\n"); + printf("Get info about Luxul firmware:\n"); + printf("\tlxlfw info \n"); + printf("\n"); + printf("Create new Luxul firmware:\n"); + printf("\tlxlfw create [options]\n"); + printf("\t-i file\t\t\t\tinput file for Luxul's firmware container\n"); + printf("\t-l\t\t\t\tmark firmware as created by Luxul company (DON'T USE)\n"); + printf("\t-b board\t\t\tboard (device) name\n"); + printf("\t-r release\t\t\trelease number (e.g. 5.1.0, 7.1.0.2)\n"); +} + +int main(int argc, char **argv) { + if (argc > 1) { + if (!strcmp(argv[1], "info")) + return lxlfw_info(argc, argv); + else if (!strcmp(argv[1], "create")) + return lxlfw_create(argc, argv); + } + + usage(); + return 0; +} From 1d47f81581bcd476487e5b29314602167a843b99 Mon Sep 17 00:00:00 2001 From: Dan Haab Date: Wed, 5 Feb 2020 10:37:44 -0700 Subject: [PATCH 42/47] bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers Luxul ABR-4500 and XBR-4500 devices are wired routers with 5 Ethernet ports and 1 USB 3.0 port. Flashing requires using Luxul firmware 6.4.0 or newer and uploading firmware using "Firmware Update" web UI page. Signed-off-by: Dan Haab --- .../bcm53xx/base-files/etc/board.d/02_network | 7 +++++ target/linux/bcm53xx/image/Makefile | 30 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/target/linux/bcm53xx/base-files/etc/board.d/02_network b/target/linux/bcm53xx/base-files/etc/board.d/02_network index 8c9e8b3f3f..9fd26e72f4 100755 --- a/target/linux/bcm53xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm53xx/base-files/etc/board.d/02_network @@ -24,6 +24,13 @@ buffalo,wzr-1750dhp) board_config_flush exit 0 ;; +luxul,abr-4500-v1|\ +luxul,xbr-4500-v1) + ucidef_add_switch "switch0" \ + "0:wan" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5@eth0" + board_config_flush + exit 0 + ;; phicomm,k3) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:wan" "5@eth0" diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index 9f2731ddaa..6f509741ac 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -83,6 +83,13 @@ define Build/asus-trx mv $@.new $@ endef +define Build/luxul-lxl + $(STAGING_DIR_HOST)/bin/lxlfw create $@.new \ + -i $@ \ + -b $(LUXUL_BOARD) + mv $@.new $@ +endef + define Build/seama-nand # Seama entity $(STAGING_DIR_HOST)/bin/oseama \ @@ -102,6 +109,7 @@ endef DEVICE_VARS += PRODUCTID SIGNATURE NETGEAR_BOARD_ID NETGEAR_REGION TPLINK_BOARD DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR +DEVICE_VARS += LUXUL_BOARD IEEE8021X := wpad-basic B43 := $(IEEE8021X) kmod-b43 @@ -262,6 +270,28 @@ define Device/linksys-ea9500 endef # TARGET_DEVICES += linksys-ea9500 +define Device/luxul + DEVICE_VENDOR := Luxul + IMAGES := lxl + IMAGE/lxl := append-ubi | trx-nand | luxul-lxl +endef + +define Device/luxul-abr-4500 + $(Device/luxul) + DEVICE_MODEL := ABR-4500 + DEVICE_PACKAGES := $(USB3_PACKAGES) + LUXUL_BOARD := ABR-4500 +endef +TARGET_DEVICES += luxul-abr-4500 + +define Device/luxul-xbr-4500 + $(Device/luxul) + DEVICE_MODEL := XBR-4500 + DEVICE_PACKAGES := $(USB3_PACKAGES) + LUXUL_BOARD := XBR-4500 +endef +TARGET_DEVICES += luxul-xbr-4500 + define Device/netgear DEVICE_VENDOR := NETGEAR IMAGES := chk From b439d3bfb5bf6e5cc1e2ad5b7a086eb46995eeaf Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 6 Feb 2020 20:02:25 +0200 Subject: [PATCH 43/47] ath79: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE On AR934x this UART is usually not initialized by the bootloader as it is only used as a secondary serial port while the primary UART is a newly introduced NS16550-compatible. In order to make use of the ar933x-uart on AR934x without RTS/CTS hardware flow control, one needs to set the UART_CS_{RX,TX}_READY_ORIDE bits as other than on AR933x where this UART is used as primary/console, the bootloader on AR934x typically doesn't set those bits. Setting them explicitely on AR933x does not do any harm, so just set them unconditionally. Tested-by: Chuanhong Guo --- ...uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 target/linux/ath79/patches-4.19/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch diff --git a/target/linux/ath79/patches-4.19/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch b/target/linux/ath79/patches-4.19/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch new file mode 100644 index 0000000000..2ed520683e --- /dev/null +++ b/target/linux/ath79/patches-4.19/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch @@ -0,0 +1,64 @@ +From patchwork Fri Feb 7 09:53:35 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Daniel Golle +X-Patchwork-Id: 1190470 +Date: Fri, 7 Feb 2020 11:53:35 +0200 +From: Daniel Golle +To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org +Cc: Greg Kroah-Hartman , + Jiri Slaby , + Chuanhong Guo , + Eitan Cohen , + Ori Gofen +Subject: [PATCH] serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE +Message-ID: <20200207095335.GA179836@makrotopia.org> +MIME-Version: 1.0 +Content-Disposition: inline +Sender: linux-kernel-owner@vger.kernel.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-kernel@vger.kernel.org + +On AR934x this UART is usually not initialized by the bootloader +as it is only used as a secondary serial port while the primary +UART is a newly introduced NS16550-compatible. +In order to make use of the ar933x-uart on AR934x without RTS/CTS +hardware flow control, one needs to set the +UART_CS_{RX,TX}_READY_ORIDE bits as other than on AR933x where this +UART is used as primary/console, the bootloader on AR934x typically +doesn't set those bits. +Setting them explicitely on AR933x should not do any harm, so just +set them unconditionally. + +Tested-by: Chuanhong Guo +Signed-off-by: Daniel Golle +--- + drivers/tty/serial/ar933x_uart.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/tty/serial/ar933x_uart.c ++++ b/drivers/tty/serial/ar933x_uart.c +@@ -328,6 +328,10 @@ static void ar933x_uart_set_termios(stru + ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, + AR933X_UART_CS_HOST_INT_EN); + ++ /* enable RX and TX ready overide */ ++ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, ++ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); ++ + /* reenable the UART */ + ar933x_uart_rmw(up, AR933X_UART_CS_REG, + AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S, +@@ -460,6 +464,10 @@ static int ar933x_uart_startup(struct ua + ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, + AR933X_UART_CS_HOST_INT_EN); + ++ /* enable RX and TX ready overide */ ++ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, ++ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); ++ + /* Enable RX interrupts */ + up->ier = AR933X_UART_INT_RX_VALID; + ar933x_uart_write(up, AR933X_UART_INT_EN_REG, up->ier); From 16031ebaf89f68ff3328e8d4a922adb244c2d5ae Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 2 Feb 2020 18:02:11 +0200 Subject: [PATCH 44/47] ath79: add support for Atheros AR934x HS UART AR934x chips also got the 'old' qca,ar9330-uart in addition to the 'new' ns16550a compatible one. Add support for UART1 clock selector as well as device-tree bindings in ar934x.dtsi to make use of that uart. Reported-by: Piotr Dymacz Signed-off-by: Daniel Golle --- target/linux/ath79/dts/ar934x.dtsi | 13 +++++ ...S-ath79-export-UART1-reference-clock.patch | 52 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 target/linux/ath79/patches-4.19/0039-MIPS-ath79-export-UART1-reference-clock.patch diff --git a/target/linux/ath79/dts/ar934x.dtsi b/target/linux/ath79/dts/ar934x.dtsi index c17623511b..e8c21fb710 100644 --- a/target/linux/ath79/dts/ar934x.dtsi +++ b/target/linux/ath79/dts/ar934x.dtsi @@ -133,6 +133,19 @@ #reset-cells = <1>; }; + + hs_uart: uart@18500000 { + compatible = "qca,ar9330-uart"; + reg = <0x18500000 0x14>; + + interrupts = <6>; + interrupt-parent = <&miscintc>; + + clocks = <&pll ATH79_CLK_UART1>; + clock-names = "uart"; + + status = "disabled"; + }; }; nand: nand@1b000200 { diff --git a/target/linux/ath79/patches-4.19/0039-MIPS-ath79-export-UART1-reference-clock.patch b/target/linux/ath79/patches-4.19/0039-MIPS-ath79-export-UART1-reference-clock.patch new file mode 100644 index 0000000000..8656fafe0e --- /dev/null +++ b/target/linux/ath79/patches-4.19/0039-MIPS-ath79-export-UART1-reference-clock.patch @@ -0,0 +1,52 @@ +--- a/arch/mips/ath79/clock.c ++++ b/arch/mips/ath79/clock.c +@@ -42,6 +42,7 @@ static const char * const clk_names[ATH7 + [ATH79_CLK_AHB] = "ahb", + [ATH79_CLK_REF] = "ref", + [ATH79_CLK_MDIO] = "mdio", ++ [ATH79_CLK_UART1] = "uart1", + }; + + static const char * __init ath79_clk_name(int type) +@@ -346,6 +347,9 @@ static void __init ar934x_clocks_init(vo + if (clk_ctrl & AR934X_PLL_SWITCH_CLOCK_CONTROL_MDIO_CLK_SEL) + ath79_set_clk(ATH79_CLK_MDIO, 100 * 1000 * 1000); + ++ if (clk_ctrl & AR934X_PLL_SWITCH_CLOCK_CONTROL_UART1_CLK_SEL) ++ ath79_set_clk(ATH79_CLK_UART1, 100 * 1000 * 1000); ++ + iounmap(dpll_base); + } + +@@ -651,6 +655,9 @@ static void __init ath79_clocks_init_dt( + if (!clks[ATH79_CLK_MDIO]) + clks[ATH79_CLK_MDIO] = clks[ATH79_CLK_REF]; + ++ if (!clks[ATH79_CLK_UART1]) ++ clks[ATH79_CLK_UART1] = clks[ATH79_CLK_REF]; ++ + if (of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data)) { + pr_err("%pOF: could not register clk provider\n", np); + goto err_iounmap; +--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h ++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +@@ -351,6 +351,7 @@ + #define AR934X_PLL_CPU_DDR_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) + + #define AR934X_PLL_SWITCH_CLOCK_CONTROL_MDIO_CLK_SEL BIT(6) ++#define AR934X_PLL_SWITCH_CLOCK_CONTROL_UART1_CLK_SEL BIT(7) + + #define QCA953X_PLL_CPU_CONFIG_REG 0x00 + #define QCA953X_PLL_DDR_CONFIG_REG 0x04 +--- a/include/dt-bindings/clock/ath79-clk.h ++++ b/include/dt-bindings/clock/ath79-clk.h +@@ -15,7 +15,8 @@ + #define ATH79_CLK_AHB 2 + #define ATH79_CLK_REF 3 + #define ATH79_CLK_MDIO 4 ++#define ATH79_CLK_UART1 5 + +-#define ATH79_CLK_END 5 ++#define ATH79_CLK_END 6 + + #endif /* __DT_BINDINGS_ATH79_CLK_H */ From 52a0bd33341e11ffbd5b087b4ceb52ca754de8ba Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Fri, 31 Jan 2020 00:47:16 +0100 Subject: [PATCH 45/47] ath79: add LED trigger for TL-WR902AC v1 WAN LED Inspired by commit c48b571ad708, add an LED trigger for the WAN LED on top of the TP-Link TL-WR902AC v1. Currently, only the LED on the port itself shows the link state, while the LED on top of the device stays dark. The WAN port of the device is a hybrid LAN/WAN one, hence why the LED at the port was labeled LAN. Signed-off-by: Lech Perczak --- target/linux/ath79/generic/base-files/etc/board.d/01_leds | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 55d6772525..946d7306c3 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -219,6 +219,7 @@ tplink,cpe510-v3) tplink,cpe610-v1|\ tplink,tl-wr902ac-v1) ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0" + ucidef_set_led_netdev "internet" "Internet" "tp-link:green:internet" "eth0" ;; tplink,re355-v1|\ tplink,re450-v1|\ From e030d162f77c816163f92024cf187eac4753d5eb Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Wed, 2 Oct 2019 22:12:28 +0900 Subject: [PATCH 46/47] ramips: use nand_do_upgrade for netis WF-2881 WF-2881 sysupgrade image uses UBI rootfs, but still relies on default_do_upgrade. Because of this, config backup is not restored after sysupgrade. It can be fixed by switching to nand_do_upgrade and sysupgrade-tar image. default_do_upgrade does not handle sysupgrade-tar properly, so one should use factory image to upgrade from older version. Signed-off-by: Sungbo Eo --- target/linux/ramips/dts/mt7621_netis_wf-2881.dts | 15 ++++++++++++++- target/linux/ramips/image/mt7621.mk | 6 ++++-- .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_netis_wf-2881.dts b/target/linux/ramips/dts/mt7621_netis_wf-2881.dts index a7e8e06ff2..9d37583af0 100644 --- a/target/linux/ramips/dts/mt7621_netis_wf-2881.dts +++ b/target/linux/ramips/dts/mt7621_netis_wf-2881.dts @@ -75,9 +75,22 @@ }; partition@140000 { - compatible = "denx,uimage"; label = "firmware"; reg = <0x140000 0x7e40000>; + + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + partition@400000 { + label = "ubi"; + reg = <0x400000 0x7a40000>; + }; }; }; }; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 17b32653e7..fdb71ac5f3 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -628,10 +628,12 @@ define Device/netis_wf-2881 BLOCKSIZE := 128k PAGESIZE := 2048 FILESYSTEMS := squashfs + KERNEL_SIZE := 4096k IMAGE_SIZE := 129280k - KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma UBINIZE_OPTS := -E 5 - IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | \ + IMAGES += factory.bin + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ check-size $$$$(IMAGE_SIZE) DEVICE_VENDOR := NETIS DEVICE_MODEL := WF-2881 diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 6e0e8a6b2c..eaddca0a83 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -49,6 +49,7 @@ platform_do_upgrade() { netgear,r6260|\ netgear,r6350|\ netgear,r6850|\ + netis,wf-2881|\ xiaomi,mir3g|\ xiaomi,mir3p) nand_do_upgrade "$1" From cc89c5fe2764cc4d67103491f9209aa96d4cc380 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Tue, 8 Oct 2019 22:21:13 +0900 Subject: [PATCH 47/47] ramips: fix device name of netis WF-2881 to WF2881 The correct model name of WF-2881 is WF2881 without hyphen. The former used boardnames are not added to SUPPORTED_DEVICES, to make it explicit that the sysupgrade-tar image, which is newly added in the previous commit, should not be used to upgrade from older version. Signed-off-by: Sungbo Eo [adjust commit title] Signed-off-by: Adrian Schmutzler --- .../{mt7621_netis_wf-2881.dts => mt7621_netis_wf2881.dts} | 8 ++++---- target/linux/ramips/image/mt7621.mk | 7 +++---- .../linux/ramips/mt7621/base-files/etc/board.d/02_network | 4 ++-- .../ramips/mt7621/base-files/lib/upgrade/platform.sh | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) rename target/linux/ramips/dts/{mt7621_netis_wf-2881.dts => mt7621_netis_wf2881.dts} (93%) diff --git a/target/linux/ramips/dts/mt7621_netis_wf-2881.dts b/target/linux/ramips/dts/mt7621_netis_wf2881.dts similarity index 93% rename from target/linux/ramips/dts/mt7621_netis_wf-2881.dts rename to target/linux/ramips/dts/mt7621_netis_wf2881.dts index 9d37583af0..63a4975dcf 100644 --- a/target/linux/ramips/dts/mt7621_netis_wf-2881.dts +++ b/target/linux/ramips/dts/mt7621_netis_wf2881.dts @@ -6,8 +6,8 @@ #include / { - compatible = "netis,wf-2881", "mediatek,mt7621-soc"; - model = "NETIS WF-2881"; + compatible = "netis,wf2881", "mediatek,mt7621-soc"; + model = "NETIS WF2881"; aliases { led-boot = &led_wps; @@ -25,14 +25,14 @@ compatible = "gpio-leds"; usb { - label = "wf-2881:green:usb"; + label = "wf2881:green:usb"; gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>; linux,default-trigger = "usbport"; }; led_wps: wps { - label = "wf-2881:green:wps"; + label = "wf2881:green:wps"; gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; }; }; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index fdb71ac5f3..878d70c98e 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -624,7 +624,7 @@ define Device/netgear_wndr3700-v5 endef TARGET_DEVICES += netgear_wndr3700-v5 -define Device/netis_wf-2881 +define Device/netis_wf2881 BLOCKSIZE := 128k PAGESIZE := 2048 FILESYSTEMS := squashfs @@ -636,11 +636,10 @@ define Device/netis_wf-2881 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ check-size $$$$(IMAGE_SIZE) DEVICE_VENDOR := NETIS - DEVICE_MODEL := WF-2881 + DEVICE_MODEL := WF2881 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic - SUPPORTED_DEVICES += wf-2881 endef -TARGET_DEVICES += netis_wf-2881 +TARGET_DEVICES += netis_wf2881 define Device/phicomm_k2p IMAGE_SIZE := 15744k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index c0412626f2..9b7b56f0ba 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -43,7 +43,7 @@ ramips_setup_interfaces() netgear,r6350|\ netgear,r6850|\ netgear,wndr3700-v5|\ - netis,wf-2881|\ + netis,wf2881|\ wevo,11acnas|\ wevo,w2914ns-v2|\ zio,freezio) @@ -181,7 +181,7 @@ ramips_setup_macs() elecom,wrc-1900gst|\ elecom,wrc-2533gst|\ lenovo,newifi-d1|\ - netis,wf-2881|\ + netis,wf2881|\ phicomm,k2p|\ planex,vr500|\ samknows,whitebox-v8|\ diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index eaddca0a83..465ea0a909 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -49,7 +49,7 @@ platform_do_upgrade() { netgear,r6260|\ netgear,r6350|\ netgear,r6850|\ - netis,wf-2881|\ + netis,wf2881|\ xiaomi,mir3g|\ xiaomi,mir3p) nand_do_upgrade "$1"