aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/apm821xx
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2021-10-15 21:30:58 +0200
committerChristian Lamparter <chunkeey@gmail.com>2021-10-22 21:25:18 +0200
commitbbb38524011b44ff683638d66c3d197078727df1 (patch)
treeec32b222f9aee506b455ef0d3664dc3a8b60849d /target/linux/apm821xx
parent68d91f08edd0efd47841a2e53d3437d570a61612 (diff)
downloadupstream-bbb38524011b44ff683638d66c3d197078727df1.tar.gz
upstream-bbb38524011b44ff683638d66c3d197078727df1.tar.bz2
upstream-bbb38524011b44ff683638d66c3d197078727df1.zip
apm821xx: MBL: HDD regulators overhaul for MBL DUO
Takimata reported on the OpenWrt forum in thread [0], that his MyBook Live Duo wasn't booting OpenWrt 21.02 after upgrading from the previous OpenWrt 19.07. The last logged entries on his console |[ 0.531599] sata1-regulator GPIO handle specifies active low - ignored |[ 0.538391] sata0-regulator GPIO handle specifies active low - ignored |[ 0.759791] ata2: SATA link down (SStatus 0 SControl 300) |[ 0.765251] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) |[ 5.909555] ata1.00: qc timeout (cmd 0xec) |[ 5.913656] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4) |[ 6.231757] ata1: SATA link down (SStatus 0 SControl 300) This extract clearly showed that the HDD on which OpenWrt is installed, simply disappeared after the SATA power regulators had been initialized. The reason why this worked with OpenWrt 19.07 was because the kernel config symbol CONFIG_REGULATOR=y was not set in the target's config-4.14. (This shows that the MBL Single does differ from the DUO in that it does not have programmable power regulators for the HDDs.) [0] <https://forum.openwrt.org/t/21-02-0-and-snapshot-fail-to-boot-on-my-book-live-duo/106585> Reported-by: Takimata (forum) Tested-by: Takimata (forum) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/apm821xx')
-rw-r--r--target/linux/apm821xx/dts/wd-mybooklive.dts8
1 files changed, 6 insertions, 2 deletions
diff --git a/target/linux/apm821xx/dts/wd-mybooklive.dts b/target/linux/apm821xx/dts/wd-mybooklive.dts
index dcb8078050..bccf82fbaa 100644
--- a/target/linux/apm821xx/dts/wd-mybooklive.dts
+++ b/target/linux/apm821xx/dts/wd-mybooklive.dts
@@ -127,19 +127,23 @@
sata1pwr: sata1-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 1";
- gpios = <&GPIO1 3 GPIO_ACTIVE_LOW>;
+ gpios = <&GPIO1 3 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
+ regulator-boot-on; /* uboot sets this */
regulator-always-on; /* needed to read OS from HDD */
+ enable-active-high;
};
sata0pwr: sata0-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 0";
- gpios = <&GPIO1 7 GPIO_ACTIVE_LOW>;
+ gpios = <&GPIO1 7 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
+ regulator-boot-on; /* uboot sets this */
regulator-always-on; /* needed to read OS from HDD */
+ enable-active-high;
};
};