Unverified Commit 3476ccbd authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'arm-soc/for-5.20/devicetree' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 5.20, please pull the following:

- Stefan drops the unnecessary "#address-cells" and "#size-cells"
  properties from the DPI node of BCM283x

- Anand documents and adds support for the 63178 and 6858 SoCs

- William migrates the 63138 platform over to ARCH_BCMBCA and ensures
  that it is documented within the BCMBCA Device Tree binding documents.
  He updates the 47622 DTS to remove unnecessary PSCI properties, fix
  the GIC nodes and some minor cosmetic changes. He finally adds support
  for the 63158, 4912, 6846, 6855, 6756, 63146, 6856, 63148, 6813, 6318
  SoCs.

- Peter, Nicolas and Stefan adds the necessary Device Tree nodes to the
  BCM2711 (Raspberry Pi 4) DTS to enable the use of the V3D GPU on these
  platforms.

- Christian adds support for the BCM53015 based Cisco Meraki MR26
  Wi-Fi access point.

- Krzysztof updates the Broadcom platforms DTS to add a missing
  whitespace between the property name and its value.

* tag 'arm-soc/for-5.20/devicetree' of https://github.com/Broadcom/stblinux: (35 commits)
  ARM: dts: Add BCM63138 generic board dts
  ARM: dts: update dts files for bcmbca SoC BCM63138
  ARM: dts: Move BCM963138DVT board dts to ARCH_BCMBCA
  dt-bindings: arm: add BCM63138 SoC
  ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node
  ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node
  dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711
  dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names
  dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema
  ARM: dts: BCM5301X: Add DT for Meraki MR26
  dt-bindings: ARM: add bindings for the Meraki MR26
  dt-bindings: arm64: Add BCM6813 SoC
  ARM: dts: Add DTS files for bcmbca SoC BCM63148
  dt-bindings: arm: Add BCM63148 SoC
  dt-bindings: arm64: Add BCM6856 SoC
  dt-bindings: arm64: Add BCM63146 SoC
  ARM: dts: broadcom: correct gpio-keys properties
  ARM: dts: broadcom: align gpio-key node names with dtschema
  ARM: dts: Add DTS files for bcmbca SoC BCM6756
  dt-bindings: arm: Add BCM6756 SoC
  ...

Link: https://lore.kernel.org/r/20220711164451.3542127-4-f.fainelli@gmail.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents e0a59250 daf7c850
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -87,6 +87,13 @@ properties:
          - const: brcm,bcm53012
          - const: brcm,bcm4708

      - description: BCM53015 based boards
        items:
          - enum:
              - meraki,mr26
          - const: brcm,bcm53015
          - const: brcm,bcm4708

      - description: BCM53016 based boards
        items:
          - enum:
+92 −0
Original line number Diff line number Diff line
@@ -28,6 +28,98 @@ properties:
          - const: brcm,bcm47622
          - const: brcm,bcmbca

      - description: BCM4912 based boards
        items:
          - enum:
              - brcm,bcm94912
          - const: brcm,bcm4912
          - const: brcm,bcmbca

      - description: BCM63138 based boards
        items:
          - enum:
              - brcm,bcm963138
              - brcm,BCM963138DVT
          - const: brcm,bcm63138
          - const: brcm,bcmbca

      - description: BCM63146 based boards
        items:
          - enum:
              - brcm,bcm963146
          - const: brcm,bcm63146
          - const: brcm,bcmbca

      - description: BCM63148 based boards
        items:
          - enum:
              - brcm,bcm963148
          - const: brcm,bcm63148
          - const: brcm,bcmbca

      - description: BCM63158 based boards
        items:
          - enum:
              - brcm,bcm963158
          - const: brcm,bcm63158
          - const: brcm,bcmbca

      - description: BCM63178 based boards
        items:
          - enum:
              - brcm,bcm963178
          - const: brcm,bcm63178
          - const: brcm,bcmbca

      - description: BCM6756 based boards
        items:
          - enum:
              - brcm,bcm96756
          - const: brcm,bcm6756
          - const: brcm,bcmbca

      - description: BCM6813 based boards
        items:
          - enum:
              - brcm,bcm96813
          - const: brcm,bcm6813
          - const: brcm,bcmbca

      - description: BCM6846 based boards
        items:
          - enum:
              - brcm,bcm96846
          - const: brcm,bcm6846
          - const: brcm,bcmbca

      - description: BCM6855 based boards
        items:
          - enum:
              - brcm,bcm96855
          - const: brcm,bcm6855
          - const: brcm,bcmbca

      - description: BCM6856 based boards
        items:
          - enum:
              - brcm,bcm96856
          - const: brcm,bcm6856
          - const: brcm,bcmbca

      - description: BCM6858 based boards
        items:
          - enum:
              - brcm,bcm96858
          - const: brcm,bcm6858
          - const: brcm,bcmbca

      - description: BCM6878 based boards
        items:
          - enum:
              - brcm,bcm96878
          - const: brcm,bcm6878
          - const: brcm,bcmbca

