• Quentin Schulz's avatar
    arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma · bb94a157
    Quentin Schulz authored
    In commit 91419ae0 ("arm64: dts: rockchip: use BCLK to GPIO switch
    on rk3399"), an additional pinctrl state was added whose default pinmux
    is for 8ch i2s0. However, Puma only has 2ch i2s0. It's been overriding
    the pinctrl-0 property but the second property override was missed in
    the aforementioned commit.
    
    On Puma, a hardware slider called "BIOS Disable/Normal Boot" can disable
    eMMC and SPI to force booting from SD card. Another software-controlled
    GPIO is then configured to override this behavior to make eMMC and SPI
    available without human intervention. This is currently done in U-Boot
    and it was enough until the aforementioned commit.
    
    Indeed, because of this additional not-yet-overridden property, this
    software-controlled GPIO is now muxed in a state that does not override
    this hardware slider anymore, rendering SPI and eMMC flashes unusable.
    
    Let's override the property with the 2ch pinmux to fix this.
    
    Fixes: 91419ae0 ("arm64: dts: rockchip: use BCLK to GPIO switch on rk3399")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarQuentin Schulz <quentin.schulz@cherry.de>
    Link: https://lore.kernel.org/r/20240731-puma-emmc-6-v1-1-4e28eadf32d0@cherry.deSigned-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
    bb94a157
rk3399-puma.dtsi 11.6 KB