From patchwork Tue Jul 17 07:26:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944771 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBjg3L1Tz9rxs for ; Tue, 17 Jul 2018 17:29:11 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WTorYMDX"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBjg079szF3Hf for ; Tue, 17 Jul 2018 17:29:11 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WTorYMDX"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::544; helo=mail-pg1-x544.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WTorYMDX"; dkim-atps=neutral Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhX4HBLzF3Hc for ; Tue, 17 Jul 2018 17:28:12 +1000 (AEST) Received: by mail-pg1-x544.google.com with SMTP id r1-v6so58488pgp.11 for ; Tue, 17 Jul 2018 00:28:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=WDCqUbAJ1b7SoTNVuP7LYvyxKcy9lEwuy3pQ6q0G1P0=; b=WTorYMDXarpyxtf184FFBxOJjqCP7HU5V2DeBBZjnAI9hvRqraX6DT+1hnIRtSmpJ2 MMG3wyxZQAQowZTQQC0A9kVtu95+VTYvhpmBj+Gn+jaqhZN36D8zYrwKE5wOjYY3mHjq sjb08Rc7MuY7j/cyukuAOxKTRIGrsKNjqubgYSiv3/smPw254JAOfy770hsWfWX8YpAt rD07T5e13oc5st3+48iFJ/7BO7mZHE70lUX1DcqGd87iYJxr6s5pSfeLXkcfKXg8XoPk rnL+93g2MBlyC5wy6XyNdGNvxYl3igivRO7vYpFTv+z6oThnxkF0q3nz+hOFivAf600b 80nA== 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; bh=WDCqUbAJ1b7SoTNVuP7LYvyxKcy9lEwuy3pQ6q0G1P0=; b=dz/w2JZVP0Nx/I+0IpaVHESDVSmxcz2LOsrDrtEkaFZ2xd8FpwW8A2nDJwZcH9Slup 0kpletrogL7FGMCot0L2MXfBqNhf3gkq2zYkgyQARjUWK2wn4vxkz8aoYl2DDW+a+GsP cmEOdNg7otjtPt541TpRJobgIN++j5cluRiqT+GSaZQmYQHIpP11feD89QlSvIL0huWC zpspgOEWfc+qFLDPcemK8+K6SM3vhi0Bnbpt1MpMangeyGuC05dM8sCdC+d53cC5/Dti bQyBPAkcmaDte0CM4mDPBGd6n1+V4oReqMW9bKak5bZ9iZQTEaT0gHgMKYrAj8Kz6A17 UZEQ== X-Gm-Message-State: AOUpUlGacY4EW/Ov4GFlBtppq2xYpoLEbFzAWzeEH9cg+n7tO2izMrlg 5zN2hMqAgG+ODlInHKuf39vk6A== X-Google-Smtp-Source: AAOMgpdOpF23bXV8WYUQpgolt0f2bcVTBPV8WF1A9bczMktM9Ppw/vewuAITHNlGHLm6Bh/1mI/CsA== X-Received: by 2002:a62:be03:: with SMTP id l3-v6mr540710pff.138.1531812490199; Tue, 17 Jul 2018 00:28:10 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:09 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 1/7] clk: Aspeed: Modify clk-aspeed.c driver probe sequence Date: Tue, 17 Jul 2018 15:26:12 +0800 Message-Id: <1531812378-14316-2-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" In Aspeed's SoC, all IP clk gating and pll parameter is in scu controller, before IP driver probe, scu driver need prepare for it. So buildin_platform_driver to core_initcall. Signed-off-by: Ryan Chen --- drivers/clk/clk-aspeed.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c index 8796b8a..9e55743 100644 --- a/drivers/clk/clk-aspeed.c +++ b/drivers/clk/clk-aspeed.c @@ -573,7 +573,12 @@ static struct platform_driver aspeed_clk_driver = { .suppress_bind_attrs = true, }, }; -builtin_platform_driver(aspeed_clk_driver); + +static int __init aspeed_clk_init(void) +{ + return platform_driver_register(&aspeed_clk_driver); +} +core_initcall(aspeed_clk_init); static void __init aspeed_ast2400_cc(struct regmap *map) { From patchwork Tue Jul 17 07:26:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944772 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBl01Yt7z9rxs for ; Tue, 17 Jul 2018 17:30:20 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rsWNt45W"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBkz74q3zF3J0 for ; Tue, 17 Jul 2018 17:30:19 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rsWNt45W"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::541; helo=mail-pg1-x541.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rsWNt45W"; dkim-atps=neutral Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhc5G76zF3Hh for ; Tue, 17 Jul 2018 17:28:16 +1000 (AEST) Received: by mail-pg1-x541.google.com with SMTP id r5-v6so70704pgv.0 for ; Tue, 17 Jul 2018 00:28:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SL1s242LPlVjRBnk0K8pdJKHfyuaTnMWD9CPfsEQfnk=; b=rsWNt45WUgNMT2gTDLVaATCcKbQ543xGAVzdmCOBsCAt6qesLGwE5Iu9RNlMyZqilg 24daXj2PqK3/XpRyK4RVKQhIHsd8d4uD/rWrXZSEeCdT2puRbVG3MKdAzUKIbB+CultV QHOclL5M94Nji5D+IZQr7detBD6tp/zybmeCXwmNrordKbwhlJP0VL0oQ95wk5FhNeRd b0BUZxSGk3OSHr/8D41PPsAjQ3rb3jS4od6RHC37UPQw3lGGzL/XSNwE9aIuL4G9z8LY Rnm9zyFE3wM1i59ypqlp4vCNJLTHbrRlslWyvA7aUF3LeiUg2sjrPZa2EftfHZOa2As4 22Hg== 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; bh=SL1s242LPlVjRBnk0K8pdJKHfyuaTnMWD9CPfsEQfnk=; b=GJn2FhoAb5oEASUdztzZUxoY3pLYXc6bgh4dVqEUSg9l/MZC15YIwgMtP21Xrq7BdA 8vWfr2Q3VTYz2qjekkPRrJhK0EoSG5If6Khy8W0wOyv8zijwELMF1V8/3TLcxnmhJ1S9 sKuhqWnb7jxi1G3UrvbSV9dxQehFBeFbGWC1TMFO5+N/Kb9vzbOAMSnI8l4DNKSSEyn1 XAfxg/L86YVg/d4wso433JgDzVJ9GwK7lMTqumKYOprqCOCxkV5zbUUSdtJPxcpVD9TP 8gVYRH6SuXXz2MkHqoRAmd57dwQNj9jqYvGMUUrkm5yx4tmK4A61JFvjZPFK8jyxjrE5 6wLw== X-Gm-Message-State: AOUpUlGN27Zo9VQ+mzDEl3NcLC6kiHwkG17tMl1qKQ8uy79Vyn3Gg2z3 AmvPs+PQqSiCcIT7e1oUYaxCRQ== X-Google-Smtp-Source: AAOMgpdOxjEHXZTlwFMD/mZKq/Ay00qSvBOofWRX1C9x2yasZxH/QTeZDcUH7ovbjHtkFBRl4VaZWg== X-Received: by 2002:a62:1219:: with SMTP id a25-v6mr545902pfj.104.1531812493927; Tue, 17 Jul 2018 00:28:13 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:12 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 2/7] clk: Aspeed: Add sdhci reset and clock Date: Tue, 17 Jul 2018 15:26:13 +0800 Message-Id: <1531812378-14316-3-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" 1.Add Aspeed sdhci reset for SCU04 bit 16 2.Aspeed sdhci have two clock one is for controller clock, another is for SD card clock. so when enable sdhci need enable both. v0->V2 Use aspeed_resets[ASPEED_RESET_SDHCI] replace the maginc number 16 move aspeed_resets in front of aspeed_clk_enable function Signed-off-by: Ryan Chen --- drivers/clk/clk-aspeed.c | 44 ++++++++++++++++++-------------- include/dt-bindings/clock/aspeed-clock.h | 2 +- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c index 9e55743..f399da2 100644 --- a/drivers/clk/clk-aspeed.c +++ b/drivers/clk/clk-aspeed.c @@ -20,6 +20,7 @@ #define ASPEED_RESET_CTRL 0x04 #define ASPEED_CLK_SELECTION 0x08 +#define ASPEED_SDIO_CLK_EN BIT(15) #define ASPEED_CLK_STOP_CTRL 0x0c #define ASPEED_MPLL_PARAM 0x20 #define ASPEED_HPLL_PARAM 0x24 @@ -208,6 +209,25 @@ static const struct aspeed_clk_soc_data ast2400_data = { .calc_pll = aspeed_ast2400_calc_pll, }; +static const u8 aspeed_resets[] = { + /* SCU04 resets */ + [ASPEED_RESET_XDMA] = 25, + [ASPEED_RESET_MCTP] = 24, + [ASPEED_RESET_ADC] = 23, + [ASPEED_RESET_JTAG_MASTER] = 22, + [ASPEED_RESET_MIC] = 18, + [ASPEED_RESET_PWM] = 9, + [ASPEED_RESET_PECI] = 10, + [ASPEED_RESET_I2C] = 2, + [ASPEED_RESET_AHB] = 1, + [ASPEED_RESET_SDHCI] = 16, + /* + * SCUD4 resets start at an offset to separate them from + * the SCU04 resets. + */ + [ASPEED_RESET_CRT1] = ASPEED_RESET2_OFFSET + 5, +}; + static int aspeed_clk_is_enabled(struct clk_hw *hw) { struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); @@ -260,6 +280,11 @@ static int aspeed_clk_enable(struct clk_hw *hw) enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); + /* sd ext clk */ + if (gate->reset_idx == aspeed_resets[ASPEED_RESET_SDHCI]) { + regmap_update_bits(gate->map, ASPEED_CLK_SELECTION, ASPEED_SDIO_CLK_EN, ASPEED_SDIO_CLK_EN); + } + if (gate->reset_idx >= 0) { /* A delay of 10ms is specified by the ASPEED docs */ mdelay(10); @@ -306,25 +331,6 @@ struct aspeed_reset { #define to_aspeed_reset(p) container_of((p), struct aspeed_reset, rcdev) -static const u8 aspeed_resets[] = { - /* SCU04 resets */ - [ASPEED_RESET_XDMA] = 25, - [ASPEED_RESET_MCTP] = 24, - [ASPEED_RESET_ADC] = 23, - [ASPEED_RESET_JTAG_MASTER] = 22, - [ASPEED_RESET_MIC] = 18, - [ASPEED_RESET_PWM] = 9, - [ASPEED_RESET_PECI] = 10, - [ASPEED_RESET_I2C] = 2, - [ASPEED_RESET_AHB] = 1, - - /* - * SCUD4 resets start at an offset to separate them from - * the SCU04 resets. - */ - [ASPEED_RESET_CRT1] = ASPEED_RESET2_OFFSET + 5, -}; - static int aspeed_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id) { diff --git a/include/dt-bindings/clock/aspeed-clock.h b/include/dt-bindings/clock/aspeed-clock.h index 4476184..088553f 100644 --- a/include/dt-bindings/clock/aspeed-clock.h +++ b/include/dt-bindings/clock/aspeed-clock.h @@ -50,5 +50,5 @@ #define ASPEED_RESET_I2C 7 #define ASPEED_RESET_AHB 8 #define ASPEED_RESET_CRT1 9 - +#define ASPEED_RESET_SDHCI 10 #endif From patchwork Tue Jul 17 07:26:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944773 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBlV4V1bz9rxs for ; Tue, 17 Jul 2018 17:30:46 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="giyofgsh"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBlV2RKSzF3J9 for ; Tue, 17 Jul 2018 17:30:46 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="giyofgsh"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::541; helo=mail-pg1-x541.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="giyofgsh"; dkim-atps=neutral Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhf6TPkzF3Hw for ; Tue, 17 Jul 2018 17:28:18 +1000 (AEST) Received: by mail-pg1-x541.google.com with SMTP id r1-v6so58610pgp.11 for ; Tue, 17 Jul 2018 00:28:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/t/HOxQk7eSXHwM2l7gBmgbTkdLFp7ijZrfK56fM8Y0=; b=giyofgshtUkV5ovBt+dMgzjrVF9fLnJqmoxWHP+P2Ylhiu4rR08GHwp7zXFRI6oiUc lC7StYR6R5joiAQPrkgoFFHkJ5AXpRKb+gJLcWsXx2cFAqtcHKpBlbsAZoLS/hzjs7wX 9X9yRX3k6hT2gcBe9iTOz99dilfflle1Ncfe6Bn1U4TBmKwshm/4l8qn2yGaEKczVu84 5wl25jwm1c47xVfClUIszk0z4xyJZKiFvUiIDCTmcbzuYWgCbyNwvdunjIWE3J+QbyUq bl1GUwn2+u1mp1fm/j0Nl8zSaapuI3fU/SuC6D6JOrc6ETElSyCMl9b//CO8R5WbHjl1 Bg6g== 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; bh=/t/HOxQk7eSXHwM2l7gBmgbTkdLFp7ijZrfK56fM8Y0=; b=iGUdb3NeqQGXSwSp0ALxv/QU5AlKJ6o+ZSqu74J5WH968Lu4CUripVjKkN9g3FTtLc ZiDx1ZHZHioBYNCb4+otcHoZUc6Lcs1oQdF05R3bmyVeWl4mbd62AD3o3e2VIarE9Lcl QYukzyUAs1w9FkGMwS4Kv6f/ykninz/A9Wt+MiwjvOhZZmytWVQtqdoMNwNiMZRQ3Bha VaYgqZ/Q/NCGqLmJ9WM58b4HV+/cHJ0mw6XJETg9f0qYUfQ9II/4FyRQfuK+uJsO5IUI EhNM9FqnfWaLSvaxOJVksDbvd/Xi+G2hb0t7ZGtwrcya/lZwtP+oefpxQYitz88l76bb zbdw== X-Gm-Message-State: AOUpUlFKNK9i3yiFfB2Kp1WDtvJoR6YOC8M18SurX3XGnQl4VlnTKYp+ OiEA7Owpjtz/pKKzxdF1XqKyHQ== X-Google-Smtp-Source: AAOMgpeKgzQ1T97hB2viKGWAeCaaq7H95Gq2ZOLvsBSfVmNX/Qs0Zp+5eVwrxTffQ6fjPWLNCaYn/Q== X-Received: by 2002:a63:da04:: with SMTP id c4-v6mr472418pgh.398.1531812496701; Tue, 17 Jul 2018 00:28:16 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:15 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 3/7] mmc: Aspeed: Add Aspeed sdhci core driver Date: Tue, 17 Jul 2018 15:26:14 +0800 Message-Id: <1531812378-14316-4-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" In Aspeed SoC's sdhci have two slots and have a interrupt status and general information in top for register. add sdhci core driver defore sdhci driver probe V0->V1 move irqchip/irq-aspeed-sdhci-ic.c to drivers/mmc/host/aspeed-sdhci-core.c Signed-off-by: Ryan Chen --- drivers/irqchip/Makefile | 2 +- drivers/mmc/host/Makefile | 1 + drivers/mmc/host/aspeed-sdhci-core.c | 147 ++++++++++++++++++++++++++++++++++ include/linux/mmc/sdhci-aspeed-data.h | 28 +++++++ 4 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 drivers/mmc/host/aspeed-sdhci-core.c create mode 100644 include/linux/mmc/sdhci-aspeed-data.h diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index 5ed465a..d99cb1d 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -78,7 +78,7 @@ obj-$(CONFIG_MVEBU_ODMI) += irq-mvebu-odmi.o obj-$(CONFIG_MVEBU_PIC) += irq-mvebu-pic.o obj-$(CONFIG_LS_SCFG_MSI) += irq-ls-scfg-msi.o obj-$(CONFIG_EZNPS_GIC) += irq-eznps.o -obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed-vic.o irq-aspeed-i2c-ic.o +obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed-vic.o irq-aspeed-i2c-ic.o obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile index 6aead24..c3e5a1f 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -78,6 +78,7 @@ obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o +obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += aspeed-sdhci-core.o obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o diff --git a/drivers/mmc/host/aspeed-sdhci-core.c b/drivers/mmc/host/aspeed-sdhci-core.c new file mode 100644 index 0000000..c3d9d45 --- /dev/null +++ b/drivers/mmc/host/aspeed-sdhci-core.c @@ -0,0 +1,147 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * SDHCI IRQCHIP driver for the Aspeed SoC + * + * Copyright (C) ASPEED Technology Inc. + * Ryan Chen + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define ASPEED_SDHCI_SLOT_NUM 2 + +static void aspeed_sdhci_irq_handler(struct irq_desc *desc) +{ + struct aspeed_sdhci_irq *sdhci_irq = irq_desc_get_handler_data(desc); + struct irq_chip *chip = irq_desc_get_chip(desc); + unsigned long bit, status; + unsigned int slot_irq; + + chained_irq_enter(chip, desc); + status = readl(sdhci_irq->regs + ASPEED_SDHCI_ISR); + for_each_set_bit(bit, &status, ASPEED_SDHCI_SLOT_NUM) { + slot_irq = irq_find_mapping(sdhci_irq->irq_domain, bit); + generic_handle_irq(slot_irq); + } + chained_irq_exit(chip, desc); +} + +static void noop(struct irq_data *data) { } + +static unsigned int noop_ret(struct irq_data *data) +{ + return 0; +} + +struct irq_chip sdhci_irq_chip = { + .name = "sdhci-ic", + .irq_startup = noop_ret, + .irq_shutdown = noop, + .irq_enable = noop, + .irq_disable = noop, + .irq_ack = noop, + .irq_mask = noop, + .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, +}; + +static int ast_sdhci_map_irq_domain(struct irq_domain *domain, + unsigned int irq, irq_hw_number_t hwirq) +{ + irq_set_chip_and_handler(irq, &sdhci_irq_chip, handle_simple_irq); + irq_set_chip_data(irq, domain->host_data); + + return 0; +} + +static const struct irq_domain_ops aspeed_sdhci_irq_domain_ops = { + .map = ast_sdhci_map_irq_domain, +}; + +static int irq_aspeed_sdhci_probe(struct platform_device *pdev) +{ + struct aspeed_sdhci_irq *sdhci_irq; + struct clk *sdclk; + + sdhci_irq = kzalloc(sizeof(*sdhci_irq), GFP_KERNEL); + if (!sdhci_irq) + return -ENOMEM; + + platform_set_drvdata(pdev, sdhci_irq); + //node->data = sdhci_irq; + pdev->dev.of_node->data = sdhci_irq; + + sdhci_irq->regs = of_iomap(pdev->dev.of_node, 0); + if (IS_ERR(sdhci_irq->regs)) + return PTR_ERR(sdhci_irq->regs); + + sdclk = devm_clk_get(&pdev->dev, NULL); + if (IS_ERR(sdclk)) { + dev_err(&pdev->dev, "no sdclk clock defined\n"); + return PTR_ERR(sdclk); + } + + clk_prepare_enable(sdclk); + + sdhci_irq->parent_irq = irq_of_parse_and_map(pdev->dev.of_node, 0); + if (sdhci_irq->parent_irq < 0) + return sdhci_irq->parent_irq; + + sdhci_irq->irq_domain = irq_domain_add_linear( + pdev->dev.of_node, ASPEED_SDHCI_SLOT_NUM, + &aspeed_sdhci_irq_domain_ops, NULL); + if (!sdhci_irq->irq_domain) + return -ENOMEM; + + sdhci_irq->irq_domain->name = "aspeed-sdhci-irq"; + + irq_set_chained_handler_and_data(sdhci_irq->parent_irq, + aspeed_sdhci_irq_handler, sdhci_irq); + + pr_info("sdhci irq controller registered, irq %d\n", sdhci_irq->parent_irq); + + return 0; +} + +static const struct of_device_id irq_aspeed_sdhci_dt_ids[] = { + { .compatible = "aspeed,aspeed-sdhci-irq", }, + {}, +}; +MODULE_DEVICE_TABLE(of, irq_aspeed_sdhci_dt_ids); + +static struct platform_driver irq_aspeed_sdhci_device_driver = { + .probe = irq_aspeed_sdhci_probe, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = irq_aspeed_sdhci_dt_ids, + } +}; + +static int __init irq_aspeed_sdhci_init(void) +{ + return platform_driver_register(&irq_aspeed_sdhci_device_driver); +} +core_initcall(irq_aspeed_sdhci_init); + +MODULE_AUTHOR("Ryan Chen"); +MODULE_DESCRIPTION("ASPEED SOC SDHCI IRQ Driver"); +MODULE_LICENSE("GPL v2"); diff --git a/include/linux/mmc/sdhci-aspeed-data.h b/include/linux/mmc/sdhci-aspeed-data.h new file mode 100644 index 0000000..fba2bf2 --- /dev/null +++ b/include/linux/mmc/sdhci-aspeed-data.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef LINUX_MMC_SDHCI_ASPEED_DATA_H +#define LINUX_MMC_SDHCI_ASPEED_DATA_H + +#include + +#define ASPEED_SDHCI_INFO 0x00 +#define ASPEED_SDHCI_S1MMC8 BIT(25) +#define ASPEED_SDHCI_S0MMC8 BIT(24) +#define ASPEED_SDHCI_BLOCK 0x04 +#define ASPEED_SDHCI_CTRL 0xF0 +#define ASPEED_SDHCI_ISR 0xFC + +struct aspeed_sdhci_irq { + void __iomem *regs; + int parent_irq; + struct irq_domain *irq_domain; +}; + +static inline void aspeed_sdhci_set_8bit_mode(struct aspeed_sdhci_irq *sdhci_irq, int mode) +{ + if (mode) + writel(ASPEED_SDHCI_S0MMC8 | readl(sdhci_irq->regs), sdhci_irq->regs); + else + writel(~ASPEED_SDHCI_S0MMC8 & readl(sdhci_irq->regs), sdhci_irq->regs); +} + +#endif From patchwork Tue Jul 17 07:26:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944774 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBmt3Bjxz9rxs for ; Tue, 17 Jul 2018 17:31:58 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YvAPVM1i"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBmt0pLDzF3JJ for ; Tue, 17 Jul 2018 17:31:58 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YvAPVM1i"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::541; helo=mail-pg1-x541.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YvAPVM1i"; dkim-atps=neutral Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhj3F21zF3Hh for ; Tue, 17 Jul 2018 17:28:21 +1000 (AEST) Received: by mail-pg1-x541.google.com with SMTP id m19-v6so68652pgv.3 for ; Tue, 17 Jul 2018 00:28:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LxoD+D/IPhsdBy/Sw1MWEEZDj4tDaVt5j9JwitkBkio=; b=YvAPVM1iQwA48MBInO888P6degKiT94vXuRj32inyB5JD9ysc6pFK/YU+Wj1zZpmep EJBkcdAYnMR0VMxggFX60gMUwCAya9j0QktWgp2bMtdwgucpfdiHuvj4MUEIQqvqCQKS bS1r4XG6vHctgqU7Dnz9szl3cphdYhP1MKJffv8EYesOiXVCkBpeZ8jSB7mPVjckqc5J E4dwboz87PNAWu7IcFp3OcDmcvktuu6E+BhixtrGrqwcpg9YS1RhX9Ed+cBuP8CH9Ys8 Ts8aHfUY1LPfnhgeMG+wgJ4Inqpl3EcA246H4vNACZDy+vxR0AJ2mTWmj2aLFpjTuMdL QXLw== 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; bh=LxoD+D/IPhsdBy/Sw1MWEEZDj4tDaVt5j9JwitkBkio=; b=DX3izhwGCwvmBP3DDEUGFah7j4qIaXPtW8WjhK8cthdb6otp6Cr55ZZD0854jmSjt7 nLwpuO898GI4+/uk5HVX12DLu6WkGhhhjA8IepZMXWF+81ZEblZtUlhQjthYva8Dpkae 8PilVbmb3L0BoNWeYv/Af0a+c+J3BXmrsKRRQNTZnrLi9ePl1YQqcqJmNZ1DHdsaesOp zjIGH79SVDJI/PsapMy+tTwN0xFp+jbs3LKFOeH39Nt+vja7FGJWWloYr3ObchtCnBix 5tZTHCd941fbEBUTHjWrqMTbXwTWiaqfYEvpWu/Tzm/jg9u/izSCmmVF0ItY7hi0m02y mP9w== X-Gm-Message-State: AOUpUlEAqbogQ/WzJ02jxUiyqfJ0zzGzub21qnKk/9XXYbItOoVJw2NJ GPgFH8PqeSYf1upGdOjUpBkL6A== X-Google-Smtp-Source: AAOMgpd2MJMcl48R/FEtwOIWlZFG+pJfG4FQ+olUPP/kxbHuUsYT0exTRBE23h8sQKmWOpi7C1go5A== X-Received: by 2002:a65:614a:: with SMTP id o10-v6mr454957pgv.387.1531812499538; Tue, 17 Jul 2018 00:28:19 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:18 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 4/7] mmc: Aspeed: Add driver for Aspeed sdhci Date: Tue, 17 Jul 2018 15:26:15 +0800 Message-Id: <1531812378-14316-5-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" Add a driver for Aspeed's sdhci controller core. Signed-off-by: Ryan Chen --- drivers/mmc/host/Kconfig | 12 +++ drivers/mmc/host/Makefile | 2 +- drivers/mmc/host/sdhci-of-aspeed.c | 178 +++++++++++++++++++++++++++++++++++++ 3 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 drivers/mmc/host/sdhci-of-aspeed.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 9589f9c..5056e6e 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -142,6 +142,18 @@ config MMC_SDHCI_OF_ARASAN If unsure, say N. +config MMC_SDHCI_OF_ASPEED + tristate "SDHCI OF support for the ASPEED SDHCI controller" + depends on MMC_SDHCI_PLTFM + depends on OF + help + This selects the ASPEED Secure Digital Host Controller Interface. + + If you have a controller with this interface, say Y or M here. You + also need to enable an appropriate bus interface. + + If unsure, say N. + config MMC_SDHCI_OF_AT91 tristate "SDHCI OF support for the Atmel SDMMC controller" depends on MMC_SDHCI_PLTFM diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile index c3e5a1f..6214d11 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -78,7 +78,7 @@ obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o -obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += aspeed-sdhci-core.o +obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += aspeed-sdhci-core.o sdhci-of-aspeed.o obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c new file mode 100644 index 0000000..8e609e1 --- /dev/null +++ b/drivers/mmc/host/sdhci-of-aspeed.c @@ -0,0 +1,178 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * ASPEED Secure Digital Host Controller Interface. + * Copyright (C) ASPEED Technology Inc. + * Ryan Chen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sdhci-pltfm.h" + +static void sdhci_aspeed_set_clock(struct sdhci_host *host, unsigned int clock) +{ + int div; + u16 clk; + unsigned long timeout; + + if (clock == host->clock) + return; + + sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); + + if (clock == 0) + goto out; + + for (div = 1; div < 256; div *= 2) { + if ((host->max_clk / div) <= clock) + break; + } + div >>= 1; + + clk = div << SDHCI_DIVIDER_SHIFT; + clk |= SDHCI_CLOCK_INT_EN; + sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL); + + /* Wait max 20 ms */ + timeout = 20; + while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL)) + & SDHCI_CLOCK_INT_STABLE)) { + if (timeout == 0) { + pr_err("%s: Internal clock never stabilised.\n", + mmc_hostname(host->mmc)); + return; + } + timeout--; + mdelay(1); + } + + clk |= SDHCI_CLOCK_CARD_EN; + sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL); + +out: + host->clock = clock; +} + +static void sdhci_aspeed_set_bus_width(struct sdhci_host *host, int width) +{ + struct sdhci_pltfm_host *pltfm_priv = sdhci_priv(host); + struct aspeed_sdhci_irq *sdhci_irq = sdhci_pltfm_priv(pltfm_priv); + + u8 ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); + + if (sdhci_irq->regs) { + if (width == MMC_BUS_WIDTH_8) + aspeed_sdhci_set_8bit_mode(sdhci_irq, 1); + else + aspeed_sdhci_set_8bit_mode(sdhci_irq, 0); + } + if (width == MMC_BUS_WIDTH_4) + ctrl |= SDHCI_CTRL_4BITBUS; + else + ctrl &= ~SDHCI_CTRL_4BITBUS; + + sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); + +} + +static struct sdhci_ops sdhci_aspeed_ops = { + .set_clock = sdhci_aspeed_set_clock, + .get_max_clock = sdhci_pltfm_clk_get_max_clock, + .set_bus_width = sdhci_aspeed_set_bus_width, + .get_timeout_clock = sdhci_pltfm_clk_get_max_clock, + .reset = sdhci_reset, + .set_uhs_signaling = sdhci_set_uhs_signaling, +}; + +static struct sdhci_pltfm_data sdhci_aspeed_pdata = { + .ops = &sdhci_aspeed_ops, + .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN, + .quirks2 = SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN, +}; + +static int sdhci_aspeed_probe(struct platform_device *pdev) +{ + struct sdhci_host *host; + struct device_node *pnode; + struct device_node *np = pdev->dev.of_node; + struct sdhci_pltfm_host *pltfm_host; + struct aspeed_sdhci_irq *sdhci_irq; + + int ret; + + host = sdhci_pltfm_init(pdev, &sdhci_aspeed_pdata, sizeof(struct aspeed_sdhci_irq)); + if (IS_ERR(host)) + return PTR_ERR(host); + + pltfm_host = sdhci_priv(host); + sdhci_irq = sdhci_pltfm_priv(pltfm_host); + + sdhci_get_of_property(pdev); + + pltfm_host->clk = devm_clk_get(&pdev->dev, NULL); + + pnode = of_parse_phandle(np, "interrupt-parent", 0); + if (pnode) + memcpy(sdhci_irq, pnode->data, sizeof(struct aspeed_sdhci_irq)); + + ret = mmc_of_parse(host->mmc); + if (ret) + goto err_sdhci_add; + + ret = sdhci_add_host(host); + if (ret) + goto err_sdhci_add; + + return 0; + +err_sdhci_add: + sdhci_pltfm_free(pdev); + return ret; +} + +static int sdhci_aspeed_remove(struct platform_device *pdev) +{ + struct sdhci_host *host = platform_get_drvdata(pdev); + int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); + + sdhci_remove_host(host, dead); + sdhci_pltfm_free(pdev); + return 0; +} + +static const struct of_device_id sdhci_aspeed_of_match[] = { + { .compatible = "aspeed,sdhci-ast2400", .data = &sdhci_aspeed_pdata }, + { .compatible = "aspeed,sdhci-ast2500", .data = &sdhci_aspeed_pdata }, + {} +}; + +MODULE_DEVICE_TABLE(of, sdhci_aspeed_of_match); + +static struct platform_driver sdhci_aspeed_driver = { + .driver = { + .name = "sdhci-aspeed", + .pm = &sdhci_pltfm_pmops, + .of_match_table = sdhci_aspeed_of_match, + }, + .probe = sdhci_aspeed_probe, + .remove = sdhci_aspeed_remove, +}; + +module_platform_driver(sdhci_aspeed_driver); + +MODULE_DESCRIPTION("Driver for the ASPEED SDHCI Controller"); +MODULE_AUTHOR("Ryan Chen "); +MODULE_LICENSE("GPL v2"); From patchwork Tue Jul 17 07:26:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944775 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBnN6wtMz9rxs for ; Tue, 17 Jul 2018 17:32:24 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WvwLYGk5"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBnN4WrfzF3J2 for ; Tue, 17 Jul 2018 17:32:24 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WvwLYGk5"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:400e:c01::242; helo=mail-pl0-x242.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WvwLYGk5"; dkim-atps=neutral Received: from mail-pl0-x242.google.com (mail-pl0-x242.google.com [IPv6:2607:f8b0:400e:c01::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhm20cczF3Hp for ; Tue, 17 Jul 2018 17:28:24 +1000 (AEST) Received: by mail-pl0-x242.google.com with SMTP id 30-v6so58976pld.13 for ; Tue, 17 Jul 2018 00:28:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YidyZgNZNpk32kdZhvybpYUgMicOWIzAd55BNjl+II8=; b=WvwLYGk54FqoK0QrOraBNFvTN5lXBL0vZL3O38tdO2g0pH7RGFpAuA6nc+UJxXC2Cf Vcs1urFOEUQ2Vlp7r6lSyR45BEF2u2h/qRubasicA74HXyNQkUNzRV+kmA3yk6nbSi7k Dvj9ePSP+tioxeZ57Iq5gfCuj2Oc4Dcw6WGaFy0pIs2wUxtXM8Tiqs2mARqDr2U3kGif jLct6PXd8GGO04UXzxGOS8fgKQgmxhlPpkN+9JlSMBSLCfymvalm3TA2taur65JX2BY8 /4VuPWaOySKGCqF20ao0Lq5xcAvcMtmNBs87WBeQULro4eqVVPR46a7x0WnmQ5OVjiq8 EvwA== 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; bh=YidyZgNZNpk32kdZhvybpYUgMicOWIzAd55BNjl+II8=; b=bPwcRq4Ih4Tnx8IFaZnpNHh654O01JEg9UevvSWALjGrgnEgD6MmWNs8gLkqXJBOCj D45FkxwHiag/8jYgPjtBd11KjsY/wwfY+WJznbYhOo+i2St5dVBvf1G2DzN2thrMeg27 5pB2C1paT8T9bS6aAwyW9Eitn++mBkij45Jj4vjEQDJRjFrrxk39xkbDU1nQiQuqKfyI uRIIfA4VLC/oyFEUM54q6DC8JE/WIFGzjQ41qQYP3P6555tie+3WFxuacpVtrDIsE7ke M0Vrodsa9W08Uovnw3qLVVI18ZxAtu+1aFqogWMcLsqhW/OgyqhmPCfrenQ0+C/6wPMF he1w== X-Gm-Message-State: AOUpUlEqkMocddsM5E5sXQPIDG6YNzzXFH/j3dfxIsplsqqZHydHmPTn 47aub0jLSTbguhft/KrJ+A0evQ== X-Google-Smtp-Source: AAOMgpfAaS/mrAlZzsbU8/15RhIc5+Y7BDwnCz7RLNnr0vjO0iliZypDBTuTJjZWdL915JhWuS6eRw== X-Received: by 2002:a17:902:585:: with SMTP id f5-v6mr518179plf.7.1531812502337; Tue, 17 Jul 2018 00:28:22 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:21 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 5/7] dts: Aspeed: Add devicetree for Aspeed sdhci Date: Tue, 17 Jul 2018 15:26:16 +0800 Message-Id: <1531812378-14316-6-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" Add devicetree for Aspeed's sdhci V0->V1 separete patch toe device tree and binding document Signed-off-by: Ryan Chen --- arch/arm/boot/dts/aspeed-ast2500-evb.dts | 14 +++++++++++ arch/arm/boot/dts/aspeed-g4.dtsi | 40 ++++++++++++++++++++++++++++++++ arch/arm/boot/dts/aspeed-g5.dtsi | 40 ++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) diff --git a/arch/arm/boot/dts/aspeed-ast2500-evb.dts b/arch/arm/boot/dts/aspeed-ast2500-evb.dts index 5dbb33c..5578ae0 100644 --- a/arch/arm/boot/dts/aspeed-ast2500-evb.dts +++ b/arch/arm/boot/dts/aspeed-ast2500-evb.dts @@ -97,6 +97,20 @@ }; }; +&sdhci_slot0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd1_default>; +}; + +&sdhci_slot1 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd2_default>; +}; + /* * Enable port A as device (via the virtual hub) and port B as * host by default on the eval board. This can be easily changed diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi index e86fa80..f4a8d7d 100644 --- a/arch/arm/boot/dts/aspeed-g4.dtsi +++ b/arch/arm/boot/dts/aspeed-g4.dtsi @@ -190,6 +190,13 @@ reg = <0x1e720000 0x8000>; // 32K }; + sdhci: sdhci@1e740000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1e740000 0x1000>; + }; + gpio: gpio@1e780000 { #gpio-cells = <2>; gpio-controller; @@ -369,6 +376,39 @@ }; }; +&sdhci { + + sdhci_ic: interrupt-controller@0 { + #interrupt-cells = <1>; + compatible = "aspeed,aspeed-sdhci-irq"; + reg = <0x0 0x100>; + interrupts = <26>; + interrupt-controller; + clocks = <&syscon ASPEED_CLK_GATE_SDCLKCLK>; + }; + + sdhci_slot0: sdhci_slot0@100 { + compatible = "aspeed,sdhci-ast2400"; + reg = <0x100 0x100>; + interrupts = <0>; + interrupt-parent = <&sdhci_ic>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + status = "disabled"; + }; + + sdhci_slot1: sdhci_slot1@200 { + compatible = "aspeed,sdhci-ast2400"; + reg = <0x200 0x100>; + interrupts = <1>; + interrupt-parent = <&sdhci_ic>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + status = "disabled"; + }; + +}; + &i2c { i2c_ic: interrupt-controller@0 { #interrupt-cells = <1>; diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi index d92f047..effe631 100644 --- a/arch/arm/boot/dts/aspeed-g5.dtsi +++ b/arch/arm/boot/dts/aspeed-g5.dtsi @@ -256,6 +256,13 @@ reg = <0x1e720000 0x9000>; // 36K }; + sdhci: sdhci@1e740000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1e740000 0x1000>; + }; + gpio: gpio@1e780000 { #gpio-cells = <2>; gpio-controller; @@ -446,6 +453,39 @@ }; }; +&sdhci { + + sdhci_ic: interrupt-controller@0 { + #interrupt-cells = <1>; + compatible = "aspeed,aspeed-sdhci-irq"; + reg = <0x0 0x100>; + interrupts = <26>; + interrupt-controller; + clocks = <&syscon ASPEED_CLK_GATE_SDCLKCLK>; + }; + + sdhci_slot0: sdhci_slot0@100 { + compatible = "aspeed,sdhci-ast2500"; + reg = <0x100 0x100>; + interrupts = <0>; + interrupt-parent = <&sdhci_ic>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + status = "disabled"; + }; + + sdhci_slot1: sdhci_slot1@200 { + compatible = "aspeed,sdhci-ast2500"; + reg = <0x200 0x100>; + interrupts = <1>; + interrupt-parent = <&sdhci_ic>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + status = "disabled"; + }; + +}; + &i2c { i2c_ic: interrupt-controller@0 { #interrupt-cells = <1>; From patchwork Tue Jul 17 07:26:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944776 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBq15F9Rz9rxs for ; Tue, 17 Jul 2018 17:33:49 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MmiP+xQr"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBq13f1yzF3JF for ; Tue, 17 Jul 2018 17:33:49 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MmiP+xQr"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:400e:c00::241; helo=mail-pf0-x241.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MmiP+xQr"; dkim-atps=neutral Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBhq1FJPzF3Hx for ; Tue, 17 Jul 2018 17:28:27 +1000 (AEST) Received: by mail-pf0-x241.google.com with SMTP id k19-v6so83429pfi.1 for ; Tue, 17 Jul 2018 00:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XELpOjgit+nCfSwRRXIApCcpQveodg30tP3Suiy8k5k=; b=MmiP+xQrTuXT3vH775o17lMX5091qM6kwdrDyQb5MwRZyB9LCZ7XmhPK4fP5yIoFPx 4/AGAW1yL5/F6tD36WBoHpXsAF/u25s6Mfr88wI3hdkKACM3mUXSxFV9he1pFCV6zKBo ohPleSH6CmrI8iaAwp5ANPkkFirEahiKMb9NCvs8VE5zixJblkFKFAKGyMtXmj3d2LxE hviUsHPBeji92Lk3WG85qFV9jJ84o29u0Km9z12FyqVdP66MKNdccNczZnP+vbKmwAfQ TWGwh+a3LcH6HoedKSFmwYxpzj8gAsIIPRwwktTZXCsRGMkVT7Fzb55BspyAJrt6Jsr9 QSAQ== 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; bh=XELpOjgit+nCfSwRRXIApCcpQveodg30tP3Suiy8k5k=; b=j3gNkfEpBhJi7anQEm0aNBVJzkk9OWij15wzpVVWnJyE83b6nVtQB9cQOg/HwQyRsn D6Mr0DEbmaCCygy6uJmu15ZKcWdb4x1sYvnG3zl0kwMwdey6frm3DhaG5ouZSmZz3aRh 8ASR4Y8ndo4jRKtU31jWMvt28n5JA5wx7YYBtYzgsIXQPZFBkTJpJavY9hbm+hgOUKVI 1kFagixvYExrj1+zWt0bE/6VBEONaa3rxlMbqe6Onn35qWxR0vmxzr6ScPXonTsvsUcq 0zJ1Lg90aKCxv+E7Rx5t8LcDEM3uGxE6noccVRPL2rSxXQ0rKELjp/xTLc0wScjWQXmL f/nA== X-Gm-Message-State: AOUpUlHP9pjXiYJWolche4EZadk5efkLH1veXzuTARRboB6jV5yzJ7y6 8fi/kU1eWqHCyfUgjXxZlGqoRg== X-Google-Smtp-Source: AAOMgpfSSje32mquPk6HXvaQ8GTQDF5JyRFpb3ADN1XQcv8qhpVRPZ397rPvYyg8a+Ua9dttxBBgAA== X-Received: by 2002:a62:45d2:: with SMTP id n79-v6mr515631pfi.137.1531812505065; Tue, 17 Jul 2018 00:28:25 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:24 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 6/7] Documentation: mmc: add aspeed sdhci binding document Date: Tue, 17 Jul 2018 15:26:17 +0800 Message-Id: <1531812378-14316-7-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" add aspeed sdhci binding document V0->V1 add independent patch for binding document Signed-off-by: Ryan Chen --- .../bindings/mmc/aspeed,aspeed-sdhci.txt | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/aspeed,aspeed-sdhci.txt diff --git a/Documentation/devicetree/bindings/mmc/aspeed,aspeed-sdhci.txt b/Documentation/devicetree/bindings/mmc/aspeed,aspeed-sdhci.txt new file mode 100644 index 0000000..6ad30e5 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/aspeed,aspeed-sdhci.txt @@ -0,0 +1,54 @@ +Device Tree Bindings for the Aspeed SoC SDHCI Controller + +This file documents differences between the core properties in mmc.txt +and the properties present in the Aspeed SDHCI +Aspeed SD/SDIO Host controller have have general information in front of controller. +In ast25xx/ast24xx have two slots, and each slot have own register. + +Required properties: +- compatible : should be "aspeed,ast2500-sdhci" or "aspeed,ast2400-sdhci" +- clocks : phandle + clock specifier pair of the external clock +- interrupts : interrupt number +- interrupt-parent : interrupt controller for bus, should reference a + aspeed,aspeed-sdhci-ic interrupt controller + +Example: + +sdhci { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1e740000 0x1000>; + + sdhci_ic: interrupt-controller@0 { + #interrupt-cells = <1>; + compatible = "aspeed,aspeed-sdhci-irq"; + reg = <0x0 0x100>; + interrupts = <26>; + interrupt-controller; + clocks = <&syscon ASPEED_CLK_GATE_SDCLKCLK>; + }; + + sdhci_slot0: sdhci_slot0@100 { + compatible = "aspeed,sdhci-ast2500"; + reg = <0x100 0x100>; + interrupts = <0>; + interrupt-parent = <&sdhci_ic>; + slot = <0>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd1_default>; + }; + + sdhci_slot1: sdhci_slot1@200 { + compatible = "aspeed,sdhci-ast2500"; + reg = <0x200 0x100>; + interrupts = <1>; + interrupt-parent = <&sdhci_ic>; + sdhci,auto-cmd12; + clocks = <&syscon ASPEED_CLK_SDIO>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd2_default>; + }; +}; From patchwork Tue Jul 17 07:26:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Chen X-Patchwork-Id: 944777 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41VBqZ2Yhlz9rxs for ; Tue, 17 Jul 2018 17:34:18 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RgQsjoRF"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41VBqZ0tKHzF3JB for ; Tue, 17 Jul 2018 17:34:18 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RgQsjoRF"; dkim-atps=neutral X-Original-To: openbmc@lists.ozlabs.org Delivered-To: openbmc@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:400e:c00::242; helo=mail-pf0-x242.google.com; envelope-from=ryanchen.aspeed@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RgQsjoRF"; dkim-atps=neutral Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41VBht0fVyzF3Hh for ; Tue, 17 Jul 2018 17:28:29 +1000 (AEST) Received: by mail-pf0-x242.google.com with SMTP id l9-v6so71664pff.9 for ; Tue, 17 Jul 2018 00:28:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZrXMLoLUk12UkJbWHlJbGIZleI5oAcCLDD19DpfzhDA=; b=RgQsjoRF/zWmBnUgLtWUtw7oprYawtQ4L/oglQiK97YRdf/h4wfJV9zZi/LjC1ISPx x9uZiwBqTP9tQKJm8EKOY3g/1vg0KYZDKOX3TLcfOka0f4uecwfldsw3AUJN6LQ7d/16 P7J7jq7TX+K9WwUZkznscRDl64N82ZmuiYl11Ei4i/Fy1tPKA0iI7vw9ZbmaqFEyBPnB EP8SZZG5Cto2PMAo1UPK7V+9ccUuCZaNisWIUmRZZd2xgqCwagMKqG1ydvf2PMZUfL0y L/XKvlHQyA6Cs5jxXAXAdwTVjPC69r+4PY805YVfOViYpsRvYF+QeobZaBQTDPqR4Cr7 g7Mg== 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; bh=ZrXMLoLUk12UkJbWHlJbGIZleI5oAcCLDD19DpfzhDA=; b=l58pFDjjEMZEr0HxOgYiLtcVuVfMdlY74xWHPBWQwnoIpdqhervXoh1zhj2HOxswhB SX6mzp0BwnpxDmB5oeLPSZ6bLbfhZFljS4fn5h7TQXAZnfrQUQAN52JUchJBy05SLmZJ YmvRTY18a5RiJE0LrecE29Xp7npJ/8XuUcupVTXUjlilH8kFHXRYOBV1ioE0UXpQ2DV9 8aEuEBxal4mdnP4oy3oay7NFjO/CG4j2R594hUT1XQN+SApQSLdt5Iaw5eisu24JwcI9 K//EAnFps/QVdmRJJXbGjzTjsyNuIEZM+1z0C8CAbECMLWqEhuZdFzjbIrOMB8CK96cE FKMg== X-Gm-Message-State: AOUpUlHacReNibp24Hr+nvsAYqtkspUQPYbT8t621QTU30Q0vjqqSEiA WDH1X34ZPdGHhhvyg27AXS/65Q== X-Google-Smtp-Source: AAOMgpez7XRdESwRNE2cjJiibeUG88yODRcOC4TBr+jdYOQPuksyxfE2RpNjayi0mpgj5TL+6XBHpw== X-Received: by 2002:a62:41d6:: with SMTP id g83-v6mr505798pfd.219.1531812507780; Tue, 17 Jul 2018 00:28:27 -0700 (PDT) Received: from ryan-ubuntu.aspeedtech.com (211-20-114-70.HINET-IP.hinet.net. [211.20.114.70]) by smtp.gmail.com with ESMTPSA id f6-v6sm578647pgp.13.2018.07.17.00.28.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jul 2018 00:28:26 -0700 (PDT) From: Ryan Chen To: openbmc@lists.ozlabs.org Subject: [PATCH linux dev-4.17 7/7] configs: Aspeed: enable mmc host in defconfig Date: Tue, 17 Jul 2018 15:26:18 +0800 Message-Id: <1531812378-14316-8-git-send-email-ryanchen.aspeed@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> References: <1531812378-14316-1-git-send-email-ryanchen.aspeed@gmail.com> X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan_chen@aspeedtech.com, andrew@aj.id.au, Ryan Chen Errors-To: openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "openbmc" Enable mmc host in aspeed_g5_defconfig Signed-off-by: Ryan Chen --- arch/arm/configs/aspeed_g5_defconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/configs/aspeed_g5_defconfig b/arch/arm/configs/aspeed_g5_defconfig index b7f8fa1..7b99aa9 100644 --- a/arch/arm/configs/aspeed_g5_defconfig +++ b/arch/arm/configs/aspeed_g5_defconfig @@ -197,6 +197,12 @@ CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ASPEED=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLASS_FLASH=y