From 2a64b8ae9b952b18b4aef38cb7c41ce6dba16c50 Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Mon, 24 May 2021 12:54:37 -0700 Subject: Update to internal 0.52 Signed-off-by: Jason M. Bills --- ...round-to-cover-UART-interrupt-bug-in-AST2.patch | 126 ++++++++++----------- 1 file changed, 59 insertions(+), 67 deletions(-) (limited to 'meta-openbmc-mods/meta-ast2600/recipes-kernel') diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch index 81e742412..05e40afb3 100644 --- a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch +++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch @@ -1,4 +1,4 @@ -From 0177d25a23d56bca91fa7938d786b709fd7fba3e Mon Sep 17 00:00:00 2001 +From a136d2c30b850f94ee7b39f842eaede8c0a1c490 Mon Sep 17 00:00:00 2001 From: Jae Hyun Yoo Date: Mon, 27 Apr 2020 12:11:06 -0700 Subject: [PATCH] Add a workaround to cover UART interrupt bug in AST2600 A0 @@ -9,74 +9,66 @@ register for clearing abnormal interrupts in every milli-second. Signed-off-by: Jae Hyun Yoo --- - arch/arm/boot/dts/aspeed-g6.dtsi | 20 ++++++------- - drivers/tty/serial/8250/8250_of.c | 63 +++++++++++++++++++++++++++++++++++++++ - 2 files changed, 73 insertions(+), 10 deletions(-) + .../arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 8 +++ + drivers/tty/serial/8250/8250_early.c | 1 + + drivers/tty/serial/8250/8250_of.c | 63 +++++++++++++++++++ + 3 files changed, 72 insertions(+) -diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi -index 656053386fe8..91f431e419d9 100644 ---- a/arch/arm/boot/dts/aspeed-g6.dtsi -+++ b/arch/arm/boot/dts/aspeed-g6.dtsi -@@ -502,8 +502,8 @@ - }; +diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts +index 3218884b90f4..08e1f060341e 100644 +--- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts ++++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts +@@ -375,6 +375,8 @@ + }; - uart1: serial@1e783000 { -- compatible = "ns16550a"; -- reg = <0x1e783000 0x20>; -+ compatible = "aspeed,ast2600-uart"; -+ reg = <0x1e783000 0x20>, <0x1e6e2014 0x4>, <0x1e78307c 0x4>; - reg-shift = <2>; - reg-io-width = <4>; - interrupts = ; -@@ -516,8 +516,8 @@ - }; + &uart1 { ++ compatible = "aspeed,ast2600-uart"; ++ reg = <0x1e783000 0x20>, <0x1e6e2014 0x4>, <0x1e78307c 0x4>; + status = "okay"; + pinctrl-0 = <&pinctrl_txd1_default + &pinctrl_rxd1_default +@@ -387,6 +389,8 @@ + }; - uart5: serial@1e784000 { -- compatible = "ns16550a"; -- reg = <0x1e784000 0x1000>; -+ compatible = "aspeed,ast2600-uart"; -+ reg = <0x1e784000 0x20>, <0x1e6e2014 0x4>, <0x1e78407c 0x4>; - reg-shift = <2>; - interrupts = ; - clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>; -@@ -744,8 +744,8 @@ - }; + &uart2 { ++ compatible = "aspeed,ast2600-uart"; ++ reg = <0x1e78d000 0x20>, <0x1e6e2014 0x4>, <0x1e78d07c 0x4>; + status = "okay"; + pinctrl-0 = <&pinctrl_txd2_default + &pinctrl_rxd2_default +@@ -399,11 +403,15 @@ + }; - uart2: serial@1e78d000 { -- compatible = "ns16550a"; -- reg = <0x1e78d000 0x20>; -+ compatible = "aspeed,ast2600-uart"; -+ reg = <0x1e78d000 0x20>, <0x1e6e2014 0x4>, <0x1e78d07c 0x4>; - reg-shift = <2>; - reg-io-width = <4>; - interrupts = ; -@@ -758,8 +758,8 @@ - }; + &uart3 { ++ compatible = "aspeed,ast2600-uart"; ++ reg = <0x1e78e000 0x20>, <0x1e6e2014 0x4>, <0x1e78e07c 0x4>; + status = "okay"; + pinctrl-0 = <>; + }; - uart3: serial@1e78e000 { -- compatible = "ns16550a"; -- reg = <0x1e78e000 0x20>; -+ compatible = "aspeed,ast2600-uart"; -+ reg = <0x1e78e000 0x20>, <0x1e6e2014 0x4>, <0x1e78e07c 0x4>; - reg-shift = <2>; - reg-io-width = <4>; - interrupts = ; -@@ -772,8 +772,8 @@ - }; + &uart4 { ++ compatible = "aspeed,ast2600-uart"; ++ reg = <0x1e78f000 0x20>, <0x1e6e2014 0x4>, <0x1e78f07c 0x4>; + status = "okay"; + pinctrl-0 = <>; + }; +diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c +index 70d7826788f5..56c4725e1b04 100644 +--- a/drivers/tty/serial/8250/8250_early.c ++++ b/drivers/tty/serial/8250/8250_early.c +@@ -180,6 +180,7 @@ OF_EARLYCON_DECLARE(ns16550, "ns16550", early_serial8250_setup); + OF_EARLYCON_DECLARE(ns16550a, "ns16550a", early_serial8250_setup); + OF_EARLYCON_DECLARE(uart, "nvidia,tegra20-uart", early_serial8250_setup); + OF_EARLYCON_DECLARE(uart, "snps,dw-apb-uart", early_serial8250_setup); ++OF_EARLYCON_DECLARE(uart, "aspeed,ast2600-uart", early_serial8250_setup); + + #ifdef CONFIG_SERIAL_8250_OMAP - uart4: serial@1e78f000 { -- compatible = "ns16550a"; -- reg = <0x1e78f000 0x20>; -+ compatible = "aspeed,ast2600-uart"; -+ reg = <0x1e78f000 0x20>, <0x1e6e2014 0x4>, <0x1e78f07c 0x4>; - reg-shift = <2>; - reg-io-width = <4>; - interrupts = ; diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c -index 9ba31701a372..53850f859424 100644 +index 65e9045dafe6..4d94c9f6a422 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c -@@ -16,6 +16,7 @@ +@@ -15,6 +15,7 @@ #include #include #include @@ -84,7 +76,7 @@ index 9ba31701a372..53850f859424 100644 #include "8250.h" -@@ -24,6 +25,9 @@ struct of_serial_info { +@@ -23,6 +24,9 @@ struct of_serial_info { struct reset_control *rst; int type; int line; @@ -93,8 +85,8 @@ index 9ba31701a372..53850f859424 100644 + void __iomem *wa_base; }; - #ifdef CONFIG_ARCH_TEGRA -@@ -202,6 +206,18 @@ static int of_platform_serial_setup(struct platform_device *ofdev, + /* +@@ -181,6 +185,18 @@ static int of_platform_serial_setup(struct platform_device *ofdev, return ret; } @@ -113,7 +105,7 @@ index 9ba31701a372..53850f859424 100644 /* * Try to register a serial port */ -@@ -250,6 +266,47 @@ static int of_platform_serial_probe(struct platform_device *ofdev) +@@ -229,6 +245,47 @@ static int of_platform_serial_probe(struct platform_device *ofdev) if (ret < 0) goto err_dispose; @@ -161,7 +153,7 @@ index 9ba31701a372..53850f859424 100644 info->type = port_type; info->line = ret; platform_set_drvdata(ofdev, info); -@@ -271,6 +328,11 @@ static int of_platform_serial_remove(struct platform_device *ofdev) +@@ -250,6 +307,11 @@ static int of_platform_serial_remove(struct platform_device *ofdev) { struct of_serial_info *info = platform_get_drvdata(ofdev); @@ -173,7 +165,7 @@ index 9ba31701a372..53850f859424 100644 serial8250_unregister_port(info->line); reset_control_assert(info->rst); -@@ -341,6 +403,7 @@ static const struct of_device_id of_platform_serial_table[] = { +@@ -319,6 +381,7 @@ static const struct of_device_id of_platform_serial_table[] = { .data = (void *)PORT_XSCALE, }, { .compatible = "ti,da830-uart", .data = (void *)PORT_DA830, }, { .compatible = "nuvoton,npcm750-uart", .data = (void *)PORT_NPCM, }, @@ -182,5 +174,5 @@ index 9ba31701a372..53850f859424 100644 }; MODULE_DEVICE_TABLE(of, of_platform_serial_table); -- -2.7.4 +2.17.1 -- cgit v1.2.3