Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp2208058pxm; Fri, 4 Mar 2022 11:23:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJySSMhSdHxacUjS/3puMLIQxsd/NFZnm9yRmJ7FJuUBjFZ7SlJfk0IcMc4aDFtxCUs6NHwz X-Received: by 2002:a63:5a5c:0:b0:378:73b1:e1d8 with SMTP id k28-20020a635a5c000000b0037873b1e1d8mr25759295pgm.364.1646421822796; Fri, 04 Mar 2022 11:23:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646421822; cv=none; d=google.com; s=arc-20160816; b=L8YRPUrYKBMKQPsFRQeq+mOu7VZKKnJkFBnsuCI5hShsLQuQ+yWHcjkJfBG+vR/7So RUZm2g/viQEvfs8nQ2ExUH23BhaRZ9WXMp6/SX8nhZZLUcEpqGKoyZyQUSCCzrfq+GmX 9eeIdlvwyAUHLDXfBBzgwAjAO43hFTdNT6APO6Q1xE8muuXmijn5QNymjDTCUJ2Dns+P pZfF6ABo4qccnelYQCN+7pC7epO3S8ZpksvMlswjo0aczikotmP7ZoKmGwwNyGDVEXle DKERqwZw3V3rs5c6mOuQukQ2MOMh5EQTqM589M91RsMpYrIb1KxxS1QYydTXMF/HtBkj /hnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=n+My/nqfiMsUFME5jSzdOaKmEvDAySulF7VBL4+IJf4=; b=kFLuSOIx8IVsrTdkuzdNEbhIFQUDXE8TeASeIxKCKcRsd3P2utGng2x96JuQG7YNA8 sY2r8u15gwqU4NmHxQW5TVbITDDn2wXv9EqnBUmWwiRuT46NH7B/u4wmXt47NC9owuBN KmPto0UZdlqTgRluJCRhoDnjyJnd28CmVDn/SwqN1wdMMER5V3Nofi38Wu5z5V4ToPzc 6vBRUaqakpb+/nz51+u4jqVkxOnXuY5jemsRI6PitMxuDltyai5fIf2aIKtSKOkSMywA 0BP4H5RUN0sTUJ4f4VvdK0a/AXgTMTk1e+0/kUlRt2nkwY7TWbBY6MhbqOz1QxQFmMe4 AVeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=PnqV9wYm; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id r5-20020a17090aa08500b001bf0dc30c76si317106pjp.69.2022.03.04.11.23.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 11:23:42 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=PnqV9wYm; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7F509F70D5; Fri, 4 Mar 2022 11:09:32 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240761AbiCDQQk (ORCPT + 99 others); Fri, 4 Mar 2022 11:16:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240705AbiCDQQV (ORCPT ); Fri, 4 Mar 2022 11:16:21 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C17DB1B8CB9 for ; Fri, 4 Mar 2022 08:15:32 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id bk29so13441243wrb.4 for ; Fri, 04 Mar 2022 08:15:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n+My/nqfiMsUFME5jSzdOaKmEvDAySulF7VBL4+IJf4=; b=PnqV9wYmLqfFTc4OFJc5UAuaMvtmWEJJN1yL6Rm7H2Q2mStp4J3ChxMgn06ydCvXyK UVRtV/otmLgWI2azaSmPvS4xLdRkV3dkpCcAM6LMGr8w+AwDloylveLMcJBdDQosT0q5 KPsoJe0mc+UridMf98U3NAi8nlEXwLZWoGI3R2UzOvVn1t8KlwaJZlZvWSBH4JdmARrb akkAOnaXLWabkA7OwsKaB8vjC2N/RQOQJb3V3D7vfckSt1zL+lkoaFiaTEfO/g8DDgbe zgYKdl4HKH63UGK6xrr+AByFwFqoA8+ajW49r1XlNolMOOXw3kyLLtWl1STMzHFKGZZ+ zIiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n+My/nqfiMsUFME5jSzdOaKmEvDAySulF7VBL4+IJf4=; b=LWOUfxuChcroXRw10wT7qFTuWJHuc1yV9EuRWu01PbfOMug2WecfPo4VTw5yc8JKnq 2QiQVmNcb89cfVNJbrRf3fcBhaooDTHLd/fWh6+CY+LwUTf7CcuZhfUxrDp0/W4cs/Cg oPoB2mJ6yHpVdMpodNfhF8H5dvkAsB1O9cjOVbGeChidOxuqTj4RPJk/IntGpCiN+fqF tAsyhL0o8VuGNyRSc/okw4FuBb8nZvTlFuJgG+w7qkvffNniD9+2xg+4+y/ehR3+i8/5 GqiQlaONzYw82QND/80/QZfgWqEQkMXJ4BbxnVJRvbqlzVSk2QwxWstkcwOYnllf8whB ar/A== X-Gm-Message-State: AOAM530UAejj+/Ig4NXAMcJ0gXmKGOPuhHk/EV8PUF2dnADQD0HcbNnO IUCGSxLi1VSRv0jXLHiautdmcw== X-Received: by 2002:adf:ef81:0:b0:1f0:95f:30a7 with SMTP id d1-20020adfef81000000b001f0095f30a7mr13676692wro.636.1646410531281; Fri, 04 Mar 2022 08:15:31 -0800 (PST) Received: from xps-9300.baylibre (laubervilliers-658-1-213-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id g6-20020a5d5406000000b001f049726044sm4937307wrv.79.2022.03.04.08.15.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 08:15:30 -0800 (PST) From: Alexandre Bailon To: ohad@wizery.com, bjorn.andersson@linaro.org, mathieu.poirier@linaro.org, robh+dt@kernel.or Cc: matthias.bgg@gmail.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, stephane.leprovost@mediatek.com, khilman@baylibre.com, Julien STEPHAN , Alexandre Bailon Subject: [PATCH v4 5/7] remoteproc: mtk_apu: Use match_data Date: Fri, 4 Mar 2022 17:15:12 +0100 Message-Id: <20220304161514.994128-6-abailon@baylibre.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220304161514.994128-1-abailon@baylibre.com> References: <20220304161514.994128-1-abailon@baylibre.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Julien STEPHAN This commits prepare the driver to be more generic in order to support multiple platform using the compatible property. To do that, put some register values and the clocks names inside private data. Signed-off-by: Julien STEPHAN Signed-off-by: Alexandre Bailon --- drivers/remoteproc/mtk_apu.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/drivers/remoteproc/mtk_apu.c b/drivers/remoteproc/mtk_apu.c index 3905eb5b7174..deec51b86ba5 100644 --- a/drivers/remoteproc/mtk_apu.c +++ b/drivers/remoteproc/mtk_apu.c @@ -58,12 +58,20 @@ #define APU_RESET_DELAY (27) +struct mtk_apu_conf { + u32 core_default0; + u32 core_default1; + u32 num_clks; + const char * const *clk_names; +}; + struct mtk_apu_rproc { struct device *dev; void __iomem *base; int irq; unsigned int num_clks; struct clk_bulk_data *clks; + struct mtk_apu_conf *conf; struct iommu_domain *domain; struct list_head mappings; @@ -81,6 +89,13 @@ static const char * const mt8183_clk_names[] = { "jtag" }; +static const struct mtk_apu_conf mt8183_conf = { + .core_default0 = (0x10 << 23) | (0x10 << 18), + .core_default1 = (0x10 << 0) | (0x10 << 5), + .num_clks = ARRAY_SIZE(mt8183_clk_names), + .clk_names = mt8183_clk_names +}; + static int mtk_apu_iommu_map(struct rproc *rproc, struct rproc_mem_entry *entry) { struct mtk_apu_rproc *apu_rproc = rproc->priv; @@ -289,10 +304,9 @@ static int mtk_apu_rproc_start(struct rproc *rproc) writel(core_ctrl, apu_rproc->base + CORE_CTRL); /* Configure memory accesses to go through the IOMMU */ - writel(CORE_DEFAULT0_AWUSER_USE_IOMMU | CORE_DEFAULT0_ARUSER_USE_IOMMU | - CORE_DEFAULT0_QOS_SWAP_1, apu_rproc->base + CORE_DEFAULT0); - writel(CORE_DEFAULT0_AWUSER_IDMA_USE_IOMMU | - CORE_DEFAULT0_ARUSER_IDMA_USE_IOMMU, + writel(apu_rproc->conf->core_default0 | CORE_DEFAULT0_QOS_SWAP_1, + apu_rproc->base + CORE_DEFAULT0); + writel(apu_rproc->conf->core_default1, apu_rproc->base + CORE_DEFAULT1); /* Release the APU */ @@ -565,11 +579,18 @@ static int mtk_apu_rproc_probe(struct platform_device *pdev) goto free_rproc; } - apu_rproc->num_clks = ARRAY_SIZE(mt8183_clk_names); + + apu_rproc->conf = (struct mtk_apu_conf *)device_get_match_data(dev); + if (!apu_rproc->conf) { + ret = -ENODEV; + goto free_rproc; + } + + apu_rproc->num_clks = apu_rproc->conf->num_clks; apu_rproc->clks = devm_kcalloc(dev, apu_rproc->num_clks, sizeof(*apu_rproc->clks), GFP_KERNEL); for (i = 0; i < apu_rproc->num_clks; ++i) - apu_rproc->clks[i].id = mt8183_clk_names[i]; + apu_rproc->clks[i].id = apu_rproc->conf->clk_names[i]; ret = devm_clk_bulk_get(dev, apu_rproc->num_clks, apu_rproc->clks); if (ret) { @@ -611,7 +632,7 @@ static int mtk_apu_rproc_remove(struct platform_device *pdev) } static const struct of_device_id mtk_apu_rproc_of_match[] = { - { .compatible = "mediatek,mt8183-apu", }, + { .compatible = "mediatek,mt8183-apu", .data = &mt8183_conf }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, mtk_apu_rproc_of_match); -- 2.34.1