From patchwork Sat May 11 11:28:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Karlman X-Patchwork-Id: 1934102 X-Patchwork-Delegate: ykai007@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=kwiboo.se header.i=@kwiboo.se header.a=rsa-sha256 header.s=fe-e1b5cab7be header.b=c+U9334G; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vc3S05zL0z1yfq for ; Sat, 11 May 2024 21:29:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BE0C48858A; Sat, 11 May 2024 13:28:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=kwiboo.se header.i=@kwiboo.se header.b="c+U9334G"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 40087884F1; Sat, 11 May 2024 13:28:53 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4C9BF8817B for ; Sat, 11 May 2024 13:28:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=SRS0=6c02=MO=kwiboo.se=jonas@fe-bounces.kwiboo.se DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1715426919; bh=XDEdJUZBvhVF3Xn2AS0H+clqiqTGW/CBhs4BT5QtU/k=; b=c+U9334GyD130cSBEAiDAvrQ5+u4oc7lQV8u1+8VouHhU5MaN0ZiwPwqyoFN/wSftp3TxWeUF uBvOIu7Qy7AZoUC4/kKIJC3i4bs9NLoAGU9mnp6xrJibI973X/E/IIbKxeg+K+G9hr4xtS/Jr52 cNnEHo/lr7wH0ZbSYpqX7Fr3e0dB1s34bvhEHUYKvA74YSm3c1rI9hNSxp2gzDbZYQkHQG9xWr2 kh58nxzuHwUmZe/oVoyULfY8e6B8KTEYBpYX2ya7HcJoW7hgqJkDKpdHPxOyo9UjgPhVnbWKwvO p3BoGIvkMhi7Mf1ppRCyqoca4WUQCGtJ6NnlkQdZfj0A== From: Jonas Karlman To: Kever Yang , Simon Glass , Philipp Tomsich , Tom Rini Cc: Johan Jonker , u-boot@lists.denx.de, Jonas Karlman Subject: [PATCH 2/4] gpio: rockchip: Add request() ops Date: Sat, 11 May 2024 11:28:13 +0000 Message-ID: <20240511112821.1156519-3-jonas@kwiboo.se> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240511112821.1156519-1-jonas@kwiboo.se> References: <20240511112821.1156519-1-jonas@kwiboo.se> MIME-Version: 1.0 X-Report-Abuse-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Complaints-To: abuse@forwardemail.net X-ForwardEmail-Version: 0.4.40 X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-ForwardEmail-ID: 663f5662acd5e90e057dfc52 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Some boards use pinctrl to set a non-gpio pinmux on a pin that is later requested to be used for gpio output. Add a request() ops that call pinctrl_gpio_request() when the required gpio-ranges prop has been defined to signal pinctrl driver to use gpio pinmux. Signed-off-by: Jonas Karlman --- PX30, RK3066, RK3188, RK356x and RK3588 are the only SoCs affected, gpio-ranges props for remaining RK SoCs will be added in a follow up series adding support for the pinmux status cmd. --- drivers/gpio/rk_gpio.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpio/rk_gpio.c b/drivers/gpio/rk_gpio.c index 2e901ac5c734..956894501633 100644 --- a/drivers/gpio/rk_gpio.c +++ b/drivers/gpio/rk_gpio.c @@ -126,6 +126,15 @@ static int rockchip_gpio_get_function(struct udevice *dev, unsigned offset) return (data & mask) ? GPIOF_OUTPUT : GPIOF_INPUT; } +static int rockchip_gpio_request(struct udevice *dev, unsigned offset, + const char *label) +{ + if (CONFIG_IS_ENABLED(PINCTRL) && dev_read_bool(dev, "gpio-ranges")) + return pinctrl_gpio_request(dev, offset, label); + + return 0; +} + /* Simple SPL interface to GPIOs */ #ifdef CONFIG_SPL_BUILD @@ -216,6 +225,7 @@ static int rockchip_gpio_probe(struct udevice *dev) } static const struct dm_gpio_ops gpio_rockchip_ops = { + .request = rockchip_gpio_request, .direction_input = rockchip_gpio_direction_input, .direction_output = rockchip_gpio_direction_output, .get_value = rockchip_gpio_get_value,