From patchwork Wed Aug 28 07:19:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 172332 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp364903ily; Wed, 28 Aug 2019 00:20:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqx5uSaVRqxeGpwrcjTwR202ORnfs5nAnSvsKgWH5r+mtY4+5iil9Wi05bSVCX3tofmwFuCj X-Received: by 2002:a62:86cf:: with SMTP id x198mr3010301pfd.195.1566976809767; Wed, 28 Aug 2019 00:20:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566976809; cv=none; d=google.com; s=arc-20160816; b=go+Y5fRCwzfHFvDpHCV651/Ezb3XU7Sapyj/+0WXA85CmV8ukBi3vqJw4uyboEiTCZ XbVrnfUZwg1Tq5zGecIDD7J9cbx4sJbMJGLhP9fqBKcvOxwv9Mt9Ww+afHPPkUx6dfF8 nQlAo9KXviAJySTGn4b2rFho26j/a8rWSRzbV1AmGzFsYTXnP+uTFGj+do7Fk3z25fJR HIKMPgBnsGJUhgwi065duUOEHrE2T3mNJjE4HhCm4HivxQpsz86XiLLL3p3b69aODwL2 HLZOIJlQd0bn6Fmlhs9w5L8goKV9YOTH5ZQT9VdXtLRmQa3cHBuZw0lDYOWi3A18COpg Cf3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=fikmTZhZFrmAeiEznJxUUl2+wbhEDuDam0XUgWBgSxU=; b=j1PDvf3RJ2MItQZ4gu05R8w9pPFtRv1s8kVSGCsE6Onu/1Blpgf5dkEa+Go1nARc0x vG02FKO7qBTouuAZcLS12J80OhmQdiwT4GL8nIRdK45xmaG9GuZuBHffZXjxfBnnj8PF M1aULGRw7lAL9Pifa37RvRPRaeBwxFTSwwuU2VfDYMFIeOoIJw84WjANtg2jFKvwADgW 1Q9MSV6Dd/U0KTTTnSPGTf0u3zScg5B/6OLkwIRX6SCiA9KPaEwKVWozxYb5XxeirT3D WYRzaZrlIhELRcpUdUIR1Q9nGr9/ExkJHChY0qMHhhrYHfjkSy5muRKTkZuIcwpmVfrH YymA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=Ejjw0t3X; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si1222986plo.306.2019.08.28.00.20.09; Wed, 28 Aug 2019 00:20:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=Ejjw0t3X; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726440AbfH1HUH (ORCPT + 5 others); Wed, 28 Aug 2019 03:20:07 -0400 Received: from lelv0143.ext.ti.com ([198.47.23.248]:59400 "EHLO lelv0143.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726253AbfH1HUH (ORCPT ); Wed, 28 Aug 2019 03:20:07 -0400 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JtKI116086; Wed, 28 Aug 2019 02:19:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566976795; bh=fikmTZhZFrmAeiEznJxUUl2+wbhEDuDam0XUgWBgSxU=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=Ejjw0t3XXbrKB/2FYpxB1drS8a8VN6CcHq/pI695lEN2Whj7yozw4hJ2qADywJyOM rE2rXxk1PSEPPImbX1Hswf1ee5av0JASrDxwkeUotckaVJgjUQjn7q73inx3IPSLZr W1zlkHkGHyvqGJ116RJtJes+Rj7dO7qgwnsYB2jY= Received: from DFLE111.ent.ti.com (dfle111.ent.ti.com [10.64.6.32]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7S7JtRm078024 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Aug 2019 02:19:55 -0500 Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 28 Aug 2019 02:19:55 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE107.ent.ti.com (10.64.6.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Aug 2019 02:19:55 -0500 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JmfE052201; Wed, 28 Aug 2019 02:19:53 -0500 From: Tero Kristo To: , , , , CC: , , Subject: [PATCHv2 02/11] soc: ti: add initial PRM driver with reset control support Date: Wed, 28 Aug 2019 10:19:32 +0300 Message-ID: <20190828071941.32378-3-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190828071941.32378-1-t-kristo@ti.com> References: <20190828071941.32378-1-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Add initial PRM (Power and Reset Management) driver for TI OMAP class SoCs. Initially this driver only supports reset control, but can be extended to support rest of the functionality, like powerdomain control, PRCM irq support etc. Signed-off-by: Tero Kristo --- arch/arm/mach-omap2/Kconfig | 1 + drivers/soc/ti/Makefile | 1 + drivers/soc/ti/omap_prm.c | 235 ++++++++++++++++++++++++++++++++++++ 3 files changed, 237 insertions(+) create mode 100644 drivers/soc/ti/omap_prm.c -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index fdb6743760a2..ad08d470a2ca 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig @@ -109,6 +109,7 @@ config ARCH_OMAP2PLUS select TI_SYSC select OMAP_IRQCHIP select CLKSRC_TI_32K + select ARCH_HAS_RESET_CONTROLLER help Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 diff --git a/drivers/soc/ti/Makefile b/drivers/soc/ti/Makefile index b3868d392d4f..788b5cd1e180 100644 --- a/drivers/soc/ti/Makefile +++ b/drivers/soc/ti/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o obj-$(CONFIG_AMX3_PM) += pm33xx.o +obj-$(CONFIG_ARCH_OMAP2PLUS) += omap_prm.o obj-$(CONFIG_WKUP_M3_IPC) += wkup_m3_ipc.o obj-$(CONFIG_TI_SCI_PM_DOMAINS) += ti_sci_pm_domains.o obj-$(CONFIG_TI_SCI_INTA_MSI_DOMAIN) += ti_sci_inta_msi.o diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c new file mode 100644 index 000000000000..fd5c431f8736 --- /dev/null +++ b/drivers/soc/ti/omap_prm.c @@ -0,0 +1,235 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * OMAP2+ PRM driver + * + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + * Tero Kristo + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct omap_rst_map { + s8 rst; + s8 st; +}; + +struct omap_prm_data { + u32 base; + const char *name; + u16 rstctrl; + u16 rstst; + const struct omap_rst_map *rstmap; + u8 flags; +}; + +struct omap_prm { + const struct omap_prm_data *data; + void __iomem *base; +}; + +struct omap_reset_data { + struct reset_controller_dev rcdev; + struct omap_prm *prm; +}; + +#define to_omap_reset_data(p) container_of((p), struct omap_reset_data, rcdev) + +#define OMAP_MAX_RESETS 8 +#define OMAP_RESET_MAX_WAIT 10000 + +#define OMAP_PRM_HAS_RSTCTRL BIT(0) +#define OMAP_PRM_HAS_RSTST BIT(1) + +#define OMAP_PRM_HAS_RESETS (OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_RSTST) + +static const struct of_device_id omap_prm_id_table[] = { + { }, +}; + +static bool _is_valid_reset(struct omap_reset_data *reset, unsigned long id) +{ + const struct omap_rst_map *map = reset->prm->data->rstmap; + + while (map && map->rst >= 0) { + if (map->rst == id) + return true; + map++; + } + + return false; +} + +static int omap_reset_status(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct omap_reset_data *reset = to_omap_reset_data(rcdev); + u32 v; + + if (!_is_valid_reset(reset, id)) + return -EINVAL; + + v = readl_relaxed(reset->prm->base + reset->prm->data->rstst); + v &= 1 << id; + v >>= id; + + return v; +} + +static int omap_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct omap_reset_data *reset = to_omap_reset_data(rcdev); + u32 v; + + if (!_is_valid_reset(reset, id)) + return -EINVAL; + + /* assert the reset control line */ + v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); + v |= 1 << id; + writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl); + + return 0; +} + +static int omap_reset_get_st_bit(struct omap_reset_data *reset, + unsigned long id) +{ + const struct omap_rst_map *map = reset->prm->data->rstmap; + + while (map && map->rst >= 0) { + if (map->rst == id) + return map->st; + + map++; + } + + return id; +} + +/* + * Note that status will not change until clocks are on, and clocks cannot be + * enabled until reset is deasserted. Consumer drivers must check status + * separately after enabling clocks. + */ +static int omap_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct omap_reset_data *reset = to_omap_reset_data(rcdev); + u32 v; + int st_bit; + bool has_rstst; + + if (!_is_valid_reset(reset, id)) + return -EINVAL; + + /* check the current status to avoid de-asserting the line twice */ + v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); + if (!(v & BIT(id))) + return -EEXIST; + + has_rstst = reset->prm->data->rstst || + (reset->prm->data->flags & OMAP_PRM_HAS_RSTST); + + if (has_rstst) { + st_bit = omap_reset_get_st_bit(reset, id); + + /* Clear the reset status by writing 1 to the status bit */ + v = readl_relaxed(reset->prm->base + reset->prm->data->rstst); + v |= 1 << st_bit; + writel_relaxed(v, reset->prm->base + reset->prm->data->rstst); + } + + /* de-assert the reset control line */ + v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); + v &= ~(1 << id); + writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl); + + return 0; +} + +static const struct reset_control_ops omap_reset_ops = { + .assert = omap_reset_assert, + .deassert = omap_reset_deassert, + .status = omap_reset_status, +}; + +static int omap_prm_reset_init(struct platform_device *pdev, + struct omap_prm *prm) +{ + struct omap_reset_data *reset; + + /* + * Check if we have controllable resets. If either rstctrl is non-zero + * or OMAP_PRM_HAS_RSTCTRL flag is set, we have reset control register + * for the domain. + */ + if (!prm->data->rstctrl && !(prm->data->flags & OMAP_PRM_HAS_RSTCTRL)) + return 0; + + reset = devm_kzalloc(&pdev->dev, sizeof(*reset), GFP_KERNEL); + if (!reset) + return -ENOMEM; + + reset->rcdev.owner = THIS_MODULE; + reset->rcdev.ops = &omap_reset_ops; + reset->rcdev.of_node = pdev->dev.of_node; + reset->rcdev.nr_resets = OMAP_MAX_RESETS; + + reset->prm = prm; + + return devm_reset_controller_register(&pdev->dev, &reset->rcdev); +} + +static int omap_prm_probe(struct platform_device *pdev) +{ + struct resource *res; + const struct omap_prm_data *data; + struct omap_prm *prm; + const struct of_device_id *match; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return -ENODEV; + + match = of_match_device(omap_prm_id_table, &pdev->dev); + if (!match) + return -ENOTSUPP; + + prm = devm_kzalloc(&pdev->dev, sizeof(*prm), GFP_KERNEL); + if (!prm) + return -ENOMEM; + + data = match->data; + + while (data->base != res->start) { + if (!data->base) + return -EINVAL; + data++; + } + + prm->data = data; + + prm->base = devm_ioremap_resource(&pdev->dev, res); + if (!prm->base) + return -ENOMEM; + + return omap_prm_reset_init(pdev, prm); +} + +static struct platform_driver omap_prm_driver = { + .probe = omap_prm_probe, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = omap_prm_id_table, + }, +}; +builtin_platform_driver(omap_prm_driver); From patchwork Wed Aug 28 07:19:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 172329 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp364974ily; Wed, 28 Aug 2019 00:20:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqyesNnd5zOCFNnfutgNQV9yLpqTaHSngYr+aLTPgXnoBHQqZ2/ojMaQtMIx+6sUzl9FsRJp X-Received: by 2002:a62:4d41:: with SMTP id a62mr3003437pfb.155.1566976812900; Wed, 28 Aug 2019 00:20:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566976812; cv=none; d=google.com; s=arc-20160816; b=To6esx8tclm4JF4slDwl7c7GVqtK/FK/xjYw4jxvFTEJ8309NcXxHKiQqlB9+1gM2c V2uerMtsJ/LVfDbs3muud8H4gdpk6PvN+RTRqHLkGyNWkq9TszCNcAC4A5/w3E2OtBJd DIC7Kviy6Oh4S/FFzEM8eZymI7lEi2x9ngt1BflRE4HadmmdgLc9/7w4eyQXKlK51swx 8OsGc+cfgKdqI7oLYaHbd05KTir0BhcBa8EgWzDvim/i7G+pna8ij8UtxpJERGlgyeIQ 2sMEpvDciXKnawj/au4GWXxKHZSbU/Lc4xvMWtBFyLQCp+j2Pc0BSuWHVFxQUUeE5D6c GblQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=haaNeLbrXohBveS7uejJKhMKitMSpHxT1HJ3TV94XO8=; b=FW8PxetCqTe2Bntj20Oe3AjEKoX7TfMJUZT82YMKJKG6mi4Sm5FbfI+80k4VcPJu2s Mg7RzZC92Tys04PzqXSSCrzAC5A4MCGPODxp4/SSNLmX0tQGudHaN5xank3iqjElRnz8 xjc97/UrQle+K/hf6nv3iMkwuLqxXSoNtvN084dq6CKG1NNEcuHj9Hjx+8LIKhqNu4G0 NbLJV+ftaZQqqUEVjFp24KDoziaj2X5LRqU3e4CngAXPALiqB3FsnbNM8FRxgGBEZ/iL ayinW4dHlf1reb+t/iWwtBWImtQOLjZgEAEawb7q79HaqJJ1RkOh3L1NP1UDaaneMCp1 +Fcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=CQcK8JDZ; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si1222986plo.306.2019.08.28.00.20.12; Wed, 28 Aug 2019 00:20:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=CQcK8JDZ; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726399AbfH1HUL (ORCPT + 5 others); Wed, 28 Aug 2019 03:20:11 -0400 Received: from lelv0143.ext.ti.com ([198.47.23.248]:59428 "EHLO lelv0143.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726252AbfH1HUL (ORCPT ); Wed, 28 Aug 2019 03:20:11 -0400 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7S7K4O5116190; Wed, 28 Aug 2019 02:20:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566976804; bh=haaNeLbrXohBveS7uejJKhMKitMSpHxT1HJ3TV94XO8=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=CQcK8JDZ6gfr2c/MsWlW0toLXL7U/02zMv/yE2ceznAc9siz99nvKNv2Fcgx13/KJ IWBW2T4ZbqMGXoi1FoZQdglad/a3JfpYt59GBb9ri0Ipao9txqjd0WTnkHyEc5MZ+O 9qfgN33QDGOYISMn9WZcWsV4OZhAXfW7ULA43//A= Received: from DLEE110.ent.ti.com (dlee110.ent.ti.com [157.170.170.21]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7S7K4VK083176 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Aug 2019 02:20:04 -0500 Received: from DLEE100.ent.ti.com (157.170.170.30) by DLEE110.ent.ti.com (157.170.170.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 28 Aug 2019 02:20:04 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DLEE100.ent.ti.com (157.170.170.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Aug 2019 02:20:03 -0500 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JmfI052201; Wed, 28 Aug 2019 02:20:02 -0500 From: Tero Kristo To: , , , , CC: , , Subject: [PATCHv2 06/11] soc: ti: omap-prm: support resets with no associated clockdomain Date: Wed, 28 Aug 2019 10:19:36 +0300 Message-ID: <20190828071941.32378-7-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190828071941.32378-1-t-kristo@ti.com> References: <20190828071941.32378-1-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Typically hardware resets on TI SoCs are associated with a clockdomain which must be forced to be active while the reset is being de-asserted. Otherwise the reset may not de-assert properly leaving the IP in some weird metastate. However, some hardware reset lines don't have this association in place, so add support for a new PRM flag for this purpose. Signed-off-by: Tero Kristo --- drivers/soc/ti/omap_prm.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c index e876bad8f8d5..d7a29e282788 100644 --- a/drivers/soc/ti/omap_prm.c +++ b/drivers/soc/ti/omap_prm.c @@ -56,6 +56,7 @@ struct omap_reset_data { #define OMAP_PRM_HAS_RSTCTRL BIT(0) #define OMAP_PRM_HAS_RSTST BIT(1) +#define OMAP_PRM_HAS_NO_CLKDM BIT(2) #define OMAP_PRM_HAS_RESETS (OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_RSTST) @@ -162,7 +163,8 @@ static int omap_reset_deassert(struct reset_controller_dev *rcdev, writel_relaxed(v, reset->prm->base + reset->prm->data->rstst); } - pdata->clkdm_deny_idle(reset->clkdm); + if (reset->clkdm) + pdata->clkdm_deny_idle(reset->clkdm); /* de-assert the reset control line */ v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); @@ -200,7 +202,8 @@ static int omap_reset_deassert(struct reset_controller_dev *rcdev, } exit: - pdata->clkdm_allow_idle(reset->clkdm); + if (reset->clkdm) + pdata->clkdm_allow_idle(reset->clkdm); return ret; } @@ -229,7 +232,7 @@ static int omap_prm_reset_init(struct platform_device *pdev, return 0; /* Check if we have the pdata callbacks in place */ - if (!pdata->clkdm_lookup || !pdata->clkdm_deny_idle || + if (!pdata || !pdata->clkdm_lookup || !pdata->clkdm_deny_idle || !pdata->clkdm_allow_idle) return -EINVAL; @@ -256,9 +259,11 @@ static int omap_prm_reset_init(struct platform_device *pdev, sprintf(buf, "%s_clkdm", prm->data->clkdm_name ? prm->data->clkdm_name : prm->data->name); - reset->clkdm = pdata->clkdm_lookup(buf); - if (!reset->clkdm) - return -EINVAL; + if (!(prm->data->flags & OMAP_PRM_HAS_NO_CLKDM)) { + reset->clkdm = pdata->clkdm_lookup(buf); + if (!reset->clkdm) + return -EINVAL; + } while (map->rst >= 0) { reset->mask |= BIT(map->rst); From patchwork Wed Aug 28 07:19:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 172330 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp365041ily; Wed, 28 Aug 2019 00:20:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqz6bhqFcXwFeFnmzCwXuUoatKxukqqIYcsY4VmmBqacXFdGzkgcuALB12/Y2qxw2gTczLhc X-Received: by 2002:a17:902:8301:: with SMTP id bd1mr2680430plb.120.1566976817416; Wed, 28 Aug 2019 00:20:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566976817; cv=none; d=google.com; s=arc-20160816; b=jpRIVgJUb+6/O8AvPUQiEJdtcgvEr2aZg/xiPXTiqx2+WBi30+J8l7pJ0ZkEUCU3gA pOW2dx1JJvhLqfDjpel1MvQJjPY1kFj5eR2APc73EnizTaKEzbBhsVMYY/8RnJXq07EN 6e0SwunYu7S7C3beabU+PRZZqUyz5yywc5UXLd+g/coLx+MUUKuA9GKEE+ILSPUCPGTc 6YV9aDlmwl7PSoHUNiVNcgiNics29Y6b47rBVWIMyiuWJtvY/ht6+JiVeh+0HoG/5L9c NaIaPpjli9DOD5PaXuw0QfAvOPsJGxxEyIArUVEApV4M1Hoe9w6aeiq6zl2gqU3b2Y1a QEWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YN1mTOuLTNP+kJXj7vQ1LNJarTAWZ6U/EhWx8gi2dsM=; b=hWo0pzfYGV1tThG92JGDXHWBoCNzBfbPgQ23BeC3Cx61dqDbKij2YI0s5zojd/vBlV cRPjTLY7oxmtA4kdRDyzOEM1+SpPbpS5+yBlc2HXuAW1bZz0pgeCNKYBzQCjp7E2GgnJ gHN9WUc5ZyBKNmwufk2Eb4j1FEjC29k1+ywGCwID2/6Bo/aCyCJ6CvGLO9hN/tRFmSo6 pgOk+Rtoh4gaFc+ZZqMQe2tpBm6Ls5RSssBH/Ceo/BAFi5d8MCI7g5UwN5tSxxnMug9I AvFGld5wbe4PSzNPH6CSGveiVDrg94b4arB4lzK4a8D7c8/i4nWIhNA1tBNs0CcZsDBc TWRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=UjZ65xWt; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si1222986plo.306.2019.08.28.00.20.17; Wed, 28 Aug 2019 00:20:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=UjZ65xWt; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726252AbfH1HUQ (ORCPT + 5 others); Wed, 28 Aug 2019 03:20:16 -0400 Received: from lelv0143.ext.ti.com ([198.47.23.248]:59438 "EHLO lelv0143.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726449AbfH1HUQ (ORCPT ); Wed, 28 Aug 2019 03:20:16 -0400 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7S7K8fg116225; Wed, 28 Aug 2019 02:20:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566976808; bh=YN1mTOuLTNP+kJXj7vQ1LNJarTAWZ6U/EhWx8gi2dsM=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=UjZ65xWt6Rz98jas+kJDH3+GqkYlEf6G15KbGynvIwHo3Yjr+Sf5PGfHytlrTLD3M TDjxUbYtzSkc7Nm36CbGFiXnGm4WYJpT5L4Y8FYVynSqlga+oMjRPT3Yi9osmKHsby DB6hu7DFoSHOErn7hNlMsYoBeHbAYRaDkUDu/B4c= Received: from DLEE113.ent.ti.com (dlee113.ent.ti.com [157.170.170.24]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7S7K8Be078691 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Aug 2019 02:20:08 -0500 Received: from DLEE106.ent.ti.com (157.170.170.36) by DLEE113.ent.ti.com (157.170.170.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 28 Aug 2019 02:20:08 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DLEE106.ent.ti.com (157.170.170.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Aug 2019 02:20:08 -0500 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JmfK052201; Wed, 28 Aug 2019 02:20:06 -0500 From: Tero Kristo To: , , , , CC: , , Subject: [PATCHv2 08/11] soc: ti: omap-prm: add data for am33xx Date: Wed, 28 Aug 2019 10:19:38 +0300 Message-ID: <20190828071941.32378-9-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190828071941.32378-1-t-kristo@ti.com> References: <20190828071941.32378-1-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Add PRM instance data for AM33xx SoC. Includes some basic register definitions and reset data for now. Signed-off-by: Tero Kristo --- drivers/soc/ti/omap_prm.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c index 192eeae67dfc..c4b33214bce1 100644 --- a/drivers/soc/ti/omap_prm.c +++ b/drivers/soc/ti/omap_prm.c @@ -60,6 +60,11 @@ struct omap_reset_data { #define OMAP_PRM_HAS_RESETS (OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_RSTST) +static const struct omap_rst_map rst_map_0[] = { + { .rst = 0, .st = 0 }, + { .rst = -1 }, +}; + static const struct omap_rst_map rst_map_01[] = { { .rst = 0, .st = 0 }, { .rst = 1, .st = 1 }, @@ -81,8 +86,27 @@ static const struct omap_prm_data omap4_prm_data[] = { { }, }; +static const struct omap_rst_map am3_per_rst_map[] = { + { .rst = 1 }, + { .rst = -1 }, +}; + +static const struct omap_rst_map am3_wkup_rst_map[] = { + { .rst = 3, .st = 5 }, + { .rst = -1 }, +}; + +static const struct omap_prm_data am3_prm_data[] = { + { .name = "per", .base = 0x44e00c00, .rstctrl = 0x0, .rstmap = am3_per_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL, .clkdm_name = "pruss_ocp" }, + { .name = "wkup", .base = 0x44e00d00, .rstctrl = 0x0, .rstst = 0xc, .rstmap = am3_wkup_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_NO_CLKDM }, + { .name = "device", .base = 0x44e00f00, .rstctrl = 0x0, .rstst = 0x8, .rstmap = rst_map_01, .flags = OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_NO_CLKDM }, + { .name = "gfx", .base = 0x44e01100, .rstctrl = 0x4, .rstst = 0x14, .rstmap = rst_map_0, .clkdm_name = "gfx_l3" }, + { }, +}; + static const struct of_device_id omap_prm_id_table[] = { { .compatible = "ti,omap4-prm-inst", .data = omap4_prm_data }, + { .compatible = "ti,am3-prm-inst", .data = am3_prm_data }, { }, }; From patchwork Wed Aug 28 07:19:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 172336 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp366553ily; Wed, 28 Aug 2019 00:22:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqx44nruvA4hfW5VmvmvedIz5v9iJMXK9RFg96bzDKhBjQ8n7P+ieOpFw3rAIAAw3/rzz6Ai X-Received: by 2002:a62:e401:: with SMTP id r1mr3084908pfh.193.1566976820692; Wed, 28 Aug 2019 00:20:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566976820; cv=none; d=google.com; s=arc-20160816; b=JTuXneUOOM33cggMQGS6tl93MbAXjwRPZ/J1jwSUcPsrpEQsp7GR3XEm0YrxNU8gys iB95j7yf4+6ccVS/FEOg3m8FdtamV5ML4LZxWItqlXEBG2FT0TNZD5fNTfZfngvGA355 gAGrdzPhyD/bNvSFBpHaLk2KQvag2M3aCa/KbKDbRM0W9eJ0OWf19Xc9JauogeE2+uOD VWTZx5GdCzKj8B81D3lGfbcCP/iZ5fTsf43SWt8O6Mh04UL2p2pQYWpy9/1iehErLXWa 0hQlLYWjKwjnjHK7VsvfEX6nzFDHW+t5gdJn+59QtQpyiJq/W5bBoJBYK5WLVvk6W6+K 2vuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=afuz//7UnNzwVZVMwo/xYo1kuWhXq1NbpeAZpr9BBT0=; b=O+S/DRxahoWHWJw3TDnin8XWGxGUnwff72ZLNaMeZQvzjWKDXZFI8D3arNaAAnKCzV ue/w0aHgr8db22vLzuPGZA0zBwThn2dfayjjkSXKkTi0xE/LuLj47Bpw6vv1YtD/d7Nh tMMgvAOE1lQcamLePTKIqqp5HOqzA/IWoy/jlLWXwzbBrDNTLxxRh+BCumSUHtuuN/z/ s9zzEa6xDfqBCOl/7lkjQ5jeV7QzStzmMRtA4SHhVvcfdjFimql4mRKTW/5vPh4HQ1Uw +LKhpSIwCbd6wK7m0JpVyBNgBLzlwapDVXj04XWGz39sDFFVOK7vPmcURf5w0Y9R3HVX 7q8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=K+ZnL1gI; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si1222986plo.306.2019.08.28.00.20.20; Wed, 28 Aug 2019 00:20:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=K+ZnL1gI; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726455AbfH1HUT (ORCPT + 5 others); Wed, 28 Aug 2019 03:20:19 -0400 Received: from fllv0016.ext.ti.com ([198.47.19.142]:53020 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726328AbfH1HUT (ORCPT ); Wed, 28 Aug 2019 03:20:19 -0400 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7S7KC2Z112354; Wed, 28 Aug 2019 02:20:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566976812; bh=afuz//7UnNzwVZVMwo/xYo1kuWhXq1NbpeAZpr9BBT0=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=K+ZnL1gIFj9jeX5sHseRH7zdRdJETd2Tvrx12JwRcNd3MxajRRIN6pEoIENLvzfqq +iO+vUUdd7jIpZXNsM1+PGZpZ6J6FLgrXMBU2s2dyjHF68hs56h7bsfQQw7RFEWnCv n7WgqpXKsTlUUf+0WJ+gM1E8htrekrMKAcZHCnU4= Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7S7KCgi083430 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Aug 2019 02:20:12 -0500 Received: from DFLE101.ent.ti.com (10.64.6.22) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 28 Aug 2019 02:20:12 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE101.ent.ti.com (10.64.6.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Aug 2019 02:20:12 -0500 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JmfM052201; Wed, 28 Aug 2019 02:20:10 -0500 From: Tero Kristo To: , , , , CC: , , Subject: [PATCHv2 10/11] soc: ti: omap-prm: add am4 PRM data Date: Wed, 28 Aug 2019 10:19:40 +0300 Message-ID: <20190828071941.32378-11-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190828071941.32378-1-t-kristo@ti.com> References: <20190828071941.32378-1-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Add PRM instance data for am4 family of SoCs. Initially this is just used to provide reset support. Signed-off-by: Tero Kristo --- drivers/soc/ti/omap_prm.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c index a54c2e556b7a..fd11785637ff 100644 --- a/drivers/soc/ti/omap_prm.c +++ b/drivers/soc/ti/omap_prm.c @@ -117,10 +117,30 @@ static const struct omap_prm_data am3_prm_data[] = { { }, }; +static const struct omap_rst_map am4_per_rst_map[] = { + { .rst = 1, .st = 0 }, + { .rst = -1 }, +}; + +static const struct omap_rst_map am4_device_rst_map[] = { + { .rst = 0, .st = 1 }, + { .rst = 1, .st = 0 }, + { .rst = -1 }, +}; + +static const struct omap_prm_data am4_prm_data[] = { + { .name = "gfx", .base = 0x44df0400, .rstctrl = 0x10, .rstst = 0x14, .rstmap = rst_map_0, .clkdm_name = "gfx_l3" }, + { .name = "per", .base = 0x44df0800, .rstctrl = 0x10, .rstst = 0x14, .rstmap = am4_per_rst_map, .clkdm_name = "pruss_ocp" }, + { .name = "wkup", .base = 0x44df2000, .rstctrl = 0x10, .rstst = 0x14, .rstmap = am3_wkup_rst_map, .flags = OMAP_PRM_HAS_NO_CLKDM }, + { .name = "device", .base = 0x44df4000, .rstctrl = 0x0, .rstst = 0x4, .rstmap = am4_device_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_NO_CLKDM }, + { }, +}; + static const struct of_device_id omap_prm_id_table[] = { { .compatible = "ti,omap4-prm-inst", .data = omap4_prm_data }, { .compatible = "ti,dra7-prm-inst", .data = dra7_prm_data }, { .compatible = "ti,am3-prm-inst", .data = am3_prm_data }, + { .compatible = "ti,am4-prm-inst", .data = am4_prm_data }, { }, }; From patchwork Wed Aug 28 07:19:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 172331 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp365203ily; Wed, 28 Aug 2019 00:20:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqzItlodi9gO/oBlcOsrw3xFUmI2dH+ZBB1Y/1ui3kPo4OXvf6Z5QVffMj0lnC9EFNGDf/tQ X-Received: by 2002:a63:6c4:: with SMTP id 187mr2041735pgg.401.1566976829200; Wed, 28 Aug 2019 00:20:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566976829; cv=none; d=google.com; s=arc-20160816; b=rZiFFEE9jUQwr99bX+csI0oK/L5inoXPdk8YWkOA6Dh0OOpG0YaF9vYlM9bh6ICWJs 1YXHgJP67nJZAUAJKbL4Lmg8uwJ6LHoE01vubcWGtTQSHRCK5gpbqopW9oWrsy5weKIi z9i6Pke5dgHdKDF6r1+8DnMoGxN2FylJO2eOTKcnGK0lcifyY0Dc7Oq1aK9lLpm7e40A /+f7+krnpGoIS8lURs9r1dTDWoUevzi1zbY62zVoM70PqndRCl5PNSB2PHBTXu74TRj6 qInuqkwWVae2u/U1TPIlAPxDZMAlNHO0tGhfltEld6MXmhyimfdCkp6yZZL8CEJvTfoZ Dm4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=dGrMgeUi6wflxIOZ9TLPa+y2wgWQNeSeZXll2Q1ypN8=; b=R855xqCb84Qfx69KeOBYv61vGpkyW0ES3+Zo72AJW9v8pwqkS1dn5WGPGsLTK2Ra+o a/f5UuQWXEAb2hWNG3Ty5sweDOxnMX8zagQWvhajnV3tuQmMHxTRwiXH6KEReFqokcHm k2pHJc7n85LTxg/lmdVrHz7djZ31PlEudK5zUbYSccKeMpsed8CaZsjlhrfSHsL7We1F nUZyJDzT9dI/DN0c3b5uaYgX4sTk/d4sTggDccmXNqr3CLucJKTw0mS2oWSo9Elm6ood 8Y1TnSF0AVpt6Ph83P6z5E0C+NuWc7k8WKxElov2xkpO4ovFV9juVWMzi5a+IVDzlUDG 7rVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=LA7RHGfH; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si1222986plo.306.2019.08.28.00.20.29; Wed, 28 Aug 2019 00:20:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=LA7RHGfH; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726462AbfH1HU2 (ORCPT + 5 others); Wed, 28 Aug 2019 03:20:28 -0400 Received: from fllv0016.ext.ti.com ([198.47.19.142]:53060 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726328AbfH1HU2 (ORCPT ); Wed, 28 Aug 2019 03:20:28 -0400 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id x7S7KKG4112382; Wed, 28 Aug 2019 02:20:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1566976821; bh=dGrMgeUi6wflxIOZ9TLPa+y2wgWQNeSeZXll2Q1ypN8=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=LA7RHGfHHWPKg1RLI17yfbYWVpXg1RU3JUvaAt79aXRfoyq+tfl95bm6lZfmvApRn NaoPn9ry9yrPaftjaSzzRyIPKtKLkegS4EdzCdrVl4TiOCXXnjleX50Q1Sq5a2ViTl D2q2ImWl/caFL0skz6G7J2KTjb44CSDVht2xOM4M= Received: from DFLE113.ent.ti.com (dfle113.ent.ti.com [10.64.6.34]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x7S7KKbZ025853 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Aug 2019 02:20:20 -0500 Received: from DFLE112.ent.ti.com (10.64.6.33) by DFLE113.ent.ti.com (10.64.6.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 28 Aug 2019 02:20:14 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE112.ent.ti.com (10.64.6.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Aug 2019 02:20:14 -0500 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x7S7JmfN052201; Wed, 28 Aug 2019 02:20:12 -0500 From: Tero Kristo To: , , , , CC: , , Subject: [PATCHv2 11/11] soc: ti: omap-prm: add omap5 PRM data Date: Wed, 28 Aug 2019 10:19:41 +0300 Message-ID: <20190828071941.32378-12-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190828071941.32378-1-t-kristo@ti.com> References: <20190828071941.32378-1-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Add PRM instance data for omap5 family of SoCs. Initially this is just used to provide reset support. Signed-off-by: Tero Kristo --- drivers/soc/ti/omap_prm.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c index fd11785637ff..1a02e319fc63 100644 --- a/drivers/soc/ti/omap_prm.c +++ b/drivers/soc/ti/omap_prm.c @@ -86,6 +86,14 @@ static const struct omap_prm_data omap4_prm_data[] = { { }, }; +static const struct omap_prm_data omap5_prm_data[] = { + { .name = "dsp", .base = 0x4ae06400, .rstctrl = 0x10, .rstst = 0x14, .rstmap = rst_map_01 }, + { .name = "core", .base = 0x4ae06700, .rstctrl = 0x210, .rstst = 0x214, .clkdm_name = "ipu", .rstmap = rst_map_012 }, + { .name = "iva", .base = 0x4ae07200, .rstctrl = 0x10, .rstst = 0x14, .rstmap = rst_map_012 }, + { .name = "device", .base = 0x4ae07c00, .rstctrl = 0x0, .rstst = 0x4, .rstmap = rst_map_01, .flags = OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_NO_CLKDM }, + { }, +}; + static const struct omap_prm_data dra7_prm_data[] = { { .name = "dsp1", .base = 0x4ae06400, .rstctrl = 0x10, .rstst = 0x14, .rstmap = rst_map_01 }, { .name = "ipu", .base = 0x4ae06500, .rstctrl = 0x10, .rstst = 0x14, .clkdm_name = "ipu1", .rstmap = rst_map_012 }, @@ -138,6 +146,7 @@ static const struct omap_prm_data am4_prm_data[] = { static const struct of_device_id omap_prm_id_table[] = { { .compatible = "ti,omap4-prm-inst", .data = omap4_prm_data }, + { .compatible = "ti,omap5-prm-inst", .data = omap5_prm_data }, { .compatible = "ti,dra7-prm-inst", .data = dra7_prm_data }, { .compatible = "ti,am3-prm-inst", .data = am3_prm_data }, { .compatible = "ti,am4-prm-inst", .data = am4_prm_data },