On 10/03/2025 21:07, Maíra Canal wrote: > > From my understanding, I'm keeping the ABI preserved, as brcm,7268-v3d > needs to have a GCA register (otherwise, you won't be able to flush the > cache) and brcm,2711-v3d doesn't even have this piece of hardware. > > I understand that now I'm imposing per-compatible restrictions that > didn't exist in the spec, but the new restrictions are compatible to the > hardware specification. I'd like to understand if I can: > > 1. Use two register items (gca and sms) to preserve the semantics of the > register names. Sure, that's fine. > > 2. Can I add per-compatible restrictions to the DT even if the original > bindings didn't do it? If not, can I just add a new register to the > register list? Like: Yes, constraints are expected and it does not matter that original binding forgot them. > > reg-names: > items: > - const: hub > - const: core0 > - - enum: [ bridge, gca ] > - - enum: [ bridge, gca ] > + - enum: [ bridge, gca, sms ] > + - enum: [ bridge, gca, sms ] > + - enum: [ bridge, gca, sms ] This does not look right, because there is no device from your description which has 5 items. Best regards, Krzysztof