From 4a3a03d494e81b2a5d9a1ed77223677ddb19279c Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 20 Mar 2024 15:14:53 +0000 Subject: [PATCH 0985/1085] DTS: bcm2712: defer SDIO1 CQE selection to the board dtb Command Queueing on Linux with SD cards is new, with the potential to cause filesystem corruption due to bugs in software or card firmware(s). Default to disabled unless a) we know the interface connects to an eMMC device or b) we want it switched on. Signed-off-by: Jonathan Bell --- arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 1 + arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi | 1 + arch/arm/boot/dts/broadcom/bcm2712.dtsi | 1 - arch/arm/boot/dts/overlays/README | 4 ++++ 4 files changed, 6 insertions(+), 1 deletion(-) --- a/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts +++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts @@ -819,6 +819,7 @@ spi10_cs_pins: &spi10_cs_gpio1 {}; random = <&random>, "status"; rtc = <&rpi_rtc>, "status"; rtc_bbat_vchg = <&rpi_rtc>, "trickle-charge-microvolt:0"; + sd_cqe = <&sdio1>, "supports-cqe?"; spi = <&spi0>, "status"; suspend = <&pwr_key>, "linux,code:0=205"; uart0 = <&uart0>, "status"; --- a/arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi @@ -355,6 +355,7 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_g mmc-hs200-1_8v; mmc-hs400-1_8v; broken-cd; + supports-cqe; status = "okay"; }; --- a/arch/arm/boot/dts/broadcom/bcm2712.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2712.dtsi @@ -1119,7 +1119,6 @@ clocks = <&clk_emmc2>; sdhci-caps-mask = <0x0000C000 0x0>; sdhci-caps = <0x0 0x0>; - supports-cqe; mmc-ddr-3_3v; }; --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -344,6 +344,10 @@ Params: non-lite SKU of CM4). (default "on") + sd_cqe Use to enable Command Queueing on the SD + interface for faster Class A2 card performance + (Pi 5 only, default "off") + sd_overclock Clock (in MHz) to use when the MMC framework requests 50MHz