From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDA533DD51B for ; Tue, 5 May 2026 07:01:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777964502; cv=none; b=I6LXx6TNc+uuxloQ2ZXqUsbwlgEl2QnGYqCpGhNr9tseROJze6tLBfXnMFfRUgvjJzT+OenYeo7ZQuNjmkPmI4kxAeQFUCm7y5d4+fnDO2ewkZ3UiX5+moqeWKvUkP3WDRlKFqSLD4b7W2fidmdRZj44yTBaVPFK9H+2TA0OTbU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777964502; c=relaxed/simple; bh=QmfjfyfIcqmz4sKwVyX6rZm27KmIiOULTa2kxbZm8w4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Iclg0LShq2Tkw0MHhRv5hh1cvGXXvd4HH03UZ3Pxs1yKviBvaEwK+c/9Ebo1dpJsRxK1DCL3u+x587YiIPh8tJdlpGKmKy5cVwBdBubbVEWFMS93yOFka6z+7cLu86HkrEpXc3ihMR5MaLSC7ZcTYsdPzETJ9LHts6E6es8inDo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=d7Hh7xk8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PzE8rr3k; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="d7Hh7xk8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PzE8rr3k" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6456FkUi331165 for ; Tue, 5 May 2026 07:01:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Ez8F2EeZusDnjQ0n7xRXDcR27Ei/i8R9t+oIeMstcEQ=; b=d7Hh7xk87kDgcFZp czsbjAX6epGvP5rUKku88gIBNR8MlweIa9KnGGN8Nd3hGsx47d/DDtGMH+two3UO rUmrlNaaJ6I6zMO9p3l7kBa+MOqtCf/PTP3uqIKQ0QzIIzrfO6ZUd/WoOAKzOGz1 uP6na25EezDt/XDJR6q95jAXTDWDa0C5ZfcOb2oY17qM/wdDxCkGUXeDdkV0z0Ct 3dzBqfAxQGAP2V/AltGj2QOHKeMaqp259UBMInnV4Mv1etlM2R753p6xSslvTCId kaL1zBhanSu7GXl7aqbsk5d4QqbKHyXsRRc3U3VMu0391qZPOHaMtyPUNMdbl4t0 LsZlYw== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxvr1b8av-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 07:01:40 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-36514eb1194so5290683a91.2 for ; Tue, 05 May 2026 00:01:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777964499; x=1778569299; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Ez8F2EeZusDnjQ0n7xRXDcR27Ei/i8R9t+oIeMstcEQ=; b=PzE8rr3kSvJpkqypOhzhgp8+/0/yfCk5fhMsQwnqQ9no0b0Bq7TUo1pcNnjZQn/0iw 3SDbLxpOhDQrYGARHN1yf36kgeKj21oz5DOlUszdYidLv5Okfg/UbwBQMR/hS2seQITL mWhwQy1bWHPB9UWC92J/B+wQrZ/bX12FOaAZ2jLVl5u3/ZLI2wR5fxwdbG1+DcmxBzvb UT/lL2lzt+0KIGnD425zSc++To+6RgSeWNrGMJsEBHKIIWIjHvXh3k3EeNjkFO0UwI/9 FuD5RzbXl0YHsyChKr21u8PfvzkpXTGCiCr7ejm9aTG+HC79b6P3smHtr4tBgIR8kwxh 3Yjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777964499; x=1778569299; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Ez8F2EeZusDnjQ0n7xRXDcR27Ei/i8R9t+oIeMstcEQ=; b=mZ23x2aZxedqVhkONKz3ifRZfvHtSW+LBYCdJEvrmfZX1N+MbyPqGfsSar9eAlytMc 2yQ+jo9WDLN+shW7SK2xXhPIqpa9y2amkI6IT8vpuK5r1+Fh/gae/0Wpflzcd0KrsQJR BztLd5Jss4C8a8EsPe2bAM28gKqioqXsMKxhLKeqIlkiQZdode12UUOfs9Vz/zsVbv53 Ei8P+3qvDDwGnXHy0FaIqPwmtoS7KcKov44rCYpNC9F8Q/xPj1/x4Rxz+OLU130hWnf4 Mu3W6vqIVsl21Do6u190n7ytN4l6fSd503AFnQTzoLTq1xy+puUD8X/9G+CU0tUrMj2P Nncg== X-Forwarded-Encrypted: i=1; AFNElJ9tlIxIm7Fm9Vwxv0BRgX28/A+pW4xi21HyI0cmtRWBVZB+RewSaritXW/hyjV89z+lfE+I4yqqZch2UBeU@vger.kernel.org X-Gm-Message-State: AOJu0YxtqHv9YDkCaQz8oEcMKp5BSdTWmS2nuyrkOxdVHZLcWvRfw7hc hX51t4jHDce7FZemprtRlFqyEjHYdhzaPQHBmX8pk6Qzew2bFFtXurQwEFiXAM7mzvlEVKR068d YH1R5let1Zt0UdCX+7lnY43OV8HDXDQ0bM3rvB35mVw4dIf5P7Vl78nlOQu7Yp2qjG9WO X-Gm-Gg: AeBDietKoG0JzMT+JJW3vEStjMbSaOeTrPz1EBKTe0n9uHFrENgiGdWIxjQrXJoVlII Jeyo9UNd8Pld/vzZPL2fC6k4zmAErK8XP2lZ/xf6MuH1zeO5uEZhtn3M0yNhkzOmniHTLt1GAl1 KY5c84/oj0wKkEUd/Hd8YX8FTit5DmEWqp9+zx/f/IozhrwekQMTdbbs8j5g9Ui8weLtWrM5PUm Fm40DBQehrqq1CAOrHv76n5Xemr0HkAAmnRyzwGj//lETrinFXEBQnZXJeqCNbDjQrxe7VgYe04 lQm7lKsEBCP6nJgj4AtWJ7h2hh0VM+X1vwK6Q382NvGatFxNG/KvMLA+WTw8dIHmPm2kOd6L+Om daJScQrkF6QGMYiV8n7nr2QvSa/kN5jk+cqXBEDrT9IoUb5hRXpqXOavRJ6wvtMHX7w== X-Received: by 2002:a17:90b:2b45:b0:35f:c729:de9b with SMTP id 98e67ed59e1d1-3650cec909cmr12880577a91.20.1777964499122; Tue, 05 May 2026 00:01:39 -0700 (PDT) X-Received: by 2002:a17:90b:2b45:b0:35f:c729:de9b with SMTP id 98e67ed59e1d1-3650cec909cmr12880538a91.20.1777964498589; Tue, 05 May 2026 00:01:38 -0700 (PDT) Received: from hu-bvisredd-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-364ebec73aasm13840146a91.2.2026.05.05.00.01.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 00:01:38 -0700 (PDT) From: Vishnu Reddy Date: Tue, 05 May 2026 12:29:31 +0530 Subject: [PATCH v4 10/13] media: iris: Add power sequence for Glymur Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260505-glymur-v4-10-17571dbd1caa@oss.qualcomm.com> References: <20260505-glymur-v4-0-17571dbd1caa@oss.qualcomm.com> In-Reply-To: <20260505-glymur-v4-0-17571dbd1caa@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Hans Verkuil , Stefan Schmidt , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stanimir Varbanov , Joerg Roedel , Will Deacon , Robin Murphy , Bjorn Andersson , Konrad Dybcio Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, Vishnu Reddy X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1777964421; l=8735; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=QmfjfyfIcqmz4sKwVyX6rZm27KmIiOULTa2kxbZm8w4=; b=oC1MH/mS5+mmH1J/6tD/KE07iwxh9YWLZrezYJGjm8M63hrrWnF2F9VIGgRndVoXQU1XI62Cb lLdleeGMgnSAadIYsMOmmDcPyozeJV1KCjPpkWADISqIDbd6XODxpdG X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Proofpoint-ORIG-GUID: 8rtceFRb9vZiSNhZW-shu8FS82q9M-x3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA2MyBTYWx0ZWRfX5Q8NwgT51Lg0 SDHrUV2b8Os7QOf5MhVLYXgZ3KV5SuWmFrVR0RwWrLULykjcUQN79tCYk/fcxRosGQYCb4Jnid+ XWt0+S22S+swbh1bhTXnhJ792eqSb7twtiYJYoUVyQQvXnO4eerJzApin2cuvcjd/VaXlbhlK8e wjc6z459+3f0cwZjxTGYTpdOJ1Zvkiubqkk0PPP0ALtSA35AkGqyF8ejo/ZkzFiRHgTq3NfSpsL wpeuNPxcbDulYrwmgXq3jbmjSyfOfHkv2RTE5THkuTkSUcn8erzhw3/7/Bdvt0oCiLdN+Lryklh Hyy8qcWt4KC18L7UQnqxNEz9Z+RWzo+vvU0foEgZ2GVMoLHZv2ar30LDqZy28zY9k+hcBrL7gxx ED6nSdVgDIvRUYf59YqLbkxX9TKFToMv3LdCFMDxMvYuNVDZmJx6NnKuFR1R2Dyjkk9NZ483k7o BOZXaUBB/DQgGuQGsaw== X-Proofpoint-GUID: 8rtceFRb9vZiSNhZW-shu8FS82q9M-x3 X-Authority-Analysis: v=2.4 cv=RvL16imK c=1 sm=1 tr=0 ts=69f995d4 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=nctFMNgZG0MEUW-6EVsA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050063 Glymur has a secondary video codec core (vcodec1), equivalent to the primary core (vcodec0), but with independent power domains, clocks, and reset lines. Reuse the existing code wherever possible and add power sequence for vcodec1. Signed-off-by: Vishnu Reddy --- .../platform/qcom/iris/iris_platform_common.h | 4 + drivers/media/platform/qcom/iris/iris_vpu3x.c | 137 +++++++++++++++++++++ drivers/media/platform/qcom/iris/iris_vpu_common.h | 1 + .../platform/qcom/iris/iris_vpu_register_defines.h | 7 ++ 4 files changed, 149 insertions(+) diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h index 7d59e6364e9d..8995136ad29e 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -61,6 +61,9 @@ enum platform_clk_type { IRIS_VPP0_HW_CLK, IRIS_VPP1_HW_CLK, IRIS_APV_HW_CLK, + IRIS_AXI_VCODEC1_CLK, + IRIS_VCODEC1_CLK, + IRIS_VCODEC1_FREERUN_CLK, }; struct platform_clk_data { @@ -210,6 +213,7 @@ enum platform_pm_domain_type { IRIS_VPP0_HW_POWER_DOMAIN, IRIS_VPP1_HW_POWER_DOMAIN, IRIS_APV_HW_POWER_DOMAIN, + IRIS_VCODEC1_POWER_DOMAIN, }; struct platform_pd_data { diff --git a/drivers/media/platform/qcom/iris/iris_vpu3x.c b/drivers/media/platform/qcom/iris/iris_vpu3x.c index 13fbb21c2182..0d0a239f9feb 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu3x.c +++ b/drivers/media/platform/qcom/iris/iris_vpu3x.c @@ -27,6 +27,16 @@ static bool iris_vpu3x_hw_power_collapsed(struct iris_core *core) return pwr_status ? false : true; } +static bool iris_vpu36_hw1_power_collapsed(struct iris_core *core) +{ + u32 value, pwr_status; + + value = readl(core->reg_base + WRAPPER_CORE_POWER_STATUS); + pwr_status = value & BIT(4); + + return !pwr_status; +} + static void iris_vpu3_power_off_hardware(struct iris_core *core) { u32 reg_val = 0, value, i; @@ -254,6 +264,124 @@ static void iris_vpu35_power_off_hw(struct iris_core *core) iris_disable_unprepare_clock(core, IRIS_AXI_VCODEC_CLK); } +static int iris_vpu36_power_on_hw1(struct iris_core *core) +{ + int ret; + + ret = iris_enable_power_domains(core, IRIS_VCODEC1_POWER_DOMAIN); + if (ret) + return ret; + + ret = iris_prepare_enable_clock(core, IRIS_AXI_VCODEC1_CLK); + if (ret) + goto err_disable_hw1_power; + + ret = iris_prepare_enable_clock(core, IRIS_VCODEC1_FREERUN_CLK); + if (ret) + goto err_disable_axi1_clk; + + ret = iris_prepare_enable_clock(core, IRIS_VCODEC1_CLK); + if (ret) + goto err_disable_hw1_free_clk; + + return 0; + +err_disable_hw1_free_clk: + iris_disable_unprepare_clock(core, IRIS_VCODEC1_FREERUN_CLK); +err_disable_axi1_clk: + iris_disable_unprepare_clock(core, IRIS_AXI_VCODEC1_CLK); +err_disable_hw1_power: + iris_disable_power_domains(core, IRIS_VCODEC1_POWER_DOMAIN); + + return ret; +} + +static int iris_vpu36_power_on_hw(struct iris_core *core) +{ + int ret; + + ret = iris_vpu35_power_on_hw(core); + if (ret) + return ret; + + ret = iris_vpu36_power_on_hw1(core); + if (ret) + goto err_power_off_hw; + + return 0; + +err_power_off_hw: + iris_vpu35_power_off_hw(core); + + return ret; +} + +static void iris_vpu36_power_off_hw1(struct iris_core *core) +{ + u32 value, i; + int ret; + + if (iris_vpu36_hw1_power_collapsed(core)) + goto disable_power; + + value = readl(core->reg_base + WRAPPER_CORE_CLOCK_CONFIG); + if (value) + writel(CORE_CLK_RUN, core->reg_base + WRAPPER_CORE_CLOCK_CONFIG); + + for (i = 0; i < core->iris_platform_data->num_vpp_pipe; i++) { + ret = readl_poll_timeout(core->reg_base + VCODEC1_SS_IDLE_STATUSN + 4 * i, + value, value & DMA_NOC_IDLE, 2000, 20000); + if (ret) + goto disable_power; + } + + writel(REQ_VCODEC1_POWER_DOWN_PREP, core->reg_base + AON_WRAPPER_MVP_NOC_LPI_CONTROL); + ret = readl_poll_timeout(core->reg_base + AON_WRAPPER_MVP_NOC_LPI_STATUS, + value, value & NOC_LPI_VCODEC1_STATUS_DONE, 2000, 20000); + if (ret) + goto disable_power; + + writel(0, core->reg_base + AON_WRAPPER_MVP_NOC_LPI_CONTROL); + + writel(VCODEC1_BRIDGE_SW_RESET | VCODEC1_BRIDGE_HW_RESET_DISABLE, core->reg_base + + CPU_CS_AHB_BRIDGE_SYNC_RESET); + writel(VCODEC1_BRIDGE_HW_RESET_DISABLE, core->reg_base + CPU_CS_AHB_BRIDGE_SYNC_RESET); + writel(0x0, core->reg_base + CPU_CS_AHB_BRIDGE_SYNC_RESET); + +disable_power: + iris_genpd_set_hwmode(core, IRIS_VCODEC1_POWER_DOMAIN, false); + iris_disable_unprepare_clock(core, IRIS_VCODEC1_CLK); + iris_disable_unprepare_clock(core, IRIS_VCODEC1_FREERUN_CLK); + iris_disable_unprepare_clock(core, IRIS_AXI_VCODEC1_CLK); + iris_disable_power_domains(core, IRIS_VCODEC1_POWER_DOMAIN); +} + +static void iris_vpu36_power_off_hw(struct iris_core *core) +{ + iris_vpu35_power_off_hw(core); + iris_vpu36_power_off_hw1(core); +} + +static int iris_vpu36_set_hwmode(struct iris_core *core) +{ + int ret; + + ret = iris_genpd_set_hwmode(core, IRIS_VCODEC_POWER_DOMAIN, true); + if (ret) + return ret; + + ret = iris_genpd_set_hwmode(core, IRIS_VCODEC1_POWER_DOMAIN, true); + if (ret) + goto error_disable_vcodec_hwmode; + + return 0; + +error_disable_vcodec_hwmode: + iris_genpd_set_hwmode(core, IRIS_VCODEC_POWER_DOMAIN, false); + + return ret; +} + const struct vpu_ops iris_vpu3_ops = { .power_off_hw = iris_vpu3_power_off_hardware, .power_on_hw = iris_vpu_power_on_hw, @@ -281,3 +409,12 @@ const struct vpu_ops iris_vpu35_ops = { .calc_freq = iris_vpu3x_vpu4x_calculate_frequency, .set_hwmode = iris_vpu_set_hwmode, }; + +const struct vpu_ops iris_vpu36_ops = { + .power_off_hw = iris_vpu36_power_off_hw, + .power_on_hw = iris_vpu36_power_on_hw, + .power_off_controller = iris_vpu35_vpu4x_power_off_controller, + .power_on_controller = iris_vpu35_vpu4x_power_on_controller, + .calc_freq = iris_vpu3x_vpu4x_calculate_frequency, + .set_hwmode = iris_vpu36_set_hwmode, +}; diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.h b/drivers/media/platform/qcom/iris/iris_vpu_common.h index dee3b1349c5e..bee8ae9b4308 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_common.h +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.h @@ -12,6 +12,7 @@ extern const struct vpu_ops iris_vpu2_ops; extern const struct vpu_ops iris_vpu3_ops; extern const struct vpu_ops iris_vpu33_ops; extern const struct vpu_ops iris_vpu35_ops; +extern const struct vpu_ops iris_vpu36_ops; extern const struct vpu_ops iris_vpu4x_ops; struct vpu_ops { diff --git a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h index 72168b9ffa73..37f234484f1b 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h +++ b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h @@ -7,6 +7,7 @@ #define __IRIS_VPU_REGISTER_DEFINES_H__ #define VCODEC_BASE_OFFS 0x00000000 +#define VCODEC1_BASE_OFFS 0x00040000 #define AON_MVP_NOC_RESET 0x0001F000 #define CPU_BASE_OFFS 0x000A0000 #define WRAPPER_BASE_OFFS 0x000B0000 @@ -14,6 +15,8 @@ #define AON_BASE_OFFS 0x000E0000 #define VCODEC_SS_IDLE_STATUSN (VCODEC_BASE_OFFS + 0x70) +#define VCODEC1_SS_IDLE_STATUSN (VCODEC1_BASE_OFFS + 0x70) +#define DMA_NOC_IDLE BIT(22) #define AON_WRAPPER_MVP_NOC_RESET_REQ (AON_MVP_NOC_RESET + 0x000) #define VIDEO_NOC_RESET_REQ (BIT(0) | BIT(1)) @@ -35,6 +38,8 @@ #define CPU_CS_AHB_BRIDGE_SYNC_RESET (CPU_CS_BASE_OFFS + 0x160) #define CORE_BRIDGE_SW_RESET BIT(0) #define CORE_BRIDGE_HW_RESET_DISABLE BIT(1) +#define VCODEC1_BRIDGE_SW_RESET BIT(2) +#define VCODEC1_BRIDGE_HW_RESET_DISABLE BIT(3) #define CPU_CS_X2RPMH (CPU_CS_BASE_OFFS + 0x168) #define MSK_SIGNAL_FROM_TENSILICA BIT(0) @@ -52,11 +57,13 @@ #define WRAPPER_DEBUG_BRIDGE_LPI_STATUS (WRAPPER_BASE_OFFS + 0x58) #define WRAPPER_IRIS_CPU_NOC_LPI_CONTROL (WRAPPER_BASE_OFFS + 0x5C) #define REQ_POWER_DOWN_PREP BIT(0) +#define REQ_VCODEC1_POWER_DOWN_PREP BIT(1) #define WRAPPER_IRIS_CPU_NOC_LPI_STATUS (WRAPPER_BASE_OFFS + 0x60) #define NOC_LPI_STATUS_DONE BIT(0) /* Indicates the NOC handshake is complete */ #define NOC_LPI_STATUS_DENY BIT(1) /* Indicates the NOC handshake is denied */ #define NOC_LPI_STATUS_ACTIVE BIT(2) /* Indicates the NOC is active */ +#define NOC_LPI_VCODEC1_STATUS_DONE BIT(8) #define WRAPPER_IRIS_VCODEC_VPU_WRAPPER_SPARE_0 (WRAPPER_BASE_OFFS + 0x78) #define WRAPPER_CORE_POWER_STATUS (WRAPPER_BASE_OFFS + 0x80) -- 2.34.1