From patchwork Wed May 10 06:58:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wolfram Sang X-Patchwork-Id: 91910 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp3416871vqo; Wed, 10 May 2023 00:04:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4tiDGvQCtEosB4+r08ZIjFL5ddOPQbzgR6LIvQF+VojRiSGUAsJsxD+E+04NwzfCyaLl8h X-Received: by 2002:a17:902:dac2:b0:1ac:4d3e:1bf5 with SMTP id q2-20020a170902dac200b001ac4d3e1bf5mr20975481plx.23.1683702244203; Wed, 10 May 2023 00:04:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683702244; cv=none; d=google.com; s=arc-20160816; b=ukn+5JhpAAHJM3KcuST8EWggzGYMJHq7f0jhdnstpxo1F0PMHvW/rPzf5F337oHzqL 3+J2rZQCSV7q97qvP5XyQjjGzIXyVHik1NX+w9UBvYJAwSfOJmi+ufFTG7qZgmvkHGQ0 Yn36d5WL+DqM4J052HMAjZuJ30GG3aeHDCOT6OtuuEQSo470Yq998OOPNxNS1j1kAoff vgwuVYS8QlKkJGbInK+QZJ7bryhEYtq7D6OnjXSHDdRwYwN8JAZyEH9s+QsqsX/UNBzx EFFKJ5qalZaqgFDoEaa4H18z81Xv0ElnGkhhBfE79o4sjyuzu6Ox0wPntrT4UPNWhBgo rCnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=7iyUz7AwQDBc8FvjjZm8c15O+hKnCoBMzXikGTx8w2U=; b=wf60wsj5sLQdTXhLMujrTN8onNKECpElyMveR40E+RNtDwNjA85Kn0aE+4534mKDI5 Jyq2Qo2Kjg/zlXaEWLrEhqgaaKk0gQf5im7pvN9UNtHo7H0xYMuTbripY34bTVjMnG81 4bZ3Y75NE5lwq7+cZqhLqpxqwpvwEZLKK1oeC+OiGt1VBIwub9Tt8wqRfsWzbEPJmce4 AEKt1IV4ysVQxwZQUM47wou6QV78AA+s2UHnb6fWDBOZmL2WyzSXqEvU1Vcu4jodmXCS c+2xdhd31ytVp0v/4tsysgBDWN8osD3lU9nkLRYmCum952Vi79Jv07y+K56lMP5lAVt0 cJrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@sang-engineering.com header.s=k1 header.b=vN6oqJ5g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p17-20020a170902e75100b001a51bb4ad7dsi3561234plf.45.2023.05.10.00.03.51; Wed, 10 May 2023 00:04:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@sang-engineering.com header.s=k1 header.b=vN6oqJ5g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236305AbjEJG6w (ORCPT + 99 others); Wed, 10 May 2023 02:58:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236287AbjEJG6r (ORCPT ); Wed, 10 May 2023 02:58:47 -0400 Received: from mail.zeus03.de (www.zeus03.de [194.117.254.33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C87C618F for ; Tue, 9 May 2023 23:58:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=sang-engineering.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=k1; bh=QyI1ARe5ZoJkWo LnXCds/cO9nbHrDO4GzO2tDFOIIQI=; b=vN6oqJ5gRpAekZqKHP9B6R0mAuxCI5 SCm8ybqSvm2ieoHBsH820mazCyK3RrEuGJSkNQ8bCh933qpMunrgfks6erhoJBLI UfB94zgEkowsxErVtH482uAfUzDACKgPXMc9sUIjc+JRyz7XcYJzQ+c/hzwCceEM qOmmoHVbkwXao= Received: (qmail 2328201 invoked from network); 10 May 2023 08:58:30 +0200 Received: by mail.zeus03.de with ESMTPSA (TLS_AES_256_GCM_SHA384 encrypted, authenticated); 10 May 2023 08:58:30 +0200 X-UD-Smtp-Session: l3s3148p1@1TxFZlH7Wr8ujnsI From: Wolfram Sang To: linux-renesas-soc@vger.kernel.org Cc: Wolfram Sang , Marek Vasut , Yoshihiro Shimoda , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Conor Dooley , linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] dt-bindings: PCI: rcar-pci-host: add optional regulators Date: Wed, 10 May 2023 08:58:17 +0200 Message-Id: <20230510065819.3987-2-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230510065819.3987-1-wsa+renesas@sang-engineering.com> References: <20230510065819.3987-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765489764454467701?= X-GMAIL-MSGID: =?utf-8?q?1765489764454467701?= Support regulators found on the e.g. KingFisher board for miniPCIe and add a 12v regulator while we are here. Signed-off-by: Wolfram Sang Reviewed-by: Geert Uytterhoeven Acked-by: Krzysztof Kozlowski --- Changes since RFC: * added 12V supply for completeness * use PCIe slot in the example instead of miniPCIe because that is what the Koelsch board offers (just without the regulators ;)) .../devicetree/bindings/pci/rcar-pci-host.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Documentation/devicetree/bindings/pci/rcar-pci-host.yaml b/Documentation/devicetree/bindings/pci/rcar-pci-host.yaml index 8fdfbc763d70..b6a7cb32f61e 100644 --- a/Documentation/devicetree/bindings/pci/rcar-pci-host.yaml +++ b/Documentation/devicetree/bindings/pci/rcar-pci-host.yaml @@ -68,6 +68,15 @@ properties: phy-names: const: pcie + vpcie1v5-supply: + description: The 1.5v regulator to use for PCIe. + + vpcie3v3-supply: + description: The 3.3v regulator to use for PCIe. + + vpcie12v-supply: + description: The 12v regulator to use for PCIe. + required: - compatible - reg @@ -121,5 +130,7 @@ examples: clock-names = "pcie", "pcie_bus"; power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; resets = <&cpg 319>; + vpcie3v3-supply = <&pcie_3v3>; + vpcie12v-supply = <&pcie_12v>; }; }; From patchwork Wed May 10 06:58:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wolfram Sang X-Patchwork-Id: 91912 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp3422895vqo; Wed, 10 May 2023 00:14:51 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4AbD7qQ0hPDddbY0KhnrkSO0MSiNYqLUAo5K4yeyafD866X85LA9woZHcOIKby3UAdPbxQ X-Received: by 2002:a17:902:7b91:b0:1ac:34fe:d040 with SMTP id w17-20020a1709027b9100b001ac34fed040mr15118530pll.50.1683702891174; Wed, 10 May 2023 00:14:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683702891; cv=none; d=google.com; s=arc-20160816; b=NqxccdqdVoSNty4gnvjX9LetQVoxmgeEuIA4C1b0fogHcDyhWUZgh53EgmO3fjk8K0 d3afin/sr4lh9E6Txgk2DCYbJMsPyacFIoetpSL67PP1y5q0T8FiBnM993BNgl6A4rka SF0VwxPAlNO+Ygr1kNWAQz4UmnwEii2qi5GRwbUcTNH4eovglf5sh4ETyj6qFEmhfg8O 41kau1VF6TznTctNLkQEf9jkVaF8Afrpf2MeUt93YwhBDAKt0YqlOxkZASUB2yuxDKug VQqhYgNpECZkTh3g6Eg2TD2waxhM6gvlV2w2Q+PtZcOiAJZB30GuCO5NyO3gjZUjcyrg daAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Mda0d8oJLOROUpHjPZkKWPDZICQvarvik896IEjbegU=; b=Ft+QsbWP0qysWJAAi+fIR4vZ4T9z1oAZBjPOutjLNfTcfPO6YW8t075+Vvocc0peUP qssUQQQGv1ZUaPS8cwV5TXg1PdbfggVceH1gVYGV9ZoKGWct96MJSZJhMcGSXq5o9YhC 7irqutSax/MiEalCTWhC12ey27K615lOIrcC1sYpXPD+vPABahw2N0vtI/rdu3U/94tL hRujwv7edv07+THcDWZZJgyNM+G+v8OzWAho99zbyE+qTqdSwmO9Z2DjhXLWKDnMf5FL lwQyWAzWuIobOdZmAWgIlKS28VnFoXQjF/YtIPDn9TKOED72YuPEIyjB4aieYajKgUw7 jDkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@sang-engineering.com header.s=k1 header.b="jy5JWjo/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y19-20020a170902ed5300b001ab16e0ef5fsi3315474plb.581.2023.05.10.00.14.36; Wed, 10 May 2023 00:14:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@sang-engineering.com header.s=k1 header.b="jy5JWjo/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236337AbjEJG7A (ORCPT + 99 others); Wed, 10 May 2023 02:59:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236292AbjEJG6t (ORCPT ); Wed, 10 May 2023 02:58:49 -0400 Received: from mail.zeus03.de (www.zeus03.de [194.117.254.33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60B776597 for ; Tue, 9 May 2023 23:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=sang-engineering.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=k1; bh=NL8Px7oRKFrzxo pCNFzqBDySrKj3AzZYm+5yTb2UOmo=; b=jy5JWjo/SDn0z5xNJERHSnpEOqZ2yi tfAeznphYEcr5xgkUsRKJWObgNglVY7mm/uEMTdPiykAIhTOXYyrgm5XwM0IRCQH J3q75h/foIq0y4XnZqNYjzUrPNpYecs85PHquqnaiXkjccl6gqOfrmzKg/WmQ7GR Om9MD60Gt31l0= Received: (qmail 2328266 invoked from network); 10 May 2023 08:58:31 +0200 Received: by mail.zeus03.de with ESMTPSA (TLS_AES_256_GCM_SHA384 encrypted, authenticated); 10 May 2023 08:58:31 +0200 X-UD-Smtp-Session: l3s3148p1@p1ZPZlH7ar8ujnsI From: Wolfram Sang To: linux-renesas-soc@vger.kernel.org Cc: Wolfram Sang , Marek Vasut , Yoshihiro Shimoda , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Rob Herring , Bjorn Helgaas , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] PCI: rcar-host: add support for optional regulators Date: Wed, 10 May 2023 08:58:18 +0200 Message-Id: <20230510065819.3987-3-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230510065819.3987-1-wsa+renesas@sang-engineering.com> References: <20230510065819.3987-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765490442890574527?= X-GMAIL-MSGID: =?utf-8?q?1765490442890574527?= The KingFisher board has regulators. They just need to be en-/disabled, so we can leave the handling to devm. Signed-off-by: Wolfram Sang --- Changes since RFC: * add 12v regulator * add comment about the order of enabling the regulators * use a for-loop to iterate over the regulators Sidenote: I tried to introduce 'devm_regulator_bulk_get_enable_optional' to avoid the for-loop but that was a too intrusive change because all of the regulator_bulk logic is designed to fail if something bad happens somewhere. drivers/pci/controller/pcie-rcar-host.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-rcar-host.c b/drivers/pci/controller/pcie-rcar-host.c index e80e56b2a842..e86bf0f7729b 100644 --- a/drivers/pci/controller/pcie-rcar-host.c +++ b/drivers/pci/controller/pcie-rcar-host.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "pcie-rcar.h" @@ -974,13 +975,18 @@ static const struct of_device_id rcar_pcie_of_match[] = { {}, }; +/* Design note 346 from Linear Technology says order is not important */ +static const char * const rcar_pcie_supplies[] = { + "vpcie12v", "vpcie3v3", "vpcie1v5" +}; + static int rcar_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct rcar_pcie_host *host; struct rcar_pcie *pcie; u32 data; - int err; + int i, err; struct pci_host_bridge *bridge; bridge = devm_pci_alloc_host_bridge(dev, sizeof(*host)); @@ -992,6 +998,13 @@ static int rcar_pcie_probe(struct platform_device *pdev) pcie->dev = dev; platform_set_drvdata(pdev, host); + for (i = 0; i < ARRAY_SIZE(rcar_pcie_supplies); i++) { + err = devm_regulator_get_enable_optional(dev, rcar_pcie_supplies[i]); + if (err < 0 && err != -ENODEV) + dev_err_probe(dev, err, "error enabling regulator %s\n", + rcar_pcie_supplies[i]); + } + pm_runtime_enable(pcie->dev); err = pm_runtime_get_sync(pcie->dev); if (err < 0) {