Thread (10 messages) 10 messages, 4 authors, 2019-02-20

RE: [v5 2/2] arm64: dts: lx2160a: add sata node support

From: Peng Ma <hidden>
Date: 2019-02-20 09:09:35
Also in: linux-devicetree, linux-ide, lkml

Hi Yousaf,

To set sata bit of ecc-addr will affect all sata controllers, The v6 patch has been sent will fixed the remap error when two or more sata controllers be probed, please review.
Thanks.

Best Regards,
Peng
-----Original Message-----
From: Peng Ma
Sent: 2019年2月14日 17:19
To: 'Mian Yousaf Kaukab' <redacted>
Cc: axboe@kernel.dk; shawnguo@kernel.org; robh+dt@kernel.org;
mark.rutland@arm.com; Leo Li [off-list ref];
linux-ide@vger.kernel.org; devicetree@vger.kernel.org;
linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org; Andy Tang
[off-list ref]
Subject: RE: [v5 2/2] arm64: dts: lx2160a: add sata node support


quoted
-----Original Message-----
From: Mian Yousaf Kaukab <redacted>
Sent: 2019年2月13日 3:01
To: Peng Ma <redacted>
Cc: axboe@kernel.dk; shawnguo@kernel.org; robh+dt@kernel.org;
mark.rutland@arm.com; Leo Li [off-list ref];
linux-ide@vger.kernel.org; devicetree@vger.kernel.org;
linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
Andy Tang [off-list ref]
Subject: Re: [v5 2/2] arm64: dts: lx2160a: add sata node support

On Fri, Jan 25, 2019 at 08:10:13AM +0000, Peng Ma wrote:
quoted
Add SATA device nodes for fsl-lx2160a and enable support for QDS and
RDB boards.

Signed-off-by: Peng Ma <redacted>
---
changed for V5:
	- no change

 arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts |   16 +++++++
 arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts |   16 +++++++
 arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi    |   44
+++++++++++++++++++++
quoted
 3 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
b/arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
index 99a22ab..1a5acf6 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
@@ -95,6 +95,22 @@
 	};
 };

+&sata0 {
+	status = "okay";
+};
+
+&sata1 {
+	status = "okay";
+};
+
+&sata2 {
+	status = "okay";
+};
+
+&sata3 {
+	status = "okay";
+};
+
 &uart0 {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
index 6481e5f..5b6799e 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
@@ -102,6 +102,22 @@
 	};
 };

+&sata0 {
+	status = "okay";
+};
+
+&sata1 {
+	status = "okay";
+};
+
+&sata2 {
+	status = "okay";
+};
+
+&sata3 {
+	status = "okay";
+};
+
 &uart0 {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
index a79f5c1..592034b 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
@@ -671,6 +671,50 @@
 			status = "disabled";
 		};

+		sata0: sata@3200000 {
+			compatible = "fsl,lx2160a-ahci";
+			reg = <0x0 0x3200000 0x0 0x10000>,
+			      <0x7 0x100520 0x0 0x4>;
+			reg-names = "ahci", "sata-ecc";
+			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clockgen 4 3>;
+			dma-coherent;
+			status = "disabled";
+		};
+
+		sata1: sata@3210000 {
+			compatible = "fsl,lx2160a-ahci";
+			reg = <0x0 0x3210000 0x0 0x10000>,
+			      <0x7 0x100520 0x0 0x4>;
+			reg-names = "ahci", "sata-ecc";
+			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clockgen 4 3>;
+			dma-coherent;
+			status = "disabled";
+		};
+
+		sata2: sata@3220000 {
+			compatible = "fsl,lx2160a-ahci";
+			reg = <0x0 0x3220000 0x0 0x10000>,
+			      <0x7 0x100520 0x0 0x4>;
+			reg-names = "ahci", "sata-ecc";
+			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clockgen 4 3>;
+			dma-coherent;
+			status = "disabled";
+		};
+
+		sata3: sata@3230000 {
+			compatible = "fsl,lx2160a-ahci";
+			reg = <0x0 0x3230000 0x0 0x10000>,
+			      <0x7 0x100520 0x0 0x4>;
You are using same reg values for sata-ecc in all sata instances. Does
this actually work? No errors when the ahci_qoriq driver do ioremap on
it while probing second instance and onward?
Thanks for you point out the problem. I will fixed it with two or more sata
enable.
quoted
fsl-ls208xa.dtsi is the only other file here with multiple sata
instances and it doesn’t care about sata-ecc.
The ls208xa platforms is not necessary to set sata-ecc addr.
BR,
Peng
quoted
quoted
+			reg-names = "ahci", "sata-ecc";
+			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clockgen 4 3>;
+			dma-coherent;
+			status = "disabled";
+		};
+
 		smmu: iommu@5000000 {
 			compatible = "arm,mmu-500";
 			reg = <0 0x5000000 0 0x800000>;
BR,
Yousaf
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help