On 2019-02-24 23:54, Heiko Stübner wrote: > Am Sonntag, 24. Februar 2019, 21:10:50 CET schrieb David Summers: >> On 24/02/2019 19:56, Jonas Karlman wrote: >>> On 2019-02-24 20:35, David Summers wrote: >>>> On 24/02/2019 19:26, Jonas Karlman wrote: >>>>> On 2019-02-22 19:47, David Summers wrote: >>>>>> The Problem: >>>>>> >>>>>> On ASUS Tinker Board S, when booting from the eMMC, and there is no >>>>>> card sd slot, then there are constant errors. >>>>>> >>>>>> Cause: >>>>>> >>>>>> Thanks must go to Robin Murphy @ ARM for idenifying the problem. The >>>>>> rk808 on the Tinker Board and Tinker Board S has many regulators, one >>>>>> vccio_sd powers the IO for the sd card. Unfortunatly this is also used >>>>>> in the card detect. Now when no card is install, the regulator is >>>>>> powered down. This means that the card detect floats, and this means >>>>>> random card detection. >>>>>> >>>>>> The Solution: >>>>>> >>>>>> Make sure that the sd IO is always powered, this means card detection >>>>>> is always active, which is what should be done on a board with an sd >>>>>> slot, which both the Tinker Board and Tinker Board S are. Hence change >>>>>> is made to the .dtsi which takes effect on all Tinker Boards as >>>>>> required. >>>>>> >>>>>> The change also adds "regulator-boot-on" the Tinker Board boot from >>>>>> uboot, and the sd card is always one option. Hence the IO must be >>>>>> powered in uboot, and so setting this flag. >>>>>> >>>>>> Also removed is "disable-wp" the micro sd card which are used have no >>>>>> write protection, so the concept doesn't mean anything, and the >>>>>> Tinker Boards work without this. Hence it is removed to simply. >>>>>> >>>>>> This change came from ArchLinux Arm, but we note it is the fix also >>>>>> used by Armbian: >>>>>> >>>>>> https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu >>>>>> b.com%2FMiouyouyou%2FRockMyy%2Fblob%2Fmaster%2Fpatches%2Fkernel%2Fv5.0% >>>>>> 2FDTS%2F0016-ARM-DTSI-rk3288-tinker-Setting-up-the-SD-regulators.patch& >>>>>> amp;data=02%7C01%7C%7Cf5937082939e4163c84b08d69a8f3b61%7C84df9e7fe9f640 >>>>>> afb435aaaaaaaaaaaa%7C1%7C0%7C636866337295767294&sdata=tK8QE3bsG9LW% >>>>>> 2FJcvFzLKa8%2BPj5u%2F8exbEn8m2vqKly0%3D&reserved=0 >>>>>> >>>>>> Signed-off-by: David Summers <beagleboard@xxxxxxxxxxxxxxxxxxx> >>>>>> --- >>>>>> >>>>>> arch/arm/boot/dts/rk3288-tinker.dtsi | 3 ++- >>>>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi >>>>>> b/arch/arm/boot/dts/rk3288-tinker.dtsi index >>>>>> aa107ee41b8b..6b7e55085b0c 100644 >>>>>> --- a/arch/arm/boot/dts/rk3288-tinker.dtsi >>>>>> +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi >>>>>> @@ -254,6 +254,8 @@ >>>>>> >>>>>> }; >>>>>> >>>>>> vccio_sd: LDO_REG5 { >>>>>> >>>>>> + regulator-always-on; >>>>>> + regulator-boot-on; >>>>>> >>>>>> regulator-min-microvolt = <1800000>; >>>>>> regulator-max-microvolt = <3300000>; >>>>>> regulator-name = "vccio_sd"; >>>>>> >>>>>> @@ -431,7 +433,6 @@ >>>>>> >>>>>> cap-mmc-highspeed; >>>>>> cap-sd-highspeed; >>>>>> card-detect-delay = <200>; >>>>>> >>>>>> - disable-wp; /* wp not hooked up */ >>>>> I think disable-wp correctly describes that wp is not expected to work >>>>> and should not be removed.>>> >>>>> From comment in mmc_sd_get_ro(): >>>>> "Some systems don't feature a write-protect pin and don't need one. >>>>> E.g. because they only have micro-SD card slot. For those systems >>>>> assume that the SD card is always read-write." >>>>> >>>>> Without disable-wp core will call dw_mci_get_ro() to get wp status. >>>>> >>>>> >>>>> This patch also fixes reboot when booting from sd-card and having emmc >>>>> zeroed out. >>>>> >>>>> Tested-by: Jonas Karlman <jonas@xxxxxxxxx> >>>>> >>>>> Regards, >>>>> Jonas >>>>> >>>>>> pinctrl-names = "default"; >>>>>> pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; >>>>>> status = "okay"; >>>> Hi Jonas, >>>> >>>> Thanks for testing - did you get an error with "disable-wp" ? >>>> >>>> We tested this with @TheSaint On ArchLinux Arm, and it worked! >>>> >>>> With the "regulator-boot-on" and on reboot, it should keep power on the >>>> sd card - so reboot should work. >>> I tested both with and without "disable-wp" removed and both works without >>> error. SD-card reboots now works as it should thanks to >>> "regulator-always-on" and "regulator-boot-on", I only tested using both. >>> >>> On a side note I have also been testing [1] to make reboot with UHS signal >>> voltage work and will send out a RFC v2 after I have concluded testing on >>> my other devices supporting UHS signal voltage. >>> >>> [1] >>> https://github.com/Kwiboo/linux-rockchip/compare/patch-rk-5.x-tinker-uhs% >>> 5E%5E%5E...patch-rk-5.x-tinker-uhs >>> >>> Regards, >>> Jonas >> Thanks. >> >> Glad your are testing - and I hope the uhs tests work. >> >> Alas for us to test uhs - and our user on Arch isn't so experienced. I >> could push him to try different speeds - but to be honest I expect it to >> be beyond his comfort zone. >> >> But its good to here you confirm "disable-wp" works. To my mind it says >> we are sure that all three changes in the patch are are correct. >> >> Hopefully this will be straight forward to Heiko to accept. Its the >> simple patch of the 3 to accept ;) > From Jonas' explanation, I'd guess we want disable-wp to stay in the node, > and not remove it as it tells the system, that "there is no write protect > status available" hence it doesn't need to check for it. Correct, I may have been unclear ealier but I think that the disable-wp should stay as it correctly describes that the board has a microSD slot that do not support write protection. Regards, Jonas > > > Heiko > > _______________________________________________ Linux-rockchip mailing list Linux-rockchip@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-rockchip