Unverified Commit 7f0ef89c authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'asahi-soc-dt-5.17' of https://github.com/AsahiLinux/linux into arm/dt

Apple SoC DT updates for 5.17:

- Separate DTs for all t8103 platforms
- Add i2c and cd321x nodes
- Bindings for apple,wdt
- PMGR bindings and DT updates to instantiate it
- WiFi MAC address DT handling

This also includes the MAINTAINERS change for the PMGR driver itself, to
avoid merge issues; the driver will be sent in a different pull.

Manual fixups: Added i2c power domain references to the PMGR DT commit,
since a prior commit added the i2c nodes.

* tag 'asahi-soc-dt-5.17' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: t8103: Expose PCI node for the WiFi MAC address
  arm64: dts: apple: t8103: Add UART2
  arm64: dts: apple: t8103: Add PMGR nodes
  dt-bindings: arm: apple: Add apple,pmgr binding
  dt-bindings: power: Add apple,pmgr-pwrstate binding
  MAINTAINERS: Add PMGR power state files to ARM/APPLE MACHINE
  dt-bindings: watchdog: Add Apple Watchdog
  dt-bindings: interrupt-controller: apple,aic: Add power-domains property
  dt-bindings: pinctrl: apple,pinctrl: Add power-domains property
  dt-bindings: iommu: apple,dart: Add power-domains property
  dt-bindings: i2c: apple,i2c: Add power-domains property
  arm64: dts: apple: t8103: Add cd321x nodes
  arm64: dts: apple: t8103: Add i2c nodes
  arm64: dts: apple: Add missing M1 (t8103) devices
  dt-bindings: arm: apple: Add iMac (24-inch 2021) to Apple bindings
  arm64: dts: apple: add #interrupt-cells property to pinctrl nodes
  dt-bindings: i2c: apple,i2c: allow multiple compatibles
  arm64: dts: apple: change ethernet0 device type to ethernet

Link: https://lore.kernel.org/r/e18b476c-7b1f-de73-53a2-0e21fb5cd283@marcan.st


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 4754eab7 bf2c05b6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -12,12 +12,12 @@ maintainers:
description: |
  ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon".

  This currently includes devices based on the "M1" SoC, starting with the
  three Mac models released in late 2020:
  This currently includes devices based on the "M1" SoC:

  - Mac mini (M1, 2020)
  - MacBook Pro (13-inch, M1, 2020)
  - MacBook Air (M1, 2020)
  - iMac (24-inch, M1, 2021)

  The compatible property should follow this format:

@@ -56,6 +56,8 @@ properties:
              - apple,j274 # Mac mini (M1, 2020)
              - apple,j293 # MacBook Pro (13-inch, M1, 2020)
              - apple,j313 # MacBook Air (M1, 2020)
              - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021)
              - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021)
          - const: apple,t8103
          - const: apple,arm-platform

+134 −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/arm/apple/apple,pmgr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SoC Power Manager (PMGR)

maintainers:
  - Hector Martin <marcan@marcan.st>

description: |
  Apple SoCs include PMGR blocks responsible for power management,
  which can control various clocks, resets, power states, and
  performance features. This node represents the PMGR as a syscon,
  with sub-nodes representing individual features.

properties:
  $nodename:
    pattern: "^power-management@[0-9a-f]+$"

  compatible:
    items:
      - enum:
          - apple,t8103-pmgr
          - apple,t6000-pmgr
      - const: apple,pmgr
      - const: syscon
      - const: simple-mfd

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

patternProperties:
  "power-controller@[0-9a-f]+$":
    description:
      The individual power management domains within this controller
    type: object
    $ref: /power/apple,pmgr-pwrstate.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        power-management@23b700000 {
            compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
            #address-cells = <1>;
            #size-cells = <1>;
            reg = <0x2 0x3b700000 0x0 0x14000>;

            ps_sio: power-controller@1c0 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x1c0 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "sio";
                apple,always-on;
            };

            ps_uart_p: power-controller@220 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x220 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "uart_p";
                power-domains = <&ps_sio>;
            };

            ps_uart0: power-controller@270 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x270 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "uart0";
                power-domains = <&ps_uart_p>;
            };
        };

        power-management@23d280000 {
            compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
            #address-cells = <1>;
            #size-cells = <1>;
            reg = <0x2 0x3d280000 0x0 0xc000>;

            ps_aop_filter: power-controller@4000 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x4000 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "aop_filter";
            };

            ps_aop_base: power-controller@4010 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x4010 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "aop_base";
                power-domains = <&ps_aop_filter>;
            };

            ps_aop_shim: power-controller@4038 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x4038 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "aop_shim";
                power-domains = <&ps_aop_base>;
            };

            ps_aop_uart0: power-controller@4048 {
                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
                reg = <0x4048 8>;
                #power-domain-cells = <0>;
                #reset-cells = <0>;
                label = "aop_uart0";
                power-domains = <&ps_aop_shim>;
            };
        };
    };
+7 −4
Original line number Diff line number Diff line
@@ -20,9 +20,9 @@ allOf:

properties:
  compatible:
    enum:
      - apple,t8103-i2c
      - apple,i2c
    items:
      - const: apple,t8103-i2c
      - const: apple,i2c

  reg:
    maxItems: 1
@@ -40,6 +40,9 @@ properties:
      used. This frequency is generated by dividing the reference clock.
      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
@@ -51,7 +54,7 @@ unevaluatedProperties: false
examples:
  - |
    i2c@35010000 {
      compatible = "apple,t8103-i2c";
      compatible = "apple,t8103-i2c", "apple,i2c";
      reg = <0x35010000 0x4000>;
      interrupt-parent = <&aic>;
      interrupts = <0 627 4>;
+3 −0
Original line number Diff line number Diff line
@@ -65,6 +65,9 @@ properties:
      Specifies base physical address and size of the AIC registers.
    maxItems: 1

  power-domains:
    maxItems: 1

required:
  - compatible
  - '#interrupt-cells'
+3 −0
Original line number Diff line number Diff line
@@ -41,6 +41,9 @@ properties:
      Has to be one. The single cell describes the stream id emitted by
      a master to the IOMMU.

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
Loading