additionalProperties: true

...
+0 −46
Original line number Diff line number Diff line
BCM2835 PM (Power domains, watchdog)

The PM block controls power domains and some reset lines, and includes
a watchdog timer.  This binding supersedes the brcm,bcm2835-pm-wdt
binding which covered some of PM's register range and functionality.

Required properties:

- compatible:		Should be "brcm,bcm2835-pm"
- reg:			Specifies base physical address and size of the two
			  register ranges ("PM" and "ASYNC_BRIDGE" in that
			  order)
- clocks:		a) v3d: The V3D clock from CPRMAN
			b) peri_image: The PERI_IMAGE clock from CPRMAN
			c) h264: The H264 clock from CPRMAN
			d) isp: The ISP clock from CPRMAN
- #reset-cells: 	Should be 1.  This property follows the reset controller
			  bindings[1].
- #power-domain-cells:	Should be 1.  This property follows the power domain
			  bindings[2].

Optional properties:

- timeout-sec:		Contains the watchdog timeout in seconds
- system-power-controller: Whether the watchdog is controlling the
    system power.  This node follows the power controller bindings[3].

[1] Documentation/devicetree/bindings/reset/reset.txt
[2] Documentation/devicetree/bindings/power/power-domain.yaml
[3] Documentation/devicetree/bindings/power/power-controller.txt

Example:

pm {
	compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
	#power-domain-cells = <1>;
	#reset-cells = <1>;
	reg = <0x7e100000 0x114>,
	      <0x7e00a000 0x24>;
	clocks = <&clocks BCM2835_CLOCK_V3D>,
		 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
		 <&clocks BCM2835_CLOCK_H264>,
		 <&clocks BCM2835_CLOCK_ISP>;
	clock-names = "v3d", "peri_image", "h264", "isp";
	system-power-controller;
};
+86 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: BCM2835 PM (Power domains, watchdog)

description: |
  The PM block controls power domains and some reset lines, and includes a
  watchdog timer.

maintainers:
  - Nicolas Saenz Julienne <nsaenz@kernel.org>

allOf:
  - $ref: ../../watchdog/watchdog.yaml#

properties:
  compatible:
    items:
      - enum:
          - brcm,bcm2835-pm
          - brcm,bcm2711-pm
      - const: brcm,bcm2835-pm-wdt

  reg:
    minItems: 2
    maxItems: 3

  reg-names:
    minItems: 2
    items:
      - const: pm
      - const: asb
      - const: rpivid_asb

  "#power-domain-cells":
    const: 1

  "#reset-cells":
    const: 1

  clocks:
    minItems: 4
    maxItems: 4

  clock-names:
    items:
      - const: v3d
      - const: peri_image
      - const: h264
      - const: isp

  system-power-controller:
    type: boolean

  timeout-sec: true

required:
  - compatible
  - reg
  - "#power-domain-cells"
  - "#reset-cells"
  - clocks

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/bcm2835.h>

    watchdog@7e100000 {
        compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
        #power-domain-cells = <1>;
        #reset-cells = <1>;
        reg = <0x7e100000 0x114>,
              <0x7e00a000 0x24>;
        reg-names = "pm", "asb";
        clocks = <&clocks BCM2835_CLOCK_V3D>,
               <&clocks BCM2835_CLOCK_PERI_IMAGE>,
               <&clocks BCM2835_CLOCK_H264>,
               <&clocks BCM2835_CLOCK_ISP>;
        clock-names = "v3d", "peri_image", "h264", "isp";
        system-power-controller;
    };
+10 −3
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
	bcm47094-luxul-xwr-3150-v1.dtb \
	bcm47094-netgear-r8500.dtb \
	bcm47094-phicomm-k3.dtb \
	bcm53015-meraki-mr26.dtb \
	bcm53016-meraki-mr32.dtb \
	bcm94708.dtb \
	bcm94709.dtb \
@@ -146,8 +147,6 @@ dtb-$(CONFIG_ARCH_BCM_53573) += \
	bcm47189-luxul-xap-810.dtb \
	bcm47189-tenda-ac9.dtb \
	bcm947189acdbmr.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += \
	bcm963138dvt.dtb
dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
	bcm911360_entphn.dtb \
	bcm911360k.dtb \
@@ -182,7 +181,15 @@ dtb-$(CONFIG_ARCH_BERLIN) += \
dtb-$(CONFIG_ARCH_BRCMSTB) += \
	bcm7445-bcm97445svmb.dtb
dtb-$(CONFIG_ARCH_BCMBCA) += \
	bcm947622.dtb
	bcm947622.dtb \
	bcm963138.dtb \
	bcm963138dvt.dtb \
	bcm963148.dtb \
	bcm963178.dtb \
	bcm96756.dtb \
	bcm96846.dtb \
	bcm96855.dtb \
	bcm96878.dtb
dtb-$(CONFIG_ARCH_CLPS711X) += \
	ep7211-edb7211.dtb
dtb-$(CONFIG_ARCH_DAVINCI) += \
Loading