From patchwork Wed Mar 27 18:28:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 13607273 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 E5D98CD1283 for ; Wed, 27 Mar 2024 18:28:39 +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=tnGLMia8lCcNwJOl1/kwmnlMeJGEU/K5n2wOsEYLe8o=; b=DV29Ad0+S2ytFu E+3a1KKpiHoWJxbm1vpwhS3U3VSphhzIBAc8wVdKWIIxvrutSxTIvfW4siewqnMghzFxAg1JOksYO Z4ujV2++/q9Nx9IF2FHnb5Mz8BCoB468TcC1IgOlTBfb+uS9vNQT/y3O9MLgtLP0kKs6KI2nINA2P sUmhX6xh2mB1IE0mYsrDbn5Ql/vZP3L4fktSCqzA+h1aTXpz8Zy1ZUaQ74MnRDGIjPPTwmqShJoKg Fi/Y3M4XsL/y6svOnslnYifL05QkVofzDTTlWPiHZN0ijALd/kd+SmlCE/BXP8hFtHWKK0nBRY2Et OjZOC/zdm0VSmX5fZ5Eg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpY0h-0000000AaAi-0nL0; Wed, 27 Mar 2024 18:28:27 +0000 Received: from mail11.truemail.it ([217.194.8.81]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpY0Z-0000000Aa5W-2Hsr for linux-arm-kernel@lists.infradead.org; Wed, 27 Mar 2024 18:28:22 +0000 Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 0C6251FAAA; Wed, 27 Mar 2024 19:28:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dolcini.it; s=default; t=1711564090; bh=XBE7Etg4FHFeDJ4P9UcaubZy83FkhqwTHnNHSjhW2eI=; h=From:To:Subject; b=kPrjvyvvNgVJgvMPX+oDD/FnJmfd5KAsFL9KOPf8NcVWZW2gVZJ8lvWoB43AowIVM fdHmfNg3FgEPGf2ktbLA6LA4I93QYjie//BzGf6rJxqJzNoSCTsqqAz9tuSeJoUtft YpEWK7g91A+8rQzWd77jX32ijK7xhEjTqEucpsfz711h4skLcqac/PSguuW0EUx4pX ev+H4Elp1GWRy761l5B3ryimr3EF1heTw0YwYaE2Yi7jBDh7q6VUu4/sJ0CYhDUkfX uzLMZsAlV2W9D2qGyvn3H2xIR2/rDXmCQa+zgDF4tFFlQFwEYaj2gZhkHTBvEtwHAF dRFL7DrcTYYPA== From: Francesco Dolcini To: Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Francesco Dolcini , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/2] arm64: dts: ti: k3-am625-verdin: add PCIe reset gpio hog Date: Wed, 27 Mar 2024 19:28:01 +0100 Message-Id: <20240327182801.5997-3-francesco@dolcini.it> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240327182801.5997-1-francesco@dolcini.it> References: <20240327182801.5997-1-francesco@dolcini.it> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240327_112820_824207_0B528F28 X-CRM114-Status: GOOD ( 12.29 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Francesco Dolcini Add a GPIO hog to release PCIe reset on the carrier board, this is required to use M.2 or mPCIe cards. Verdin AM62 does not have any PCIe interface, however the Verdin family has PCIe and normally an M.2 or mPCIe slot is available in the carrier board that can be used with cards that use only the USB interface toward the host CPU, for example cellular network modem. Signed-off-by: Francesco Dolcini --- arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi | 8 +++++++- arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi | 8 +++++++- arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi | 8 +++++++- arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi | 8 +++++++- arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi | 9 +++++++++ 5 files changed, 37 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi index 6c4cec8728e4..e51fda1127ef 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi @@ -160,7 +160,8 @@ &mcu_gpio0 { pinctrl-0 = <&pinctrl_gpio_1>, <&pinctrl_gpio_2>, <&pinctrl_gpio_3>, - <&pinctrl_gpio_4>; + <&pinctrl_gpio_4>, + <&pinctrl_pcie_1_reset>; }; /* Verdin I2C_3_HDMI */ @@ -211,6 +212,11 @@ &verdin_gpio_keys { status = "okay"; }; +/* Verdin PCIE_1_RESET# */ +&verdin_pcie_1_reset_hog { + status = "okay"; +}; + /* Verdin UART_2 */ &wkup_uart0 { status = "okay"; diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi index be62648e7818..74eec1a1abca 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi @@ -181,7 +181,8 @@ &mcu_gpio0 { pinctrl-0 = <&pinctrl_gpio_1>, <&pinctrl_gpio_2>, <&pinctrl_gpio_3>, - <&pinctrl_gpio_4>; + <&pinctrl_gpio_4>, + <&pinctrl_pcie_1_reset>; }; /* Verdin I2C_3_HDMI */ @@ -232,6 +233,11 @@ &verdin_gpio_keys { status = "okay"; }; +/* Verdin PCIE_1_RESET# */ +&verdin_pcie_1_reset_hog { + status = "okay"; +}; + /* Verdin UART_2 */ &wkup_uart0 { status = "okay"; diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi index cd81a606c435..754216d8ac14 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi @@ -154,7 +154,8 @@ &mcu_gpio0 { pinctrl-0 = <&pinctrl_gpio_1>, <&pinctrl_gpio_2>, <&pinctrl_gpio_3>, - <&pinctrl_gpio_4>; + <&pinctrl_gpio_4>, + <&pinctrl_pcie_1_reset>; }; /* Verdin I2C_3_HDMI */ @@ -200,6 +201,11 @@ &verdin_gpio_keys { status = "okay"; }; +/* Verdin PCIE_1_RESET# */ +&verdin_pcie_1_reset_hog { + status = "okay"; +}; + /* Verdin UART_2 */ &wkup_uart0 { status = "okay"; diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi index 997dfafd27eb..7372d392ec8a 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi @@ -159,7 +159,8 @@ &mcu_gpio0 { pinctrl-0 = <&pinctrl_gpio_1>, <&pinctrl_gpio_2>, <&pinctrl_gpio_3>, - <&pinctrl_gpio_4>; + <&pinctrl_gpio_4>, + <&pinctrl_pcie_1_reset>; }; /* Verdin I2C_3_HDMI */ @@ -205,6 +206,11 @@ &verdin_gpio_keys { status = "okay"; }; +/* Verdin PCIE_1_RESET# */ +&verdin_pcie_1_reset_hog { + status = "okay"; +}; + /* Verdin UART_2 */ &wkup_uart0 { status = "okay"; diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi index e8d8857ad51f..e6c10d23d038 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi @@ -1407,6 +1407,15 @@ &mcu_gpio0 { "", "", ""; + + verdin_pcie_1_reset_hog: pcie-1-reset-hog { + gpio-hog; + /* Verdin PCIE_1_RESET# (SODIMM 244) */ + gpios = <0 GPIO_ACTIVE_LOW>; + line-name = "PCIE_1_RESET#"; + output-low; + status = "disabled"; + }; }; /* Verdin CAN_2 */