Received: by 10.192.165.148 with SMTP id m20csp2186960imm; Thu, 26 Apr 2018 07:12:06 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+koCAZObwetu3CmVHXjydlBiec/eed6y+uTBacA/jwDHQnqIE1vW+5f1qWQeNLnWqqDbID X-Received: by 2002:a17:902:20eb:: with SMTP id v40-v6mr34043591plg.277.1524751926446; Thu, 26 Apr 2018 07:12:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524751926; cv=none; d=google.com; s=arc-20160816; b=OP6F3hiu1u5q33DjB41N1eBMo60bTsJqBQzpbM3mAcO4jFf6l3u3wqkvtG8/CVzwJU Q/jQideO+5SqEEOAwoUuW2TgLzpAFRKdpcH2vDSw34I2OYGBCHQ55rJnlC28a3kE0w6r Vc56OFfX9YA33WDcJI14ybTVLehNr6/6cF4jlmwJ/J+V6l5Tg4B6qR1d2hqv4PM0Ocmg /duqmhefqpovuR64NDoTtKl3vePjWxdVNKgQHhNo5ojBXmih/nOtRpBnCrNZ+GoaZNc+ JhJXUfnHmS4AKr4Vvidc9ihfD8JHFtFG/q7MEFc3wNS9mOApEU2ycoRoNqdhWnTOFwIa vLHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=dcmOAfOXZ9leAyqe/dq+zejwzISPqsUJOar9wa6frJU=; b=a/hEdkjQrBOAu2W9BUZs/NCZmEbj8a3scw6WzY3xgZorPyvy63/YJiyhZlj5qLZCg7 Cw0+WXxTbe1xw/1PgdrfUcxXwNI+WiSQdBsQCYl923ZESOyC2pHtKBH+ostApDKocvAa hFHPTKr+ufpka72PuWXUHkcuepFf5ht0jl1K/Ud9uFAHhNy2Mqv1qdqyiTbUxRY9YMgx UOmwDf2S8HCOACwt3RTRtv8d2GDJtLdZh17prTmxb9P+lI4tEnUT/KhcrLZUcEJLAYkS RBPA0YeL+oLPiHL18MXAh5HsPWF1iaZUknHgl1YESI/aiwtHOehHzIs54OFSE/euPk3v OklQ== 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 j6si2989496pfc.351.2018.04.26.07.11.52; Thu, 26 Apr 2018 07:12:06 -0700 (PDT) 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 S932235AbeDZOJD (ORCPT + 99 others); Thu, 26 Apr 2018 10:09:03 -0400 Received: from hermes.aosc.io ([199.195.250.187]:45824 "EHLO hermes.aosc.io" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932214AbeDZOI7 (ORCPT ); Thu, 26 Apr 2018 10:08:59 -0400 Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: icenowy@aosc.io) by hermes.aosc.io (Postfix) with ESMTPSA id F3CFB5BC92; Thu, 26 Apr 2018 14:08:54 +0000 (UTC) From: Icenowy Zheng To: Ulf Hansson , Rob Herring , Maxime Ripard , Chen-Yu Tsai Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Icenowy Zheng Subject: [PATCH 1/3] mmc: sunxi: add support for the MMC controller on H6 Date: Thu, 26 Apr 2018 22:07:26 +0800 Message-Id: <20180426140728.43155-2-icenowy@aosc.io> In-Reply-To: <20180426140728.43155-1-icenowy@aosc.io> References: <20180426140728.43155-1-icenowy@aosc.io> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The new Allwinner H6 SoC have 3 MMC controllers. The first and second ones are similar to the ones on A64, but the third one adds EMCE (Embedded Crypto Engine) support which does hardware transparent crypto on the eMMC. As we still do not have support for EMCE, and the support of it is disabled by defualt, we just duplicate the A64 mmc configurations and change the compatible string. Signed-off-by: Icenowy Zheng --- Documentation/devicetree/bindings/mmc/sunxi-mmc.txt | 2 ++ drivers/mmc/host/sunxi-mmc.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/sunxi-mmc.txt b/Documentation/devicetree/bindings/mmc/sunxi-mmc.txt index 132e0007d7d6..e6aa5c7a5e12 100644 --- a/Documentation/devicetree/bindings/mmc/sunxi-mmc.txt +++ b/Documentation/devicetree/bindings/mmc/sunxi-mmc.txt @@ -16,6 +16,8 @@ Required properties: * "allwinner,sun9i-a80-mmc" * "allwinner,sun50i-a64-emmc" * "allwinner,sun50i-a64-mmc" + * "allwinner,sun50i-h6-emmc" + * "allwinner,sun50i-h6-mmc" - reg : mmc controller base registers - clocks : a list with 4 phandle + clock specifier pairs - clock-names : must contain "ahb", "mmc", "output" and "sample" diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c index 97c6b79b7d6f..05e2b5fd7aa4 100644 --- a/drivers/mmc/host/sunxi-mmc.c +++ b/drivers/mmc/host/sunxi-mmc.c @@ -1168,6 +1168,20 @@ static const struct sunxi_mmc_cfg sun50i_a64_emmc_cfg = { .can_calibrate = true, }; +static const struct sunxi_mmc_cfg sun50i_h6_cfg = { + .idma_des_size_bits = 16, + .clk_delays = NULL, + .can_calibrate = true, + .mask_data0 = true, + .needs_new_timings = true, +}; + +static const struct sunxi_mmc_cfg sun50i_h6_emmc_cfg = { + .idma_des_size_bits = 13, + .clk_delays = NULL, + .can_calibrate = true, +}; + static const struct of_device_id sunxi_mmc_of_match[] = { { .compatible = "allwinner,sun4i-a10-mmc", .data = &sun4i_a10_cfg }, { .compatible = "allwinner,sun5i-a13-mmc", .data = &sun5i_a13_cfg }, @@ -1176,6 +1190,8 @@ static const struct of_device_id sunxi_mmc_of_match[] = { { .compatible = "allwinner,sun9i-a80-mmc", .data = &sun9i_a80_cfg }, { .compatible = "allwinner,sun50i-a64-mmc", .data = &sun50i_a64_cfg }, { .compatible = "allwinner,sun50i-a64-emmc", .data = &sun50i_a64_emmc_cfg }, + { .compatible = "allwinner,sun50i-h6-mmc", .data = &sun50i_h6_cfg }, + { .compatible = "allwinner,sun50i-h6-emmc", .data = &sun50i_h6_emmc_cfg }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, sunxi_mmc_of_match); -- 2.15.1