[PATCH RFC 1/5] dt-bindings: mfd: Describe the BCM6846 PMC complex
Krzysztof Kozlowski
krzk at kernel.org
Fri Oct 16 07:19:50 PDT 2026
On 14/10/2026 11:48, Linus Walleij wrote:
> The third generation Platform Management Controller (PMC3) has
> different subdevices.
>
> Identify the parent with Broadcom's "brcm,bca-pmc-3-1" compatible
> for the version 3.1 complex.
>
> Describe the complex as a simple-mfd with two system-controller children
> and a bus child, each owning its register resource.
That's RFC, but I skimmed cover letter and did not find what you
actually ask us for and why this is not ready for review, thus few
things to spare you one more cycle when this is ready for review:
>
> Assisted-by: LLM
> Signed-off-by: Linus Walleij <linusw at kernel.org>
> ---
> .../devicetree/bindings/mfd/brcm,bcm6846-pmc.yaml | 98 ++++++++++++++++++++++
> 1 file changed, 98 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm6846-pmc.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm6846-pmc.yaml
> new file mode 100644
> index 000000000000..7ddf84b561aa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm6846-pmc.yaml
> @@ -0,0 +1,98 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/brcm,bcm6846-pmc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom BCM6846 Platform Management Controller
> +
> +maintainers:
> + - Linus Walleij <linusw at kernel.org>
> +
> +description: |
Drop |
> + The third generation Platform Management Controller (PMC3) contains
> + separate register banks for PMC control and message queues, the
> + Processor Monitor Bus (PMB) interface within Procmon, and the Maestro
> + processor control registers. Each child owns its register bank. The
> + parent provides address translation and does not own a register bank.
> +
> +properties:
> + compatible:
> + items:
> + - const: brcm,bca-pmc-3-1
This should be rather SoC specific.
> + - const: simple-mfd
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 1
> +
> + ranges:
> + maxItems: 1
> +
> +patternProperties:
> + '^system-controller@[0-9a-f]+$':
> + type: object
> + additionalProperties: false
> + description:
> + PMC control and message queue registers, or Maestro processor
> + control, status and interrupt registers
> +
> + properties:
> + compatible:
> + enum:
> + - brcm,bcm6846-pmc-control
> + - brcm,bcm6846-pmc-maestro
> +
> + reg:
> + maxItems: 1
> +
> + required:
> + - compatible
> + - reg
No resources here except address space, so I question whether these are
really separate devices. I guess address space is at least big enough to
mark this as really separate device?
> +
> + '^bus@[0-9a-f]+$':
> + $ref: /schemas/soc/bcm/brcm,bcm6846-pmb.yaml#
No such file. Are you sure this passes tests?
> + description: PMB configuration, keyhole and address mapping registers
> +
> +required:
> + - compatible
> + - '#address-cells'
> + - '#size-cells'
> + - ranges
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + system-controller at ffb00000 {
> + /* Broadcom BCA Platform Management Complex version 3.1 */
> + compatible = "brcm,bca-pmc-3-1", "simple-mfd";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0xffb00000 0x21000>;
ranges should be the second.
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list