RK3328 / Rock64 eMMC regression

richard at kojedz.in richard at kojedz.in
Mon Jul 8 22:01:51 PDT 2024


Hi Bao,

This change seems to be working.

Your quick response is really valuable. Thanks again.

Best regards,
Richard

2024-07-09 05:06 időpontban Huang-Huang Bao ezt írta:
> Hi Richard,
> 
> I think I have figured out where the problem is, the wrong IOMUX_WIDTH_
> flag(0) caused all pinmux offsets after GPIO2-B to be calculated wrong.
> The patch below should fixes the issue.
> 
> diff --git a/drivers/pinctrl/pinctrl-rockchip.c 
> b/drivers/pinctrl/pinctrl-rockchip.c
> index 3f56991f5b89..f6da91941fbd 100644
> --- a/drivers/pinctrl/pinctrl-rockchip.c
> +++ b/drivers/pinctrl/pinctrl-rockchip.c
> @@ -3813,7 +3813,7 @@ static struct rockchip_pin_bank 
> rk3328_pin_banks[] = {
>         PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", 0, 0, 0, 0),
>         PIN_BANK_IOMUX_FLAGS(1, 32, "gpio1", 0, 0, 0, 0),
>         PIN_BANK_IOMUX_FLAGS(2, 32, "gpio2", 0,
> -                            0,
> +                            IOMUX_WIDTH_2BIT,
>                              IOMUX_WIDTH_3BIT,
>                              0),
>         PIN_BANK_IOMUX_FLAGS(3, 32, "gpio3",
> 
> 
> Please let me know if this works. I will send a formal patch later.
> 
> Sorry for the incident,
> Bao
> 
> On 7/8/24 02:45, richard at kojedz.in wrote:
>> Dear developers,
>> 
>> I am using a Rock64 board with an emmc module. I've upgraded kernel 
>> from
>> 5.15.161 to .162, and since then the board wont boot up. Kernel 
>> messages
>> show:
>> 
>> [   49.117131] mmc1: switch to bus width 8 failed
>> [   49.124709] mmc1: mmc_select_hs200 failed, error -110
>> [   49.125190] mmc1: error -110 whilst initialising MMC card
>> [   49.139566] mmc_host mmc1: Bus speed (slot 0) = 300000Hz (slot req
>> 300000Hz, actual 300000HZ div = 0)
>> [  105.437111] mmc1: switch to bus width 8 failed
>> [  105.446739] mmc1: mmc_select_hs200 failed, error -110
>> [  105.447246] mmc1: error -110 whilst initialising MMC card
>> [  105.461639] mmc_host mmc1: Bus speed (slot 0) = 200000Hz (slot req
>> 200000Hz, actual 200000HZ div = 0)
>> 
>> I am using rk3328-rock64.dts from the kernel.
>> 
>> Bisecting the kernel revealed 96903ed0e846 as first bad commit.
>> Reverting this commit on top of v5.15.162 makes my board bootup again.
>> 
>> Can you please take a look?
>> 
>> Thanks in advance,
>> Richard



More information about the Linux-rockchip mailing list