Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: memory-controller: Define fallback compatible

All of the DDR controllers beyond revision b.2.1 have had a consistent
layout, therefore define a "brcm,brcmstb-memc-ddr-rev-b.2.1" fallback
compatible string to match them all rather than having to continuously
add to the list.

Link: https://lore.kernel.org/all/20241217194439.929040-2-florian.fainelli@broadcom.com/
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250609212356.2264244-2-florian.fainelli@broadcom.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Florian Fainelli and committed by
Krzysztof Kozlowski
501be7ce a0be2005

+34 -20
+34 -20
Documentation/devicetree/bindings/memory-controllers/brcm,brcmstb-memc-ddr.yaml
··· 11 11 12 12 properties: 13 13 compatible: 14 - items: 15 - - enum: 16 - - brcm,brcmstb-memc-ddr-rev-b.1.x 17 - - brcm,brcmstb-memc-ddr-rev-b.2.0 18 - - brcm,brcmstb-memc-ddr-rev-b.2.1 19 - - brcm,brcmstb-memc-ddr-rev-b.2.2 20 - - brcm,brcmstb-memc-ddr-rev-b.2.3 21 - - brcm,brcmstb-memc-ddr-rev-b.2.5 22 - - brcm,brcmstb-memc-ddr-rev-b.2.6 23 - - brcm,brcmstb-memc-ddr-rev-b.2.7 24 - - brcm,brcmstb-memc-ddr-rev-b.2.8 25 - - brcm,brcmstb-memc-ddr-rev-b.3.0 26 - - brcm,brcmstb-memc-ddr-rev-b.3.1 27 - - brcm,brcmstb-memc-ddr-rev-c.1.0 28 - - brcm,brcmstb-memc-ddr-rev-c.1.1 29 - - brcm,brcmstb-memc-ddr-rev-c.1.2 30 - - brcm,brcmstb-memc-ddr-rev-c.1.3 31 - - brcm,brcmstb-memc-ddr-rev-c.1.4 32 - - const: brcm,brcmstb-memc-ddr 14 + oneOf: 15 + - description: Revision > 2.1 controllers 16 + items: 17 + - enum: 18 + - brcm,brcmstb-memc-ddr-rev-b.2.2 19 + - brcm,brcmstb-memc-ddr-rev-b.2.3 20 + - brcm,brcmstb-memc-ddr-rev-b.2.5 21 + - brcm,brcmstb-memc-ddr-rev-b.2.6 22 + - brcm,brcmstb-memc-ddr-rev-b.2.7 23 + - brcm,brcmstb-memc-ddr-rev-b.2.8 24 + - brcm,brcmstb-memc-ddr-rev-b.3.0 25 + - brcm,brcmstb-memc-ddr-rev-b.3.1 26 + - brcm,brcmstb-memc-ddr-rev-c.1.0 27 + - brcm,brcmstb-memc-ddr-rev-c.1.1 28 + - brcm,brcmstb-memc-ddr-rev-c.1.2 29 + - brcm,brcmstb-memc-ddr-rev-c.1.3 30 + - brcm,brcmstb-memc-ddr-rev-c.1.4 31 + - const: brcm,brcmstb-memc-ddr-rev-b.2.1 32 + - const: brcm,brcmstb-memc-ddr 33 + - description: Revision 2.1 controllers 34 + items: 35 + - const: brcm,brcmstb-memc-ddr-rev-b.2.1 36 + - const: brcm,brcmstb-memc-ddr 37 + - description: Revision 2.0 controllers 38 + items: 39 + - const: brcm,brcmstb-memc-ddr-rev-b.2.0 40 + - const: brcm,brcmstb-memc-ddr 41 + - description: Revision 1.x controllers 42 + items: 43 + - const: brcm,brcmstb-memc-ddr-rev-b.1.x 44 + - const: brcm,brcmstb-memc-ddr 33 45 34 46 reg: 35 47 maxItems: 1 ··· 58 46 examples: 59 47 - | 60 48 memory-controller@9902000 { 61 - compatible = "brcm,brcmstb-memc-ddr-rev-c.1.1", "brcm,brcmstb-memc-ddr"; 49 + compatible = "brcm,brcmstb-memc-ddr-rev-c.1.1", 50 + "brcm,brcmstb-memc-ddr-rev-b.2.1", 51 + "brcm,brcmstb-memc-ddr"; 62 52 reg = <0x9902000 0x600>; 63 53 clock-frequency = <2133000000>; 64 54 };