From patchwork Fri Jan 11 18:04:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1023722 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="mqkma8eP"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43brVQ3MVJz9s9h for ; Sat, 12 Jan 2019 05:09:34 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 21880C2221F; Fri, 11 Jan 2019 18:06:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id B702AC221DF; Fri, 11 Jan 2019 18:05:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6E844C22182; Fri, 11 Jan 2019 18:04:58 +0000 (UTC) Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by lists.denx.de (Postfix) with ESMTPS id 9CB34C22201 for ; Fri, 11 Jan 2019 18:04:54 +0000 (UTC) Received: by mail-pf1-f194.google.com with SMTP id g62so7277577pfd.12 for ; Fri, 11 Jan 2019 10:04:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MLVfoDf3+d8p1+iYTCUdtCzuI/b7rgrgA1boQxKy7Uk=; b=mqkma8ePv7HqHol17uPwgSOqg2XF37nwvZ3z34BkuZ3UHyZSpKB5XwBqZKA9waIfhE hitnpi/Vb2jV2iVSMFmnN6oo8cX13eS0Mntcc6QM9l2cs4XzSKGG3JBvzA7TdjeeeGMy 62RXL3bjEAevUyWC3IrODRVppQbTQtUcnyI6I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MLVfoDf3+d8p1+iYTCUdtCzuI/b7rgrgA1boQxKy7Uk=; b=inyJ4kMYLQoIPYsXDNpKPj3imRn5FaQjB2fOnK5PVakLhn6SkB1UadLbW5415RA2fl zYjiNCL7+g7sFuDO7ptuR2GNPI/e2++GNfr+TIaetns7g9On+ww2jOyntH/WbTjmZbAJ UPMdO3iQgg353dPWuhQ/QZoBBF6O5GWrGz7we1V728twpOPZeMwO0zroU53ZmC9BPX+X pcjF0EeQLO8ngI+9EjTnGzFeyXalaxjDMvM15MY67gEtZQxLtxDKiIngpgsLV/sX884t Q7z/81YLTToy+YO65Bt+Sw6wmYszCY9pP59QuYfR1tjZp6KW7xIwt0rtQB1wVExZWx7F Heew== X-Gm-Message-State: AJcUukf7jQsse/Xpzz/P0y52eRTK4MCGra0JNA7fc2t4MesqUzU0oMc6 rbMbqtFi4AAbnVhkW2edmU+vFQ== X-Google-Smtp-Source: ALg8bN5r5IzK4x00UX2yq0OFeRekySJV9h9CjPSCH6s1BwuG1cnsCjAHRYSnXF6z/JaEbmag+ii/Vg== X-Received: by 2002:a63:2315:: with SMTP id j21mr14397221pgj.297.1547229893234; Fri, 11 Jan 2019 10:04:53 -0800 (PST) Received: from localhost.localdomain ([49.206.202.55]) by smtp.gmail.com with ESMTPSA id 186sm156638146pga.36.2019.01.11.10.04.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 10:04:52 -0800 (PST) From: Jagan Teki To: Maxime Ripard , Andre Przywara , Chen-Yu Tsai , Simon Glass , Tom Rini , u-boot@lists.denx.de, linux-sunxi@googlegroups.com, Priit Laes , linux-amarula@amarulasolutions.com Date: Fri, 11 Jan 2019 23:34:12 +0530 Message-Id: <20190111180414.1563-6-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190111180414.1563-1-jagan@amarulasolutions.com> References: <20190111180414.1563-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Cc: Rask Ingemann Lambertsen Subject: [U-Boot] [PATCH 5/7] mmc: sunxi: Add DM_MMC support for A80 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Unlike other Allwinner SoC's, A80 comes with different ahb gate clock offset values and also has mmc common controller. So support them via driver data. Cc: Rask Ingemann Lambertsen Signed-off-by: Jagan Teki --- drivers/mmc/sunxi_mmc.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c index 05f15838a8..33f1ec5e5a 100644 --- a/drivers/mmc/sunxi_mmc.c +++ b/drivers/mmc/sunxi_mmc.c @@ -22,6 +22,7 @@ #ifdef CONFIG_DM_MMC struct sunxi_mmc_variant { bool has_reset; + bool has_mmc_common; u16 gate_offset; u16 mclk_offset; u16 reset_offset; @@ -653,6 +654,19 @@ static int sunxi_mmc_probe(struct udevice *dev) priv->variant->reset_start_bit)); } + if (priv->variant->has_mmc_common) { + u32 *mmc_config_clk, *mmc_common_base; + + ret = dev_read_phandle_with_args(dev, "clocks", "#clock-cells", 0, + 0, &args); + if (ret) + return ret; + mmc_config_clk = (u32 *)ofnode_get_addr(args.node); + + mmc_common_base = (void *)mmc_config_clk + (priv->mmc_no * 4); + setbits_le32(mmc_common_base, BIT(18) | BIT(16)); + } + ret = mmc_set_mod_clk(priv, 24000000); if (ret) return ret; @@ -697,6 +711,12 @@ static const struct sunxi_mmc_variant sun7i_a20_variant = { .reset_start_bit = 8, }; +static const struct sunxi_mmc_variant sun9i_a80_variant = { + .has_mmc_common = true, + .gate_offset = 0x580, + .mclk_offset = 0x410, +}; + static const struct sunxi_mmc_variant sun50i_h6_variant = { .has_reset = true, .gate_offset = 0x84c, @@ -722,6 +742,10 @@ static const struct udevice_id sunxi_mmc_ids[] = { .compatible = "allwinner,sun8i-a83t-emmc", .data = (ulong)&sun7i_a20_variant, }, + { + .compatible = "allwinner,sun9i-a80-mmc", + .data = (ulong)&sun9i_a80_variant, + }, { .compatible = "allwinner,sun50i-a64-mmc", .data = (ulong)&sun7i_a20_variant,