Commit 2a2274e9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pmdomain updates from Ulf Hansson:
 "pmdomain core:
   - Add dev_pm_genpd_rpm_always_on() to support more fine-grained PM

  pmdomain providers:
   - arm: Remove redundant state verification for the SCMI PM domain
   - bcm: Add system-wakeup support for bcm2835 via GENPD_FLAG_ACTIVE_WAKEUP
   - rockchip: Add support for regulators
   - rockchip: Use SMC call to properly inform firmware
   - sunxi: Add V853 ppu support
   - thead: Add support for RISC-V TH1520 power-domains

  firmware:
   - Add support for the AON firmware protocol for RISC-V THEAD

  cpuidle-psci:
   - Update section in MAINTAINERS for cpuidle-psci
   - Add trace support for PSCI domain-idlestates"

* tag 'pmdomain-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (29 commits)
  firmware: thead: add CONFIG_MAILBOX dependency
  firmware: thead,th1520-aon: Fix use after free in th1520_aon_init()
  pmdomain: arm: scmi_pm_domain: Remove redundant state verification
  pmdomain: thead: fix TH1520_AON_PROTOCOL dependency
  pmdomain: thead: Add power-domain driver for TH1520
  dt-bindings: power: Add TH1520 SoC power domains
  firmware: thead: Add AON firmware protocol driver
  dt-bindings: firmware: thead,th1520: Add support for firmware node
  pmdomain: rockchip: add regulator dependency
  pmdomain: rockchip: add regulator support
  pmdomain: rockchip: fix rockchip_pd_power error handling
  pmdomain: rockchip: reduce indentation in rockchip_pd_power
  pmdomain: rockchip: forward rockchip_do_pmu_set_power_domain errors
  pmdomain: rockchip: cleanup mutex handling in rockchip_pd_power
  dt-bindings: power: rockchip: add regulator support
  pmdomain: rockchip: Fix build error
  pmdomain: imx: gpcv2: use proper helper for property detection
  MAINTAINERS: Update section for cpuidle-psci
  pmdomain: rockchip: Check if SMC could be handled by TA
  cpuidle: psci: Add trace for PSCI domain idle
  ...
parents 0163c886 51f0b891
Loading
Loading
Loading
Loading
+53 −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/firmware/thead,th1520-aon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: T-HEAD TH1520 AON (Always-On) Firmware

description: |
  The Always-On (AON) subsystem in the TH1520 SoC is responsible for managing
  low-power states, system wakeup events, and power management tasks. It is
  designed to operate independently in a dedicated power domain, allowing it to
  remain functional even during the SoC's deep sleep states.

  At the heart of the AON subsystem is the E902, a low-power core that executes
  firmware responsible for coordinating tasks such as power domain control,
  clock management, and system wakeup signaling. Communication between the main
  SoC and the AON subsystem is handled through a mailbox interface, which
  enables message-based interactions with the AON firmware.

maintainers:
  - Michal Wilczynski <m.wilczynski@samsung.com>

properties:
  compatible:
    const: thead,th1520-aon

  mboxes:
    maxItems: 1

  mbox-names:
    items:
      - const: aon

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

required:
  - compatible
  - mboxes
  - mbox-names
  - "#power-domain-cells"

additionalProperties: false

examples:
  - |
    aon: aon {
        compatible = "thead,th1520-aon";
        mboxes = <&mbox_910t 1>;
        mbox-names = "aon";
        #power-domain-cells = <1>;
    };
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ properties:
  compatible:
    enum:
      - allwinner,sun20i-d1-ppu
      - allwinner,sun8i-v853-ppu

  reg:
    maxItems: 1
+3 −0
Original line number Diff line number Diff line
@@ -132,6 +132,9 @@ $defs:
          A number of phandles to clocks that need to be enabled
          while power domain switches state.

      domain-supply:
        description: domain regulator supply.

      pm_qos:
        $ref: /schemas/types.yaml#/definitions/phandle-array
        items:
+7 −0
Original line number Diff line number Diff line
@@ -6103,9 +6103,11 @@ F: include/linux/platform_data/cpuidle-exynos.h
CPUIDLE DRIVER - ARM PSCI
M:	Lorenzo Pieralisi <lpieralisi@kernel.org>
M:	Sudeep Holla <sudeep.holla@arm.com>
M:	Ulf Hansson <ulf.hansson@linaro.org>
L:	linux-pm@vger.kernel.org
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Supported
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git
F:	drivers/cpuidle/cpuidle-psci.c
CPUIDLE DRIVER - ARM PSCI PM DOMAIN
@@ -20510,15 +20512,20 @@ L: linux-riscv@lists.infradead.org
S:	Maintained
T:	git https://github.com/pdp7/linux.git
F:	Documentation/devicetree/bindings/clock/thead,th1520-clk-ap.yaml
F:	Documentation/devicetree/bindings/firmware/thead,th1520-aon.yaml
F:	Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml
F:	Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
F:	Documentation/devicetree/bindings/pinctrl/thead,th1520-pinctrl.yaml
F:	arch/riscv/boot/dts/thead/
F:	drivers/clk/thead/clk-th1520-ap.c
F:	drivers/firmware/thead,th1520-aon.c
F:	drivers/mailbox/mailbox-th1520.c
F:	drivers/net/ethernet/stmicro/stmmac/dwmac-thead.c
F:	drivers/pinctrl/pinctrl-th1520.c
F:	drivers/pmdomain/thead/
F:	include/dt-bindings/clock/thead,th1520-clk-ap.h
F:	include/dt-bindings/power/thead,th1520-power.h
F:	include/linux/firmware/thead/thead,th1520-aon.h
RNBD BLOCK DRIVERS
M:	Md. Haris Iqbal <haris.iqbal@ionos.com>
+3 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include <linux/syscore_ops.h>

#include <asm/cpuidle.h>
#include <trace/events/power.h>

#include "cpuidle-psci.h"
#include "dt_idle_states.h"
@@ -74,7 +75,9 @@ static __cpuidle int __psci_enter_domain_idle_state(struct cpuidle_device *dev,
	if (!state)
		state = states[idx];

	trace_psci_domain_idle_enter(dev->cpu, state, s2idle);
	ret = psci_cpu_suspend_enter(state) ? -1 : idx;
	trace_psci_domain_idle_exit(dev->cpu, state, s2idle);

	if (s2idle)
		dev_pm_genpd_resume(pd_dev);
Loading