public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: "Sören Moch" <smoch@web•de>
To: Shawn Lin <shawn.lin@rock-chips•com>,
	Robin Murphy <robin.murphy@arm•com>,
	Heiko Stuebner <heiko@sntech•de>
Cc: linux-rockchip@lists•infradead.org, linux-kernel@vger•kernel.org,
	linux-arm-kernel@lists•infradead.org
Subject: Re: [PATCH 3/3] arm64: dts: rockchip: fix RockPro64 sdmmc settings【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists•infradead.org代发】
Date: Fri, 4 Oct 2019 19:24:29 +0200	[thread overview]
Message-ID: <e4aaddc2-441b-b835-380e-374a3d935474@web.de> (raw)
In-Reply-To: <0c6fdb65-be2a-68e3-a686-14ce9b0a00a4@rock-chips.com>



On 04.10.19 17:33, Shawn Lin wrote:
> On 2019/10/4 22:20, Robin Murphy wrote:
>> On 04/10/2019 04:39, Soeren Moch wrote:
>>>
>>>
>>> On 04.10.19 04:13, Shawn Lin wrote:
>>>> On 2019/10/4 8:53, Soeren Moch wrote:
>>>>>
>>>>>
>>>>> On 04.10.19 02:01, Robin Murphy wrote:
>>>>>> On 2019-10-03 10:50 pm, Soeren Moch wrote:
>>>>>>> According to the RockPro64 schematic [1] the rk3399 sdmmc
>>>>>>> controller is
>>>>>>> connected to a microSD (TF card) slot, which cannot be switched to
>>>>>>> 1.8V.
>>>>>>
>>>>>> Really? AFAICS the SDMMC0 wiring looks pretty much identical to the
>>>>>> NanoPC-T4 schematic (it's the same reference design, after all),
>>>>>> and I
>>>>>> know that board can happily drive a UHS-I microSD card with 1.8v
>>>>>> I/Os,
>>>>>> because mine's doing so right now.
>>>>>>
>>>>>> Robin.
>>>>> OK, the RockPro64 does not allow a card reset (power cycle) since
>>>>> VCC3V0_SD is directly connected to VCC3V3_SYS (via R89555), the
>>>>> SDMMC0_PWH_H signal is not connected. So the card fails to identify
>>>>> itself after suspend or reboot when switched to 1.8V operation.
>>
>> Ah, thanks for clarifying - I did overlook the subtlety that U12 and
>> friends have "NC" as alternative part numbers, even though they
>> aren't actually marked as DNP. So it's still not so much "cannot be
>> switched" as "switching can lead to other problems".
>>
>>>>
>>>> I believe we addressed this issue long time ago, please check:
>>>>
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a11fc47f175c8d87018e89cb58e2d36c66534cb
>>>>
>>>>
>>> Thanks for the pointer.
>>> In this case I guess I should use following patch instead:
>>>
>>> --- rk3399-rockpro64.dts.bak    2019-10-03 22:14:00.067745799 +0200
>>> +++ rk3399-rockpro64.dts    2019-10-04 00:02:50.047892366 +0200
>>> @@ -619,6 +619,8 @@
>>>       max-frequency = <150000000>;
>>>       pinctrl-names = "default";
>>>       pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
>>> +    sd-uhs-sdr104;
>>> +    vqmmc-supply = <&vcc_sdio>;
>>>       status = "okay";
>>>   };
>>> When I do so, the sd card is detected as SDR104, but a reboot hangs:
>>>
>>> Boot1: 2018-06-26, version: 1.14
>>> CPUId = 0x0
>>> ChipType = 0x10, 286
>>> Spi_ChipId = c84018
>>> no find rkpartition
>>> SpiBootInit:ffffffff
>>> mmc: ERROR: SDHCI ERR:cmd:0x102,stat:0x18000
>>> mmc: ERROR: Card did not respond to voltage select!
>>> emmc reinit
>>> mmc: ERROR: SDHCI ERR:cmd:0x102,stat:0x18000
>>> mmc: ERROR: Card did not respond to voltage select!
>>> emmc reinit
>>> mmc: ERROR: SDHCI ERR:cmd:0x102,stat:0x18000
>>> mmc: ERROR: Card did not respond to voltage select!
>>> SdmmcInit=2 1
>>> mmc0:cmd5,32
>>> mmc0:cmd7,32
>>> mmc0:cmd5,32
>>> mmc0:cmd7,32
>>> mmc0:cmd5,32
>>> mmc0:cmd7,32
>>> SdmmcInit=0 1
>>>
>>> So I guess I should use a different miniloader for this reboot to
>>> work!?
>>> Or what else could be wrong here?
>>
>> Hmm, I guess this is "the Tinkerboard problem" again - the patch
>> above would be OK if we could get as far as the kernel, but can't
>> help if the 
>
> I didn't realize that SD was used as boot medium for RockPro64, but I
> did patch the vendor tree to solve the issue for Tinkerboard, see
> https://github.com/rockchip-linux/kernel/commit/a4ccde21f5a9f04f996fb02479cb9f16d3dc8dc0
>
>
> My initial plan was to patching upstream kernel by adding ->shutdown,but
> never finish it.
>
>> offending card is itself the boot medium. There was a proposal here:
>>
>> https://patchwork.kernel.org/patch/10817217/
>
> This RFC also looks good to me, but seems it needs volunteers
> to push it again.
Oh, I think this is a totally wrong way.

