Skip to content

Commit 47a5106

Browse files
P33Mpelwell
authored andcommitted
DT: bcm2712: override supports-cqe to a cell
We want to be able to control the interop surface exposed by Command Queueing across bcm2712 products to a more restrictive default, with selectable disable and permissive behaviour. Changing the bool to a cell lets it relay a tristate value. Also add the override parameter to CM5 as CM5-lite may interface with arbitrary eMMC or SD cards. (Reimplemented on 6.12 - bcm2712 dts now has a downstream/upstream split.) Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
1 parent 23b2029 commit 47a5106

File tree

4 files changed

+13
-7
lines changed

4 files changed

+13
-7
lines changed

arch/arm/boot/dts/overlays/README

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -405,9 +405,14 @@ Params:
405405
non-lite SKU of CM4).
406406
(default "on")
407407

408-
sd_cqe Set to "off" to disable Command Queueing if you
409-
have an incompatible Class A2 SD card
410-
(Pi 5 only, default "on")
408+
sd_cqe Modify Command Queuing behaviour on the main SD
409+
interface. Legal values are:
410+
0: disable CQ
411+
1: allow CQ for known-good SD A2 cards, and all
412+
eMMC cards
413+
2: allow CQ for all SD A2 cards that aren't
414+
known-bad, and all eMMC cards.
415+
(2712 only, default "1")
411416

412417
sd_overclock Clock (in MHz) to use when the MMC framework
413418
requests 50MHz

arch/arm64/boot/dts/broadcom/bcm2712-ds.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@
586586
clocks = <&clk_emmc2>;
587587
sdhci-caps-mask = <0x0000C000 0x0>;
588588
sdhci-caps = <0x0 0x0>;
589-
supports-cqe;
589+
supports-cqe = <1>;
590590
mmc-ddr-3_3v;
591591
status = "disabled";
592592
};

arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_gpio2 { };
322322
sd-uhs-sdr50;
323323
sd-uhs-ddr50;
324324
sd-uhs-sdr104;
325-
supports-cqe;
325+
supports-cqe = <1>;
326326
cd-gpios = <&gio_aon 5 GPIO_ACTIVE_LOW>;
327327
//no-1-8-v;
328328
status = "okay";
@@ -703,7 +703,7 @@ spi10_cs_pins: &spi10_cs_gpio1 {};
703703

704704
/ {
705705
__overrides__ {
706-
sd_cqe = <&sdio1>, "supports-cqe?";
706+
sd_cqe = <&sdio1>, "supports-cqe:0";
707707
};
708708
};
709709

arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_gpio2 { };
296296
mmc-hs400-1_8v;
297297
mmc-hs400-enhanced-strobe;
298298
broken-cd;
299-
supports-cqe;
299+
supports-cqe = <1>;
300300
status = "okay";
301301
};
302302

@@ -710,5 +710,6 @@ spi10_cs_pins: &spi10_cs_gpio1 {};
710710
<&ant2>, "output-low?=on";
711711
noanthogs = <&ant1>,"status=disabled",
712712
<&ant2>, "status=disabled";
713+
sd_cqe = <&sdio1>, "supports-cqe:0";
713714
};
714715
};

0 commit comments

Comments
 (0)