From patchwork Wed May 11 16:15:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846447 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 928E8C433FE for ; Wed, 11 May 2022 16:16:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243361AbiEKQQY (ORCPT ); Wed, 11 May 2022 12:16:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233441AbiEKQQX (ORCPT ); Wed, 11 May 2022 12:16:23 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7AE9925E83; Wed, 11 May 2022 09:16:22 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id a191so2218266pge.2; Wed, 11 May 2022 09:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CU+mxLzT2lKMrywnr1rwE6gmb+W0X+NRj+YM58ApNSw=; b=QJutaYpTc95yJslW/QR31EKZU5VboJP08esdGNsJ3bWQXZGFRovAU+n7etO3vYHlA6 tB0Mf0cLMRSPvV7u7NeIvlLPO9MQOfyDkhClZBQ2KhQJBkIe+ieHifcvbZdBEWh/lk0d 4dDzdipsTKIRdT3lCdymJm/Lf5yxfkPXZLiYU3k0YtZBoVEOR8hM/+LjV06kGL3E9YEK p9e2F6zN99YglVvdsvDx7WxuJdf4TArXBwOk8Qh7ZjC9HaE12HdLs6p03f0+Xmaf5yCV 1dvMUwOckEld9hcY8DUbqy9Pb/KtAu/18PLlzQAGVU9oVI5txCa/EOoijNv/RjSOIesZ nDzQ== 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=CU+mxLzT2lKMrywnr1rwE6gmb+W0X+NRj+YM58ApNSw=; b=HX7Pj+TSDsjwqlZEK/YAJVVbMrkZniqUST7Z+Z8hyi9KFFE3j37h0DTPraKbkIXOM1 GX2h62Vk1MYriJZeqxOI7EzavHLcxB/rSghbyAFJXJfYdygvftLQxr7LIwcO9uMo1qac bE4unB/XB+xpIg68ubE8Rx+fEq5aVXShJlIdpNr/nJbb7WLXPX+LHSzZz+KaAj+aWnQ+ /Okbc3Uz4p2W+YwnsadlZxMrdJyK78/ul2bmB76amd7+bvg/nUJH3fdRpALYjEpMWw4c fPJj7VT5pOoG+EqX5ILdPLqEIF6gLDZDgdlasMfKWzArIhGKKJOsS72QHwFUh+SereWS CDAw== X-Gm-Message-State: AOAM533RBeJ3ABal6xLqQspVBkfvVX1vwa8xHYVxqDvebhO+M0ff5E4C IVsPt575hm+CuvdpDgtx+d8sx0CIAL5Tsogq X-Google-Smtp-Source: ABdhPJw+tjlF3RGkx12l9Wv9cBRwKsZ9vL03zq42S5aJnl5DfDG+TeIJeF0rywl12On8RPWpD0CofA== X-Received: by 2002:a05:6a02:11a:b0:39d:698d:5067 with SMTP id bg26-20020a056a02011a00b0039d698d5067mr20967409pgb.310.1652285781753; Wed, 11 May 2022 09:16:21 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:21 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier Subject: [PATCH 1/9] remoteproc: qcom: pas: Add MSM8953 ADSP PIL support Date: Wed, 11 May 2022 21:45:54 +0530 Message-Id: <20220511161602.117772-2-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Add support for the Audio DSP PIL found on the Qualcomm MSM8953 platform. The same configuration is used on all SoCs based on the MSM8953 platform (SDM450, SDA450, SDM625, SDM632, APQ8053). Signed-off-by: Sireesh Kodali --- drivers/remoteproc/qcom_q6v5_pas.c | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 1ae47cc153e5..4dcb714a1468 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -617,7 +617,37 @@ static const struct adsp_data sm8350_adsp_resource = { .ssctl_id = 0x14, }; +static const struct adsp_data msm8953_adsp_resource = { + .crash_reason_smem = 423, + .firmware_name = "adsp.mdt", + .pas_id = 1, + .has_aggre2_clk = false, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + NULL, + }, + .ssr_name = "lpass", + .sysmon_name = "adsp", + .ssctl_id = 0x14, +}; + static const struct adsp_data msm8996_adsp_resource = { + .crash_reason_smem = 423, + .firmware_name = "adsp.mdt", + .pas_id = 1, + .has_aggre2_clk = false, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + NULL, + }, + .ssr_name = "lpass", + .sysmon_name = "adsp", + .ssctl_id = 0x14, +}; + +static const struct adsp_data msm8998_adsp_resource = { .crash_reason_smem = 423, .firmware_name = "adsp.mdt", .pas_id = 1, @@ -850,6 +880,7 @@ static const struct adsp_data sdx55_mpss_resource = { static const struct of_device_id adsp_of_match[] = { { .compatible = "qcom,msm8974-adsp-pil", .data = &adsp_resource_init}, { .compatible = "qcom,msm8996-adsp-pil", .data = &msm8996_adsp_resource}, + { .compatible = "qcom,msm8953-adsp-pil", .data = &msm8953_adsp_resource}, { .compatible = "qcom,msm8996-slpi-pil", .data = &slpi_resource_init}, { .compatible = "qcom,msm8998-adsp-pas", .data = &msm8996_adsp_resource}, { .compatible = "qcom,msm8998-slpi-pas", .data = &slpi_resource_init}, From patchwork Wed May 11 16:15:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846448 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1134C433FE for ; Wed, 11 May 2022 16:16:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344492AbiEKQQ3 (ORCPT ); Wed, 11 May 2022 12:16:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344506AbiEKQQ2 (ORCPT ); Wed, 11 May 2022 12:16:28 -0400 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C273E27150; Wed, 11 May 2022 09:16:26 -0700 (PDT) Received: by mail-pf1-x433.google.com with SMTP id j6so2378258pfe.13; Wed, 11 May 2022 09:16:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Oo+xWOyB/yW9hDceUY9ZJG/L2ZB1N/Jc0WPvd/Kp/Sk=; b=lD/aGErmGSFF6LS7HM2gBFn5Dgs3TUWq7SBRh0LJ951aAqlSmu07pYqqGc6jV0aebn KrDlGykfQPnACbhNu35Hz6SK1qjifM/ANLvvB1vV8oLWmu0CD6fzgNoEpiezjOyKhMqs DDfosSULYfqLqcyjfsdGR44R0kUj74XUouPUM87rncZcrheoAomlgcd8whBkwVqIqcVF 29ZffaUC3zlHRDcPamp0/RVdW4WvFv92q2zWGSlKBceZfMlj3oX3jCVdBMoqbtO+7UEP 7Mfw4HgVR/QQ5EUH3zpRTrqZtWkQdHxnOb7OtSsYuyzXVMc79DnUgLbUpT0Sl6yjmMvl kZFQ== 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=Oo+xWOyB/yW9hDceUY9ZJG/L2ZB1N/Jc0WPvd/Kp/Sk=; b=zQewMB9gHS9orRi/TB21tjndsZDg/3DY4GhZD4i4048qaRefqny29FTLNyCLk8VgZf aPn58Q+q22BI7rgaLGgYEW9GPMbRqhKSkHVIShA/ajZrWd6ICXmsBtAaXpQvo+ZX2wPs 3nzg6VOS6CFk0IPdMk5eXcpOZlOyXfImV03iOJHQ3WqXfFF4+XFx0YPLIJQAQsGlHcCF zWCZofT88gV1/v2phPX0DuU9Qdye6IdTkw6H2caoRvG9nB97JNhuWTP2UFhsWeIU2PxU hfLaLUAwqZzP1+jQbo0KbLq0zXiJHkFyJCNcmLuQ9nKBEWWbNHqnNaumWKddqVVjgReo c2kg== X-Gm-Message-State: AOAM531XwfM2qsNbciIV2Utq5lBfbFQhRSPEJyPKunFeAxZ7Ouyg3Yae kb8yN5RPMloX/Q2XRpCnwdcGtaX6HJ9zJmi3 X-Google-Smtp-Source: ABdhPJw3iDCRKWuiBpmy3ARg0rqWcyBUVXfoQdVvExCxrEH8K0wsVKCptGWoWIp0QmbHPV6YOySojA== X-Received: by 2002:a63:6507:0:b0:3c6:d417:914b with SMTP id z7-20020a636507000000b003c6d417914bmr10640678pgb.475.1652285785917; Wed, 11 May 2022 09:16:25 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:25 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier Subject: [PATCH 2/9] remoteproc: qcom: q6v5-mss: Add modem support on MSM8953 Date: Wed, 11 May 2022 21:45:55 +0530 Message-Id: <20220511161602.117772-3-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org The modem on the MSM8953 platform is similar to the modem on the MSM8996 platform in terms of set up. It differs primarily in the way it needs SCM to bless the MPSS firmware region. Signed-off-by: Sireesh Kodali --- drivers/remoteproc/qcom_q6v5_mss.c | 64 +++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 6 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index af217de75e4d..a73fdcddeda4 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -234,6 +234,7 @@ struct q6v5 { enum { MSS_MSM8916, + MSS_MSM8953, MSS_MSM8974, MSS_MSM8996, MSS_MSM8998, @@ -687,12 +688,14 @@ static int q6v5proc_reset(struct q6v5 *qproc) } goto pbl_wait; } else if (qproc->version == MSS_MSM8996 || - qproc->version == MSS_MSM8998) { + qproc->version == MSS_MSM8998 || + qproc->version == MSS_MSM8953) { int mem_pwr_ctl; /* Override the ACC value if required */ - writel(QDSP6SS_ACC_OVERRIDE_VAL, - qproc->reg_base + QDSP6SS_STRAP_ACC); + if (qproc->version != MSS_MSM8953) + writel(QDSP6SS_ACC_OVERRIDE_VAL, + qproc->reg_base + QDSP6SS_STRAP_ACC); /* Assert resets, stop core */ val = readl(qproc->reg_base + QDSP6SS_RESET_REG); @@ -734,7 +737,8 @@ static int q6v5proc_reset(struct q6v5 *qproc) writel(val, qproc->reg_base + QDSP6SS_PWR_CTL_REG); /* Turn on L1, L2, ETB and JU memories 1 at a time */ - if (qproc->version == MSS_MSM8996) { + if (qproc->version == MSS_MSM8996 || + qproc->version == MSS_MSM8953) { mem_pwr_ctl = QDSP6SS_MEM_PWR_CTL; i = 19; } else { @@ -1314,7 +1318,16 @@ static int q6v5_mpss_load(struct q6v5 *qproc) max_addr = ALIGN(phdr->p_paddr + phdr->p_memsz, SZ_4K); } - /* + if (qproc->version == MSS_MSM8953) { + ret = qcom_scm_pas_mem_setup(5, qproc->mpss_phys, qproc->mpss_size); + if (ret) { + dev_err(qproc->dev, + "setting up mpss memory failed: %d\n", ret); + goto release_firmware; + } + } + + /** * In case of a modem subsystem restart on secure devices, the modem * memory can be reclaimed only after MBA is loaded. */ @@ -1413,7 +1426,6 @@ static int q6v5_mpss_load(struct q6v5 *qproc) writel(RMB_CMD_LOAD_READY, qproc->rmb_base + RMB_MBA_COMMAND_REG); } writel(size, qproc->rmb_base + RMB_PMI_CODE_LENGTH_REG); - ret = readl(qproc->rmb_base + RMB_MBA_STATUS_REG); if (ret < 0) { dev_err(qproc->dev, "MPSS authentication failed: %d\n", @@ -1422,6 +1434,7 @@ static int q6v5_mpss_load(struct q6v5 *qproc) } } + /* Transfer ownership of modem ddr region to q6 */ ret = q6v5_xfer_mem_ownership(qproc, &qproc->mpss_perm, false, true, qproc->mpss_phys, qproc->mpss_size); @@ -2198,6 +2211,44 @@ static const struct rproc_hexagon_res msm8996_mss = { .version = MSS_MSM8996, }; +static const struct rproc_hexagon_res msm8953_mss = { + .hexagon_mba_image = "mba.mbn", + .proxy_supply = (struct qcom_mss_reg_res[]) { + { + .supply = "pll", + .uA = 100000, + }, + {} + }, + .proxy_pd_names = (char*[]) { + "cx", + "mx", + NULL + }, + .active_supply = (struct qcom_mss_reg_res[]) { + { + .supply = "mss", + .uV = 1050000, + .uA = 100000, + }, + {} + }, + .proxy_clk_names = (char*[]){ + "xo", + NULL + }, + .active_clk_names = (char*[]){ + "iface", + "bus", + "mem", + NULL + }, + .need_mem_protection = false, + .has_alt_reset = false, + .has_spare_reg = false, + .version = MSS_MSM8953, +}; + static const struct rproc_hexagon_res msm8916_mss = { .hexagon_mba_image = "mba.mbn", .proxy_supply = (struct qcom_mss_reg_res[]) { @@ -2301,6 +2352,7 @@ static const struct of_device_id q6v5_of_match[] = { { .compatible = "qcom,msm8916-mss-pil", .data = &msm8916_mss}, { .compatible = "qcom,msm8974-mss-pil", .data = &msm8974_mss}, { .compatible = "qcom,msm8996-mss-pil", .data = &msm8996_mss}, + { .compatible = "qcom,msm8953-mss-pil", .data = &msm8953_mss}, { .compatible = "qcom,msm8998-mss-pil", .data = &msm8998_mss}, { .compatible = "qcom,sc7180-mss-pil", .data = &sc7180_mss}, { .compatible = "qcom,sc7280-mss-pil", .data = &sc7280_mss}, From patchwork Wed May 11 16:15:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846449 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55250C4332F for ; Wed, 11 May 2022 16:16:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344505AbiEKQQh (ORCPT ); Wed, 11 May 2022 12:16:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344507AbiEKQQf (ORCPT ); Wed, 11 May 2022 12:16:35 -0400 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B92C289AE; Wed, 11 May 2022 09:16:31 -0700 (PDT) Received: by mail-pl1-x62e.google.com with SMTP id n8so2369146plh.1; Wed, 11 May 2022 09:16:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T8SQnMh/E47vyAFUdZ40OQGlgYRHYSg3xuunTb/Du/8=; b=UMRQlDUpHvGDtuxCLGMBIl7V5WH0H2JGBXDBZLs0kLQeqFdcdz2jtDhZi/3LQ51eCp 5Y/yMK9Ul3ZvtSECQ6HPI+YDdn5ARpxzUIDADporJbJWKK2Ck4pnZ5V8pR540/FDJ0BN 3qFJ4TXIWeddfpKb1MZAOPWHozu7KmPFLJ5RC8xGSC/N97amDSZ1UUuXpt+gjKxvq4yp +ufs5irtJMDXqi42aY2P4BqdncX7EmnAznh+TOn0KRg7ZzTnu2WEwLGtbDbshtWZxgDi MTWmH/YnxOAhl68ZP2eT2CwYP9296yREAZGGOevBumnTH7DUkbSZlx38kAS+OCDnzSr0 RmHQ== 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=T8SQnMh/E47vyAFUdZ40OQGlgYRHYSg3xuunTb/Du/8=; b=m/zO8wQIeKf3IPef5Qnm49Pxg1wCzJz3oxxOMwEPU0jwHvSGFEkt9KMFyA/0tC8YIA nWBbwjwTLOd0atUZ3tzBqzbRH/pTJkKUgKg64rVHUdOZ7XKxtOWfS/OtjUJAYd8P/ITz fQ75eVu/BhBo7HoTWg/uLuDDChdbT0eJvbEAMv61YcV1XL7VJRnuMNieIRk7tJHnQVWo 7KLXOWzAhI5ZJR4zwnyUggtEFUo411LGXv6MK6kpmf/4+43pdLmjQnydbMF5lrUU+eiJ GmmI2A52+7w7WhhOI2PoA9ywnNfm2NcYGzLgMeiMXToyIH9HDBSTeEaUhX6tEkKM6JmL pKDg== X-Gm-Message-State: AOAM530rmaZdVpqJGYsmxLcYM4atHAddMTscCA5KPkGP+QNGCNAW2xeu P/j5wwM+A/TTT+FQVgxe2AGpwoJV5Vh8hhyS X-Google-Smtp-Source: ABdhPJw0c010EfWZkhOqxKl5sGlODUoeowe3AkbSVN6wOwgWZAvTuuqkP9et6hRVLXxgLW9HgkmSJg== X-Received: by 2002:a17:90a:ce13:b0:1d9:acbe:7ede with SMTP id f19-20020a17090ace1300b001d9acbe7edemr6229030pju.16.1652285790359; Wed, 11 May 2022 09:16:30 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:29 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Lypak , Sireesh Kodali , Andy Gross , Mathieu Poirier Subject: [PATCH 3/9] remoteproc: qcom: qcom_wcnss: Add support for pronto-v3 Date: Wed, 11 May 2022 21:45:56 +0530 Message-Id: <20220511161602.117772-4-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Vladimir Lypak Pronto-v3 is similar to pronto-v2. It requires two power domains, and it requires the xo clock. It is used on the MSM8953 platform. Signed-off-by: Vladimir Lypak Signed-off-by: Sireesh Kodali --- drivers/remoteproc/qcom_wcnss.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c index 9a223d394087..add792d752ba 100644 --- a/drivers/remoteproc/qcom_wcnss.c +++ b/drivers/remoteproc/qcom_wcnss.c @@ -141,6 +141,18 @@ static const struct wcnss_data pronto_v2_data = { .num_vregs = 1, }; +static const struct wcnss_data pronto_v3_data = { + .pmu_offset = 0x1004, + .spare_offset = 0x1088, + + .pd_names = { "mx", "cx" }, + .vregs = (struct wcnss_vreg_info[]) { + { "vddpx", 1800000, 1800000, 0 }, + }, + .num_pd_vregs = 2, + .num_vregs = 1, +}; + static int wcnss_load(struct rproc *rproc, const struct firmware *fw) { struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; @@ -669,6 +681,7 @@ static const struct of_device_id wcnss_of_match[] = { { .compatible = "qcom,riva-pil", &riva_data }, { .compatible = "qcom,pronto-v1-pil", &pronto_v1_data }, { .compatible = "qcom,pronto-v2-pil", &pronto_v2_data }, + { .compatible = "qcom,pronto-v3-pil", &pronto_v3_data }, { }, }; MODULE_DEVICE_TABLE(of, wcnss_of_match); From patchwork Wed May 11 16:15:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846450 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E1BAC4332F for ; Wed, 11 May 2022 16:16:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344528AbiEKQQm (ORCPT ); Wed, 11 May 2022 12:16:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344539AbiEKQQi (ORCPT ); Wed, 11 May 2022 12:16:38 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED93C25EA6; Wed, 11 May 2022 09:16:36 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id i17so2330748pla.10; Wed, 11 May 2022 09:16:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=O0GO+ft+dwHvfJoPa2fsL+9iF5dCZRWn0oUcpqa+NiI=; b=hJuXKP0T/GR4yux3rKVcFrAcR7q42Y6juLDK3dZM/v/ZrqbI4jpK7+9MUaHBnFB++s cEAwdW91cEyAT21Tf18d/m7Vik86d3zNW1akWQWbQT40s+fdSdIc0CYxU5HpkYScq81o dy53mk+pqhcveWb6dcQGmWKLSnz/qN/Idd39yISnE9v8TmzcZe3gACD7UQYOw6OwDhur S0op+DpIaRmTyWVO91VekFTbbXa+b9IQuZQ4SjvIfHq7HVqjbKyZYo2S1zNOFCVx+zT9 Ff/LAp5CB1djypR2VCQY9Ao2JqwRcnoqxOuaI55Jw+yLR5N/GHQJxA53eo2uUFraJt1n cfaw== 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=O0GO+ft+dwHvfJoPa2fsL+9iF5dCZRWn0oUcpqa+NiI=; b=jbuRDD9rXkD9AjczvO3ylMjEBxU/KxngnzJlpVGJWV1Ho4Z1RulmaIkRPTyUhwTVYo avJp/VCOjNiq3ASpNl6ufBd5sCLpi/GMR5dAq4n9isjC+ncvJodfNQiRYFNep41ejoEl akyTjzaEgfNlH9HX2O23ozGYnXuRLQJXmx2+VFjQPoOcjRZFy9Lj/j4Yg8/q1vSyb1WR +WS/zh3VH46jJbY4rSsuSFMev+/17AbCKPFOwV1Bu2ujycvuu9ZJ6JnnyGmvXlLP0WGr c6PjH5IAkzXD9OvY4uZCVz+vVvF6CI9XicUBnnXPMD5kMMHUwPw3byF557y0BOltRSQA Y4tA== X-Gm-Message-State: AOAM5330BVWXYgIlLHxXID7aNwxY7teYSvYm+9HXdn9ahbE0gQ8z++oT Lq8NH13cjN6jtLzgMSE18Wvv/iJKU1+R/dwG X-Google-Smtp-Source: ABdhPJxUfrSydVREGklb+OjGERB2cu+ozjNkalIW0YfG1YndSusBz9Fm6eUW7y9coflsK68+bRsgtA== X-Received: by 2002:a17:90a:4413:b0:1cd:2d00:9d0b with SMTP id s19-20020a17090a441300b001cd2d009d0bmr6116311pjg.81.1652285795995; Wed, 11 May 2022 09:16:35 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:35 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski Subject: [PATCH 4/9] dt-bindings: remoteproc: qcom: wcnss: Convert to YAML Date: Wed, 11 May 2022 21:45:57 +0530 Message-Id: <20220511161602.117772-5-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Convert the dt-bindings from txt to YAML. This is in preparation for including the relevant bindings for the MSM8953 platform's wcnss pil. Signed-off-by: Sireesh Kodali --- .../bindings/remoteproc/qcom,wcnss-pil.txt | 177 -------------- .../bindings/remoteproc/qcom,wcnss-pil.yaml | 228 ++++++++++++++++++ 2 files changed, 228 insertions(+), 177 deletions(-) delete mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt deleted file mode 100644 index a83080b8905c..000000000000 --- a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt +++ /dev/null @@ -1,177 +0,0 @@ -Qualcomm WCNSS Peripheral Image Loader - -This document defines the binding for a component that loads and boots firmware -on the Qualcomm WCNSS core. - -- compatible: - Usage: required - Value type: - Definition: must be one of: - "qcom,riva-pil", - "qcom,pronto-v1-pil", - "qcom,pronto-v2-pil" - -- reg: - Usage: required - Value type: - Definition: must specify the base address and size of the CCU, DXE and - PMU register blocks - -- reg-names: - Usage: required - Value type: - Definition: must be "ccu", "dxe", "pmu" - -- interrupts-extended: - Usage: required - Value type: - Definition: must list the watchdog and fatal IRQs and may specify the - ready, handover and stop-ack IRQs - -- interrupt-names: - Usage: required - Value type: - Definition: should be "wdog", "fatal", optionally followed by "ready", - "handover", "stop-ack" - -- firmware-name: - Usage: optional - Value type: - Definition: must list the relative firmware image path for the - WCNSS core. Defaults to "wcnss.mdt". - -- vddmx-supply: (deprecated for qcom,pronto-v1/2-pil) -- vddcx-supply: (deprecated for qcom,pronto-v1/2-pil) -- vddpx-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the WCNSS core - -- power-domains: - Usage: required (for qcom,pronto-v1/2-pil) - Value type: - Definition: reference to the power domains to be held on behalf of the - booting of the WCNSS core - -- power-domain-names: - Usage: required (for qcom,pronto-v1/2-pil) - Value type: - Definition: must be "cx", "mx" - -- qcom,smem-states: - Usage: optional - Value type: - Definition: reference to the SMEM state used to indicate to WCNSS that - it should shut down - -- qcom,smem-state-names: - Usage: optional - Value type: - Definition: should be "stop" - -- memory-region: - Usage: required - Value type: - Definition: reference to reserved-memory node for the remote processor - see ../reserved-memory/reserved-memory.txt - -= SUBNODES -A required subnode of the WCNSS PIL is used to describe the attached rf module -and its resource dependencies. It is described by the following properties: - -- compatible: - Usage: required - Value type: - Definition: must be one of: - "qcom,wcn3620", - "qcom,wcn3660", - "qcom,wcn3660b", - "qcom,wcn3680" - -- clocks: - Usage: required - Value type: - Definition: should specify the xo clock and optionally the rf clock - -- clock-names: - Usage: required - Value type: - Definition: should be "xo", optionally followed by "rf" - -- vddxo-supply: -- vddrfa-supply: -- vddpa-supply: -- vdddig-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the WCNSS core - - -The wcnss node can also have an subnode named "smd-edge" that describes the SMD -edge, channels and devices related to the WCNSS. -See ../soc/qcom/qcom,smd.txt for details on how to describe the SMD edge. - -= EXAMPLE -The following example describes the resources needed to boot control the WCNSS, -with attached WCN3680, as it is commonly found on MSM8974 boards. - -pronto@fb204000 { - compatible = "qcom,pronto-v2-pil"; - reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>; - reg-names = "ccu", "dxe", "pmu"; - - interrupts-extended = <&intc 0 149 1>, - <&wcnss_smp2p_slave 0 0>, - <&wcnss_smp2p_slave 1 0>, - <&wcnss_smp2p_slave 2 0>, - <&wcnss_smp2p_slave 3 0>; - interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; - - power-domains = <&rpmpd MSM8974_VDDCX>, <&rpmpd MSM8974_VDDMX>; - power-domain-names = "cx", "mx"; - - vddpx-supply = <&pm8941_s3>; - - qcom,smem-states = <&wcnss_smp2p_out 0>; - qcom,smem-state-names = "stop"; - - memory-region = <&wcnss_region>; - - pinctrl-names = "default"; - pinctrl-0 = <&wcnss_pin_a>; - - iris { - compatible = "qcom,wcn3680"; - - clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>; - clock-names = "xo", "rf"; - - vddxo-supply = <&pm8941_l6>; - vddrfa-supply = <&pm8941_l11>; - vddpa-supply = <&pm8941_l19>; - vdddig-supply = <&pm8941_s3>; - }; - - smd-edge { - interrupts = <0 142 1>; - - qcom,ipc = <&apcs 8 17>; - qcom,smd-edge = <6>; - qcom,remote-pid = <4>; - - label = "pronto"; - - wcnss { - compatible = "qcom,wcnss"; - qcom,smd-channels = "WCNSS_CTRL"; - - qcom,mmio = <&pronto>; - - bt { - compatible = "qcom,wcnss-bt"; - }; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml new file mode 100644 index 000000000000..d19f9f87a3e3 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml @@ -0,0 +1,228 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/remoteproc/qcom,wcnss-pil.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm WCNSS Peripheral Image Loader + +maintainers: + - Bjorn Andersson + +description: + This document defines the binding for a component that loads and boots + firmware on the Qualcomm WCNSS core. + +properties: + compatible: + oneOf: + - items: + - enum: + - qcom,pronto-v2-pil + - enum: + - qcom,pronto + - items: + - enum: + - qcom,riva-pil + - qcom,pronto-v1-pil + - qcom,pronto-v2-pil + + reg: + description: must specify the base address and size of the CCU, DXE and PMU + register blocks + + reg-names: + items: + - const: ccu + - const: dxe + - const: pmu + + interrupts-extended: + description: + Interrupt lines + minItems: 2 + maxItems: 5 + + interrupt-names: + minItems: 2 + maxItems: 5 + + firmware-name: + $ref: /schemas/types.yaml#/definitions/string + description: Relative firmware image path for the WCNSS core. Defaults to + "wcnss.mdt". + + vddpx-supply: + description: Reference to the PX regulator to be held on behalf of the + booting of the WCNSS core + + vddmx-supply: + description: Reference to the MX regulator to be held on behalf of the + booting of the WCNSS core. + + vddcx-supply: + description: Reference to the CX regulator to be held on behalf of the + booting of the WCNSS core. + + power-domains: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: References to the power domains that need to be held on + behalf of the booting WCNSS core + + power-domain-names: + $ref: /schemas/types.yaml#/definitions/string-array + description: Names of the power domains + items: + - const: cx + - const: mx + + qcom,smem-states: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: States used by the AP to signal the WCNSS core that it should + shutdown + items: + - description: Stop the modem + + qcom,smem-state-names: + $ref: /schemas/types.yaml#/definitions/string-array + description: The names of the state bits used for SMP2P output + items: + - const: stop + + memory-region: + maxItems: 1 + description: Reference to the reserved-memory for the WCNSS core + + smd-edge: + type: object + description: + Qualcomm Shared Memory subnode which represents communication edge, + channels and devices related to the ADSP. + + iris: + type: object + description: + The iris subnode of the WCNSS PIL is used to describe the attached rf module + and its resource dependencies. + + properties: + compatible: + enum: + - qcom,wcn3620 + - qcom,wcn3660 + - qcom,wcn3660b + - qcom,wcn3680 + + clocks: + description: XO clock + + clock-names: + items: + - const: xo + + required: + - compatible + +required: + - compatible + - reg + - reg-names + - interrupts-extended + - interrupt-names + - vddpx-supply + - memory-region + - smd-edge + - iris + +additionalProperties: false + +if: + properties: + compatible: + contains: + enum: + - qcom,pronto-v1-pil + - qcom,pronto-v2-pil +then: + properties: + vddmx-supply: + deprecated: true + description: Deprecated for qcom,pronto-v1/2-pil + + vddcx-supply: + deprecated: true + description: Deprecated for qcom,pronto-v1/2-pil + + required: + - power-domains + - power-domain-names + +examples: + - | + #include + #include + #include + pronto@a21b000 { + compatible = "qcom,pronto-v2-pil"; + reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; + reg-names = "ccu", "dxe", "pmu"; + + interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; + + power-domains = <&rpmpd MSM8916_VDDCX>, <&rpmpd MSM8916_VDDMX>; + power-domain-names = "cx", "mx"; + + vddpx-supply = <&pm8916_l7>; + + qcom,smem-states = <&wcnss_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + memory-region = <&wcnss_region>; + + pinctrl-names = "default"; + pinctrl-0 = <&wcnss_pin_a>; + + iris { + compatible = "qcom,wcn3620"; + + clocks = <&rpmcc RPM_SMD_RF_CLK2>; + clock-names = "xo"; + }; + + smd-edge { + interrupts = ; + + qcom,ipc = <&apcs 8 17>; + qcom,smd-edge = <6>; + qcom,remote-pid = <4>; + + label = "pronto"; + + wcnss { + compatible = "qcom,wcnss"; + qcom,smd-channels = "WCNSS_CTRL"; + + qcom,mmio = <&pronto>; + + bt { + compatible = "qcom,wcnss-bt"; + }; + + wifi { + compatible = "qcom,wcnss-wlan"; + + interrupts = , + ; + interrupt-names = "tx", "rx"; + + qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; + qcom,smem-state-names = "tx-enable", "tx-rings-empty"; + }; + }; + }; + }; From patchwork Wed May 11 16:15:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846451 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18183C4167D for ; Wed, 11 May 2022 16:16:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344546AbiEKQQo (ORCPT ); Wed, 11 May 2022 12:16:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344524AbiEKQQl (ORCPT ); Wed, 11 May 2022 12:16:41 -0400 Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60A21289B0; Wed, 11 May 2022 09:16:41 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id l20-20020a17090a409400b001dd2a9d555bso2547978pjg.0; Wed, 11 May 2022 09:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QspKJ7xS9nMjXQDdB9sl+PR92lMjE5l6tz6HCa/X19M=; b=L8BTlzbq3h80jRyTNdtMJQFUl863m2DcWr6Ml3fI/ukeWa2rXcVeJ90F847VqjVEnh ljbIpi1JC/y2ZD+bRduwSKk0P89Il2XVXYWlX9uAhjdP/I2Sjet/MaUBBfRghLJKoZ9A MZovwEJLRrkFlAlA4ITFQl+k9NliFqmD+e+fNjMSWmx8dUji4rkE8Y/7CeZyGMEbWytw sYXaxmPu0r8iYZ6QeIqTXWvWD/v4yiVeF1JOUptZ2ZPoCByyIeoE38IhRHq8Y6GjmngY rHS5HtiS6N303zVHE6oT5HPgin4MR3I1QsN1xsh20ZftGzQrAN2Uy3uV2r5rCrijrBtE ZAHg== 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=QspKJ7xS9nMjXQDdB9sl+PR92lMjE5l6tz6HCa/X19M=; b=0LDvQzjkcSKDnKs9pQNzEpzABmNoLCez20xf00xFURWu3j/MJhZu5yk48UcWi4nwB+ NwSsplCTqtRHqTf9Qlw9c2O7nUvf5yem/VmJWOv2+D7Lbf01dPcO4csFnuPLd92IGRjW YKMtKMALTq2nIHeQKT4Pt9nuetz0d4O2OAH5yhJ9PqJibujxMAdteG1gbWYVt+MaNznb lUYjxKAcS+o6svloDrgG8YDRBwxV699hitlqRQrHS+PodBYwAPGTu5q7wDuE8thI1360 VnOa8zEyfOg4Dbro0WvzvivZfwYMgmnqJ0C7uKJo/5enl76VgNPOfrYMSlchu4v1vQQv jD0g== X-Gm-Message-State: AOAM531TWzn7xiqDQI2xSu7IfzLMEIj0VzB8aiU8Kxp4HI+J01DPvkNV pDGkH1D+k7LvJ0oe43Vdh7P/fuIAj2U64Y9f X-Google-Smtp-Source: ABdhPJw2FnVkiIQCYaV3Cxgsel5YXB2aKTEFlJin3pjYuIdhpltlbkyYFiXCXRr1/vvI+yi47nbRkA== X-Received: by 2002:a17:90b:1945:b0:1dc:69bc:69f with SMTP id nk5-20020a17090b194500b001dc69bc069fmr6044764pjb.217.1652285800648; Wed, 11 May 2022 09:16:40 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:40 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski Subject: [PATCH 5/9] dt-bindings: remoteproc: qcom: wcnss: Add compatible for pronto v3 Date: Wed, 11 May 2022 21:45:58 +0530 Message-Id: <20220511161602.117772-6-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org The pronto v3 remoteproc is similar to pronto v2. It is found on the MSM8953 platform, which is used by SDM450, SDM625, SDM626, APQ8053 and other SoCs. Since the configuration is same on all SoCs, a single compatible is used. Signed-off-by: Sireesh Kodali --- .../devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml index d19f9f87a3e3..89bef16f153d 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml @@ -26,6 +26,7 @@ properties: - qcom,riva-pil - qcom,pronto-v1-pil - qcom,pronto-v2-pil + - qcom,pronto-v3-pil reg: description: must specify the base address and size of the CCU, DXE and PMU @@ -143,15 +144,16 @@ if: enum: - qcom,pronto-v1-pil - qcom,pronto-v2-pil + - qcom,pronto-v3-pil then: properties: vddmx-supply: deprecated: true - description: Deprecated for qcom,pronto-v1/2-pil + description: Deprecated for qcom,pronto-v1/2/3-pil vddcx-supply: deprecated: true - description: Deprecated for qcom,pronto-v1/2-pil + description: Deprecated for qcom,pronto-v1/2/3-pil required: - power-domains From patchwork Wed May 11 16:15:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846452 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B78D0C433EF for ; Wed, 11 May 2022 16:17:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344558AbiEKQRA (ORCPT ); Wed, 11 May 2022 12:17:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344592AbiEKQQx (ORCPT ); Wed, 11 May 2022 12:16:53 -0400 Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0435F2899C; Wed, 11 May 2022 09:16:48 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id c9so2370522plh.2; Wed, 11 May 2022 09:16:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JXNk/wGnkhO9VQdBWaw8cOb3okfyhdJAFrNpF+Zj220=; b=qT6/+aArDex9TwZvim8fIl+e29xlaIC/Su3Dyl7y1c60aVGspiCsjYBsn/u7fqkNRL gvM4a3VMv4Q0g6d6fExO7WKnE/DaXnIqurC+x3StoYRhlzZIim/rlRtav3x0SWbKcDhP xhLJXLiEh/RX9Xt9DT8ZDuHZ5wsGnDAGFax2iIWKDH3rPb1890bvXtTCKjmSnuM5scBA soIN6nBzxkCSgFMZt5kvNmQX1HtcU9HDdBoDPFhk7Mc+hRURLKBQqfkDRPZa/WZZszeq zo1ea+Q6B8rvPebNsYQgEeQh4fjOpYUk4tsUkj2lZR3qm99cXs+981VS45PyRIH0i9Jp fpQA== 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=JXNk/wGnkhO9VQdBWaw8cOb3okfyhdJAFrNpF+Zj220=; b=HMZkKitBa2agl8wsyXWX0D89aBjPyhkU+KT6my+AFYHOWwmO9kAPyOJgON+PRtftB9 GAeetndsKephrdH5J2Nl/m815TLEArA8rsDOGUUez0IMKB4jeL0xT0skfv14l5TpOHPh KX7HOnhdhojrrCk65fhT8+vZqZDlZGEd1dL/QAEyEtbSGt7v4huEcEV7E89+x8M/tvDT 3/iodko2FRlgTcRpQR00/8l+JY9J6Rv97Rz31Kp6VhHQKDPGquYZWJrqYMKJueuWZAsJ mgDxSACJccX1Age8zBS0z1Ehiva3p/NMUSfT/fWjW9Qqr5BCB+iJ4htLOEiNy2qEb/CG Zeyw== X-Gm-Message-State: AOAM531ifC4h0epc8VgCLHvyeEIXENtQRDK4yPn0n0UeEyFU0sQkkmln VojivaDYf3b6cGBxhTOFpYTCA6usP/N6PQl4 X-Google-Smtp-Source: ABdhPJwhFGsG/qtfM4JVViSKoMGZ6MG37oGtmEFe18+pstGspH7dcLRoiBz7LFe8g3YjvXSp3vRX/g== X-Received: by 2002:a17:903:120a:b0:15f:99f:95bc with SMTP id l10-20020a170903120a00b0015f099f95bcmr16874453plh.48.1652285807972; Wed, 11 May 2022 09:16:47 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:47 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski Subject: [PATCH 6/9] dt-bindings: remoteproc: qcom: mss: Convert bindings to YAML Date: Wed, 11 May 2022 21:45:59 +0530 Message-Id: <20220511161602.117772-7-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Convert the bindings to YAML from txt. The bindings follow a similar schema to `qcom,adsp.yaml`. Signed-off-by: Sireesh Kodali --- .../bindings/remoteproc/qcom,q6v5.txt | 302 -------- .../bindings/remoteproc/qcom,q6v5.yaml | 702 ++++++++++++++++++ 2 files changed, 702 insertions(+), 302 deletions(-) delete mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt deleted file mode 100644 index 8f1507052afd..000000000000 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ /dev/null @@ -1,302 +0,0 @@ -Qualcomm Hexagon Peripheral Image Loader - -This document defines the binding for a component that loads and boots firmware -on the Qualcomm Hexagon core. - -- compatible: - Usage: required - Value type: - Definition: must be one of: - "qcom,q6v5-pil", - "qcom,ipq8074-wcss-pil" - "qcom,qcs404-wcss-pil" - "qcom,msm8916-mss-pil", - "qcom,msm8974-mss-pil" - "qcom,msm8996-mss-pil" - "qcom,msm8998-mss-pil" - "qcom,sc7180-mss-pil" - "qcom,sc7280-mss-pil" - "qcom,sdm845-mss-pil" - -- reg: - Usage: required - Value type: - Definition: must specify the base address and size of the qdsp6 and - rmb register blocks - -- reg-names: - Usage: required - Value type: - Definition: must be "q6dsp" and "rmb" - -- interrupts-extended: - Usage: required - Value type: - Definition: reference to the interrupts that match interrupt-names - -- interrupt-names: - Usage: required - Value type: - Definition: The interrupts needed depends on the the compatible - string: - qcom,q6v5-pil: - qcom,ipq8074-wcss-pil: - qcom,qcs404-wcss-pil: - qcom,msm8916-mss-pil: - qcom,msm8974-mss-pil: - must be "wdog", "fatal", "ready", "handover", "stop-ack" - qcom,msm8996-mss-pil: - qcom,msm8998-mss-pil: - qcom,sc7180-mss-pil: - qcom,sc7280-mss-pil: - qcom,sdm845-mss-pil: - must be "wdog", "fatal", "ready", "handover", "stop-ack", - "shutdown-ack" - -- firmware-name: - Usage: optional - Value type: - Definition: must list the relative firmware image paths for mba and - modem. They are used for booting and authenticating the - Hexagon core. - -- clocks: - Usage: required - Value type: - Definition: reference to the clocks that match clock-names - -- clock-names: - Usage: required - Value type: - Definition: The clocks needed depend on the compatible string: - qcom,ipq8074-wcss-pil: - no clock names required - qcom,qcs404-wcss-pil: - must be "xo", "gcc_abhs_cbcr", "gcc_abhs_cbcr", - "gcc_axim_cbcr", "lcc_ahbfabric_cbc", "tcsr_lcc_cbc", - "lcc_abhs_cbc", "lcc_tcm_slave_cbc", "lcc_abhm_cbc", - "lcc_axim_cbc", "lcc_bcr_sleep" - qcom,q6v5-pil: - qcom,msm8916-mss-pil: - qcom,msm8974-mss-pil: - must be "iface", "bus", "mem", "xo" - qcom,msm8996-mss-pil: - must be "iface", "bus", "mem", "xo", "gpll0_mss", - "snoc_axi", "mnoc_axi", "pnoc", "qdss" - qcom,msm8998-mss-pil: - must be "iface", "bus", "mem", "xo", "gpll0_mss", - "snoc_axi", "mnoc_axi", "qdss" - qcom,sc7180-mss-pil: - must be "iface", "bus", "xo", "snoc_axi", "mnoc_axi", - "nav" - qcom,sc7280-mss-pil: - must be "iface", "xo", "snoc_axi", "offline", "pka" - qcom,sdm845-mss-pil: - must be "iface", "bus", "mem", "xo", "gpll0_mss", - "snoc_axi", "mnoc_axi", "prng" - -- resets: - Usage: required - Value type: - Definition: reference to the reset-controller for the modem sub-system - reference to the list of 3 reset-controllers for the - wcss sub-system - reference to the list of 2 reset-controllers for the modem - sub-system on SC7180, SC7280, SDM845 SoCs - -- reset-names: - Usage: required - Value type: - Definition: must be "mss_restart" for the modem sub-system - must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" - for the wcss sub-system - must be "mss_restart", "pdc_reset" for the modem - sub-system on SC7180, SC7280, SDM845 SoCs - -For devices where the mba and mpss sub-nodes are not specified, mba/mpss region -should be referenced as follows: -- memory-region: - Usage: required - Value type: - Definition: reference to the reserved-memory for the mba region followed - by the mpss region - -For the compatible strings below the following supplies are required: - "qcom,q6v5-pil" - "qcom,msm8916-mss-pil", -- cx-supply: (deprecated, use power domain instead) -- mx-supply: (deprecated, use power domain instead) -- pll-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the Hexagon core - -For the compatible string below the following supplies are required: - "qcom,msm8974-mss-pil" -- cx-supply: (deprecated, use power domain instead) -- mss-supply: -- mx-supply: (deprecated, use power domain instead) -- pll-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the Hexagon core - -For the compatible string below the following supplies are required: - "qcom,qcs404-wcss-pil" -- cx-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the Hexagon core - -For the compatible string below the following supplies are required: - "qcom,msm8996-mss-pil" -- pll-supply: - Usage: required - Value type: - Definition: reference to the regulators to be held on behalf of the - booting of the Hexagon core - -- power-domains: - Usage: required - Value type: - Definition: reference to power-domains that match power-domain-names - -- power-domain-names: - Usage: required - Value type: - Definition: The power-domains needed depend on the compatible string: - qcom,ipq8074-wcss-pil: - no power-domain names required - qcom,q6v5-pil: - qcom,msm8916-mss-pil: - qcom,msm8974-mss-pil: - qcom,msm8996-mss-pil: - qcom,msm8998-mss-pil: - must be "cx", "mx" - qcom,sc7180-mss-pil: - must be "cx", "mx", "mss" - qcom,sc7280-mss-pil: - must be "cx", "mss" - qcom,sdm845-mss-pil: - must be "cx", "mx", "mss" - -- qcom,qmp: - Usage: optional - Value type: - Definition: reference to the AOSS side-channel message RAM. - -- qcom,smem-states: - Usage: required - Value type: - Definition: reference to the smem state for requesting the Hexagon to - shut down - -- qcom,smem-state-names: - Usage: required - Value type: - Definition: must be "stop" - -- qcom,halt-regs: - Usage: required - Value type: - Definition: a phandle reference to a syscon representing TCSR followed - by the three offsets within syscon for q6, modem and nc - halt registers. - a phandle reference to a syscon representing TCSR followed - by the four offsets within syscon for q6, modem, nc and vq6 - halt registers on SC7280 SoCs. - -For the compatible strings below the following phandle references are required: - "qcom,sc7180-mss-pil" -- qcom,spare-regs: - Usage: required - Value type: - Definition: a phandle reference to a syscon representing TCSR followed - by the offset within syscon for conn_box_spare0 register - used by the modem sub-system running on SC7180 SoC. - -For the compatible strings below the following phandle references are required: - "qcom,sc7280-mss-pil" -- qcom,ext-regs: - Usage: required - Value type: - Definition: two phandle references to syscons representing TCSR_REG and - TCSR register space followed by the two offsets within the syscon - to force_clk_en/rscc_disable and axim1_clk_off/crypto_clk_off - registers respectively. - -- qcom,qaccept-regs: - Usage: required - Value type: - Definition: a phandle reference to a syscon representing TCSR followed - by the three offsets within syscon for mdm, cx and axi - qaccept registers used by the modem sub-system running on - SC7280 SoC. - -The Hexagon node must contain iommus property as described in ../iommu/iommu.txt -on platforms which do not have TrustZone. - -= SUBNODES: -The Hexagon node must contain two subnodes, named "mba" and "mpss" representing -the memory regions used by the Hexagon firmware. Each sub-node must contain: - -- memory-region: - Usage: required - Value type: - Definition: reference to the reserved-memory for the region - -The Hexagon node may also have an subnode named either "smd-edge" or -"glink-edge" that describes the communication edge, channels and devices -related to the Hexagon. See ../soc/qcom/qcom,smd.txt and -../soc/qcom/qcom,glink.txt for details on how to describe these. - -= EXAMPLE -The following example describes the resources needed to boot control the -Hexagon, as it is found on MSM8974 boards. - - modem-rproc@fc880000 { - compatible = "qcom,q6v5-pil"; - reg = <0xfc880000 0x100>, - <0xfc820000 0x020>; - reg-names = "qdsp6", "rmb"; - - interrupts-extended = <&intc 0 24 1>, - <&modem_smp2p_in 0 0>, - <&modem_smp2p_in 1 0>, - <&modem_smp2p_in 2 0>, - <&modem_smp2p_in 3 0>; - interrupt-names = "wdog", - "fatal", - "ready", - "handover", - "stop-ack"; - - clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, - <&gcc GCC_MSS_CFG_AHB_CLK>, - <&gcc GCC_BOOT_ROM_AHB_CLK>; - clock-names = "iface", "bus", "mem"; - - qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>; - - resets = <&gcc GCC_MSS_RESTART>; - reset-names = "mss_restart"; - - cx-supply = <&pm8841_s2>; - mss-supply = <&pm8841_s3>; - mx-supply = <&pm8841_s1>; - pll-supply = <&pm8941_l12>; - - qcom,smem-states = <&modem_smp2p_out 0>; - qcom,smem-state-names = "stop"; - - mba { - memory-region = <&mba_region>; - }; - - mpss { - memory-region = <&mpss_region>; - }; - }; diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml new file mode 100644 index 000000000000..1c67c6cbf417 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml @@ -0,0 +1,702 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/remoteproc/qcom,q6v5.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Hexagon Peripheral Image Loader + +maintainers: + - Bjorn Andersson + +description: + This document defines the binding for a component that loads and boots firmware + on the Qualcomm Hexagon core. + +properties: + compatible: + # Special case, because older platforms like MSM8916 use both compatibles together + minItems: 1 + maxItems: 2 + oneOf: + - items: + - enum: + - qcom,msm8916-mss-pil + - enum: + - qcom,q6v5-pil + - items: + - enum: + - qcom,q6v5-pil + - qcom,ipq8074-wcss-pil + - qcom,qcs404-wcss-pil + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + - qcom,msm8996-mss-pil + - qcom,msm8998-mss-pil + - qcom,sc7180-mss-pil + - qcom,sc7280-mss-pil + - qcom,sdm845-mss-pil + + reg: + description: must specify the base address and size of the qdsp6 and rmb + register blocks + maxItems: 2 + + reg-names: + items: + - const: qdsp6 + - const: rmb + + interrupts-extended: + minItems: 5 + maxItems: 6 + + interrupt-names: + minItems: 5 + maxItems: 6 + + firmware-name: + $ref: /schemas/types.yaml#/definitions/string-array + description: List the relative firmware image paths for the mba and + modem. They are used for booting and authenticating the Hexagon core. + maxItems: 2 + + clocks: + minItems: 4 + maxItems: 10 + + clock-names: + minItems: 4 + maxItems: 10 + + resets: + description: Reference to the reset-controllwer for the modem subsystem + minItems: 1 + maxItems: 3 + + reset-names: + minItems: 1 + maxItems: 3 + + memory-region: + maxItems: 1 + description: Reference to the reserved-memory for the mba region followed + by the mpss region. Required if the mba and mpss sub-nodes are not + specified. + + cx-supply: + description: Phandle to the CX regulator + + mx-supply: + description: Phandle to the MX regulator + + pll-supply: + description: Phandle to the PLL regulator, to be held on behalf of the + booting Hexagon core + + mss-supply: + description: Phandle to the mss regulator, to be held on behalf of the + booting Hexagon core + + power-domains: + minItems: 1 + maxItems: 4 + + power-domain-names: + minItems: 1 + maxItems: 4 + + qcom,qmp: + $ref: /schemas/types.yaml#/definitions/phandle + description: Reference to the AOSS side-channel message RAM. + + qcom,smem-states: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: States used by the AP to signal the Hexagon core + items: + - description: Stop the modem + + qcom,smem-state-names: + $ref: /schemas/types.yaml#/definitions/string-array + description: The names of the state bits used for SMP2P output + items: + - const: stop + + qcom,halt-regs: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + Phandle reference to a syscon representing TCSR followed by the + three offsets within syscon for q6, modem and nc halt registers. + + qcom,spare-regs: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + A phandle reference to a syscon representing TCSR followed by the + offset within syscon for conn_box_spare0 register used by the modem + sub-system running on SC7180 SoC. + + qcom,ext-regs: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + Two phandle references to syscons representing TCSR_REG and TCSR + register space followed by the two offsets within the syscon to + force_clk_en/rscc_disable and axim1_clk_off/crypto_clk_off registers + respectively. + + qcom,qaccept-regs: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + A phandle reference to a syscon representing TCSR followed by the three + offsets within syscon for mdm, cx and axi qaccept registers used by the + modem sub-system running on SC7280 SoC. + + iommus: + description: + Only required on platforms that do not have TrustZone. + + smd-edge: + type: object + description: + Qualcomm Shared Memory subnode which represents communication edge, + channels and devices related to the ADSP. + + glink-edge: + type: object + description: + Qualcomm G-Link subnode which represents communication edge, channels + and devices related to the ADSP. + + mba: + type: object + properties: + memory-region: + maxItems: 1 + + required: + - memory-region + + mpss: + type: object + properties: + memory-region: + maxItems: 1 + + required: + - memory-region + +required: + - compatible + - clocks + - clock-names + - interrupts-extended + - interrupt-names + - qcom,smem-states + - qcom,smem-state-names + +additionalProperties: false + +allOf: + - if: + properties: + compatible: + contains: + enum: + - qcom,ipq8074-wcss-pil + then: + properties: + clocks: false + clock-names: false + + - if: + properties: + compatible: + contains: + enum: + - qcom,qcs404-wcss-pil + then: + properties: + clocks: + items: + - description: GCC_AHBS_CBCR clock + - description: GCC_AXIM_CBCR clock + - description: LCC_AHBFABRIC_CBC clock + - description: TCSR_LCC_CBC clock + - description: LCC_AHBS_CBC clock + - description: LCC_TCM_SLAVE_CBC clock + - description: LCC_ABHM_CBC clock + - description: LCC_AXIM_CBC clock + - description: LCC_BCR_SLEEP clock + - description: XO clock + clock-names: + items: + - const: gcc_ahbs_cbcr + - const: gcc_axim_cbcr + - const: lcc_ahbfabric_cbc + - const: tcsr_lcc_cbc + - const: lcc_abhs_cbc + - const: lcc_tcm_slave_cbc + - const: lcc_abhm_cbc + - const: lcc_axim_cbc + - const: lcc_bcr_sleep + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,q6v5-pil + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: Memory clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: mem + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8996-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: Memory clock + - description: GPLL0_MSS clock + - description: SNOC_AXI clock + - description: MNOC_AXI clock + - description: PNOC clock + - description: QDSS clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: mem + - const: gpll0_mss + - const: snoc_axi + - const: mnoc_axi + - const: pnoc + - const: qdss + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8998-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: Memory clock + - description: GPLL0_MSS clock + - description: SNOC_AXI clock + - description: MNOC_AXI clock + - description: QDSS clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: mem + - const: gpll0_mss + - const: snoc_axi + - const: mnoc_axi + - const: qdss + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7180-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: NAV clock + - description: SNOC_AXI clock + - description: MNOC_AXI clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: nav + - const: snoc_axi + - const: mnoc_axi + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7280-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Offline clock + - description: SNOC_AXI clock + - description: PKA clock + - description: XO clock + clock-names: + items: + - const: iface + - const: offline + - const: snoc_axi + - const: pka + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,sdm845-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: Memory clock + - description: GPLL0_MSS clock + - description: SNOC_AXI clock + - description: MNOC_AXI clock + - description: PRNG clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: mem + - const: gpll0_mss + - const: snoc_axi + - const: mnoc_axi + - const: prng + - const: xo + + - if: + properties: + compatible: + contains: + enum: + - qcom,q6v5-pil + - qcom,ipq8074-wcss-pil + - qcom,qcs404-wcss-pil + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + then: + properties: + interrupts-extended: + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + interrupt-names: + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8996-mss-pil + - qcom,msm8998-mss-pil + - qcom,sc7180-mss-pil + - qcom,sc7280-mss-pil + - qcom,sdm845-mss-pil + then: + properties: + interrupts-extended: + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + interrupt-names: + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + + - if: + properties: + compatible: + enum: + - const: qcom,q6v5-pil + - const: qcom,msm8916-mss-pil + - const: qcom,msm8974-mss-pil + then: + properties: + cx-supply: + deprecated: true + mx-supply: + deprecated: true + + required: + - pll-supply + + - if: + properties: + compatible: + enum: + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + - qcom,msm8996-mss-pil + - qcom,msm8998-mss-pil + then: + properties: + power-domains: + items: + - description: CX power domain + - description: MX power domain + power-domain-names: + items: + - const: cx + - const: mx + + required: + - power-domains + - power-domain-names + + - if: + properties: + compatible: + enum: + - const: qcom,msm8996-mss-pil + then: + properties: + cx-supply: false + mx-supply: false + + required: + - pll-supply + + - if: + properties: + compatible: + enum: + - const: qcom,qcs404-wcss-pil + then: + required: + - cx-supply + + - if: + properties: + compatible: + contains: + enum: + - qcom,sdm845-mss-pil + - qcom,sc7180-mss-pil + then: + properties: + power-domains: + items: + - description: CX power domain + - description: MX power domain + - description: MSS power domain + power-domain-names: + items: + - const: cx + - const: mx + - const: mss + + required: + - power-domains + - power-domain-names + + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7280-mss-pil + then: + properties: + power-domains: + items: + - description: CX power domain + - description: MSS power domain + power-domain-names: + items: + - const: cx + - const: mss + + required: + - power-domains + - power-domain-names + - qcom,ext-regs + - qcom,qaccept-regs + + - if: + properties: + compatible: + contains: + enum: + - qcom,q6v5-pil + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + - qcom,msm8996-mss-pil + - qcom,msm8998-mss-pil + then: + properties: + resets: + items: + - description: MSS reset + reset-names: + items: + - const: mss_restart + + - if: + properties: + compatible: + contains: + enum: + - qcom,ipq8074-wcss-pil + - qcom,qcs404-wcss-pil + then: + properties: + resets: + items: + - description: WCSS Always On restart + - description: WCSS reset + - description: WCSS Q6 reset + reset-names: + items: + - const: wcss_aon_restart + - const: wcss_reset + - const: wcss_q6_reset + + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7180-mss-pil + - qcom,sc7280-mss-pil + - qcom,sdm845-mss-pil + then: + properties: + resets: + items: + - description: MSS restart + - description: PDC reset + reset-names: + items: + - const: mss_restart + - const: pdc_reset + + - if: + properties: + compatible: + contains: + enum: + - qcom,q6v5-pil + - qcom,ipq8074-wcss-pil + - qcom,qcs404-wcss-pil + - qcom,msm8916-mss-pil + - qcom,msm8974-mss-pil + - qcom,msm8996-mss-pil + - qcom,msm8998-mss-pil + then: + properties: + qcom,qmp: false + iommus: false + +examples: + - | + #include + #include + #include + #include + #include + modem-rproc@fc880000 { + compatible = "qcom,q6v5-pil"; + reg = <0xfc880000 0x100>, + <0xfc820000 0x020>; + reg-names = "qdsp6", "rmb"; + + interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", + "fatal", + "ready", + "handover", + "stop-ack"; + + clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, + <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_BOOT_ROM_AHB_CLK>, + <&xo_board>; + clock-names = "iface", "bus", "mem", "xo"; + + qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>; + + resets = <&gcc GCC_MSS_RESTART>; + reset-names = "mss_restart"; + + cx-supply = <&pm8841_s2>; + mss-supply = <&pm8841_s3>; + mx-supply = <&pm8841_s1>; + pll-supply = <&pm8941_l12>; + + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + mba { + memory-region = <&mba_region>; + }; + + mpss { + memory-region = <&mpss_region>; + }; + + smd-edge { + interrupts = ; + + qcom,ipc = <&apcs 8 12>; + qcom,smd-edge = <0>; + + label = "modem"; + }; + }; From patchwork Wed May 11 16:16:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846453 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDC2CC433EF for ; Wed, 11 May 2022 16:17:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344570AbiEKQRR (ORCPT ); Wed, 11 May 2022 12:17:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237501AbiEKQRE (ORCPT ); Wed, 11 May 2022 12:17:04 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 736A925C47; Wed, 11 May 2022 09:16:53 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id w17-20020a17090a529100b001db302efed6so2501409pjh.4; Wed, 11 May 2022 09:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SPLvtmhvHirwBvqBEM1pVuSorHBVH9nPBsiOTaHpJtA=; b=ofOufYRyJzQL1sfWftDyKN4lKQC7Pgfy7JCtH2/uFAcWUYoLEnLAgOz4UIaooMXCDL aRbG49RAV3CGl7DkeGYK9o4FDMWyeVByvqPSDCgSvT0OQ5HEKWLXG+a9EmNHuhg+m2h/ WXiV9jV1e9m8Mk1QR3vBJbWzs71BvzGD4yf7U7HDl0HOv5i5pI62CViMdwpIav3610ib AB+tPICLd1E+DYCV3Jo5hOsYtIGTKaCMbWj+E2xJEF1TIqkLbo8b3qI1mAw5IfxdeyPZ 5KDd3PrjyRto7+5oxf1gdGy1Bxn2GQuO7cYtKeA67cM482mV5nMcPnVi9oYs0PVCAayN MORQ== 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=SPLvtmhvHirwBvqBEM1pVuSorHBVH9nPBsiOTaHpJtA=; b=YjdkQUP+eeSSardLmAfL2xtZY7QcBGQGpSnLBbQl5hWZUmV1UlbrRZUepQB7BLLu02 bLnBORDO2oLgg1qfMVPCTd40RofHgrCqpn9NnFgyUp+hrA9VXy69/CHEYqjH90Di4EnS hyRGNAYxRAgL4Jp3LO+mHLyk80KNsJ+XqUgtb9duCUpT4DcBxjo6chCP0N1pQGFRycRC YZ+mQtBVjAK5ti4EOgVjD6xN2NmBi1ALYP3mJEwlVbNUZpIk5xmyODdAL3I5PKrla7BP symr/saTbrdFae2VIhA3DsnT0Kg4of+oMSJHXcsQUxLAuocrXtCzb4O45nSYw8oex+H1 TpFw== X-Gm-Message-State: AOAM531Nfrg7kBa0lmbjp3bC1QQWOAekYqfjDgx9wFRHYAvUt87OjYAs /v73F2rupZDQwlu8MVoaJ6ojo7yTqMKAHkZW X-Google-Smtp-Source: ABdhPJxiChAMt1swA4rsquaHUq/gjfOgg5a93WouXfJXio5ff56QRvZt6L403573NoqFZlFUENUmAw== X-Received: by 2002:a17:90a:bb0e:b0:1dc:a406:3566 with SMTP id u14-20020a17090abb0e00b001dca4063566mr6172551pjr.135.1652285812736; Wed, 11 May 2022 09:16:52 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:52 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski Subject: [PATCH 7/9] dt-bindings: remoteproc: qcom: mss: Add MSS on MSM8953 Date: Wed, 11 May 2022 21:46:00 +0530 Message-Id: <20220511161602.117772-8-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Add bindings for MSS on the MSM8953 platform, which is used by SDM450, SDM625, SDM626, APQ8053 and SDM632. Signed-off-by: Sireesh Kodali --- .../bindings/remoteproc/qcom,q6v5.yaml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml index 1c67c6cbf417..4882553df8b9 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.yaml @@ -31,6 +31,7 @@ properties: - qcom,qcs404-wcss-pil - qcom,msm8916-mss-pil - qcom,msm8974-mss-pil + - qcom,msm8953-mss-pil - qcom,msm8996-mss-pil - qcom,msm8998-mss-pil - qcom,sc7180-mss-pil @@ -263,6 +264,27 @@ allOf: - const: mem - const: xo + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8953-mss-pil + then: + properties: + clocks: + items: + - description: Interface clock + - description: Bus clock + - description: Memory clock + - description: XO clock + clock-names: + items: + - const: iface + - const: bus + - const: mem + - const: xo + - if: properties: compatible: @@ -410,6 +432,7 @@ allOf: - qcom,qcs404-wcss-pil - qcom,msm8916-mss-pil - qcom,msm8974-mss-pil + - qcom,msm8953-mss-pil then: properties: interrupts-extended: @@ -479,6 +502,7 @@ allOf: enum: - qcom,msm8916-mss-pil - qcom,msm8974-mss-pil + - qcom,msm8953-mss-pil - qcom,msm8996-mss-pil - qcom,msm8998-mss-pil then: @@ -573,6 +597,7 @@ allOf: - qcom,q6v5-pil - qcom,msm8916-mss-pil - qcom,msm8974-mss-pil + - qcom,msm8953-mss-pil - qcom,msm8996-mss-pil - qcom,msm8998-mss-pil then: From patchwork Wed May 11 16:16:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846455 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9852C433EF for ; Wed, 11 May 2022 16:18:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242202AbiEKQR7 (ORCPT ); Wed, 11 May 2022 12:17:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37302 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344526AbiEKQRI (ORCPT ); Wed, 11 May 2022 12:17:08 -0400 Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A0CD2C65F; Wed, 11 May 2022 09:16:58 -0700 (PDT) Received: by mail-pg1-x533.google.com with SMTP id a191so2219705pge.2; Wed, 11 May 2022 09:16:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rIh+E3nj4ZucvsTWikm/zNRtjIM6XJcYz1RFNPDBCWk=; b=pKe5IPl9JxJ0F28WDZ8Rs7q9M09T1glWF2keFY/yF0wEnuz8uqbnx9145UbAcNZunj tRdCXrWDQk1tR0taCF+FvfX3gYJW0jtVtx5t0Iwv9E0u9aflrek1oOkncXLFPhqWWf/3 8xnwQqxSpSHiteWnjfsTCPhshTxfoUbmlWDHtAXht9D8MjATHdAu5bg9Iknm2cSpLrrz hVCciKoiHWb4gDFZFDcCiTd5D67L2dFQ0695jbp1kePc6GBYITLnuZNb2O1pvfRY2ayj NpcUGQgcOVSBROYgMefaswyb8GPo3BumkWxKJq86VKaFIjUQvEpIVlhtYgFpY+A+xPen 8n/Q== 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=rIh+E3nj4ZucvsTWikm/zNRtjIM6XJcYz1RFNPDBCWk=; b=3Qw8ymLi3erKp8V6sOxNa5tlYI5fW1AVDPTMisJ0LPLEk94x503c2E5JQbBVhBmv9M JJiSMC/mk57IflEMsDc+O2i9lBG6o9UNNRH+fSGThAXxTyGh18YIs8vyc9IXHJWJNJje QiS6fv+cmt2UVcALkgvyS5ECDyy8s8XUTOJ0FWjKjmhA1ZelVvP8xecnsMbxvwXkl9qQ MECJx5rJ6Xujl9x0ouvaCzAF2sVbCViqsiscjZ7AifbMKgVbvDMVL5zy8Dv6PEfjfn8i jmknsAJgOgKiVDWzG9HKX4rjs4ePwICyfp8vIBoFzz7ozAQVRYRGkpvx9iFHUhFdMznZ hvkw== X-Gm-Message-State: AOAM531Kde+8T9FQBfnvaenEpWgF+AuYtkopD9uQ9FhbgS/UzR9v4Qz/ DCAnICey2VBTnuZNaQM1d9EjLYnZKJ5mO6fg X-Google-Smtp-Source: ABdhPJxc44jVyPJPWlqlXL6RS8YDigdvrW2+6zf8UtC0DIAUADXr1EBGHtKbWqWOfQGXKosPHfhf0g== X-Received: by 2002:a63:9752:0:b0:3c6:5a7a:5bd6 with SMTP id d18-20020a639752000000b003c65a7a5bd6mr19901744pgo.390.1652285817617; Wed, 11 May 2022 09:16:57 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:16:57 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Manivannan Sadhasivam Subject: [PATCH 8/9] dt-bindings: remoteproc: qcom: adsp: Add ADSP on MSM8953 Date: Wed, 11 May 2022 21:46:01 +0530 Message-Id: <20220511161602.117772-9-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Add support for booting the Audio DSP on the MSM8953 platform. This is used by SoCs like SDM450, SDM625, SDM626, APQ8053, etc. Since the configuration is the same on all SoCs, a single compatible string is used. Signed-off-by: Sireesh Kodali --- Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index a4409c398193..0e70e49b4e53 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -17,6 +17,7 @@ properties: compatible: enum: - qcom,msm8974-adsp-pil + - qcom,msm8953-adsp-pil - qcom,msm8996-adsp-pil - qcom,msm8996-slpi-pil - qcom,msm8998-adsp-pas @@ -160,6 +161,7 @@ allOf: contains: enum: - qcom,msm8974-adsp-pil + - qcom,msm8953-adsp-pil - qcom,msm8996-adsp-pil - qcom,msm8996-slpi-pil - qcom,msm8998-adsp-pas @@ -275,6 +277,7 @@ allOf: contains: enum: - qcom,msm8974-adsp-pil + - qcom,msm8953-adsp-pil - qcom,msm8996-adsp-pil - qcom,msm8996-slpi-pil - qcom,msm8998-adsp-pas @@ -364,6 +367,7 @@ allOf: compatible: contains: enum: + - qcom,msm8953-adsp-pil - qcom,msm8996-adsp-pil - qcom,msm8998-adsp-pas then: @@ -547,6 +551,7 @@ allOf: contains: enum: - qcom,msm8974-adsp-pil + - qcom,msm8953-adsp-pil - qcom,msm8996-adsp-pil - qcom,msm8996-slpi-pil - qcom,msm8998-adsp-pas From patchwork Wed May 11 16:16:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sireesh Kodali X-Patchwork-Id: 12846454 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48346C433F5 for ; Wed, 11 May 2022 16:17:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344677AbiEKQRg (ORCPT ); Wed, 11 May 2022 12:17:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241166AbiEKQRQ (ORCPT ); Wed, 11 May 2022 12:17:16 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D3E72CC8C; Wed, 11 May 2022 09:17:03 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id a15-20020a17090ad80f00b001dc2e23ad84so5365847pjv.4; Wed, 11 May 2022 09:17:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZBJKZIsVMsFKHOYwovHJla2knjXCDedlt+wjbXlZFEw=; b=QfFjHLv0s3dOvr2zX8dOoxKGo+oPkncDzpEXD5i/0R2k1Amvn/z/1pWMGEsJoYAQJt BAqC9FlB8PnmrjnzLtkhPgXjFKEY1h7dq21UmiUakxJyR3iKN+mCbRNeAxppdKwQlOrq EkAroyPY00i4B31fMUvhjvx5H9B54O2E50vhU79xHy/BM9qb7LVD/H9q5HifjewbW7i+ PwR+qGAZsjVYXOME0OY0l3n1yXwbIJ/RVtHIBFMnDZ1OeGYJ5ws13n0wCxdsRIJB6Ofs ui9fQOfhM5FQHkgKGMKmfVyuvPCxpVbzoOmwkqwMsExDTnZmp3CBswHVEQbNDNIpVnSG 42bQ== 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=ZBJKZIsVMsFKHOYwovHJla2knjXCDedlt+wjbXlZFEw=; b=tZ08RvklxBeqLjRh0vxE9RlKVRfk3eRzr4cgmDH1GMKhv8HTVAnBB4JfX3TG1igRKY JWMujM+SOCY+jRaT1ticpH3dctaJCnKZo2ysKWxTHy+AO984e5aV6X4QoRGsUM9acqcS v86yALsc09HpDeZMWpQleiXzmQMbMoRQBYGS30i6NY86H3Q8rczYm0s1RB50l2mE+BFw KuTFAkTfTvPiUjnD8p60cTEiEH3HLqZsdtsOs62alfxg0pm33M000x8ZHS4p0R3dmxhl +1XtCotorbBDDN2ESjA4NxDM9CQRQxwisBDAw0eWV02tLbiUsskTq5K7T95K5VCrCaOB tb6Q== X-Gm-Message-State: AOAM531TpSTgebKmNh8UWWN8EeRRLYuaamjOtyVTq1GKBwV5OYFFJnDO ei/7jny1uuOaT0VjI5BRtIR786FsgWvdyn6h X-Google-Smtp-Source: ABdhPJwxI08p83XE/Dos9iEQkLfNw4eXNlmTKOWVJXbcZ4PNRiJ9Pm5Tdd7F7r1+vZzTyCJ4FWBIng== X-Received: by 2002:a17:90a:c08a:b0:1d9:88de:d192 with SMTP id o10-20020a17090ac08a00b001d988ded192mr6165192pjs.8.1652285822231; Wed, 11 May 2022 09:17:02 -0700 (PDT) Received: from skynet-linux.local ([49.204.239.218]) by smtp.googlemail.com with ESMTPSA id x7-20020a17090a1f8700b001ded49491basm220322pja.2.2022.05.11.09.16.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 09:17:01 -0700 (PDT) From: Sireesh Kodali To: linux-remoteproc@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, bjorn.andersson@linaro.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Sireesh Kodali , Andy Gross , Rob Herring , Krzysztof Kozlowski Subject: [PATCH 9/9] arm64: dts: qcom: msm8953: Add remote processor nodes Date: Wed, 11 May 2022 21:46:02 +0530 Message-Id: <20220511161602.117772-10-sireeshkodali1@gmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220511161602.117772-1-sireeshkodali1@gmail.com> References: <20220511161602.117772-1-sireeshkodali1@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org This commit adds the modem (q6v5_mss), WiFi (wcnss-pil) and audio DSP (q6v5_pas) remote processor nodes for the MSM8953 platform. It also adds the coresponding SMP2P, SMSM and pinctrl nodes that are needed by these remote processors. Signed-off-by: Sireesh Kodali --- arch/arm64/boot/dts/qcom/msm8953.dtsi | 378 ++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi index 431228faacdd..04e285e442ff 100644 --- a/arch/arm64/boot/dts/qcom/msm8953.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi @@ -2,9 +2,13 @@ /* Copyright (c) 2022, The Linux Foundation. All rights reserved. */ #include +#include #include #include #include +#include +#include +#include #include / { @@ -384,6 +388,80 @@ rpmpd_opp_turbo: opp9 { }; }; + modem-smp2p { + compatible = "qcom,smp2p"; + qcom,smem = <435>, <428>; + + interrupts = ; + + qcom,ipc = <&apcs 8 14>; + + qcom,local-pid = <0>; + qcom,remote-pid = <1>; + + modem_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + + #qcom,smem-state-cells = <1>; + }; + + modem_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + + adsp-smp2p { + compatible = "qcom,smp2p"; + qcom,smem = <443>, <429>; + + interrupts = ; + + mboxes = <&apcs 10>; + + qcom,local-pid = <0>; + qcom,remote-pid = <2>; + + smp2p_adsp_out: master-kernel { + qcom,entry-name = "master-kernel"; + #qcom,smem-state-cells = <1>; + }; + + smp2p_adsp_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + + wcnss-smp2p { + compatible = "qcom,smp2p"; + qcom,smem = <451>, <431>; + + interrupts = ; + + qcom,ipc = <&apcs 8 18>; + + qcom,local-pid = <0>; + qcom,remote-pid = <4>; + + wcnss_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + + #qcom,smem-state-cells = <1>; + }; + + wcnss_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + smsm { compatible = "qcom,smsm"; @@ -398,6 +476,22 @@ apps_smsm: apps@0 { #qcom,smem-state-cells = <1>; }; + + hexagon_smsm: hexagon@1 { + reg = <1>; + interrupts = ; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + wcnss_smsm: wcnss@6 { + reg = <6>; + interrupts = ; + + interrupt-controller; + #interrupt-cells = <2>; + }; }; soc: soc@0 { @@ -688,6 +782,59 @@ i2c_8_sleep: i2c-8-sleep-pins { drive-strength = <2>; bias-disable; }; + + wcnss_default: wcnss-default-pins { + wcss_wlan2 { + pins = "gpio76"; + function = "wcss_wlan2"; + }; + wcss_wlan1 { + pins = "gpio77"; + function = "wcss_wlan1"; + }; + wcss_wlan0 { + pins = "gpio78"; + function = "wcss_wlan0"; + }; + wcss_wlan { + pins = "gpio79", "gpio80"; + function = "wcss_wlan"; + }; + + pinconf { + pins = "gpio76", "gpio77", "gpio78", + "gpio79", "gpio80"; + drive-strength = <6>; + bias-pull-up; + }; + }; + + wcnss_sleep: wcnss-sleep-pins { + wcss_wlan2 { + pins = "gpio76"; + function = "wcss_wlan2"; + }; + wcss_wlan1 { + pins = "gpio77"; + function = "wcss_wlan1"; + }; + wcss_wlan0 { + pins = "gpio78"; + function = "wcss_wlan0"; + }; + wcss_wlan { + pins = "gpio79", "gpio80"; + function = "wcss_wlan"; + }; + + pinconf { + pins = "gpio76", "gpio77", + "gpio78", "gpio79", + "gpio80"; + drive-strength = <2>; + bias-pull-down; + }; + }; }; gcc: clock-controller@1800000 { @@ -745,6 +892,59 @@ spmi_bus: spmi@200f000 { #size-cells = <0>; }; + modem: remoteproc@4080000 { + compatible = "qcom,msm8953-mss-pil"; + reg = <0x4080000 0x100>, + <0x4020000 0x040>; + + reg-names = "qdsp6", "rmb"; + + interrupts-extended = <&intc 0 24 1>, + <&modem_smp2p_in 0 0>, + <&modem_smp2p_in 1 0>, + <&modem_smp2p_in 2 0>, + <&modem_smp2p_in 3 0>; + interrupt-names = "wdog", "fatal", "ready", + "handover", "stop-ack"; + + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, + <&gcc GCC_BOOT_ROM_AHB_CLK>, + <&xo_board>; + clock-names = "iface", "bus", "mem", "xo"; + + power-domains = <&rpmpd MSM8953_VDDCX>, <&rpmpd MSM8953_VDDMX>; + power-domain-names = "cx", "mx"; + + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + resets = <&gcc GCC_MSS_BCR>; + reset-names = "mss_restart"; + + qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>; + + status = "okay"; + + mba { + memory-region = <&mba_mem>; + }; + + mpss { + memory-region = <&mpss_mem>; + }; + + smd-edge { + interrupts = ; + + qcom,smd-edge = <0>; + qcom,ipc = <&apcs 8 12>; + qcom,remote-pid = <1>; + + label = "modem"; + }; + }; + usb3: usb@70f8800 { compatible = "qcom,msm8953-dwc3", "qcom,dwc3"; reg = <0x70f8800 0x400>; @@ -1057,6 +1257,74 @@ i2c_8: i2c@7af8000 { status = "disabled"; }; + pronto: remoteproc@a21b000 { + compatible = "qcom,pronto-v3-pil", "qcom,pronto"; + reg = <0xa204000 0x2000>, + <0xa202000 0x1000>, + <0xa21b000 0x3000>; + reg-names = "ccu", "dxe", "pmu"; + + memory-region = <&wcnss_fw_mem>; + + interrupts-extended = <&intc 0 149 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; + + power-domains = <&rpmpd MSM8953_VDDCX>, <&rpmpd MSM8953_VDDMX>; + power-domain-names = "cx", "mx"; + + qcom,state = <&wcnss_smp2p_out 0>; + qcom,state-names = "stop"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&wcnss_default>; + pinctrl-1 = <&wcnss_sleep>; + + status = "okay"; + + iris: iris { + compatible = "qcom,wcn3660b"; + + clocks = <&rpmcc RPM_SMD_RF_CLK2>; + clock-names = "xo"; + }; + + smd-edge { + interrupts = ; + + qcom,ipc = <&apcs 8 17>; + qcom,smd-edge = <6>; + qcom,remote-pid = <4>; + + label = "pronto"; + + wcnss { + compatible = "qcom,wcnss"; + qcom,smd-channels = "WCNSS_CTRL"; + + qcom,mmio = <&pronto>; + + bt { + compatible = "qcom,wcnss-bt"; + }; + + wifi { + compatible = "qcom,wcnss-wlan"; + + interrupts = , + ; + interrupt-names = "tx", "rx"; + + qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; + qcom,smem-state-names = "tx-enable", "tx-rings-empty"; + }; + }; + }; + }; + intc: interrupt-controller@b000000 { compatible = "qcom,msm-qgic2"; interrupt-controller; @@ -1070,6 +1338,116 @@ apcs: mailbox@b011000 { #mbox-cells = <1>; }; + lpass: remoteproc@c200000 { + compatible = "qcom,msm8953-adsp-pil"; + reg = <0xc200000 0x100>; + + interrupts-extended = <&intc 0 293 IRQ_TYPE_EDGE_RISING>, + <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, + <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, + <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, + <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", "fatal", "ready", + "handover", "stop-ack"; + clocks = <&xo_board>; + clock-names = "xo"; + + power-domains = <&rpmpd MSM8953_VDDCX>; + power-domain-names = "cx"; + + memory-region = <&adsp_fw_mem>; + + qcom,smem-states = <&smp2p_adsp_out 0>; + qcom,smem-state-names = "stop"; + + smd-edge { + interrupts = ; + + label = "lpass"; + mboxes = <&apcs 8>; + qcom,smd-edge = <1>; + qcom,remote-pid = <2>; + #address-cells = <1>; + #size-cells = <0>; + + apr { + compatible = "qcom,apr-v2"; + qcom,smd-channels = "apr_audio_svc"; + qcom,apr-domain = ; + #address-cells = <1>; + #size-cells = <0>; + + q6core { + reg = ; + compatible = "qcom,q6core"; + }; + + q6afe: q6afe { + compatible = "qcom,q6afe"; + reg = ; + q6afedai: dais { + compatible = "qcom,q6afe-dais"; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <1>; + + dai@16 { + reg = ; + qcom,sd-lines = <0 1>; + }; + + dai@21 { + reg = ; + qcom,sd-lines = <0 1>; + }; + }; + q6afecc: clock-controller { + compatible = "qcom,q6afe-clocks"; + #clock-cells = <2>; + }; + }; + + q6asm: q6asm { + compatible = "qcom,q6asm"; + reg = ; + q6asmdai: dais { + compatible = "qcom,q6asm-dais"; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <1>; + + dai@0 { + reg = ; + }; + + dai@1 { + reg = ; + }; + + dai@2 { + reg = ; + }; + + dai@3 { + reg = ; + is-compress-dai; + }; + }; + }; + + q6adm: q6adm { + compatible = "qcom,q6adm"; + reg = ; + q6routing: routing { + compatible = "qcom,q6adm-routing"; + #sound-dai-cells = <0>; + }; + }; + }; + }; + + }; + timer@b120000 { compatible = "arm,armv7-timer-mem"; reg = <0xb120000 0x1000>;