linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] arm64: dts: ls1028a: fix memory node
@ 2021-04-08 11:02 Michael Walle
  2021-04-08 11:02 ` [PATCH 2/2] arm64: defconfig: enable Layerscape EDAC driver Michael Walle
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Michael Walle @ 2021-04-08 11:02 UTC (permalink / raw)
  To: linux-arm-kernel, devicetree
  Cc: Shawn Guo, Li Yang, Rob Herring, Catalin Marinas, Will Deacon,
	Michael Walle

While enabling EDAC support for the LS1028A it was discovered that the
memory node has a wrong endianness setting as well as a wrong interrupt
assignment. Fix both.

This was tested on a sl28 board. To force ECC errors, you can use the
error injection supported by the controller in hardware (with
CONFIG_EDAC_DEBUG enabled):

 # enable error injection
 $ echo 0x100 > /sys/devices/system/edac/mc/mc0/inject_ctrl
 # flip lowest bit of the data
 $ echo 0x1 > /sys/devices/system/edac/mc/mc0/inject_data_lo

Fixes: 8897f3255c9c ("arm64: dts: Add support for NXP LS1028A SoC")
Signed-off-by: Michael Walle <michael@walle.cc>
---
 arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
index 9506f0669ead..040a3e529bf1 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
@@ -197,8 +197,8 @@
 		ddr: memory-controller@1080000 {
 			compatible = "fsl,qoriq-memory-controller";
 			reg = <0x0 0x1080000 0x0 0x1000>;
-			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-			big-endian;
+			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+			little-endian;
 		};
 
 		dcfg: syscon@1e00000 {
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] arm64: defconfig: enable Layerscape EDAC driver
  2021-04-08 11:02 [PATCH 1/2] arm64: dts: ls1028a: fix memory node Michael Walle
@ 2021-04-08 11:02 ` Michael Walle
  2021-05-13  2:15 ` [PATCH 1/2] arm64: dts: ls1028a: fix memory node Shawn Guo
  2021-05-22 12:34 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Michael Walle @ 2021-04-08 11:02 UTC (permalink / raw)
  To: linux-arm-kernel, devicetree
  Cc: Shawn Guo, Li Yang, Rob Herring, Catalin Marinas, Will Deacon,
	Michael Walle

Most Layerscape SoCs support ECC error reporting for the memory
controller. Enable the corresponding module. In particular, this will
enable EDAC support on the Kontron sl28 board which comes with ECC
memory.

Signed-off-by: Michael Walle <michael@walle.cc>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 99e8a8fb5b4e..c7a62bc6df7c 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -883,6 +883,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
 CONFIG_LEDS_TRIGGER_PANIC=y
 CONFIG_EDAC=y
 CONFIG_EDAC_GHES=y
+CONFIG_EDAC_LAYERSCAPE=m
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_DS1307=m
 CONFIG_RTC_DRV_HYM8563=m
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] arm64: dts: ls1028a: fix memory node
  2021-04-08 11:02 [PATCH 1/2] arm64: dts: ls1028a: fix memory node Michael Walle
  2021-04-08 11:02 ` [PATCH 2/2] arm64: defconfig: enable Layerscape EDAC driver Michael Walle
@ 2021-05-13  2:15 ` Shawn Guo
  2021-05-22 12:34 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2021-05-13  2:15 UTC (permalink / raw)
  To: Michael Walle, Bhaskar Upadhaya
  Cc: linux-arm-kernel, devicetree, Li Yang, Rob Herring,
	Catalin Marinas, Will Deacon

+ Bhaskar

On Thu, Apr 08, 2021 at 01:02:18PM +0200, Michael Walle wrote:
> While enabling EDAC support for the LS1028A it was discovered that the
> memory node has a wrong endianness setting as well as a wrong interrupt
> assignment. Fix both.
> 
> This was tested on a sl28 board. To force ECC errors, you can use the
> error injection supported by the controller in hardware (with
> CONFIG_EDAC_DEBUG enabled):
> 
>  # enable error injection
>  $ echo 0x100 > /sys/devices/system/edac/mc/mc0/inject_ctrl
>  # flip lowest bit of the data
>  $ echo 0x1 > /sys/devices/system/edac/mc/mc0/inject_data_lo
> 
> Fixes: 8897f3255c9c ("arm64: dts: Add support for NXP LS1028A SoC")
> Signed-off-by: Michael Walle <michael@walle.cc>

Bhaskar,

Does it look good to you?

Shawn

> ---
>  arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> index 9506f0669ead..040a3e529bf1 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> @@ -197,8 +197,8 @@
>  		ddr: memory-controller@1080000 {
>  			compatible = "fsl,qoriq-memory-controller";
>  			reg = <0x0 0x1080000 0x0 0x1000>;
> -			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
> -			big-endian;
> +			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
> +			little-endian;
>  		};
>  
>  		dcfg: syscon@1e00000 {
> -- 
> 2.20.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] arm64: dts: ls1028a: fix memory node
  2021-04-08 11:02 [PATCH 1/2] arm64: dts: ls1028a: fix memory node Michael Walle
  2021-04-08 11:02 ` [PATCH 2/2] arm64: defconfig: enable Layerscape EDAC driver Michael Walle
  2021-05-13  2:15 ` [PATCH 1/2] arm64: dts: ls1028a: fix memory node Shawn Guo
@ 2021-05-22 12:34 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2021-05-22 12:34 UTC (permalink / raw)
  To: Michael Walle
  Cc: linux-arm-kernel, devicetree, Li Yang, Rob Herring,
	Catalin Marinas, Will Deacon

On Thu, Apr 08, 2021 at 01:02:18PM +0200, Michael Walle wrote:
> While enabling EDAC support for the LS1028A it was discovered that the
> memory node has a wrong endianness setting as well as a wrong interrupt
> assignment. Fix both.
> 
> This was tested on a sl28 board. To force ECC errors, you can use the
> error injection supported by the controller in hardware (with
> CONFIG_EDAC_DEBUG enabled):
> 
>  # enable error injection
>  $ echo 0x100 > /sys/devices/system/edac/mc/mc0/inject_ctrl
>  # flip lowest bit of the data
>  $ echo 0x1 > /sys/devices/system/edac/mc/mc0/inject_data_lo
> 
> Fixes: 8897f3255c9c ("arm64: dts: Add support for NXP LS1028A SoC")
> Signed-off-by: Michael Walle <michael@walle.cc>

Applied both, thanks.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-22 12:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08 11:02 [PATCH 1/2] arm64: dts: ls1028a: fix memory node Michael Walle
2021-04-08 11:02 ` [PATCH 2/2] arm64: defconfig: enable Layerscape EDAC driver Michael Walle
2021-05-13  2:15 ` [PATCH 1/2] arm64: dts: ls1028a: fix memory node Shawn Guo
2021-05-22 12:34 ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).