Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for kernel 4.14 to the mvebu target. This also replaces the old sfp and phylink patches with new versions from Russell's clearfog-4.13 branch http://git.arm.linux.org.uk/cgit/linux-arm.git/log/?h=clearfog-4.13 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
- Loading branch information
Showing
29 changed files
with
3,893 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
770 changes: 770 additions & 0 deletions
770
target/linux/mvebu/patches-4.14/002-add_powertables.patch
Large diffs are not rendered by default.
Oops, something went wrong.
40 changes: 40 additions & 0 deletions
40
target/linux/mvebu/patches-4.14/003-add_switch_nodes.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts | ||
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts | ||
@@ -361,6 +361,16 @@ | ||
}; | ||
}; | ||
}; | ||
+ | ||
+ mvsw61xx { | ||
+ compatible = "marvell,88e6172"; | ||
+ status = "okay"; | ||
+ reg = <0x10>; | ||
+ | ||
+ mii-bus = <&mdio>; | ||
+ cpu-port-0 = <5>; | ||
+ cpu-port-1 = <6>; | ||
+ }; | ||
}; | ||
|
||
&pciec { | ||
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi | ||
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi | ||
@@ -113,6 +113,18 @@ | ||
linux,default-trigger = "disk-activity"; | ||
}; | ||
}; | ||
+ | ||
+ mvsw61xx { | ||
+ #address-cells = <1>; | ||
+ #size-cells = <0>; | ||
+ compatible = "marvell,88e6176"; | ||
+ status = "okay"; | ||
+ reg = <0x10>; | ||
+ | ||
+ mii-bus = <&mdio>; | ||
+ cpu-port-0 = <5>; | ||
+ cpu-port-1 = <6>; | ||
+ }; | ||
}; | ||
|
||
&ahci0 { |
39 changes: 39 additions & 0 deletions
39
target/linux/mvebu/patches-4.14/004-add_sata_disk_activity_trigger.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
From 172230195068703b78ad5733a09492f5d6814c09 Mon Sep 17 00:00:00 2001 | ||
From: Ansuel Smith <ansuelsmth@gmail.com> | ||
Date: Tue, 28 Feb 2017 14:15:50 +0100 | ||
Subject: [PATCH] ARM: dts: armada: Add default trigger for sata led | ||
|
||
In others board we have the sata led set to function | ||
with the sata led trigger by default. | ||
This patch makes the same for these board that have sata | ||
led but get disabled by not associating it to any trigger. | ||
|
||
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> | ||
Acked-by: Jason Cooper <jason@lakedaemon.net> | ||
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> | ||
--- | ||
arch/arm/boot/dts/armada-385-linksys-caiman.dts | 1 + | ||
arch/arm/boot/dts/armada-385-linksys-cobra.dts | 1 + | ||
arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 1 + | ||
3 files changed, 3 insertions(+) | ||
|
||
--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts | ||
+++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts | ||
@@ -100,6 +100,7 @@ | ||
|
||
sata { | ||
label = "caiman:white:sata"; | ||
+ linux,default-trigger = "disk-activity"; | ||
}; | ||
}; | ||
|
||
--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts | ||
+++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts | ||
@@ -100,6 +100,7 @@ | ||
|
||
sata { | ||
label = "cobra:white:sata"; | ||
+ linux,default-trigger = "disk-activity"; | ||
}; | ||
}; | ||
|
60 changes: 60 additions & 0 deletions
60
target/linux/mvebu/patches-4.14/100-find_active_root.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
The WRT1900AC among other Linksys routers uses a dual-firmware layout. | ||
Dynamically rename the active partition to "ubi". | ||
|
||
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> | ||
|
||
--- a/drivers/mtd/ofpart.c | ||
+++ b/drivers/mtd/ofpart.c | ||
@@ -25,6 +25,8 @@ static bool node_has_compatible(struct d | ||
return of_get_property(pp, "compatible", NULL); | ||
} | ||
|
||
+static int mangled_rootblock; | ||
+ | ||
static int parse_ofpart_partitions(struct mtd_info *master, | ||
const struct mtd_partition **pparts, | ||
struct mtd_part_parser_data *data) | ||
@@ -33,6 +35,7 @@ static int parse_ofpart_partitions(struc | ||
struct device_node *mtd_node; | ||
struct device_node *ofpart_node; | ||
const char *partname; | ||
+ const char *owrtpart = "ubi"; | ||
struct device_node *pp; | ||
int nr_parts, i, ret = 0; | ||
bool dedicated = true; | ||
@@ -110,9 +113,13 @@ static int parse_ofpart_partitions(struc | ||
parts[i].size = of_read_number(reg + a_cells, s_cells); | ||
parts[i].of_node = pp; | ||
|
||
- partname = of_get_property(pp, "label", &len); | ||
- if (!partname) | ||
- partname = of_get_property(pp, "name", &len); | ||
+ if (mangled_rootblock && (i == mangled_rootblock)) { | ||
+ partname = owrtpart; | ||
+ } else { | ||
+ partname = of_get_property(pp, "label", &len); | ||
+ if (!partname) | ||
+ partname = of_get_property(pp, "name", &len); | ||
+ } | ||
parts[i].name = partname; | ||
|
||
if (of_get_property(pp, "read-only", &len)) | ||
@@ -219,6 +226,18 @@ static int __init ofpart_parser_init(voi | ||
return 0; | ||
} | ||
|
||
+static int __init active_root(char *str) | ||
+{ | ||
+ get_option(&str, &mangled_rootblock); | ||
+ | ||
+ if (!mangled_rootblock) | ||
+ return 1; | ||
+ | ||
+ return 1; | ||
+} | ||
+ | ||
+__setup("mangled_rootblock=", active_root); | ||
+ | ||
static void __exit ofpart_parser_exit(void) | ||
{ | ||
deregister_mtd_parser(&ofpart_parser); |
15 changes: 15 additions & 0 deletions
15
target/linux/mvebu/patches-4.14/102-revert_i2c_delay.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- a/arch/arm/boot/dts/armada-xp.dtsi | ||
+++ b/arch/arm/boot/dts/armada-xp.dtsi | ||
@@ -274,12 +274,10 @@ | ||
}; | ||
|
||
&i2c0 { | ||
- compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; | ||
reg = <0x11000 0x100>; | ||
}; | ||
|
||
&i2c1 { | ||
- compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; | ||
reg = <0x11100 0x100>; | ||
}; | ||
|
13 changes: 13 additions & 0 deletions
13
target/linux/mvebu/patches-4.14/103-remove-nand-driver-bug.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Remove a BUG() call that would crash on a race condition that should | ||
otherwise be harmless. | ||
|
||
--- a/drivers/mtd/nand/pxa3xx_nand.c | ||
+++ b/drivers/mtd/nand/pxa3xx_nand.c | ||
@@ -727,7 +727,6 @@ static void handle_data_pio(struct pxa3x | ||
default: | ||
dev_err(&info->pdev->dev, "%s: invalid state %d\n", __func__, | ||
info->state); | ||
- BUG(); | ||
} | ||
|
||
/* Update buffer pointers for multi-page read/write */ |
10 changes: 10 additions & 0 deletions
10
target/linux/mvebu/patches-4.14/104-linksys_mamba_disable_keep_config.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts | ||
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts | ||
@@ -200,7 +200,6 @@ | ||
nand@d0000 { | ||
status = "okay"; | ||
num-cs = <1>; | ||
- marvell,nand-keep-config; | ||
marvell,nand-enable-arbiter; | ||
nand-on-flash-bbt; | ||
nand-ecc-strength = <4>; |
69 changes: 69 additions & 0 deletions
69
target/linux/mvebu/patches-4.14/110-pxa3xxx_revert_irq_thread.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
Revert "mtd: pxa3xx-nand: handle PIO in threaded interrupt" | ||
|
||
This reverts commit 24542257a3b987025d4b998ec2d15e556c98ad3f | ||
This upstream change has been causing spurious timeouts on accesses | ||
to the NAND flash if something else on the system is causing | ||
significant latency. | ||
|
||
Nothing guarantees that the thread will run in time, so the | ||
usual timeout is unreliable. | ||
|
||
Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||
|
||
--- a/drivers/mtd/nand/pxa3xx_nand.c | ||
+++ b/drivers/mtd/nand/pxa3xx_nand.c | ||
@@ -791,24 +791,11 @@ static void start_data_dma(struct pxa3xx | ||
__func__, direction, info->dma_cookie, info->sg.length); | ||
} | ||
|
||
-static irqreturn_t pxa3xx_nand_irq_thread(int irq, void *data) | ||
-{ | ||
- struct pxa3xx_nand_info *info = data; | ||
- | ||
- handle_data_pio(info); | ||
- | ||
- info->state = STATE_CMD_DONE; | ||
- nand_writel(info, NDSR, NDSR_WRDREQ | NDSR_RDDREQ); | ||
- | ||
- return IRQ_HANDLED; | ||
-} | ||
- | ||
static irqreturn_t pxa3xx_nand_irq(int irq, void *devid) | ||
{ | ||
struct pxa3xx_nand_info *info = devid; | ||
unsigned int status, is_completed = 0, is_ready = 0; | ||
unsigned int ready, cmd_done; | ||
- irqreturn_t ret = IRQ_HANDLED; | ||
|
||
if (info->cs == 0) { | ||
ready = NDSR_FLASH_RDY; | ||
@@ -850,8 +837,7 @@ static irqreturn_t pxa3xx_nand_irq(int i | ||
} else { | ||
info->state = (status & NDSR_RDDREQ) ? | ||
STATE_PIO_READING : STATE_PIO_WRITING; | ||
- ret = IRQ_WAKE_THREAD; | ||
- goto NORMAL_IRQ_EXIT; | ||
+ handle_data_pio(info); | ||
} | ||
} | ||
if (status & cmd_done) { | ||
@@ -896,7 +882,7 @@ static irqreturn_t pxa3xx_nand_irq(int i | ||
if (is_ready) | ||
complete(&info->dev_ready); | ||
NORMAL_IRQ_EXIT: | ||
- return ret; | ||
+ return IRQ_HANDLED; | ||
} | ||
|
||
static inline int is_buf_blank(uint8_t *buf, size_t len) | ||
@@ -1865,9 +1851,7 @@ static int alloc_nand_resource(struct pl | ||
/* initialize all interrupts to be disabled */ | ||
disable_int(info, NDSR_MASK); | ||
|
||
- ret = request_threaded_irq(irq, pxa3xx_nand_irq, | ||
- pxa3xx_nand_irq_thread, IRQF_ONESHOT, | ||
- pdev->name, info); | ||
+ ret = request_irq(irq, pxa3xx_nand_irq, 0, pdev->name, info); | ||
if (ret < 0) { | ||
dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret); | ||
goto fail_free_buf; |
19 changes: 19 additions & 0 deletions
19
target/linux/mvebu/patches-4.14/205-armada-385-rd-mtd-partitions.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- a/arch/arm/boot/dts/armada-388-rd.dts | ||
+++ b/arch/arm/boot/dts/armada-388-rd.dts | ||
@@ -140,6 +140,16 @@ | ||
compatible = "st,m25p128", "jedec,spi-nor"; | ||
reg = <0>; /* Chip select 0 */ | ||
spi-max-frequency = <108000000>; | ||
+ | ||
+ partition@0 { | ||
+ label = "uboot"; | ||
+ reg = <0 0x400000>; | ||
+ }; | ||
+ | ||
+ partition@1 { | ||
+ label = "firmware"; | ||
+ reg = <0x400000 0xc00000>; | ||
+ }; | ||
}; | ||
}; | ||
|
35 changes: 35 additions & 0 deletions
35
target/linux/mvebu/patches-4.14/206-ARM-mvebu-385-ap-Add-partitions.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
From 9861f93a59142a3131870df2521eb2deb73026d7 Mon Sep 17 00:00:00 2001 | ||
From: Maxime Ripard <maxime.ripard@free-electrons.com> | ||
Date: Tue, 13 Jan 2015 11:14:09 +0100 | ||
Subject: [PATCH 2/2] ARM: mvebu: 385-ap: Add partitions | ||
|
||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> | ||
--- | ||
arch/arm/boot/dts/armada-385-db-ap.dts | 15 +++++++++++++++ | ||
1 file changed, 15 insertions(+) | ||
|
||
--- a/arch/arm/boot/dts/armada-385-db-ap.dts | ||
+++ b/arch/arm/boot/dts/armada-385-db-ap.dts | ||
@@ -181,19 +181,19 @@ | ||
#size-cells = <1>; | ||
|
||
partition@0 { | ||
- label = "U-Boot"; | ||
+ label = "u-boot"; | ||
reg = <0x00000000 0x00800000>; | ||
read-only; | ||
}; | ||
|
||
partition@800000 { | ||
- label = "uImage"; | ||
+ label = "kernel"; | ||
reg = <0x00800000 0x00400000>; | ||
read-only; | ||
}; | ||
|
||
partition@c00000 { | ||
- label = "Root"; | ||
+ label = "ubi"; | ||
reg = <0x00c00000 0x3f400000>; | ||
}; | ||
}; |
21 changes: 21 additions & 0 deletions
21
target/linux/mvebu/patches-4.14/210-clearfog_switch_node.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- a/arch/arm/boot/dts/armada-388-clearfog.dts | ||
+++ b/arch/arm/boot/dts/armada-388-clearfog.dts | ||
@@ -129,6 +129,18 @@ | ||
}; | ||
}; | ||
|
||
+ mvsw61xx { | ||
+ #address-cells = <1>; | ||
+ #size-cells = <0>; | ||
+ compatible = "marvell,88e6176"; | ||
+ status = "okay"; | ||
+ reg = <0x4>; | ||
+ is-indirect; | ||
+ | ||
+ mii-bus = <&mdio>; | ||
+ cpu-port-0 = <5>; | ||
+ }; | ||
+ | ||
gpio-keys { | ||
compatible = "gpio-keys"; | ||
pinctrl-0 = <&rear_button_pins>; |
35 changes: 35 additions & 0 deletions
35
target/linux/mvebu/patches-4.14/300-mvneta-tx-queue-workaround.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
The hardware queue scheduling is apparently configured with fixed | ||
priorities, which creates a nasty fairness issue where traffic from one | ||
CPU can starve traffic from all other CPUs. | ||
|
||
Work around this issue by forcing all tx packets to go through one CPU, | ||
until this issue is fixed properly. | ||
|
||
Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||
--- | ||
--- a/drivers/net/ethernet/marvell/mvneta.c | ||
+++ b/drivers/net/ethernet/marvell/mvneta.c | ||
@@ -3961,6 +3961,15 @@ static int mvneta_ethtool_set_wol(struct | ||
return ret; | ||
} | ||
|
||
+static u16 mvneta_select_queue(struct net_device *dev, struct sk_buff *skb, | ||
+ void *accel_priv, | ||
+ select_queue_fallback_t fallback) | ||
+{ | ||
+ /* XXX: hardware queue scheduling is broken, | ||
+ * use only one queue until it is fixed */ | ||
+ return 0; | ||
+} | ||
+ | ||
static const struct net_device_ops mvneta_netdev_ops = { | ||
.ndo_open = mvneta_open, | ||
.ndo_stop = mvneta_stop, | ||
@@ -3971,6 +3980,7 @@ static const struct net_device_ops mvnet | ||
.ndo_fix_features = mvneta_fix_features, | ||
.ndo_get_stats64 = mvneta_get_stats64, | ||
.ndo_do_ioctl = mvneta_ioctl, | ||
+ .ndo_select_queue = mvneta_select_queue, | ||
}; | ||
|
||
static const struct ethtool_ops mvneta_eth_tool_ops = { |
Oops, something went wrong.
4ccad92
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might not be the best place to write this but lack of time I'm writing this as a reminder.
Kmod-cryptodev will not install on K4.14
kmod-sched-cake wont install on K4.14