Control: submitter -1 ! Cyril Brulebois <[email protected]> (2022-04-28): > I'll be working on a patch for my proposed approach (duplicating two > DTB files), combining it with a fix for #996937, and opening up a p-u > request once everything has been tested (in unstable for #996937, and > in bullseye for this issue and #996937).
Checking the unstable upload (#996937) led me to spend some time discovering, debugging, and trying to get a boot failure on CM4 fixed[1,2]. 1. https://bugzilla.kernel.org/show_bug.cgi?id=215925 2. https://bugs.debian.org/1010365 In the meantime, I finally realized that the cm3/cm4 sections aren't actually working as I thought they did. The model filters section[3] of the upstream doc seemed to be lacking the [cm3] entry, but that's actually… really not supported by the bootloader! 3. https://www.raspberrypi.com/documentation/computers/config_txt.html#model-filters Given this configuration: [cm3] device_tree=bcm2837-rpi-cm3-io3.dtb [cm4] device_tree=bcm2711-rpi-cm4-io.dtb further testing seems to indicate that: 1. the [cm3] line is invalid and ignored; 2. a regular Pi 3 would get device_tree=bcm2837-rpi-cm3-io3.dtb which isn't made conditional by a (valid) filter; 3. a CM 3 would get device_tree=bcm2837-rpi-cm3-io3.dtb which isn't made conditional by a (valid) filter; 4. a CM 4 would get device_tree=bcm2711-rpi-cm4-io.dtb via the (valid) [cm4] filter. I hadn't spotted this before because a Pi 3, given a CM3 DTB, would boot fine! And this is very different from the other way around, i.e. a CM3 wouldn't boot given a Pi 3 DTB (which is the initial state, without any configuration). For completeness, board-type filters[4] could be used instead. Here's a valid configuration to support CM3, CM3+, and CM4 respectively: [board-type=0x0A] device_tree=bcm2837-rpi-cm3-io3.dtb [board-type=0x10] device_tree=bcm2837-rpi-cm3-io3.dtb [board-type=0x14] device_tree=bcm2711-rpi-cm4-io.dtb 4. https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#new-style-revision-codes This is using board-type everywhere for consistency, but the last entry could also be written with the supported [cm4] filter. In any case, instead of fiddling with configuration, I still think it makes sense to duplicate two DTBs under their Raspberry Pi names, and I've extensively tested the package for proposed-updates during my repeated debugging sessions for #1010365, so I'm quite confident this should be fine. Cheers, -- Cyril Brulebois -- Debian Consultant @ DEBAMAX -- https://debamax.com/
signature.asc
Description: PGP signature

