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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 40039C433F5 for ; Fri, 1 Oct 2021 23:23:29 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8142F61A7B for ; Fri, 1 Oct 2021 23:23:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8142F61A7B Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 302D582B9F; Sat, 2 Oct 2021 01:23:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="Sc8ZthCE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id ECF1981E1C; Sat, 2 Oct 2021 00:40:27 +0200 (CEST) Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F34AA81197 for ; Sat, 2 Oct 2021 00:40:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=roman.bacik@broadcom.com Received: by mail-pf1-x434.google.com with SMTP id u7so9139366pfg.13 for ; Fri, 01 Oct 2021 15:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:from:to:cc:subject:date:message-id:in-reply-to :references; bh=yLkzIC1S0xRzdXBWjgO1Fi0GHpJ6T3lGfBgJXJnfjf8=; b=Sc8ZthCE05auS6SIrLEX042NTlGjWg/MHgwQPd3nauHscshEQp2VAPIJen3YMOobOG oLCt1UGrPbe0O5W29zyWlUN/upnFOmUV8JYeOpx3bIWMZGv7ub7RyAgmbRBO8JHh0SiE jrj+WgzDqMGcFFZ3cbdQjmqS4tMUslIDm/79g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:to:cc:subject:date:message-id :in-reply-to:references; bh=yLkzIC1S0xRzdXBWjgO1Fi0GHpJ6T3lGfBgJXJnfjf8=; b=wb+JYkStiPV/UGVQMX/5/EGRESpRwvgQmDZlbY9+7QOOm5viqv40RhTj3LJYX6HV1S auIfukTTnlswwOO1+zQvIZMjnR/AoiMs5M2yhx5l50NSDhrIw4HWQyWVjbwLWLC3UpKt HU9DNaLx3yUwuOlKs9bGFw8e34HJ/hSd4IPvcxNC9ejt0I8IbWjyNf1r54W1sTHdJmFV jsdyCsRxd66LkwId6AisdSpE92AvMKX7chm4SmABNnmSwWg/2NsOYT1IjiyqS5FJfO8w 8FEbFgtsxh1URnhScScVpRjs8rG9JhoJ54kK4WMwAixQSr/NuC6XD3fvCYakFIkpX3td OFaA== X-Gm-Message-State: AOAM533fNi1jVjlGr6+wUlfmwC3YqKcSde46rEEvDrqy+j8w65IfSka7 fJFsMZFXpFYBzfLw3IICCIPsmQozvGanmgplF4M4sd/n/Mmq4dzg6tM3E0fCYcEybUBuXQ88qVw cpnVjvOjEZKwkG77LtBcCaez0lIxqFIyL3A6HGkfZvuXSz/DmYNo5Um5xIy9X1x8VT2oda4uRe2 XV MIME-Version: 1.0 X-Google-Smtp-Source: ABdhPJz+51kl2+/C7wDwjsCXHAGb50E6dR0/kTORkglM3+5WlY/K3mFiJJVFFBpZf4zxxNti5itFCQ== X-Received: by 2002:a62:1bc2:0:b0:44b:bd59:4b32 with SMTP id b185-20020a621bc2000000b0044bbd594b32mr13703699pfb.55.1633128021778; Fri, 01 Oct 2021 15:40:21 -0700 (PDT) Received: from lbrmn-lnxub138.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id l11sm1429639pjy.19.2021.10.01.15.40.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Oct 2021 15:40:21 -0700 (PDT) From: Roman Bacik To: U-Boot Mailing List Cc: Bharat Gooty , Rayagonda Kokatanur , Roman Bacik , Dario Binacchi , Pratyush Yadav , Simon Glass , Vignesh Raghavendra Subject: [PATCH v2 2/2] pinctrl: single: Add request() api Date: Fri, 1 Oct 2021 15:39:40 -0700 Message-Id: <20211001223940.11190-2-roman.bacik@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211001223940.11190-1-roman.bacik@broadcom.com> References: <20211001223940.11190-1-roman.bacik@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000a366e705cd523f07" X-Mailman-Approved-At: Sat, 02 Oct 2021 01:23:08 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.2 at phobos.denx.de X-Virus-Status: Clean --000000000000a366e705cd523f07 Content-Type: text/plain; charset="US-ASCII" From: Bharat Gooty Add pinctrl_ops->request api to configure pctrl pad register in gpio mode. Signed-off-by: Rayagonda Kokatanur Signed-off-by: Bharat Gooty Acked-by: Rayagonda Kokatanur Reviewed-by: Simon Glass Signed-off-by: Roman Bacik --- (no changes since v1) drivers/pinctrl/pinctrl-single.c | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index c68d48d7fbcc..1c250add1d73 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -250,6 +250,39 @@ static int single_get_pin_muxing(struct udevice *dev, unsigned int pin, return 0; } +static int single_request(struct udevice *dev, int pin, int flags) +{ + struct single_priv *priv = dev_get_priv(dev); + struct single_pdata *pdata = dev_get_plat(dev); + struct single_gpiofunc_range *frange = NULL; + struct list_head *pos, *tmp; + phys_addr_t reg; + int mux_bytes = 0; + u32 data; + + /* If function mask is null, needn't enable it. */ + if (!pdata->mask) + return -ENOTSUPP; + + list_for_each_safe(pos, tmp, &priv->gpiofuncs) { + frange = list_entry(pos, struct single_gpiofunc_range, node); + if ((pin >= frange->offset + frange->npins) || + pin < frange->offset) + continue; + + mux_bytes = pdata->width / BITS_PER_BYTE; + reg = pdata->base + pin * mux_bytes; + + data = single_read(dev, reg); + data &= ~pdata->mask; + data |= frange->gpiofunc; + single_write(dev, data, reg); + break; + } + + return 0; +} + static struct single_func *single_allocate_function(struct udevice *dev, unsigned int group_pins) { @@ -590,6 +623,7 @@ const struct pinctrl_ops single_pinctrl_ops = { .get_pin_name = single_get_pin_name, .set_state = single_set_state, .get_pin_muxing = single_get_pin_muxing, + .request = single_request, }; static const struct udevice_id single_pinctrl_match[] = { -- 2.17.1 -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it. --000000000000a366e705cd523f07 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 6kRRYRlzjF1rVR3PZvtVpwKTcWvwqez9YnB5W7zFh0J6WXsQJsLKZoRNvv4VXAk2vycIsWR+aeNb l0x6vipMzcE90s2JZ/wqJlxX8dutql3gueCzZ2SxAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHJvbWFuLmJhY2lrQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUFIRMHHEZDi127CpeMcPLPgCva8Aw DQYJKoZIhvcNAQELBQADggEBAJ3AlGS8SnTzvdaHc1sGWw7/pdUpzU59NLy5p827v5YbcxopZQPL v2q6YbcQTpQnxVa++htLqp+WyOb3PTzydNsHb5B++mR/jz9/+mJsa7yvtLkcDDcQrOfrZus6usQs oGwMj7g7D2OvJHuBtBRpqnKDRO4Wi7MHuGDfW6Wm+YJ3iibIl8OPWiqXlfOlkYxAaZcAAW84IeeM umNUQbWNMoBfa5qSHxe3ZWGNFZWnpTN7vp4rmu8Z1qrZGrSVc9IO3z+3/AD9GdYdelj8miFNczvR 0iiTaHiP8f5hiC8LUlKosTub10tap8TP0SCcuXM5RgS1q9QJ/zmwbg1zPbTTGkgxggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwhRMMZKMaVhUl0DO8wDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIBHKrLVHF9DPHxH8j/cMmnqrUAZFr/hFLRXt lGp1pU5KMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIxMTAwMTIy NDAyMlowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQDHOEiiYOCcs6yPA/C3vio1vnn+1d1oraOiJTNnR+j4ShL3UjulDOYj 2jKKZGqLMgDCniia9p0XXSsJscUX0Ble+ahvMLjsqWj6hHkaeUF1kOIXn2wQnufndulxFokGCioE ysF8Cnk1xpbDN+skY7qjnB3cADuiFaksR/b7ijpVmEMK7XU3agdMt0y+Y1y4GskMYCpi+4sWIgqH LxONsC3YNqDOkU824GcW9Ll5mTSj4VDbn7J1OKYfIpNjsazYC9QeqG7Zj0p8wuu1C6mg9FLHhTme PEztD5HJmQfOpP3c4rUsY5MnruWUtnzDQ1BpLxyiJNlGLNVp/UyvxOLCSZs5 --000000000000a366e705cd523f07--