Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3653724img; Mon, 25 Mar 2019 15:00:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqwjQdfEDQuwYJV6WtMKzycy1wnWzwgwceAysZT2XpjuyX0D0xzyxjuDHPiirk3ObYXCfCNw X-Received: by 2002:a63:5266:: with SMTP id s38mr25436262pgl.333.1553551239273; Mon, 25 Mar 2019 15:00:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553551239; cv=none; d=google.com; s=arc-20160816; b=ibcOZc4puOSYijw+NQqtYK7JFg6u5FZExmQD9Q7HKM3aRkvBfwVvavGxRJHQTbIPtO YB/u9cjrGs4dBaE0x60eePXwlZ5QrsEE/J7sSWWgoa4nSMRaUEnYdcc1azF6aHCukXUx EFfgl2hajn039Hjn8+An3kb03xeTfBxugDW1J3d7VqF+8slCyU7bcuHfqg7Z5rq8r1w7 fnEaWUvo+Bc8g6FyEY6xD6Kl2x1F0Lb50ghCq2t2jWVVHRpLjl/rAjJF/F1/cTjPUTVL MF653xs6Z393X0CFjmCZQ8yFw/R/CMD3kk/Hmy63g32kCgp01lmR19tf8v9R8Y/nVLLY ts3Q== 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=c6KbFaK4nBJOXGlV9vzJ3/hGkqNuihZsYtqlDb+vsTs=; b=0vuAmd+D6M3sxK8idlV8kLr7ROXvdLmnCUAbHVs/8oBa947uGVDFbgL35TkHzszw0l al62sq3SpI9ieh+W/RsgOnSRRrCscef5on9/jgaaBACw6PNODsLcMT5tsRG2VhhUpSJx /tuyINLBn/wwoHEgaKfE55rK1wbBGjbZHi0WVVp7iEQKXIPBbvMpaIbCXW0npHqgMZ7C FDD+351JymCw4Nntp8POOVfk+VNUcQxx6aHrPjikH9DnqnYkM7rcHTWDuXjwSele4mXH 2BFoI40MDI83N4P1JUjAsyVnkBLdMnjX+hz5kw2cspcACv4BmpKdm3EzQ3CAXK/zYuKy xwvA== 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 o1si14203907pgk.582.2019.03.25.15.00.24; Mon, 25 Mar 2019 15:00:39 -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 S1730803AbfCYV7a (ORCPT + 99 others); Mon, 25 Mar 2019 17:59:30 -0400 Received: from muru.com ([72.249.23.125]:42676 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730755AbfCYV71 (ORCPT ); Mon, 25 Mar 2019 17:59:27 -0400 Received: from hillo.muru.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTP id B03908120; Mon, 25 Mar 2019 21:59:39 +0000 (UTC) From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dave Gerlach , Faiz Abbas , Greg Kroah-Hartman , Keerthy , Nishanth Menon , Peter Ujfalusi , Roger Quadros , Suman Anna , Tero Kristo , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 13/14] bus: ti-sysc: Handle swsup idle mode quirks Date: Mon, 25 Mar 2019 14:58:48 -0700 Message-Id: <20190325215849.13182-14-tony@atomide.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190325215849.13182-1-tony@atomide.com> References: <20190325215849.13182-1-tony@atomide.com> 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 In preparation of dropping interconnect target module platform data in favor of devicetree based data, we must pass swsup idle quirks to the platform data functions. For now, let's only tag the UART modules with the SWSUP_SIDLE_ACT quirk. The other modules will get tagged with swsup quirks as we drop the platform data and test the changes. Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/omap_hwmod.c | 6 ++++++ drivers/bus/ti-sysc.c | 6 +++--- include/linux/platform_data/ti-sysc.h | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -3683,6 +3683,12 @@ int omap_hwmod_init_module(struct device *dev, oh->flags |= HWMOD_INIT_NO_RESET; if (data->cfg->quirks & SYSC_QUIRK_USE_CLOCKACT) oh->flags |= HWMOD_SET_DEFAULT_CLOCKACT; + if (data->cfg->quirks & SYSC_QUIRK_SWSUP_SIDLE) + oh->flags |= HWMOD_SWSUP_SIDLE; + if (data->cfg->quirks & SYSC_QUIRK_SWSUP_SIDLE_ACT) + oh->flags |= HWMOD_SWSUP_SIDLE_ACT; + if (data->cfg->quirks & SYSC_QUIRK_SWSUP_MSTANDBY) + oh->flags |= HWMOD_SWSUP_MSTANDBY; error = omap_hwmod_check_module(dev, oh, data, sysc_fields, rev_offs, sysc_offs, syss_offs, diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -978,12 +978,12 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { SYSC_QUIRK("timer", 0, 0, 0x10, -1, 0x4fff1301, 0xffff00ff, 0), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), /* Uarts on omap4 and later */ SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff, - SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), /* Quirks that need to be set based on the module address */ SYSC_QUIRK("mcpdm", 0x40132000, 0, 0x10, -1, 0x50000800, 0xffffffff, diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h --- a/include/linux/platform_data/ti-sysc.h +++ b/include/linux/platform_data/ti-sysc.h @@ -46,6 +46,9 @@ struct sysc_regbits { s8 emufree_shift; }; +#define SYSC_QUIRK_SWSUP_MSTANDBY BIT(13) +#define SYSC_QUIRK_SWSUP_SIDLE_ACT BIT(12) +#define SYSC_QUIRK_SWSUP_SIDLE BIT(11) #define SYSC_QUIRK_EXT_OPT_CLOCK BIT(10) #define SYSC_QUIRK_LEGACY_IDLE BIT(9) #define SYSC_QUIRK_RESET_STATUS BIT(8) -- 2.21.0