* [PATCH v3 0/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible
@ 2026-08-04 13:13 Gregor Herburger
2026-08-04 13:13 ` [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping Gregor Herburger
2026-08-04 13:13 ` [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger
0 siblings, 2 replies; 11+ messages in thread
From: Gregor Herburger @ 2026-08-04 13:13 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list, Ray Jui, Scott Branden,
Eric Anholt, Stefan Wahren
Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel,
Gregor Herburger
The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping
and in a c Stepping. There are two separate dts files. The
bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for
the d Stepping. The d stepping does not set its own compatible/model
string but uses "raspberrypi,5-model-b".
These two steppings are not compatible. Booting with the wrong dtb file
causes a crash at boot.
Add a compatibles string "raspberrypi,5-model-b-d0" to allow us to
distinguish between those two steppings.
---
Changes in v3:
- Remove fallback compatible
- Link to v2: https://patch.msgid.link/20260803-bcm2712-d-stepping-compatible-v2-0-803017e4ba7a@linutronix.de
Changes in v2:
- Removed the wrong oneOf
- Link to v1: https://patch.msgid.link/20260803-bcm2712-d-stepping-compatible-v1-0-401934357a44@linutronix.de
---
Gregor Herburger (2):
dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping
arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible
Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 +
arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts | 5 +++++
2 files changed, 6 insertions(+)
---
base-commit: 8ba098e6b6ff0db8edf28528d1552be261af30d4
change-id: 20260731-bcm2712-d-stepping-compatible-4b40f0c4bda5
Best regards,
--
Gregor Herburger <gregor.herburger@linutronix.de>
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping 2026-08-04 13:13 [PATCH v3 0/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger @ 2026-08-04 13:13 ` Gregor Herburger 2026-08-10 7:20 ` Krzysztof Kozlowski 2026-08-04 13:13 ` [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger 1 sibling, 1 reply; 11+ messages in thread From: Gregor Herburger @ 2026-08-04 13:13 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, Eric Anholt, Stefan Wahren Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Gregor Herburger Add the Raspberry Pi 5 d0 Stepping to the schema. Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de> --- Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml index 2729a542c4f35..e2b32905c6a8f 100644 --- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml @@ -26,6 +26,7 @@ properties: - description: BCM2712 based Boards items: - enum: + - raspberrypi,5-model-b-d0 - raspberrypi,5-model-b - const: brcm,bcm2712 -- 2.47.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping 2026-08-04 13:13 ` [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping Gregor Herburger @ 2026-08-10 7:20 ` Krzysztof Kozlowski 0 siblings, 0 replies; 11+ messages in thread From: Krzysztof Kozlowski @ 2026-08-10 7:20 UTC (permalink / raw) To: Gregor Herburger Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, Eric Anholt, Stefan Wahren, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel On Tue, Aug 04, 2026 at 03:13:48PM +0200, Gregor Herburger wrote: > Add the Raspberry Pi 5 d0 Stepping to the schema. > > Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de> > --- > Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml > index 2729a542c4f35..e2b32905c6a8f 100644 > --- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml > +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml > @@ -26,6 +26,7 @@ properties: > - description: BCM2712 based Boards > items: > - enum: > + - raspberrypi,5-model-b-d0 > - raspberrypi,5-model-b > - const: brcm,bcm2712 As pointed out in other email - this is not bcm2712 but bcm2712-d0 which supposedly is a different soc with different pins etc. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-04 13:13 [PATCH v3 0/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger 2026-08-04 13:13 ` [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping Gregor Herburger @ 2026-08-04 13:13 ` Gregor Herburger 2026-08-04 14:57 ` Stefan Wahren 1 sibling, 1 reply; 11+ messages in thread From: Gregor Herburger @ 2026-08-04 13:13 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, Eric Anholt, Stefan Wahren Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Gregor Herburger The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping and in a c Stepping. There are two separate dts files. The bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for the d Stepping. The d stepping does not set its own compatible/model string but uses "raspberrypi,5-model-b". These two steppings are not compatible. Booting with the wrong dtb file causes a crash at boot. Add a compatibles string "raspberrypi,5-model-b-d0" to allow us to distinguish between those two steppings. Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de> --- arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts index 127be0fc27c22..5a86ad69645c3 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts +++ b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts @@ -3,6 +3,11 @@ #include "bcm2712-rpi-5-b.dts" +/ { + compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712"; + model = "Raspberry Pi 5 d0 Stepping"; +}; + &gio_aon { brcm,gpio-bank-widths = <15 6>; -- 2.47.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-04 13:13 ` [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger @ 2026-08-04 14:57 ` Stefan Wahren 2026-08-05 7:27 ` Gregor Herburger 0 siblings, 1 reply; 11+ messages in thread From: Stefan Wahren @ 2026-08-04 14:57 UTC (permalink / raw) To: Gregor Herburger, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, Eric Anholt Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel Hi Gregor, sorry for my late reply. Am 04.08.26 um 15:13 schrieb Gregor Herburger: > The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping > and in a c Stepping. There are two separate dts files. The > bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for > the d Stepping. The d stepping does not set its own compatible/model > string but uses "raspberrypi,5-model-b". In case the SoC and not the board has a D stepping, why do just change the board compatible without the SoC compatible like "brcm,bcm2712-d0"? > > These two steppings are not compatible. Booting with the wrong dtb file > causes a crash at boot. This sounds like the patch should have a fixes tag? > > Add a compatibles string "raspberrypi,5-model-b-d0" to allow us to > distinguish between those two steppings. > > Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de> > --- > arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > index 127be0fc27c22..5a86ad69645c3 100644 > --- a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > +++ b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > @@ -3,6 +3,11 @@ > > #include "bcm2712-rpi-5-b.dts" > > +/ { > + compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712"; > + model = "Raspberry Pi 5 d0 Stepping"; > +}; > + > &gio_aon { > brcm,gpio-bank-widths = <15 6>; > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-04 14:57 ` Stefan Wahren @ 2026-08-05 7:27 ` Gregor Herburger 2026-08-05 11:55 ` Stefan Wahren 0 siblings, 1 reply; 11+ messages in thread From: Gregor Herburger @ 2026-08-05 7:27 UTC (permalink / raw) To: Stefan Wahren Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, Eric Anholt, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: > Hi Gregor, > > sorry for my late reply. > > Am 04.08.26 um 15:13 schrieb Gregor Herburger: > > The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping > > and in a c Stepping. There are two separate dts files. The > > bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for > > the d Stepping. The d stepping does not set its own compatible/model > > string but uses "raspberrypi,5-model-b". > In case the SoC and not the board has a D stepping, why do just change the > board compatible without the SoC compatible like "brcm,bcm2712-d0"? > > You mean changing both compatible strings? Like this: compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; Don't know actually. Have not found an example for something like this in the tree. I prefer it actually like it is. Would like to hear the opinion of an devicetree maintainer about this. > > These two steppings are not compatible. Booting with the wrong dtb file > > causes a crash at boot. > This sounds like the patch should have a fixes tag? Yes can add one. > > > > Add a compatibles string "raspberrypi,5-model-b-d0" to allow us to > > distinguish between those two steppings. > > > > Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de> > > --- > > arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > > index 127be0fc27c22..5a86ad69645c3 100644 > > --- a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > > +++ b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts > > @@ -3,6 +3,11 @@ > > #include "bcm2712-rpi-5-b.dts" > > +/ { > > + compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712"; > > + model = "Raspberry Pi 5 d0 Stepping"; > > +}; > > + > > &gio_aon { > > brcm,gpio-bank-widths = <15 6>; > > > -- Gregor Herburger Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen Phone: +49 7556 25 999 35; Fax.: +49 7556 25 999 99 Hinweise zum Datenschutz finden Sie hier (Informations on data privacy can be found here): https://linutronix.de/legal/data-protection.php Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 806 | Geschäftsführer (Managing Directors): Dr. Wilfried Wessner, Katharina Kopp, Alexander Gieringer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-05 7:27 ` Gregor Herburger @ 2026-08-05 11:55 ` Stefan Wahren 2026-08-05 12:52 ` Gregor Herburger 0 siblings, 1 reply; 11+ messages in thread From: Stefan Wahren @ 2026-08-05 11:55 UTC (permalink / raw) To: Gregor Herburger Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Peter Robinson Hi Gregor, drop Eric and add Peter. Am 05.08.26 um 09:27 schrieb Gregor Herburger: > On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: >> Hi Gregor, >> >> sorry for my late reply. >> >> Am 04.08.26 um 15:13 schrieb Gregor Herburger: >>> The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping >>> and in a c Stepping. There are two separate dts files. The >>> bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for >>> the d Stepping. The d stepping does not set its own compatible/model >>> string but uses "raspberrypi,5-model-b". >> In case the SoC and not the board has a D stepping, why do just change the >> board compatible without the SoC compatible like "brcm,bcm2712-d0"? > You mean changing both compatible strings? Like this: > compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; I just want to mention that your explanation doesn't match to your changes. The first compatible represent the whole board (RPi 5) and the second one represent only the SoC (BCM2712). Since the SoC is different according your explanation, i would expect the SoC compatible needs to be changed. And in case the SoC changes, also the board won't be compatible anymore, correct? Usually we try to avoid to model different SoC steppings in the device tree, because this introduce a lot of redundancy. But it seems that the differences are signifcant here. In case this suggestion break something, this needs further explanation in the patch. Best regards ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-05 11:55 ` Stefan Wahren @ 2026-08-05 12:52 ` Gregor Herburger 2026-08-10 7:19 ` Krzysztof Kozlowski 0 siblings, 1 reply; 11+ messages in thread From: Gregor Herburger @ 2026-08-05 12:52 UTC (permalink / raw) To: Stefan Wahren Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Peter Robinson Hi Stefan, On Wed, Aug 05, 2026 at 01:55:50PM +0200, Stefan Wahren wrote: > Hi Gregor, > > drop Eric and add Peter. > > Am 05.08.26 um 09:27 schrieb Gregor Herburger: > > On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: > > > Hi Gregor, > > > > > > sorry for my late reply. > > > > > > Am 04.08.26 um 15:13 schrieb Gregor Herburger: > > > > The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping > > > > and in a c Stepping. There are two separate dts files. The > > > > bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for > > > > the d Stepping. The d stepping does not set its own compatible/model > > > > string but uses "raspberrypi,5-model-b". > > > In case the SoC and not the board has a D stepping, why do just change the > > > board compatible without the SoC compatible like "brcm,bcm2712-d0"? > > You mean changing both compatible strings? Like this: > > compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; > I just want to mention that your explanation doesn't match to your changes. > The first compatible represent the whole board (RPi 5) and the second one > represent only the SoC (BCM2712). Since the SoC is different according your > explanation, i would expect the SoC compatible needs to be changed. And in > case the SoC changes, also the board won't be compatible anymore, correct? Yes the SoC differs in these two versions and the board is maybe the same (but not compatible). Compatible strings should go from most specific to most general [0]. If we would have the same first string for both steppings it wouldn't be distinguishable. So at least the first string must be unique. E.g systemd-boot only matches the first compatible string [1]. The only example I found for SoC steppings in the tree is the 'marvell,rd88f6281-a' and 'marvell,rd88f6281-z0'. Although these dts are from 2014 and I don't know if this is still the current best practice. > > Usually we try to avoid to model different SoC steppings in the device tree, > because this introduce a lot of redundancy. But it seems that the > differences are signifcant here. Yes but here we are with two devicetrees which are not compatible. > > In case this suggestion break something, this needs further explanation in > the patch. I can update the commit message if it is not clear enough. > > Best regards [0] https://github.com/devicetree-org/devicetree-specification/blob/main/source/chapter2-devicetree-basics.rst#compatible [1] https://github.com/systemd/systemd/blob/main/src/boot/devicetree.c#L182 -- Gregor Herburger Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen Phone: +49 7556 25 999 35; Fax.: +49 7556 25 999 99 Hinweise zum Datenschutz finden Sie hier (Informations on data privacy can be found here): https://linutronix.de/legal/data-protection.php Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 806 | Geschäftsführer (Managing Directors): Dr. Wilfried Wessner, Katharina Kopp, Alexander Gieringer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-05 12:52 ` Gregor Herburger @ 2026-08-10 7:19 ` Krzysztof Kozlowski 2026-08-10 11:13 ` Gregor Herburger 0 siblings, 1 reply; 11+ messages in thread From: Krzysztof Kozlowski @ 2026-08-10 7:19 UTC (permalink / raw) To: Gregor Herburger Cc: Stefan Wahren, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Peter Robinson On Wed, Aug 05, 2026 at 02:52:44PM +0200, Gregor Herburger wrote: > Hi Stefan, > On Wed, Aug 05, 2026 at 01:55:50PM +0200, Stefan Wahren wrote: > > Hi Gregor, > > > > drop Eric and add Peter. > > > > Am 05.08.26 um 09:27 schrieb Gregor Herburger: > > > On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: > > > > Hi Gregor, > > > > > > > > sorry for my late reply. > > > > > > > > Am 04.08.26 um 15:13 schrieb Gregor Herburger: > > > > > The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping > > > > > and in a c Stepping. There are two separate dts files. The > > > > > bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for > > > > > the d Stepping. The d stepping does not set its own compatible/model > > > > > string but uses "raspberrypi,5-model-b". > > > > In case the SoC and not the board has a D stepping, why do just change the > > > > board compatible without the SoC compatible like "brcm,bcm2712-d0"? > > > You mean changing both compatible strings? Like this: > > > compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; > > I just want to mention that your explanation doesn't match to your changes. > > The first compatible represent the whole board (RPi 5) and the second one > > represent only the SoC (BCM2712). Since the SoC is different according your > > explanation, i would expect the SoC compatible needs to be changed. And in > > case the SoC changes, also the board won't be compatible anymore, correct? > Yes the SoC differs in these two versions and the board is maybe the same (but Different SoC means different SoC-compatible. If the soc is soldered to the board, then it also means board is different. Otherwise how can it be the same board if it comes with different elements? Of course boards can share schematics and everything except some component so you could have common compatible. 1. Rpi 5b d0 2. Rpi 5b 3. bcm2712-d0 > not compatible). Compatible strings should go from most specific to most general > [0]. If we would have the same first string for both steppings it wouldn't be > distinguishable. So at least the first string must be unique. > > E.g systemd-boot only matches the first compatible string [1]. If systemd-boot is not following established for 10 years DT practices that systemd-boot's fault, not something to be fixed in DT. But anyway I did not hear anyone adding/using wrong or fake compatibles to satisfy systemd-boot for other hardware. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-10 7:19 ` Krzysztof Kozlowski @ 2026-08-10 11:13 ` Gregor Herburger 2026-08-10 11:27 ` Krzysztof Kozlowski 0 siblings, 1 reply; 11+ messages in thread From: Gregor Herburger @ 2026-08-10 11:13 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Stefan Wahren, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Peter Robinson On Mon, Aug 10, 2026 at 09:19:35AM +0200, Krzysztof Kozlowski wrote: > On Wed, Aug 05, 2026 at 02:52:44PM +0200, Gregor Herburger wrote: > > Hi Stefan, > > On Wed, Aug 05, 2026 at 01:55:50PM +0200, Stefan Wahren wrote: > > > Hi Gregor, > > > > > > drop Eric and add Peter. > > > > > > Am 05.08.26 um 09:27 schrieb Gregor Herburger: > > > > On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: > > > > > Hi Gregor, > > > > > > > > > > sorry for my late reply. > > > > > > > > > > Am 04.08.26 um 15:13 schrieb Gregor Herburger: > > > > > > The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping > > > > > > and in a c Stepping. There are two separate dts files. The > > > > > > bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for > > > > > > the d Stepping. The d stepping does not set its own compatible/model > > > > > > string but uses "raspberrypi,5-model-b". > > > > > In case the SoC and not the board has a D stepping, why do just change the > > > > > board compatible without the SoC compatible like "brcm,bcm2712-d0"? > > > > You mean changing both compatible strings? Like this: > > > > compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; > > > I just want to mention that your explanation doesn't match to your changes. > > > The first compatible represent the whole board (RPi 5) and the second one > > > represent only the SoC (BCM2712). Since the SoC is different according your > > > explanation, i would expect the SoC compatible needs to be changed. And in > > > case the SoC changes, also the board won't be compatible anymore, correct? > > Yes the SoC differs in these two versions and the board is maybe the same (but > > Different SoC means different SoC-compatible. If the soc is soldered to > the board, then it also means board is different. Otherwise how can it > be the same board if it comes with different elements? That makes perfect sense. Thanks for the explanation. I will add a board compatible and a SoC compatible. > > Of course boards can share schematics and everything except some > component so you could have common compatible. > > 1. Rpi 5b d0 > 2. Rpi 5b > 3. bcm2712-d0 > But I don't think that should be done here. As you explained in the previous iteration [0] we shouldn't add a non-compatible fallback. > > not compatible). Compatible strings should go from most specific to most general > > [0]. If we would have the same first string for both steppings it wouldn't be > > distinguishable. So at least the first string must be unique. > > > > E.g systemd-boot only matches the first compatible string [1]. > > > If systemd-boot is not following established for 10 years DT practices > that systemd-boot's fault, not something to be fixed in DT. I don't think systemd-boot isn't following these practices. I just wanted to explain what was the problem for me, and why I wanted to solve it. > > But anyway I did not hear anyone adding/using wrong or fake compatibles > to satisfy systemd-boot for other hardware. > > Best regards, > Krzysztof > Best regards, Gregor [0] https://lore.kernel.org/all/20260804-unbeatable-fluffy-galago-bfe282@quoll/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible 2026-08-10 11:13 ` Gregor Herburger @ 2026-08-10 11:27 ` Krzysztof Kozlowski 0 siblings, 0 replies; 11+ messages in thread From: Krzysztof Kozlowski @ 2026-08-10 11:27 UTC (permalink / raw) To: Gregor Herburger Cc: Stefan Wahren, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Broadcom internal kernel review list, Ray Jui, Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel, Peter Robinson On 10/08/2026 13:13, Gregor Herburger wrote: > On Mon, Aug 10, 2026 at 09:19:35AM +0200, Krzysztof Kozlowski wrote: >> On Wed, Aug 05, 2026 at 02:52:44PM +0200, Gregor Herburger wrote: >>> Hi Stefan, >>> On Wed, Aug 05, 2026 at 01:55:50PM +0200, Stefan Wahren wrote: >>>> Hi Gregor, >>>> >>>> drop Eric and add Peter. >>>> >>>> Am 05.08.26 um 09:27 schrieb Gregor Herburger: >>>>> On Tue, Aug 04, 2026 at 04:57:09PM +0200, Stefan Wahren wrote: >>>>>> Hi Gregor, >>>>>> >>>>>> sorry for my late reply. >>>>>> >>>>>> Am 04.08.26 um 15:13 schrieb Gregor Herburger: >>>>>>> The bcm2712 found on the Raspberry Pi 5 is available in the d Stepping >>>>>>> and in a c Stepping. There are two separate dts files. The >>>>>>> bcm2712-rpi-5-b.dts for the c Stepping and the bcm2712-d-rpi-5-b.dts for >>>>>>> the d Stepping. The d stepping does not set its own compatible/model >>>>>>> string but uses "raspberrypi,5-model-b". >>>>>> In case the SoC and not the board has a D stepping, why do just change the >>>>>> board compatible without the SoC compatible like "brcm,bcm2712-d0"? >>>>> You mean changing both compatible strings? Like this: >>>>> compatible = "raspberrypi,5-model-b-d0", "brcm,bcm2712-d0"; >>>> I just want to mention that your explanation doesn't match to your changes. >>>> The first compatible represent the whole board (RPi 5) and the second one >>>> represent only the SoC (BCM2712). Since the SoC is different according your >>>> explanation, i would expect the SoC compatible needs to be changed. And in >>>> case the SoC changes, also the board won't be compatible anymore, correct? >>> Yes the SoC differs in these two versions and the board is maybe the same (but >> >> Different SoC means different SoC-compatible. If the soc is soldered to >> the board, then it also means board is different. Otherwise how can it >> be the same board if it comes with different elements? > That makes perfect sense. Thanks for the explanation. I will add a board > compatible and a SoC compatible. >> >> Of course boards can share schematics and everything except some >> component so you could have common compatible. >> >> 1. Rpi 5b d0 >> 2. Rpi 5b >> 3. bcm2712-d0 >> > > But I don't think that should be done here. As you explained in the previous > iteration [0] we shouldn't add a non-compatible fallback. Well, true, this was more matching regular case, where (2) is common board compatible. In your case this is not compatible, so just 1+3. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-08-10 11:27 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-08-04 13:13 [PATCH v3 0/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger 2026-08-04 13:13 ` [PATCH v3 1/2] dt-bindings: arm: bcm2835: Add Raspberry Pi 5 d0 Stepping Gregor Herburger 2026-08-10 7:20 ` Krzysztof Kozlowski 2026-08-04 13:13 ` [PATCH v3 2/2] arm64: dts: broadcom: bcm2712-d-rpi-5-b: add compatible Gregor Herburger 2026-08-04 14:57 ` Stefan Wahren 2026-08-05 7:27 ` Gregor Herburger 2026-08-05 11:55 ` Stefan Wahren 2026-08-05 12:52 ` Gregor Herburger 2026-08-10 7:19 ` Krzysztof Kozlowski 2026-08-10 11:13 ` Gregor Herburger 2026-08-10 11:27 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox