From patchwork Mon Sep 4 11:58:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sascha Hauer X-Patchwork-Id: 13373743 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 66353CA0FF6 for ; Mon, 4 Sep 2023 11:58:40 +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:References:In-Reply-To: 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: List-Owner; bh=wNyx6LIBDgPugpT9wmVsTCmykKcV3shias/VQk5sa5s=; b=bUGoKExHAscEvy pHzHF6Bej35B3Ky2jKfY+V4AU7Cv0Y6V9mPUBtlE6yrSN4S6eixfOSsDrzev7lXsvFLblk0Z/LcV2 c5lV5co46VPAhkXLkyWEPmgLhFJwqfTzheQSdRHztc1HtAC+330jeTH+b0LHaRTZXlMoZGc1LX9fZ cFGNf3Tb0f7BFWtF3833CGjpef4sQ8mvPBSXuiTP5s3+7/DlvZOA8qR8jaQtnxYllSm4gRKxu6tzg KlAv6rGKFQjf6kJWRIVK+h3w+RRvr6rNJRABqEeeMkX/dfN6GDBPX/TPo20tn6JMzzl4mbjka2BrX xEzCcujUAl72HCfLYCJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Dx-0041t7-2k; Mon, 04 Sep 2023 11:58:33 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Do-0041pu-2u for linux-rockchip@lists.infradead.org; Mon, 04 Sep 2023 11:58:30 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qd8Dk-0003r2-RT; Mon, 04 Sep 2023 13:58:20 +0200 Received: from [2a0a:edc0:0:1101:1d::28] (helo=dude02.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qd8Dk-003s43-5M; Mon, 04 Sep 2023 13:58:20 +0200 Received: from sha by dude02.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qd8Dj-005pOo-GB; Mon, 04 Sep 2023 13:58:19 +0200 From: Sascha Hauer To: linux-rockchip@lists.infradead.org Cc: Heiko Stuebner , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, kernel@pengutronix.de, Quentin Schulz , Michael Riesch , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sascha Hauer Subject: [PATCH 1/3] pinctrl: rockchip: add support for io-domain dependency Date: Mon, 4 Sep 2023 13:58:14 +0200 Message-Id: <20230904115816.1237684-2-s.hauer@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230904115816.1237684-1-s.hauer@pengutronix.de> References: <20230904115816.1237684-1-s.hauer@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-rockchip@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230904_045824_969823_457D5DD4 X-CRM114-Status: GOOD ( 24.24 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org On some Rockchip SoCs, some SoC pins are split in what are called IO domains. An IO domain is supplied power externally, by regulators from a PMIC for example. This external power supply is then used by the IO domain as "supply" for the IO pins if they are outputs. Each IO domain can configure which voltage the IO pins will be operating on (1.8V or 3.3V). There already exists an IO domain driver for Rockchip SoCs[1]. This driver allows to explicit the relationship between the external power supplies and IO domains[2]. This makes sure the regulators are enabled by the Linux kernel so the IO domains are supplied with power and correctly configured as per the supplied voltage. This driver is a regulator consumer and does not offer any other interface for device dependency. However, IO pins belonging to an IO domain need to have this IO domain configured correctly before they are being used otherwise they do not operate correctly. We currently do not have any knowledge about which pin is on which IO domain, so we assume that all pins are on some IO domain and defer probing of the pin consumers until the IO domain driver has been probed. Some pins however are needed to access the regulators driving an IO domain. Deferring probe for them as well would introduce a cyclic dependency. To break out of this dependency a pin group can be supplied a rockchip,io-domain-boot-on property. Probe won't be deferred for pin groups with this property. rockchip,io-domain-boot-on should be added to all pin groups needed to access the PMIC driving the IO domains. [1] drivers/soc/rockchip/io-domain.c [2] Documentation/devicetree/bindings/power/rockchip-io-domain.yaml Signed-off-by: Sascha Hauer --- drivers/pinctrl/pinctrl-rockchip.c | 64 ++++++++++++++++++++++++++++++ drivers/pinctrl/pinctrl-rockchip.h | 3 ++ 2 files changed, 67 insertions(+) diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 0276b52f37168..663bd9d6840a5 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -2678,6 +2680,43 @@ static int rockchip_pmx_get_groups(struct pinctrl_dev *pctldev, return 0; } +static int rockchip_pmx_check_io_domain(struct rockchip_pinctrl *info, unsigned group) +{ + struct platform_device *pdev; + int i; + + if (!info->io_domains) + return 0; + + if (info->groups[group].io_domain_skip) + return 0; + + for (i = 0; i < info->num_io_domains; i++) { + if (!info->io_domains[i]) + continue; + + pdev = of_find_device_by_node(info->io_domains[i]); + if (!pdev) { + dev_err(info->dev, "couldn't find IO domain device\n"); + return -ENODEV; + } + + if (!platform_get_drvdata(pdev)) { + dev_err(info->dev, "IO domain device is not probed yet, deferring...(%s)", + info->groups[group].name); + return -EPROBE_DEFER; + } + + of_node_put(info->io_domains[i]); + info->io_domains[i] = NULL; + } + + devm_kfree(info->dev, info->io_domains); + info->io_domains = NULL; + + return 0; +} + static int rockchip_pmx_set(struct pinctrl_dev *pctldev, unsigned selector, unsigned group) { @@ -2691,6 +2730,10 @@ static int rockchip_pmx_set(struct pinctrl_dev *pctldev, unsigned selector, dev_dbg(dev, "enable function %s group %s\n", info->functions[selector].name, info->groups[group].name); + ret = rockchip_pmx_check_io_domain(info, group); + if (ret) + return ret; + /* * for each pin in the pin group selected, program the corresponding * pin function number in the config register. @@ -3019,6 +3062,8 @@ static int rockchip_pinctrl_parse_groups(struct device_node *np, if (!size || size % 4) return dev_err_probe(dev, -EINVAL, "wrong pins number or pins and configs should be by 4\n"); + grp->io_domain_skip = of_property_read_bool(np, "rockchip,io-domain-boot-on"); + grp->npins = size / 4; grp->pins = devm_kcalloc(dev, grp->npins, sizeof(*grp->pins), GFP_KERNEL); @@ -3417,6 +3462,22 @@ static int rockchip_pinctrl_probe(struct platform_device *pdev) return PTR_ERR(info->regmap_pmu); } + info->num_io_domains = of_property_count_u32_elems(np, "rockchip,io-domains"); + if (info->num_io_domains) { + int i; + + info->io_domains = devm_kmalloc_array(dev, info->num_io_domains, + sizeof(*info->io_domains), GFP_KERNEL); + if (!info->io_domains) + return -ENOMEM; + + for (i = 0; i < info->num_io_domains; i++) { + info->io_domains[i] = of_parse_phandle(np, "rockchip,io-domains", 0); + if (!info->io_domains[i]) + return -EINVAL; + } + } + ret = rockchip_pinctrl_register(pdev, info); if (ret) return ret; @@ -3439,6 +3500,9 @@ static int rockchip_pinctrl_remove(struct platform_device *pdev) of_platform_depopulate(&pdev->dev); + for (i = 0; i < info->num_io_domains; i++) + of_node_put(info->io_domains[i]); + for (i = 0; i < info->ctrl->nr_banks; i++) { bank = &info->ctrl->pin_banks[i]; diff --git a/drivers/pinctrl/pinctrl-rockchip.h b/drivers/pinctrl/pinctrl-rockchip.h index 4759f336941ef..d2ac79b0a7bc4 100644 --- a/drivers/pinctrl/pinctrl-rockchip.h +++ b/drivers/pinctrl/pinctrl-rockchip.h @@ -435,6 +435,7 @@ struct rockchip_pin_group { unsigned int npins; unsigned int *pins; struct rockchip_pin_config *data; + bool io_domain_skip; }; /** @@ -462,6 +463,8 @@ struct rockchip_pinctrl { unsigned int ngroups; struct rockchip_pmx_func *functions; unsigned int nfunctions; + struct device_node **io_domains; + int num_io_domains; }; #endif From patchwork Mon Sep 4 11:58:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sascha Hauer X-Patchwork-Id: 13373744 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 90F48C71153 for ; Mon, 4 Sep 2023 11:58:47 +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:References:In-Reply-To: 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: List-Owner; bh=jlZDjzJunv/XREIoJLf/W95NgVEF3qOe/hxHL1MFOzw=; b=vyMFnZ2/ZqAmXC cUB5APi1eurIt1v1EDsca7WjvPw8HlJy7UAViEcLJ6InRsBoJhFhGuX3p0elOvuBktlvbu32yH8au iGgj4RFso4eoX0pqKi6DGOqwPV2Z5P9xdGSpOI+hacthRLZkUQoOfWt4imtW4G/dPVOd4pXC06wup 0R65rIM5Tl3Ey42etFhuccbWL77/h1RyNd54s2tZebU+OZJ2TRGz7G13UnT+G8gN26soAc5txubjE 4Crgx8s4Z3VvQdZbSXB9RGLO/vux1NN2x92g/K6t2dyxGPg4IxIR+uJtuF4qWanXPLBFAJNGky/1Q Oqkq2Z1WxwiLCrPPkbsg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Dy-0041tl-0s; Mon, 04 Sep 2023 11:58:34 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Do-0041px-2u for linux-rockchip@lists.infradead.org; Mon, 04 Sep 2023 11:58:32 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qd8Dl-0003r4-2P; Mon, 04 Sep 2023 13:58:21 +0200 Received: from [2a0a:edc0:0:1101:1d::28] (helo=dude02.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qd8Dk-003s49-Jh; Mon, 04 Sep 2023 13:58:20 +0200 Received: from sha by dude02.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qd8Dj-005pOr-HB; Mon, 04 Sep 2023 13:58:19 +0200 From: Sascha Hauer To: linux-rockchip@lists.infradead.org Cc: Heiko Stuebner , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, kernel@pengutronix.de, Quentin Schulz , Michael Riesch , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sascha Hauer Subject: [PATCH 2/3] dt-bindings: pinctrl: rockchip: Add io domain properties Date: Mon, 4 Sep 2023 13:58:15 +0200 Message-Id: <20230904115816.1237684-3-s.hauer@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230904115816.1237684-1-s.hauer@pengutronix.de> References: <20230904115816.1237684-1-s.hauer@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-rockchip@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230904_045824_998808_97179151 X-CRM114-Status: GOOD ( 14.31 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org Add rockchip,io-domains property to the Rockchip pinctrl driver. This list of phandles points to the IO domain device(s) the pins of the pinctrl driver are supplied from. Also a rockchip,io-domain-boot-on property is added to pin groups which can be used for pin groups which themselves are needed to access the regulators an IO domain is driven from. Signed-off-by: Sascha Hauer --- .../bindings/pinctrl/rockchip,pinctrl.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml index 10c335efe619e..92075419d29cf 100644 --- a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml @@ -62,6 +62,11 @@ properties: Required for at least rk3188 and rk3288. On the rk3368 this should point to the PMUGRF syscon. + rockchip,io-domains: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + Phandles to io domains + "#address-cells": enum: [1, 2] @@ -137,7 +142,13 @@ additionalProperties: - description: The phandle of a node contains the generic pinconfig options to use as described in pinctrl-bindings.txt. - + rockchip,io-domain-boot-on: + type: boolean + description: + If true assume that the io domain needed for this pin group has been + configured correctly by the bootloader. This is needed to break cyclic + dependencies introduced when a io domain needs a regulator that can be + accessed through pins configured here. examples: - | #include From patchwork Mon Sep 4 11:58:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sascha Hauer X-Patchwork-Id: 13373741 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 41262C83F33 for ; Mon, 4 Sep 2023 11:58:40 +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:References:In-Reply-To: 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: List-Owner; bh=YK3fyTN+xgggJ+JsIyWkQujFeyzKYVVkDIQYWnkadug=; b=bcSR8xrOPhKcmx pPcANo1TkqMXr1n3AjY9Hi6DguDI0P2sbePKq2E28tEI5LkBG0zqsrjpMY3ZXbalTCS5Js/e2RlZO qVba1RHFf4BhgdC8l4/Miy+b6GOWI6lU+cpefNVrelIj7RAqKA+T3A4/P8K5asTRHbnFF26aPk+ju H6GW2p/yZvF1ZwgGRNTJMfL0Q9dU1AQxgcgivx8bhpx88tvQit8f6Zm7g0W0IGOppKdCsiDbbCGut Z/V725zshovq8Wprn2KhfdYHQD/wt9Wg2KIF3dGwqqy5z8vXZNFfy6NGTNekCo7U/LK2gtHui03hY 9n7jRZaXvckxPJSFUG6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Dz-0041uP-0L; Mon, 04 Sep 2023 11:58:35 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qd8Du-0041rV-0J for linux-rockchip@lists.infradead.org; Mon, 04 Sep 2023 11:58:32 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qd8Dk-0003r3-RT; Mon, 04 Sep 2023 13:58:20 +0200 Received: from [2a0a:edc0:0:1101:1d::28] (helo=dude02.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qd8Dk-003s46-Ck; Mon, 04 Sep 2023 13:58:20 +0200 Received: from sha by dude02.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qd8Dj-005pP0-IC; Mon, 04 Sep 2023 13:58:19 +0200 From: Sascha Hauer To: linux-rockchip@lists.infradead.org Cc: Heiko Stuebner , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, kernel@pengutronix.de, Quentin Schulz , Michael Riesch , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sascha Hauer Subject: [PATCH 3/3] arm64: dts: rockchip: rock-3a: add io domain properties Date: Mon, 4 Sep 2023 13:58:16 +0200 Message-Id: <20230904115816.1237684-4-s.hauer@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230904115816.1237684-1-s.hauer@pengutronix.de> References: <20230904115816.1237684-1-s.hauer@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-rockchip@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230904_045830_134798_234F806C X-CRM114-Status: GOOD ( 11.25 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org Tell the pinctrl driver that it shall wait for the io domain driver before configuring pins. Also add exceptions for the pins needed to access the PMIC. Signed-off-by: Sascha Hauer --- arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts index e05ab11981f55..9d709afc101af 100644 --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts @@ -300,6 +300,14 @@ &hdmi_sound { status = "okay"; }; +&i2c0_xfer { + rockchip,io-domain-boot-on; +}; + +&i2s1m0_mclk { + rockchip,io-domain-boot-on; +}; + &i2c0 { status = "okay"; @@ -615,6 +623,8 @@ &pcie3x2 { }; &pinctrl { + rockchip,io-domains = <&pmu_io_domains>; + cam { vcc_cam_en: vcc_cam_en { rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; @@ -659,6 +669,7 @@ pmic { pmic_int: pmic_int { rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + rockchip,io-domain-boot-on; }; };