diff options
author | Jean-Jacques Hiblot <jjhiblot@ti.com> | 2017-01-09 13:22:15 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2017-01-13 09:16:52 -0800 |
commit | 87cb12910a2ab6ed41ae951ea4d9c1cc1120199a (patch) | |
tree | 113fe050cb985ecbb4512b32fbc3e03414d9065d /arch/arm/boot | |
parent | 8e2329ead748a85f4ae103d71a0575ef364c30a0 (diff) | |
download | linux-stable-87cb12910a2ab6ed41ae951ea4d9c1cc1120199a.tar.gz linux-stable-87cb12910a2ab6ed41ae951ea4d9c1cc1120199a.tar.bz2 linux-stable-87cb12910a2ab6ed41ae951ea4d9c1cc1120199a.zip |
ARM: dts: OMAP5 / DRA7: indicate that SATA port 0 is available.
AHCI provides the register PORTS_IMPL to let the software know which port
is supported. The register must be initialized by the bootloader. However
in some cases u-boot doesn't properly initialize this value (if it is not
compiled with SATA support for example or if the SATA initialization fails).
The DTS entry "ports-implemented" can be used to override the value in
PORTS_IMPL.
Without this patch the SATA will not work in the following two cases:
* if there has been a failure to initialize SATA in u-boot.
* if ahci_platform module has been removed and re-inserted. The reason is
that the content of PORTS_IMPL is lost after the module is removed.
I suspect that it's because the controller is reset by the hwmod.
Cc: <stable@vger.kernel.org> # v4.6+
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Roger Quadros <rogerq@ti.com>
[tony@atomide.com: updated comments with what goes wrong]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/dra7.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap5.dtsi | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 1faf24acd521..5ba161679e01 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -1378,6 +1378,7 @@ phy-names = "sata-phy"; clocks = <&sata_ref_clk>; ti,hwmods = "sata"; + ports-implemented = <0x1>; }; rtc: rtc@48838000 { diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index 7cd92babc41a..0844737b72b2 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi @@ -988,6 +988,7 @@ phy-names = "sata-phy"; clocks = <&sata_ref_clk>; ti,hwmods = "sata"; + ports-implemented = <0x1>; }; dss: dss@58000000 { |