Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp7069812ybf; Fri, 6 Mar 2020 09:46:03 -0800 (PST) X-Google-Smtp-Source: ADFU+vsXV+BFGxG1rt+1P7TBgQRK5Kb8EKmPwO703i+sip3pnNoJuTuHyDTPcXqMx185l6hSUd11 X-Received: by 2002:aca:1a17:: with SMTP id a23mr3329739oia.84.1583516762483; Fri, 06 Mar 2020 09:46:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583516762; cv=none; d=google.com; s=arc-20160816; b=a2LSbe0s1WExAd9oIgp/mz48MdDJN+dvXejK1iz2YSLKdtsj6Yf9J3mnZHqg1YK9TM W+tZJx6mKJvqfUJ2KX8KPvWkN764yoWUVBhCbMW9bpt7oxzD9VzoQUjAxkeiyiziTvD8 7TUx6HfU4Cfl74HbHHdWlTeo5XE27mIZLTO92c0AjDVxKbaOS0+OMy0N/N0fA2seaCT1 uiosO9geS3SeH/pClrKQf3cSrPTWOSHdeQIDuIw1b133TLBEooceCajadYr1DiuPih42 jsFUfz2EEvKDqDLzNHmwn83zx4d7wPL1f/JKI91lrmMJDXp9miBcwq88Gd50Oazy/7EA Ii5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=GxDBA0paRRWH1ua2ocXbsoPG/QET+f6XqspQBSJdKNU=; b=1F6XUXm9Gm6HelfyqYsD0p2xTMqmTAkgQ1YH4pOVdi5dxCwuGvpuzW14o4+KeBdiOz s7rixbmIVEpFIybJ958XxLD9az3gla/bxufMhdGDtu7txpLlJ9RX+EN0vuIDS3lBwEhH OkGg5gJkl7fQvm+b0SNOMYOWZsGdWOyE8S2PGsiK/OA44E/ucwDWdR/Cyowq1nHt6BpN eh5BacjHjtNtF2oWMFcHf8g6JKDKVCTL8mbOZaNz+jfnh12IYoU+yyEUiAahOcOXcxNu T4NWqXBMMCVpoltITfXSvyDOlt4NHyOdmNrivgm+jTwOAG4CFWw4WyGt6B+0AqvHUWN2 /R4A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a1si1789424oto.87.2020.03.06.09.45.50; Fri, 06 Mar 2020 09:46:02 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727083AbgCFRoo (ORCPT + 99 others); Fri, 6 Mar 2020 12:44:44 -0500 Received: from mx2.suse.de ([195.135.220.15]:60580 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726956AbgCFRoc (ORCPT ); Fri, 6 Mar 2020 12:44:32 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9963FAC66; Fri, 6 Mar 2020 17:44:31 +0000 (UTC) From: Nicolas Saenz Julienne To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org, Ray Jui , Scott Branden , bcm-kernel-feedback-list@broadcom.com Cc: phil@raspberrypi.com, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, f.fainelli@gmail.com, stefan.wahren@i2se.com, linux-rpi-kernel@lists.infradead.org, Nicolas Saenz Julienne , Ulf Hansson Subject: [PATCH v2 09/11] mmc: sdhci: iproc: Add custom set_power() callback for bcm2711 Date: Fri, 6 Mar 2020 18:44:11 +0100 Message-Id: <20200306174413.20634-10-nsaenzjulienne@suse.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de> References: <20200306174413.20634-1-nsaenzjulienne@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The controller needs a valid bus voltage in its power register regardless of whether an external regulator is taking care of the power supply. The sdhci core already provides a helper function for this, sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct sdhci_ops' which makes use of it. Signed-off-by: Nicolas Saenz Julienne --- drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c index f4f5f0a70cda..225603148d7d 100644 --- a/drivers/mmc/host/sdhci-iproc.c +++ b/drivers/mmc/host/sdhci-iproc.c @@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = { .mmc_caps = 0x00000000, }; +static const struct sdhci_ops sdhci_iproc_bcm2711_ops = { + .read_l = sdhci_iproc_readl, + .read_w = sdhci_iproc_readw, + .read_b = sdhci_iproc_readb, + .write_l = sdhci_iproc_writel, + .write_w = sdhci_iproc_writew, + .write_b = sdhci_iproc_writeb, + .set_clock = sdhci_set_clock, + .set_power = sdhci_set_power_and_bus_voltage, + .get_max_clock = sdhci_iproc_get_max_clock, + .set_bus_width = sdhci_set_bus_width, + .reset = sdhci_reset, + .set_uhs_signaling = sdhci_set_uhs_signaling, +}; + static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = { .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12, - .ops = &sdhci_iproc_32only_ops, + .ops = &sdhci_iproc_bcm2711_ops, }; static const struct sdhci_iproc_data bcm2711_data = { -- 2.25.1