While this might work for some cards, setting the controller's i/o
voltage to 3.3V while leaving the card at 1.8V configuration is totally
against the specification, can lead to all kinds of strange behaviour
and even cause hardware damage. It also would actively defend the
purpose of the above mentioned patch (6a11fc4) where the kernel guesses
the i/o voltage from the card configuration and switches the controller
accordingly. We would end up with a 1.8V card and controller
configuration and a regulator voltage of 3.3V. This would only work with
good luck. Even if the kernel driver would switch the regulator back to
1.8V in this case, the voltage mismatch remains in the bootloader when
this card contains the boot image.

The only sane way I see to handle this is implementing the same
workaround (mode guessing) also in the bootloader (rockchip miniloader
and u-boot SPL since both bootloader chains are supported for this board).

Or maybe I miss something?

Soeren


>
>>
>> although I'm not sure what if any progress has been made since then.
>>
>> Robin.
>>
>>
>>
>
>



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-10-04 17:25 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 21:50 [PATCH 1/3] arm64: dts: rockchip: fix RockPro64 vdd-log regulator settings Soeren Moch
2019-10-03 21:50 ` [PATCH 2/3] arm64: dts: rockchip: fix RockPro64 sdhci settings Soeren Moch
2019-10-04 20:05   ` Heiko Stuebner
2019-10-03 21:50 ` [PATCH 3/3] arm64: dts: rockchip: fix RockPro64 sdmmc settings Soeren Moch
2019-10-04  0:01   ` Robin Murphy
2019-10-04  0:53     ` Soeren Moch
2019-10-04  2:13       ` [PATCH 3/3] arm64: dts: rockchip: fix RockPro64 sdmmc settings【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists•infradead.org代发】 Shawn Lin
2019-10-04  3:39         ` Soeren Moch
2019-10-04 14:20           ` Robin Murphy
2019-10-04 14:42             ` Jonas Karlman
2019-10-04 15:33             ` Shawn Lin
2019-10-04 17:24               ` Sören Moch [this message]
2019-10-04 20:15                 ` Soeren Moch
2019-10-04 20:18                   ` Heiko Stuebner
2019-10-04 20:39                     ` Sören Moch
2019-10-11  8:22                 ` Jonas Karlman
2019-10-11 11:40                   ` [PATCH 3/3] arm64: dts: rockchip: fix RockPro64 sdmmc settings Soeren Moch
2019-10-11 13:00                     ` Robin Murphy
2019-10-11 14:16                       ` Soeren Moch
2019-10-12  4:09                         ` Shawn Lin
2019-10-12 12:45                           ` Soeren Moch
2019-10-04 16:39             ` [PATCH 3/3] arm64: dts: rockchip: fix RockPro64 sdmmc settings【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists•infradead.org代发】 Soeren Moch
2019-10-04 20:04 ` [PATCH 1/3] arm64: dts: rockchip: fix RockPro64 vdd-log regulator settings Heiko Stuebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e4aaddc2-441b-b835-380e-374a3d935474@web.de \
    --to=smoch@web$(echo .)de \
    --cc=heiko@sntech$(echo .)de \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-rockchip@lists$(echo .)infradead.org \
    --cc=robin.murphy@arm$(echo .)com \
    --cc=shawn.lin@rock-chips$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox