ipq8064: Enabling sata port ipq8064 based devices
authorRoman Glova <roman_glova@epam.com>
Tue, 12 Feb 2019 01:59:00 +0000 (20:59 -0500)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 14 Feb 2019 15:56:15 +0000 (16:56 +0100)
(original text here: https://patchwork.kernel.org/patch/8686761/)

On some SOCs PORTS_IMPL register value is never programmed by the BIOS
and left at zero value. Which means that no sata ports are avaiable for
software. AHCI driver used to cope up with this by fabricating the
port_map if the PORTS_IMPL register is read zero, but recent patch
broke this workaround as zero value was valid for nvme disks.
This patch adds ports-implemented dt bindings as workaround for this issue
in a way that DT can dictate the port_map incase where the SOCs does not
program it already.

This patch is equal to commits:
67f8425d0ee1 ("ipq8064: dts: force AP148 SATA port mapping")
2e7a2c91019c ("ARM: dts: qcom: Move common nodes to ipq8064-v.1.0.dtsi")
in the upstream linux kernel.

Signed-off-by: Roman Glova <roman_glova@epam.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added upstream commits, reorg' commit message]

target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064.dtsi

index 08b8e003a816484928b8d3b7e347029ab9cc6b8e..8387460d2714e79ec88eeacc0e1b9122c895938b 100644 (file)
                        compatible = "qcom,ipq806x-ahci", "generic-ahci";
                        reg = <0x29000000 0x180>;
 
+                       ports-implemented = <0x1>;
+
                        interrupts = <0 209 0x0>;
 
                        clocks = <&gcc SFAB_SATA_S_H_CLK>,