From: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> There are two SATA ports per CP110. Each of them has a dedicated interrupt. Describe the real hardware by adding two SATA ports to the CP110 SATA node and enabling them in all the DTs including it (7040-db/8040-db/8040-clearfog). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> --- arch/arm64/boot/dts/marvell/armada-7040-db.dts | 7 ++++++- arch/arm64/boot/dts/marvell/armada-8040-db.dts | 14 ++++++++++++-- arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 16 ++++++++++++++-- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts index 412efdb46e7c..54c1c0ddc813 100644 --- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts +++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts @@ -194,7 +194,12 @@ }; &cp0_sata0 { - status = "okay"; + sata-port@0 { + status = "okay"; + }; + sata-port@1 { + status = "okay"; + }; }; &cp0_usb3_0 { diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts index 1bac437369a1..988cc7dc15d9 100644 --- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts +++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts @@ -147,7 +147,12 @@ /* CON4 on CP0 expansion */ &cp0_sata0 { - status = "okay"; + sata-port@0 { + status = "okay"; + }; + sata-port@1 { + status = "okay"; + }; }; /* CON9 on CP0 expansion */ @@ -279,7 +284,12 @@ /* CON4 on CP1 expansion */ &cp1_sata0 { - status = "okay"; + sata-port@0 { + status = "okay"; + }; + sata-port@1 { + status = "okay"; + }; }; /* CON9 on CP1 expansion */ diff --git a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi index b9d9f31e3ba1..f27edddcacd1 100644 --- a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi @@ -292,10 +292,22 @@ "generic-ahci"; reg = <0x540000 0x30000>; dma-coherent; - interrupts = <107 IRQ_TYPE_LEVEL_HIGH>; clocks = <&CP110_LABEL(clk) 1 15>, <&CP110_LABEL(clk) 1 16>; - status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + + sata-port@0 { + reg = <0>; + interrupts = <109 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + sata-port@1 { + reg = <1>; + interrupts = <107 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; }; CP110_LABEL(xor0): xor@6a0000 { -- 2.19.1