From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B6FB0C43334 for ; Thu, 9 Jun 2022 15:10:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=aGb7euvg2gzs/Fl0VJ6WAJ+H77KoKobxTSvv1o7HMGw=; b=SXXR3Tsx3Yr/HS dIqz5d1GlKM7K6Fs9EP+LuFSm0KzqlfBQ6heqaD1By5o/xoukz1zChiM0uJBXQe2CzJ4YlIwKwTH1 rTgReG5c51I/pd1GM2vfWi2au7IO8ZjeSieQuQwtmz+KgtKE+YVyUx3j6EC7RCnmmMX/QT1wKzDvi RG+EFMnVDMHobErUNvoFdHMM1LqppmHQJm2MBJ/NaBHFR+e2J9L5kpk3VOX/bTGHp/7fmZC0w8Vhy xesaVuWXWO1Nppz/doqCiQILQOoqroZPfNOdElmeiT7fJW3wmqp0ArO6P0qelpaqXUkJlVIycwCt4 l2OIOzlvk4KDTGEs+zVQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzJn4-002elj-4E; Thu, 09 Jun 2022 15:09:42 +0000 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzJn1-002ek5-OZ for linux-arm-kernel@lists.infradead.org; Thu, 09 Jun 2022 15:09:41 +0000 Received: by mail-ej1-x633.google.com with SMTP id y19so48093268ejq.6 for ; Thu, 09 Jun 2022 08:09:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=YHOM+mYbI6Bxg2SBi/HBdfsrINjBzJ9I6MBqUHf1FjY=; b=a2VNDPi0QrYfC9azutv4aMCuFa4B+DHC7sXr6PEJGqVcn21a0JdUCoqDLtHSJdCuni sJHi4TCYMSV+UZeo2/AnfmlVEjCDghh5h1xzrjYsbB+OIRqQKhEKkG0Zl61xaOX8rGLe xui5KMp56FLkNDxwtkxx0mYV35AzETwbiuHtV0CCCLWR7WwT2J4d5vf+vD8nTUqlGXEz pcxf9YM+oGCHmCDpQ20u/1HhG6R35+ZqnZdrLmVIhbQk7aVhEZ0vtg0Qq9Ke1o0lU/Qo XIBpESu9HdBu271S4Ja/CTnuRmiKq4LezQDl8qp5tliEeoLbYTUrpnAePqCyluGLfwfK k9JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=YHOM+mYbI6Bxg2SBi/HBdfsrINjBzJ9I6MBqUHf1FjY=; b=yJd3T11b1UETRRIa+QTdkK4ukWeBYYvl3wxZWZ6aMZWeQyTkSNBO0BlJuAa9FaaAHw s7vv+ZGxjcDZZKoOXscZLBlmBDK69EQA0dpbR9Lj5vnLTK9fYuwn3FUtUctxVr3YceS4 UdWZk4Sgma4zD3a4AhjCEdyghM391ItGG6SwGWyLezhw/+v4uIIe9coNVJTneau3FPy1 dZ3nq4TQrlmX1LoI25UvRi74O13mtKiAew/cq+di7mPeKrB/2klt7Y9znSko4kw6SZw0 bm4htD5iaa5kPeJ3V5hMYr5KQcMktHQx0Yr22p5/N3aVk8l6Cek9arQ+C/Aw1/7rhxHB CHEw== X-Gm-Message-State: AOAM533rgYkDTsNoWZ/sYFsNb4XyXu5HjlL7TpqhEk+OldAttsf5Kf46 WNB0AE2xPaG5DHUR8p/B1MY= X-Google-Smtp-Source: ABdhPJwWBhLrnEnZGNDPrUTJVdumNLHrNgMQtMwzp9/W9oT6/3xaUDfnp2FyH0FrEjXOglHnzxZS2g== X-Received: by 2002:a17:907:1689:b0:6fe:fcf4:128e with SMTP id hc9-20020a170907168900b006fefcf4128emr37376626ejc.446.1654787375202; Thu, 09 Jun 2022 08:09:35 -0700 (PDT) Received: from linuxdev2.toradex.int (31-10-206-125.static.upc.ch. [31.10.206.125]) by smtp.gmail.com with ESMTPSA id n24-20020aa7c698000000b0042bb229e81esm14395135edq.15.2022.06.09.08.09.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jun 2022 08:09:34 -0700 (PDT) From: Max Krummenacher To: max.krummenacher@toradex.com Cc: Ulf Hansson , linux-pm@vger.kernel.org, Francesco Dolcini , Mark Brown , "Rafael J . Wysocki" , Kevin Hilman , Andrejs Cainikovs , Biju Das , Bjorn Andersson , Catalin Marinas , Dmitry Baryshkov , Fabio Estevam , Geert Uytterhoeven , Krzysztof Kozlowski , Marcel Ziswiler , NXP Linux Team , Pengutronix Kernel Team , Rob Herring , Sascha Hauer , Shawn Guo , Vinod Koul , Will Deacon , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls Date: Thu, 9 Jun 2022 17:08:46 +0200 Message-Id: <20220609150851.23084-1-max.oss.09@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220609_080939_846561_4B5FBA7F X-CRM114-Status: GOOD ( 17.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Max Krummenacher its power enable by using a regulator. The currently implemented PM domain providers are all specific to a particular system on chip. This series adds a PM domain provider driver which enables/disables a regulator to control its power state. Additionally, marked with RFC, it adds two commits which actually make use of the new driver to instantiate a power domain provider and have a number of power domain consumers use the power domain. The perceived use case is to control a common power domain used by several devices for which not all device drivers nessesarily have a means to control a regulator. It also handles the suspend / resume use case for such devices, the generic power domain framework will disable the domain once the last device has been suspend and will enable it again before resuming the first device. The generic power domain code handles a power domain consumer generically outside of the driver's code. (assuming the 'power-domains' property references exactly one power domain). This allows to use the "regulator-pm-pd" driver with an arbitrary device just by adding the 'power-domains' property to the devices device tree node. However the device's dt-bindings schema likely does not allow the property 'power-domains'. One way to solve this would be to allow 'power-domains' globally similarly how 'status' and other common properties are allowed as implicit properties. Max Krummenacher (5): dt-bindings: power: Add bindings for a power domain controlled by a regulator pm: add regulator power domain controller MAINTAINERS: add REGULATOR POWER DOMAIN arm64: defconfig: Enable generic power domain controller controlling a regulator ARM64: verdin-imx8mm: use regulator power domain to model sleep-moci .../power/regulator-power-domain.yaml | 58 +++++++++ MAINTAINERS | 9 ++ .../dts/freescale/imx8mm-verdin-dahlia.dtsi | 1 + .../boot/dts/freescale/imx8mm-verdin-dev.dtsi | 2 + .../boot/dts/freescale/imx8mm-verdin.dtsi | 35 ++++-- arch/arm64/configs/defconfig | 1 + drivers/power/Kconfig | 1 + drivers/power/Makefile | 5 +- drivers/power/domain/Kconfig | 7 ++ drivers/power/domain/Makefile | 2 + drivers/power/domain/regulator-pdc.c | 112 ++++++++++++++++++ 11 files changed, 221 insertions(+), 12 deletions(-) create mode 100644 Documentation/devicetree/bindings/power/regulator-power-domain.yaml create mode 100644 drivers/power/domain/Kconfig create mode 100644 drivers/power/domain/Makefile create mode 100644 drivers/power/domain/regulator-pdc.c -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel