diff mbox

ARM64: dts: Mediatek: mt8173-evb: fix access MMC fail issue

Message ID 1455861643-24307-1-git-send-email-eddie.huang@mediatek.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eddie Huang (黃智傑) Feb. 19, 2016, 6 a.m. UTC
MT8173 E1 chip has one bug that if turn off USB power domain, vcore
power will also be off, thus cause modules using vcore power domain
fail, like MMC. The E1 chip only found on MT8173-evb board and this
board only has E1 chip, so implement this as a board specific
workaround.

Pwrapper use vcore power, so add pwrapper using USB power domain to
keep USB power domain not to zero and disabled.

Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>

---
Sascha sent similar patch before[0], but MMC support runtime-pm,
vcore power domain still be disabled after MMC and USB suspend.
This silicon bug already fix in MT8173 MP chip.

[0]:http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/358065.html
---
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 3 +++
 1 file changed, 3 insertions(+)

Comments

Matthias Brugger Feb. 19, 2016, 10:05 a.m. UTC | #1
Hi Eddie,

On 19/02/16 07:00, Eddie Huang wrote:
> MT8173 E1 chip has one bug that if turn off USB power domain, vcore
> power will also be off, thus cause modules using vcore power domain
> fail, like MMC. The E1 chip only found on MT8173-evb board and this
> board only has E1 chip, so implement this as a board specific
> workaround.
>
> Pwrapper use vcore power, so add pwrapper using USB power domain to
> keep USB power domain not to zero and disabled.
>
> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
>
> ---
> Sascha sent similar patch before[0], but MMC support runtime-pm,
> vcore power domain still be disabled after MMC and USB suspend.
> This silicon bug already fix in MT8173 MP chip.
>
> [0]:http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/358065.html
> ---
>   arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> index e427f04..7453a47 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
> @@ -214,6 +214,9 @@
>   };
>
>   &pwrap {
> +	/* Only MT8173 E1 needs USB power domain */
> +	power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
> +

Applied, thanks
Kevin Hilman Feb. 23, 2016, 12:32 a.m. UTC | #2
Eddie Huang <eddie.huang@mediatek.com> writes:

> MT8173 E1 chip has one bug that if turn off USB power domain, vcore
> power will also be off, thus cause modules using vcore power domain
> fail, like MMC. The E1 chip only found on MT8173-evb board and this
> board only has E1 chip, so implement this as a board specific
> workaround.
>
> Pwrapper use vcore power, so add pwrapper using USB power domain to
> keep USB power domain not to zero and disabled.
>
> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>

Tested-by: Kevin Hilman <khilman@baylibre.com>

I verified that this gets my mt8173-evb booting again when I enable MMC
support.

Thanks,

Kevin
Matthias Brugger Feb. 23, 2016, 8:53 a.m. UTC | #3
On 23/02/16 01:32, Kevin Hilman wrote:
> Eddie Huang <eddie.huang@mediatek.com> writes:
>
>> MT8173 E1 chip has one bug that if turn off USB power domain, vcore
>> power will also be off, thus cause modules using vcore power domain
>> fail, like MMC. The E1 chip only found on MT8173-evb board and this
>> board only has E1 chip, so implement this as a board specific
>> workaround.
>>
>> Pwrapper use vcore power, so add pwrapper using USB power domain to
>> keep USB power domain not to zero and disabled.
>>
>> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
>
> Tested-by: Kevin Hilman <khilman@baylibre.com>
>

I send the patch in a pull request yesterday, so I won't be able to add 
your tag.
Thanks for testing and reporting this issue!

Matthias

> I verified that this gets my mt8173-evb booting again when I enable MMC
> support.
>
> Thanks,
>
> Kevin
>
Kevin Hilman Feb. 23, 2016, 6:32 p.m. UTC | #4
Matthias Brugger <matthias.bgg@gmail.com> writes:

> On 23/02/16 01:32, Kevin Hilman wrote:
>> Eddie Huang <eddie.huang@mediatek.com> writes:
>>
>>> MT8173 E1 chip has one bug that if turn off USB power domain, vcore
>>> power will also be off, thus cause modules using vcore power domain
>>> fail, like MMC. The E1 chip only found on MT8173-evb board and this
>>> board only has E1 chip, so implement this as a board specific
>>> workaround.
>>>
>>> Pwrapper use vcore power, so add pwrapper using USB power domain to
>>> keep USB power domain not to zero and disabled.
>>>
>>> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
>>
>> Tested-by: Kevin Hilman <khilman@baylibre.com>
>>
>
> I send the patch in a pull request yesterday, so I won't be able to
> add your tag.

No worries.  Was on vacation, so couldn't test sooner.

> Thanks for testing and reporting this issue!

You're welcome,

Kevin
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
index e427f04..7453a47 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
@@ -214,6 +214,9 @@ 
 };
 
 &pwrap {
+	/* Only MT8173 E1 needs USB power domain */
+	power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
+
 	pmic: mt6397 {
 		compatible = "mediatek,mt6397";
 		interrupt-parent = <&pio>;