From nobody Sun Feb 8 18:32:56 2026 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 BE52535D5F9 for ; Mon, 2 Feb 2026 10:57:05 +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=1770029827; cv=none; b=u0/ngEyf04wpVwQCjVLpLFpoQzDOHACC2oNnHvo7qJctwYWkmqrDt5hHweNK3ZpxttT3Mmrp0L1MfaZr+RXh1LGqlYFCJQVH1Dus8jfYxQgqh2ouSDlFg+ixonKrpZaRLf1f3SWDJsVLiIP7vp9DY0w7eqaBvcciwwFiFCMLEAo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770029827; c=relaxed/simple; bh=cHCPLXQpZgOGWiQ9cqlN02EhhMLJIwoEMGitXXLzg34=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ADgWWqmAKQwiEaKceOEWE9ERptKlTxG8kjF0+01eoIAiF+RPQV1xdyf3BTZIpJnfT+4zbaDgdgdH78a9QdU/aksz6rbQi+IWchmH2ddsqWVZCkS+OxhPqU2vQ5Jm5F/vjnzVoQXdpVh6YVQzWrgCqALmhL2rPAZojEn2qnDdaJU= 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=Gl58j5km; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kUPp55+8; 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="Gl58j5km"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kUPp55+8" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61286UVa1571988 for ; Mon, 2 Feb 2026 10:57:05 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= TXnE7KlVVJV6vCllj6TWQGH1jIaQsMLhoWpK/hIRFgc=; b=Gl58j5kmWwhny2U6 rebL4XEm3Q9wKWFJCfmT5eoh0KCbR5l5XVHjJb9X6CCR45iybMoNZnAm2aZO783I EWtAccV4rMfrSm0+ZLz77oG9vvJin2lucmQsiXbjStWVCAJoK2V0AD6jLTg4im9D Xdb01hj6aNkLNnzueeo5XZ8iyiI0cA9aQAA8ukZJJSikA3sWXlJfX3C/mSyqb2zZ Y0Mq2Zem08wmDSd1hUeGTW1BH6yCUQaIxp2hxQA0I5lk3/YIHx7x+lgg2qtv0bYo TYcJ2bCJsboJWzDMeTTtETbLT/2cuM51YoOmIEh9rFRm89JRhra8TnY2u6CEBrBH 1oL+Bg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c1au2n4du-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Feb 2026 10:57:04 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a7701b6353so45026605ad.3 for ; Mon, 02 Feb 2026 02:57:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770029824; x=1770634624; 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=TXnE7KlVVJV6vCllj6TWQGH1jIaQsMLhoWpK/hIRFgc=; b=kUPp55+8xqyd7iEaBe1NYdlvNL0kEd5gOwp1ogTIYDVmphB1aBeTN9JXNO8s0E/hg/ KytTfBWuSj2HiLFsnLxFPeuCFt/4FM/LiuiBuQETyQzGMBThxNq+6ETtOi1ZMsVdEwaC gjt9T2oEPcyCrJZFcWVfza1y+f6J2tVgO085TOufKAFBUSWB0K7Nu6syz/b5OqHGd3d/ JsA3KMEUNvJzizzj7BbMYO3r7UhXzZBw12uRJ67Dw+cooxG45FDIonrMcb/U6zAe9I3L VCBZxkEW7FoKISr9CboCMojB5YWZNVJB1jWpOKbXd5GQRURwQJKNbEgrMEEEdil2MO9x pQ5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770029824; x=1770634624; 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=TXnE7KlVVJV6vCllj6TWQGH1jIaQsMLhoWpK/hIRFgc=; b=oTlz6rpXBjzDZjBo8R2u7ak0O5TvMUGTzkd1TWO/SqPa9vAj8P6U0aAiWEk/Lix4We YS2+cbsu/SvkugAwYq8DZSVf4dRX6/qaLSTZxt73ZaTands+Cqc3HJsIYcW9e2xePle2 iMrOz1W9JrKkH7u4KfJFykaEFO6/rUVp3Rjg4Q+wtC+cMmFzGIyt4n4SfaEh0yfR9zbR JW9FPgr9un7qBtFqFWxb7row6GIQ0KJwvV1f1PHG8doVSLJws43hdgiSnmz7OJJoWRGc +z3pyLElMCmXYtnQn/cRpKsYnhWC9G6aWM3x1jI3rKeXdXibXWnOuuOnnKdvlCHfPnAD JZFQ== X-Forwarded-Encrypted: i=1; AJvYcCWGLgMGPy22ecrnb+COSfQYY1GeCKX0Fru7ChurL3LEpiaSiSMARckZWMJvMYcU2OYhGSFqUxtmJgGGNrw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7bwEw9k/9nDIhptzuzeT9mXa9uAyM+9V7ig1yFbyfHU13p916 8+ZI/p40XUWUXSxfX1+Q2eM1N7CzlDX3GCN35qwKCiFy/qXWc6XqwYJ/+Fne/9e4J9xAbFv79o8 vMai3o/Jpt6UH/EgLPub7SpdkInx++9phjUuqrIDO5X/wUvOdceLTEBcL7pOJETXemRE= X-Gm-Gg: AZuq6aKim9Y6LGDWnwPx3vf55bwaiGJbqboIcbbBMNaxmJLx8O+9bsl1izsemfE1Mzr G4AVvsIEGDWY6SszZ8j7O9C7lkq0K8XnzZ3/3jvxTCFOiufFVg94ye7zrYufUn4a7VvMxegZMGR wJQ5ypcc1pghEYF7HEjQMqGUpuCKwMaVwawultaj44YdBQOSaWlxEfKGrr5X7yUAHVWJJlsbrTB Q5WqAZ20lz5CjNdxIMFr1kTWwKybBLFearc+dJhgmngAA3NEePbygKWJXcUQqrm3MFuQSWKxlRw 3WB/s+pYr1Bgna8RPVNUdUz1WpM/zw90DKUDdDF0CFr6k2DFdIa3wO/uYvl6r0dMEGRI0fLEgnH Bvzn1FCbaaQGHyndXc1qkYQHk2QUTZg2pKQ== X-Received: by 2002:a17:903:3b8f:b0:2a2:d4fb:2e4 with SMTP id d9443c01a7336-2a8d7eac07emr102189565ad.3.1770029824247; Mon, 02 Feb 2026 02:57:04 -0800 (PST) X-Received: by 2002:a17:903:3b8f:b0:2a2:d4fb:2e4 with SMTP id d9443c01a7336-2a8d7eac07emr102189315ad.3.1770029823785; Mon, 02 Feb 2026 02:57:03 -0800 (PST) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b4c4665sm143981225ad.64.2026.02.02.02.56.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 02:57:03 -0800 (PST) From: Taniya Das Date: Mon, 02 Feb 2026 16:26:50 +0530 Subject: [PATCH v2 1/4] dt-bindings: clock: qcom: Add GCC video axi reset clock for Glymur Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260202-glymur_videocc-v2-1-8f7d8b4d8edd@oss.qualcomm.com> References: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> In-Reply-To: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jagadeesh Kona , Konrad Dybcio , Dmitry Baryshkov Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Proofpoint-ORIG-GUID: 29wwgMU2Iavt0oSI1iLuwDYkELwi20gA X-Authority-Analysis: v=2.4 cv=TtfrRTXh c=1 sm=1 tr=0 ts=69808300 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=h3uFTQrF-vKaECCUKRQA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: 29wwgMU2Iavt0oSI1iLuwDYkELwi20gA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAyMDA4OCBTYWx0ZWRfX+JP+ID/OFLcF y82v/u9DY3aoLtthXdKieOXu8u5hNePPMJVhESkmDACGxgIfC6J67O2tPN1firpIkiTB0h+yBk/ Cu9WzhLapJ3Q7CuPvYn3ifgrE49SHJKNJnB09pigvkACm/Wicv51WJjwhvph1cReLmbar21mXzW uKlIQ8NsDFqq4q5r0bgSx7u+BF7kXQjUrkls2VNVmoNUrz24nBTq8rviJxoqyCGMrVxRfbD32TK ZgK/+ALNOm1UczJ4wGNxQnlSDliwPF9ZBFG280AXMa8Y7Yjjm04JzGXh3jev/cfpL2e42B1oiuh KhPKwMXujma9CsNwlZYzvvldPSdJ7hqf6TaEBROf+AOfzLDngUEkv5cQJ3x7tgt7jPcThcsb+5o mc9jdM5xnGMHrgBu0qvZqk+/5fmIIPioZaMraO8EAlId8xv2epf+oaTNKTm60MUlsxN0F+fh652 j2AaYdj9IGXeDAYGHjA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-02_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602020088 The global clock controller video axi reset clocks are required by the video SW driver to assert and deassert the clock resets. Signed-off-by: Taniya Das Acked-by: Krzysztof Kozlowski --- include/dt-bindings/clock/qcom,glymur-gcc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/dt-bindings/clock/qcom,glymur-gcc.h b/include/dt-bindi= ngs/clock/qcom,glymur-gcc.h index 10c12b8c51c34c5931c34b4437be03aea098ba53..6907653c79927f0ff32c98c75d8= 30b719ce14d51 100644 --- a/include/dt-bindings/clock/qcom,glymur-gcc.h +++ b/include/dt-bindings/clock/qcom,glymur-gcc.h @@ -574,5 +574,6 @@ #define GCC_VIDEO_AXI0_CLK_ARES 89 #define GCC_VIDEO_AXI1_CLK_ARES 90 #define GCC_VIDEO_BCR 91 +#define GCC_VIDEO_AXI0C_CLK_ARES 92 =20 #endif --=20 2.34.1 From nobody Sun Feb 8 18:32:56 2026 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 CEAAB35CB8D for ; Mon, 2 Feb 2026 10:57:10 +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=1770029832; cv=none; b=G0CGVbk/Of3bHMspyVSZwB8vNybDE/sVYy7bG8R3tCNdmAjBk3tPMFv6bD/iKIuZzCa7jF1o63/IVtRkhMMYcTgGqXSP8kw0UAlo4VoE5aHvGdjig9fnFVCitr8AioElw0/7pwkrRuDJcvsh8kK5CUTPQSZxMfn1tBBwodkeqfw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770029832; c=relaxed/simple; bh=q5Nr0YGXSWa363HoQmNNcuQRm+ZXYvrUDrddq3fS3yI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZKgXhgA1lR52dQcVjjKCh+zc3yAQp+GDefgDOxZNOadwGcogWybfA2G1GHmhwweQAU/B94vxR0M9TQ0saade88hu66ZYShH0a0yLr7PxdneZgNcZc7fqCGufLA+U3ZmBtpj/Nk+PeSTF9BIOI/Ax1RtubnQOHiRCuDKkHaAC+Hk= 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=MeUN4lip; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cTJd9spj; 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="MeUN4lip"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cTJd9spj" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61284MRn2650800 for ; Mon, 2 Feb 2026 10:57:10 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= T9xirun4JgZY0u+rP7AnHfkkrmrXi9PZys9owwSZyA8=; b=MeUN4lipNkYHNXWH BzVbnCvcXx5DwzCs8OaDTui1za2KXhDXi1grZUoA9KQVz2kXUYXluj1kTfejYlfF 6g5wAGnavjXjx1rQj8kGv/wMUJPtSx9PqUJVKjxjpFnbZCZlEyVkXvuRDw1f/eOR kvc/IP0mkDyTYIXOTG8Y5asRXAblNyoRaOLGeA1e73teauphrausf4D+hKTywRt6 SCrikk5PFWgfFTc9xHlYXsYw+X2cy7Mybj1BQqDLYexu+ofpoug8QVojBIBe8shc j6wo7yt6OXJ1pDLOE3qvyROBR/b3mmACfYZ39K4mTgLjuWQ2V6yE+Bo8XqMa+cFR UPebnA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c1awdd49r-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Feb 2026 10:57:10 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2a784b2234dso121150335ad.1 for ; Mon, 02 Feb 2026 02:57:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770029829; x=1770634629; 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=T9xirun4JgZY0u+rP7AnHfkkrmrXi9PZys9owwSZyA8=; b=cTJd9spjLUhXSrYbBmSI8qa/s9tLq4JLxDXD7lSIpGoqPftfmHJcaXJZ+61fc6yyGz X3lPNA3vvVeMqfcFhiXt390IWIBnE4VnO7Gm0dSTWMKUlLyMxnpRbwGGHnBpRc2DBNw5 kE5W1vpN4BddQzsCBNqLMC6Q46PJMaANMAwfahBlnHykPHrh4B49usydNL4DMwypUwjc s/EBGJ7aZFgoLBqwPNPIujeRmQgMe+wmU/+muPT0tdRdSoewclR6EIIDtGtMmszJZZPn 5QbfeJqvzkLhwAiUMpvyl4Cfe7b3s9tbYJr0LY8eFLJvyxt0nnLPNujpxxLuYvJxm5lX xWug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770029829; x=1770634629; 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=T9xirun4JgZY0u+rP7AnHfkkrmrXi9PZys9owwSZyA8=; b=RCnZqqJ6k9mcCmwHNjkEmNYEAd+xDMFL26VvOlHIvFj1mkpTDiy6bSkdch3nQezBaS b4OqSV1yzODto+QOYCaQIVksJ/BrNrnI+Ri11VIx4Ponz5njwilynxHPf/5jCLynAM2/ rXAtw7kJp5t6+0z4OyU+mk5B4O3Nf7vdd+vtK4JSDtCaV5paRe98ZAweB+GXmQBt73uQ TS2Myr42McAApv+NzVh8f6LzzRqMG6NmDV9DxZuSt5hK6pDY2D4L7cqhWmT11fJxKTjt 5gYRzQs7qr8NbZcFmqOhQhssy3QCp70pZr42xQlY8w4K8Ch225dEUxYER+CZTU/ox+vF un+g== X-Forwarded-Encrypted: i=1; AJvYcCUwe+sntHxHSWbZrYi6lY7VWd6ZYwOrbWa38xTqJqeVAJQOYnMwX5QLOpiUw5i66cUAph2JizuHIKG1yB8=@vger.kernel.org X-Gm-Message-State: AOJu0Yz++u169pI30ITKDxZkJq9rIxujDbPOPRxf+9xlg2Z5pCt3OZYV lsmyM0cpiXmdTPW2Pj1kjJ4rJjKJv1j8zhbJAhw92LJG2CLpCrjOpgAPhQndDORa6feDNOozI5N /dapi/z7KbXA+EEEkdbbpYGg1boTw1sIVmntLWiBHDO60QCw5F4WPT3AxM/5i2jam+QM= X-Gm-Gg: AZuq6aJQvFVf110Y9rYL3FZotgxgvTtvfX0tO1jP+UlHr7KRIm2fVu4OycGwCsmeNj7 lOLf/M5mSUYr+2c99w60sVb0ymTUcqxjyirxfUr3fWtFOg+Nxl1z/tPhzT8dZDEpx+5aiwqY6N4 3z8U7Q6F0FM1iBV//hJIE6GiGjWQmwDeS5pQTSExvlUpwp2A6ddkXrYu9SOD4J8b1WLtdOHDlzv 5YkCTx59DBfF4d3BAbXK6nQM2K4oDxA61ywKSbWJdWpcvz9KfNfFZLpurawpTXB39BfWRPCSTre s2eh1cLMBnVSLzvf2trecxPcSqN8fhuXJ385GdzcYB3tHEUTAF011Yir9tGVUDcJeWJ6QrAUzqU KfmPa6QwYKdwKOldQSut4+l+gXcKJUO9j6Q== X-Received: by 2002:a17:903:2acc:b0:2a8:fd0d:ae94 with SMTP id d9443c01a7336-2a8fd0daf26mr59385625ad.19.1770029829512; Mon, 02 Feb 2026 02:57:09 -0800 (PST) X-Received: by 2002:a17:903:2acc:b0:2a8:fd0d:ae94 with SMTP id d9443c01a7336-2a8fd0daf26mr59385375ad.19.1770029829021; Mon, 02 Feb 2026 02:57:09 -0800 (PST) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b4c4665sm143981225ad.64.2026.02.02.02.57.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 02:57:08 -0800 (PST) From: Taniya Das Date: Mon, 02 Feb 2026 16:26:51 +0530 Subject: [PATCH v2 2/4] dt-bindings: clock: qcom: Add video clock controller on Glymur SoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260202-glymur_videocc-v2-2-8f7d8b4d8edd@oss.qualcomm.com> References: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> In-Reply-To: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jagadeesh Kona , Konrad Dybcio , Dmitry Baryshkov Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Proofpoint-GUID: uavD4-XH8b5eT7zIDUqqzZnaMgPX01kk X-Proofpoint-ORIG-GUID: uavD4-XH8b5eT7zIDUqqzZnaMgPX01kk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAyMDA4OCBTYWx0ZWRfX9OCSqEruVJHJ o/I5oExOxyz52yIeTubmVDn/NazA7cAHmH+PGBCatHRFaSKD3CDeNJWFsO9lfd96Ol9yYlXfnzL Xx+7U72Bv8qi1Uub69VcTujEmxSUGpV+3sL10z+k3m72D/xdCRdpfT4HZ+tOcSFZ5ZQsaskYCAm xaYed+eRGDDpG8VZXY9whwvX5b7L/B09QFmsBlaoLmWeusUH9uuyV4KgTW3v5IUdXaF/bmZQCoG PpmSPUmkWPUQ5gZxuLRAyVmM/HleC6DQXspBVLKztSyv/jLt6aNzQfJdlgENWxiUt8uUxcHwr+y HVwJYKgp0wvuN93cJtwrYOVCkXP2l8TYe0PNpFoKS9UCfTW3BOefLx5RAOrtdR0EEl699wep6i8 U68uYw/UnZLmUNSCr7jqgeVvTxGT2OEsujarFo3hA2HvVovBvprV8cCgjfmH15ZRsGflNfAQo/Q HNliIOfygTWRXz1DDRA== X-Authority-Analysis: v=2.4 cv=T8OBjvKQ c=1 sm=1 tr=0 ts=69808306 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=i4ogSa-0-Ooxq5hEEv8A:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-02_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602020088 Add compatible string for Glymur video clock controller and the bindings for Glymur Qualcomm SoC. Signed-off-by: Taniya Das Reviewed-by: Krzysztof Kozlowski --- .../bindings/clock/qcom,sm8450-videocc.yaml | 3 ++ include/dt-bindings/clock/qcom,glymur-videocc.h | 45 ++++++++++++++++++= ++++ 2 files changed, 48 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.ya= ml b/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml index e6beebd6a36ee1ce213a816f60df8a76fa5c44d6..7bbf120d928cc506a4f7aaeaa1c= 24e5da760e450 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml @@ -15,6 +15,7 @@ description: | domains on SM8450. =20 See also: + include/dt-bindings/clock/qcom,glymur-videocc.h include/dt-bindings/clock/qcom,kaanapali-videocc.h include/dt-bindings/clock/qcom,sm8450-videocc.h include/dt-bindings/clock/qcom,sm8650-videocc.h @@ -23,6 +24,7 @@ description: | properties: compatible: enum: + - qcom,glymur-videocc - qcom,kaanapali-videocc - qcom,sm8450-videocc - qcom,sm8475-videocc @@ -63,6 +65,7 @@ allOf: compatible: contains: enum: + - qcom,glymur-videocc - qcom,kaanapali-videocc - qcom,sm8450-videocc - qcom,sm8550-videocc diff --git a/include/dt-bindings/clock/qcom,glymur-videocc.h b/include/dt-b= indings/clock/qcom,glymur-videocc.h new file mode 100644 index 0000000000000000000000000000000000000000..98c0debef8fa9d67a2fb86a0e42= d6e207ad89c09 --- /dev/null +++ b/include/dt-bindings/clock/qcom,glymur-videocc.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#ifndef _DT_BINDINGS_CLK_QCOM_VIDEO_CC_GLYMUR_H +#define _DT_BINDINGS_CLK_QCOM_VIDEO_CC_GLYMUR_H + +/* VIDEO_CC clocks */ +#define VIDEO_CC_AHB_CLK 0 +#define VIDEO_CC_AHB_CLK_SRC 1 +#define VIDEO_CC_MVS0_CLK 2 +#define VIDEO_CC_MVS0_CLK_SRC 3 +#define VIDEO_CC_MVS0_DIV_CLK_SRC 4 +#define VIDEO_CC_MVS0_FREERUN_CLK 5 +#define VIDEO_CC_MVS0_SHIFT_CLK 6 +#define VIDEO_CC_MVS0C_CLK 7 +#define VIDEO_CC_MVS0C_DIV2_DIV_CLK_SRC 8 +#define VIDEO_CC_MVS0C_FREERUN_CLK 9 +#define VIDEO_CC_MVS0C_SHIFT_CLK 10 +#define VIDEO_CC_MVS1_CLK 11 +#define VIDEO_CC_MVS1_DIV_CLK_SRC 12 +#define VIDEO_CC_MVS1_FREERUN_CLK 13 +#define VIDEO_CC_MVS1_SHIFT_CLK 14 +#define VIDEO_CC_PLL0 15 +#define VIDEO_CC_SLEEP_CLK 16 +#define VIDEO_CC_SLEEP_CLK_SRC 17 +#define VIDEO_CC_XO_CLK 18 +#define VIDEO_CC_XO_CLK_SRC 19 + +/* VIDEO_CC power domains */ +#define VIDEO_CC_MVS0_GDSC 0 +#define VIDEO_CC_MVS0C_GDSC 1 +#define VIDEO_CC_MVS1_GDSC 2 + +/* VIDEO_CC resets */ +#define VIDEO_CC_INTERFACE_BCR 0 +#define VIDEO_CC_MVS0_BCR 1 +#define VIDEO_CC_MVS0C_BCR 2 +#define VIDEO_CC_MVS0C_FREERUN_CLK_ARES 3 +#define VIDEO_CC_MVS0_FREERUN_CLK_ARES 4 +#define VIDEO_CC_MVS1_FREERUN_CLK_ARES 5 +#define VIDEO_CC_XO_CLK_ARES 6 +#define VIDEO_CC_MVS1_BCR 7 +#endif --=20 2.34.1 From nobody Sun Feb 8 18:32:56 2026 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 1BA5835CBCA for ; Mon, 2 Feb 2026 10:57:15 +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=1770029838; cv=none; b=SY9ieNxGxOOSEiqX4cOoml+MXEz9+STcnr2N/KhgSWQN3e+whp9MnWXvKp14rmSdzkk6PJod4voHtWMuokgui9fWWozPKFRpVBecGSoImdqgGfwQM1LU6eWWJEPnK9p6G0KFQIQxHC5p3V4AM/GDMhsB+6XGuHckjy0drWqkzF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770029838; c=relaxed/simple; bh=mwwR5/m+SQ+W7fXnPWloO0v5qeZLn71VhIfgfzsp0WA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WWrS8NWnluwmmTI4qwfOrzM/kfgbS/vAzbmQr/obotBKCbv7+8CnRM23z/8iGhCeWllORVlDUS/HY6rlHmwsdRh46cclW8tSpA1JnH77pj4X5/PaxhjEQw3pCbluDa8jXc1ldUCca48rXMWBYRTkFSLxors5p27tzu/qyNAezXI= 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=PB7HhW5L; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=H1PpHKgQ; 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="PB7HhW5L"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="H1PpHKgQ" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61270rP82028623 for ; Mon, 2 Feb 2026 10:57:15 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= LJbPYNH8o0DuJj+prMbOGveCp5KZaKE2+xR/ODLTLjc=; b=PB7HhW5Ltnv1H+XZ 2LZ813cn+NviiqLmRFSq3r8MHUrSvSp4ONAw4vXwYPNevliLJ3G7BM5FUEo3IbK/ 9L4N2ekpFRprHTkb9v/W7uNbeOYNbn4YYi2JMNBCycELIFySF/UkCkaZx5tGSnIH vrq9wRzBXjFFb0N203ktJQ51NKXrXfaMTlrsJgeJ4IpQOFQ6X1crE7rOtpsJljYG 2Ka2pD/W8Z7JgXij0sZiWrVfmQClu10LfYpQEaLBmFOXR2+BDdHgwy1V8jeojGyf 52mAeGSfWevPDgmgh62e2Put4Racu9DQGYcgyxosLIuMVI04/mRGU078W2/WbMks oA9exw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c1awdd4a9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Feb 2026 10:57:15 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a0f0c7a06eso40752545ad.2 for ; Mon, 02 Feb 2026 02:57:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770029835; x=1770634635; 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=LJbPYNH8o0DuJj+prMbOGveCp5KZaKE2+xR/ODLTLjc=; b=H1PpHKgQY8DNorK33UESNEqNsu7YuPToc5XIDqZly6rRml8GfXoxQ5iB7cF5dyJFtx 3tIO1pZYDHd8k1nX+U95L6ieN2grdgp2S8JS48anNCkCXa6mRjWCjrm4Kyp7h1Cfm/OO ULbe7NZLg/G8TykUOhiEJJowaNgNjF9VDtqiKVc9E0kU1PCWgo4laFcDGicv1IEv4yOq jWnmUZLNc1qCb9QxbC1e8cY5Z5mIheDqTV80+DZ7PL6yrHZQg+VJUtxkKZAG/xoDU20P AGcamIFYa9CMea54xqxavBekwie178uYVsATHSK5rEyvPfR/iuKSB/xIWlLayXJPTgMQ giwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770029835; x=1770634635; 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=LJbPYNH8o0DuJj+prMbOGveCp5KZaKE2+xR/ODLTLjc=; b=ttyjuWTPAlL+7foO8b2FQYX3GJw/+ZwWuoLZS40RQaeKigSTZsT40JU8SRAnw9b0Xz 9kTD64Gz8G8u/DIU5d8f7Mz4erzZa0BDN9r3IWK4gTikQZR7mz8bOCQhX9rJFNd9ufjf oCcFez9N7cPy18cRBSaOtijnA32Ve21WyPOBvWVjs91bSyYN0js4zqVWGypWlDzA57kD eCZbRl8NpPqG5I5GcT2cLwI0ZeA1VTJfHPox/KDoh4MC6OOOXfENLTd0vuc8sTG5Njv6 h/db1IknvixBWdWqiA1OUNWct6jV1gr/p0pgy7sf0PJfW/DasVmL0vGE05AOvkm5sF3k fDIQ== X-Forwarded-Encrypted: i=1; AJvYcCW7AC4IhoUm8YUvoH3e5/tS//z5a773JdMHltBP8/tpw1BRrlGsnbYZ0lVTkek06A9V3dzntkF9anIBNeA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+fMMxDzdnY8p926pohpUp4PO3ePg4NyfUc3on05gfzyAXfhIV o0AK7VWuFOu+dMeeW5mBM9ckpzI8o8v3uv27Y+/Hgv6/UDWLT0lcOgDNipMUVnQS5WH5DHuTliB ZZ87mqFGs/Wx3D8LtMSefvAR1pjdBnQTutWjP3ZCa/MSbQaKrAbwXPHfiQa0coTU0itM= X-Gm-Gg: AZuq6aLRtZwLLWPLnxKEDZXFweqCYL+1MI3TJHI55KfBj1mKrOj7fasPCkVd6Qw/iql lHzxpgGlzJb9gNlhWBJbmz1n035+HLu3GsLdI+UnAWDViADgpF6V8neMUkdauIwjbedZp/dXdux uFM+1PADe5LBJQdbvqNKiEyFNQm2fmf08aWkeUUEoFCJFWYGHXH1ZjnPxvaub7zdlIU8wQFbwfI Zvb/LgxVUHzqStNyG7EMZN1ggKZNuoy1ethgqo/sV72f2YNZyFi7AQvAnSbNbZ8AyfMD0wVOqMy bpUC3ClNPm3gHDyod4VRXlVAKCF3CuVONA3BUU8rgNeb58YzrtZuoVrEXVWTrmSAkynD0j1Tygt 2GrhAjIHv1GZEHEiEUuodVJVitgZMOvQWuA== X-Received: by 2002:a17:902:e846:b0:298:4ee2:19f3 with SMTP id d9443c01a7336-2a8d9943dcfmr128668445ad.49.1770029834682; Mon, 02 Feb 2026 02:57:14 -0800 (PST) X-Received: by 2002:a17:902:e846:b0:298:4ee2:19f3 with SMTP id d9443c01a7336-2a8d9943dcfmr128668025ad.49.1770029834192; Mon, 02 Feb 2026 02:57:14 -0800 (PST) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b4c4665sm143981225ad.64.2026.02.02.02.57.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 02:57:13 -0800 (PST) From: Taniya Das Date: Mon, 02 Feb 2026 16:26:52 +0530 Subject: [PATCH v2 3/4] clk: qcom: gcc-glymur: Add video axi clock resets for glymur Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260202-glymur_videocc-v2-3-8f7d8b4d8edd@oss.qualcomm.com> References: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> In-Reply-To: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jagadeesh Kona , Konrad Dybcio , Dmitry Baryshkov Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Proofpoint-GUID: 5OdqzBEf19a1rC8WxlqI2EJdvQUamVk5 X-Proofpoint-ORIG-GUID: 5OdqzBEf19a1rC8WxlqI2EJdvQUamVk5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAyMDA4OCBTYWx0ZWRfX1iUF+Vs+/HuM TdAijmmMd9SbsoSll8Q0jpkfomyMYVhOUUKcCmgb9NSE9bG6Wl10REzs72Z748c2KxKufPfC9Rr YGnNBIzj66RL6w+Btq3WP4W8tPoK+eu45yruAOyJ/rrOkn5+Uw+GzU9seKxQ67OgfS8lFMWkYBA rhTidnY4/Hy8CTkn4YgrAMS/3VJWLuwr/d2FA+bRkPJzJqYQ2dhhdoTOpw95v45E3OujRpkUKo8 KKjfmv60Yb09/3fDfw1/3WuId6QX4RjoCvXtibECYuDSRHlilCNPCd9yxFlvAnAGrAZdG7+lNQN P7OLMqU78VnHn+yYsvOJmzIk1mjKJZodEJuDDQoNrXYUKRuoXAi5NSv1elOlYkS6XyzJD8k5mms 8ncTk5AxbWj2qCgMRMA5bOOr/x8remv0LU2+YxSDb6j33Uu5VUHaQ8xFXMNU4NstMLwptOoI8QO ftgsKKv1gZg79uwboMg== X-Authority-Analysis: v=2.4 cv=T8OBjvKQ c=1 sm=1 tr=0 ts=6980830b cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=h3uFTQrF-vKaECCUKRQA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-02_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602020088 The global clock controller video axi reset clocks are required by the video SW driver to assert and deassert the clock resets during their power down sequence. Hence add these clock resets. Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controll= er") Signed-off-by: Taniya Das Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/gcc-glymur.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/qcom/gcc-glymur.c b/drivers/clk/qcom/gcc-glymur.c index 238e205735ed594618b8526651968a4f73b1104e..cd11470a75f3fec67c1c0cb7fb2= b54a814cfaf65 100644 --- a/drivers/clk/qcom/gcc-glymur.c +++ b/drivers/clk/qcom/gcc-glymur.c @@ -8507,6 +8507,7 @@ static const struct qcom_reset_map gcc_glymur_resets[= ] =3D { [GCC_VIDEO_AXI0_CLK_ARES] =3D { 0x3201c, 2 }, [GCC_VIDEO_AXI1_CLK_ARES] =3D { 0x32044, 2 }, [GCC_VIDEO_BCR] =3D { 0x32000 }, + [GCC_VIDEO_AXI0C_CLK_ARES] =3D { 0x32030, 2 }, }; =20 static const struct clk_rcg_dfs_data gcc_dfs_clocks[] =3D { --=20 2.34.1 From nobody Sun Feb 8 18:32:56 2026 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 9729F35CBA5 for ; Mon, 2 Feb 2026 10:57:21 +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=1770029843; cv=none; b=DfKszWVQHiNaDNlweUalBg8nDLapVo9PEE/OdKiJyI/1gy1kRUksZRNGgc4YcNAj3YnnOhO80d28yIegrFcKWBokyxVM3Nz2ryar2O1jYhJKH5VtbcR/OYIJXYJwtPj4iu9VCCO/UFFvu4LRRV6t7f0IVeAxE+t5QTNGQExckmw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770029843; c=relaxed/simple; bh=TNwI781GUMcSt/tiyhcwNPS8ZalJsGVs6vvxaXi/Am8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LwjF1aNHWc9fpmWZQLZx10iTh5IBLovgLUbb7PwX6vQdRwNsCMFJY28+20ZNqc2rxAIG8aAdSfkFnKSKPHtc15xUp1FNiWpKChw9UVICeY2ZwmSoxEWId2fTUHMFqVAMuzKx/t4yXYgX96d6SWZsnAbfLjs8frCk0EFTEx2JYso= 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=T2mMuKWL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jnkbUnJD; 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="T2mMuKWL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jnkbUnJD" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61284kEL1659531 for ; Mon, 2 Feb 2026 10:57:21 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= R7QPbgVPxIYyGO50swmUJBI0r8UKZ8FxhCs381Y9wTE=; b=T2mMuKWL4iWaPB9U chsShAPVWPBGl8ZSeClIE8ZrVjkTlFUft4nEUvF2ta8r1GN+J+iJgpAMe01pEBJ5 pvV/kkY5C3WX2qC6ThZzsAXHTLgyhtRBct1KRTbbzC+/iftUSk33v1bM1pCPhx+W WRNrXLTIS6apYK0sHBamprV3ZT6Y13tL7L7abVts2h2drAp8+2SWZjWbnFvX0OA1 xrDlHcGenpW7A3uVkwKju9RAQ1oFJyoXSF76/4RFZY7f18V3v2XXUFWTtTFpP2QY fZ89IbB0NY5YCA48sMHZytSZJzej62bDrN69Q/wy3Q8n+RVucewRmO0JyWMI3xek s9QrIA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c23h1juqq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Feb 2026 10:57:20 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2a0bae9acd4so31720145ad.3 for ; Mon, 02 Feb 2026 02:57:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770029840; x=1770634640; 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=R7QPbgVPxIYyGO50swmUJBI0r8UKZ8FxhCs381Y9wTE=; b=jnkbUnJDb37S7gDXc06jhBf91bTgMqu51PaQZnCfaauR2kImrHW87VZQlThL5WVja4 32p8Xd7m9EY3XRP+i+TwZbtBLq82cPxgiu14jnQUttpLvfX/trjVlY7WldFs+ZZSf++E 9dOh82zujqAdzmKGq8CZ5w6AIMLLDgy2khPE3eGy0zj0qDgW7hcGlhQol121WJS80RxZ ekRfkcHjXJIon0DIUIRNAiWL655xLCCt/VYdGMqacUjH17XX6huETyUiUWEA9JRmeTLU S3828U45hb7m/XJrQ772/1Afzk8384PBYfLAPxKyg3iRZAagaHuDoOqjWWiA9J05k55D gmKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770029840; x=1770634640; 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=R7QPbgVPxIYyGO50swmUJBI0r8UKZ8FxhCs381Y9wTE=; b=BOC5XqEUQL2b092LChID/EU5ccg4sszN//wM16dh/V81xhw6LDjx8k1CRWyIBJhF2e j39cQWHy0ZZLhhAGA5r3Z+IWMsZHy48ReXAapMdhqPKzpEKr7MN+z+HkA+xBNk/TwS/2 JXzS/4m17/zzp2ZVXB+C7kpv/g1dK9QA5UKY5sPb7gZrQO6gFL3L3QZaKkm7DXzEc80W 0+4yd/0y+i/xYbCzZuMqM69Q5nf3kDsEPagdB32GKgiYpc3k/cL2b61TrklXXeAg/zf0 +7yNWgJuoLSY+H/ldU7IQb6VNS7CKtbF0yEnE1nWmkyZgmGQTXfymVbnWS9nsQQAnNAl gAhw== X-Forwarded-Encrypted: i=1; AJvYcCWFFzQTur2RicPSYM4s7q4Hi9lZzPCQz/W21vs0K3rBN/MPp1C2FbewqQxWEzx+xD5eDl5T/L9Q/tzAcyU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyw9Uyzqa2HA24LdkhWp9DiVZjfBqRnxaWQyGXilKbTeuNPotCX q8UtQS5JQzSy+sOYcEh0CR0c10wgvJP1QwT5JZFqVWHxRRmMAqCTL5m0Viv2/ktA3aCzyUZIO9D ugsJXGEA9weJnnO5jVsm0B+Zqt4LMfZvlVKyg4jG056mTZs7SiLszIJru2b44ukO7+Kc= X-Gm-Gg: AZuq6aKZkidvPGOz9rkIt7ImkJeJuL+Dp2k+HLcLB5uARQgIozc0ncF4aV1ujA7O+jI zPVUKqZjWXI8mzPkUOXLzWVd1Xe9//u5T3kAOa0iT6Zz3QMtaXP40Z55vleKDAqO422/sHaVtsZ Y/cODfOHytiTbu4nq9wX90GKBGyxXDxTU7O98l7OCCSX0AMDrjYmBGdQl/EpojS9h+7bF63UzmH pQF2laxwZIzyZAJpAJuOfueB0qfUZOglg7+54UJF49GTWjLl/n3iMYRnAlpx/H9ff16LAKlzssB yIrd4OJFCiUN9sQi0EYlfgljOeUBxy3qZJB80Ke9R41+b/+GzLmB99vNb2/ZDdw6wppGw4subHi 7wc0Cp44yDu9I74hcuj0mm78oJcRvgtEbJQ== X-Received: by 2002:a17:902:e48a:b0:2a1:243:94a8 with SMTP id d9443c01a7336-2a8d9939380mr79876195ad.49.1770029840051; Mon, 02 Feb 2026 02:57:20 -0800 (PST) X-Received: by 2002:a17:902:e48a:b0:2a1:243:94a8 with SMTP id d9443c01a7336-2a8d9939380mr79876085ad.49.1770029839458; Mon, 02 Feb 2026 02:57:19 -0800 (PST) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b4c4665sm143981225ad.64.2026.02.02.02.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 02:57:19 -0800 (PST) From: Taniya Das Date: Mon, 02 Feb 2026 16:26:53 +0530 Subject: [PATCH v2 4/4] clk: qcom: videocc-glymur: Add video clock controller driver for Glymur Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260202-glymur_videocc-v2-4-8f7d8b4d8edd@oss.qualcomm.com> References: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> In-Reply-To: <20260202-glymur_videocc-v2-0-8f7d8b4d8edd@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jagadeesh Kona , Konrad Dybcio , Dmitry Baryshkov Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Proofpoint-GUID: I8n8VI3DiXLjoo-udoLe-rpeHbIECQPt X-Proofpoint-ORIG-GUID: I8n8VI3DiXLjoo-udoLe-rpeHbIECQPt X-Authority-Analysis: v=2.4 cv=Fu8IPmrq c=1 sm=1 tr=0 ts=69808310 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=xHL-5R5miqRNluvCBc4A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAyMDA4OCBTYWx0ZWRfXwAUBI1zDoVH6 BNGKOd0B7PSbvP7iTz1UEDMjji5EWQnDBRKxs1H1NXEnCE3gbClQ7LqMP4Mjn4R6ls927E50QbJ RcFiKrbcY0BQMJ8LI23q8HRzEYOnD6Xdd4mH0xxQiIJISEV+SzLjYV7HUp7YbPjz3XVGNqGyPEC bgXvNz1MC/S6WHLlawE6ud2u6PNyyN3B16v8Vdnmxwb4qFDoSDhWQeGioKH0AXeowLryUntd2ag KxmuwSJs8FK6E3QNJQ7CpwLCuM1AaNDU7Sp+Qq7syePFYwTtEXoI/aNa2nEy+tn0f/KHSb+aDWJ 4ueW9c3AcLdOtwzDoFjPgP1eALKwz19AsvZYAfol939yl4BVsf5gKz1HsESPAC4Zc6KwrfB6TLo ikXQ9Re5q01CXyY7fBsWSE7KB7/eDR/D7NZl00tZj7BP5HYPPPVbVvEbq8zYaKKfEMIEiHPD0Uc 2MxvY5lrG5aXxFLTGlA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-02_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602020088 Add support for the video clock controller for video clients to be able to request for videocc clocks on Glymur platform. Signed-off-by: Taniya Das Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/Kconfig | 9 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/videocc-glymur.c | 533 ++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 543 insertions(+) diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig index a8a86ea6bb7445e396048a5bba23fce8d719281f..20af4340b08f98773eadcc4a97b= 1669f51277eb8 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -46,6 +46,15 @@ config CLK_GLYMUR_TCSRCC Support for the TCSR clock controller on GLYMUR devices. Say Y if you want to use peripheral devices such as USB/PCIe/EDP. =20 +config CLK_GLYMUR_VIDEOCC + tristate "Glymur Video Clock Controller" + depends on ARM64 || COMPILE_TEST + select CLK_GLYMUR_GCC + help + Support for the video clock controller on Glymur devices. + Say Y if you want to support video devices and functionality such as + video encode and decode. + config CLK_KAANAPALI_CAMCC tristate "Kaanapali Camera Clock Controller" depends on ARM64 || COMPILE_TEST diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile index 6b0ad8832b55f1914079f15323b8cdd1608ad4c0..a71dfd0ddf5122d91b5ab4427a9= e36cdd57f7bbd 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_CLK_GFM_LPASS_SM8250) +=3D lpass-gfm-sm8250.o obj-$(CONFIG_CLK_GLYMUR_DISPCC) +=3D dispcc-glymur.o obj-$(CONFIG_CLK_GLYMUR_GCC) +=3D gcc-glymur.o obj-$(CONFIG_CLK_GLYMUR_TCSRCC) +=3D tcsrcc-glymur.o +obj-$(CONFIG_CLK_GLYMUR_VIDEOCC) +=3D videocc-glymur.o obj-$(CONFIG_CLK_KAANAPALI_CAMCC) +=3D cambistmclkcc-kaanapali.o camcc-kaa= napali.o obj-$(CONFIG_CLK_KAANAPALI_DISPCC) +=3D dispcc-kaanapali.o obj-$(CONFIG_CLK_KAANAPALI_GCC) +=3D gcc-kaanapali.o diff --git a/drivers/clk/qcom/videocc-glymur.c b/drivers/clk/qcom/videocc-g= lymur.c new file mode 100644 index 0000000000000000000000000000000000000000..5dea01f9e20de9654aa160817b9= 092bfbbd1077a --- /dev/null +++ b/drivers/clk/qcom/videocc-glymur.c @@ -0,0 +1,533 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include "clk-alpha-pll.h" +#include "clk-branch.h" +#include "clk-pll.h" +#include "clk-rcg.h" +#include "clk-regmap.h" +#include "clk-regmap-divider.h" +#include "clk-regmap-mux.h" +#include "common.h" +#include "gdsc.h" +#include "reset.h" + +enum { + DT_BI_TCXO, + DT_BI_TCXO_AO, + DT_SLEEP_CLK, +}; + +enum { + P_BI_TCXO, + P_SLEEP_CLK, + P_VIDEO_CC_PLL0_OUT_MAIN, +}; + +static const struct pll_vco taycan_eko_t_vco[] =3D { + { 249600000, 2500000000, 0 }, +}; + +/* 720.0 MHz Configuration */ +static const struct alpha_pll_config video_cc_pll0_config =3D { + .l =3D 0x25, + .alpha =3D 0x8000, + .config_ctl_val =3D 0x25c400e7, + .config_ctl_hi_val =3D 0x0a8060e0, + .config_ctl_hi1_val =3D 0xf51dea20, + .user_ctl_val =3D 0x00000008, + .user_ctl_hi_val =3D 0x00000002, +}; + +static struct clk_alpha_pll video_cc_pll0 =3D { + .offset =3D 0x0, + .config =3D &video_cc_pll0_config, + .vco_table =3D taycan_eko_t_vco, + .num_vco =3D ARRAY_SIZE(taycan_eko_t_vco), + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T], + .clkr =3D { + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_pll0", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_taycan_eko_t_ops, + }, + }, +}; + +static const struct parent_map video_cc_parent_map_0[] =3D { + { P_BI_TCXO, 0 }, +}; + +static const struct clk_parent_data video_cc_parent_data_0[] =3D { + { .index =3D DT_BI_TCXO }, +}; + +static const struct parent_map video_cc_parent_map_1[] =3D { + { P_BI_TCXO, 0 }, + { P_VIDEO_CC_PLL0_OUT_MAIN, 1 }, +}; + +static const struct clk_parent_data video_cc_parent_data_1[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &video_cc_pll0.clkr.hw }, +}; + +static const struct parent_map video_cc_parent_map_2[] =3D { + { P_SLEEP_CLK, 0 }, +}; + +static const struct clk_parent_data video_cc_parent_data_2[] =3D { + { .index =3D DT_SLEEP_CLK }, +}; + +static const struct freq_tbl ftbl_video_cc_ahb_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + { } +}; + +static struct clk_rcg2 video_cc_ahb_clk_src =3D { + .cmd_rcgr =3D 0x8018, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D video_cc_parent_map_0, + .freq_tbl =3D ftbl_video_cc_ahb_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_ahb_clk_src", + .parent_data =3D video_cc_parent_data_0, + .num_parents =3D ARRAY_SIZE(video_cc_parent_data_0), + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_rcg2_shared_ops, + }, +}; + +static const struct freq_tbl ftbl_video_cc_mvs0_clk_src[] =3D { + F(720000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + F(1014000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + F(1098000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + F(1332000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + F(1600000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + F(1965000000, P_VIDEO_CC_PLL0_OUT_MAIN, 1, 0, 0), + { } +}; + +static struct clk_rcg2 video_cc_mvs0_clk_src =3D { + .cmd_rcgr =3D 0x8000, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D video_cc_parent_map_1, + .freq_tbl =3D ftbl_video_cc_mvs0_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0_clk_src", + .parent_data =3D video_cc_parent_data_1, + .num_parents =3D ARRAY_SIZE(video_cc_parent_data_1), + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_rcg2_shared_ops, + }, +}; + +static const struct freq_tbl ftbl_video_cc_sleep_clk_src[] =3D { + F(32000, P_SLEEP_CLK, 1, 0, 0), + { } +}; + +static struct clk_rcg2 video_cc_sleep_clk_src =3D { + .cmd_rcgr =3D 0x8120, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D video_cc_parent_map_2, + .freq_tbl =3D ftbl_video_cc_sleep_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_sleep_clk_src", + .parent_data =3D video_cc_parent_data_2, + .num_parents =3D ARRAY_SIZE(video_cc_parent_data_2), + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_rcg2_shared_ops, + }, +}; + +static struct clk_rcg2 video_cc_xo_clk_src =3D { + .cmd_rcgr =3D 0x80f8, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D video_cc_parent_map_0, + .freq_tbl =3D ftbl_video_cc_ahb_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_xo_clk_src", + .parent_data =3D video_cc_parent_data_0, + .num_parents =3D ARRAY_SIZE(video_cc_parent_data_0), + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_rcg2_shared_ops, + }, +}; + +static struct clk_regmap_div video_cc_mvs0_div_clk_src =3D { + .reg =3D 0x809c, + .shift =3D 0, + .width =3D 4, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0_div_clk_src", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_regmap_div_ro_ops, + }, +}; + +static struct clk_regmap_div video_cc_mvs0c_div2_div_clk_src =3D { + .reg =3D 0x8060, + .shift =3D 0, + .width =3D 4, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0c_div2_div_clk_src", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_regmap_div_ro_ops, + }, +}; + +static struct clk_regmap_div video_cc_mvs1_div_clk_src =3D { + .reg =3D 0x80d8, + .shift =3D 0, + .width =3D 4, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs1_div_clk_src", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_regmap_div_ro_ops, + }, +}; + +static struct clk_branch video_cc_mvs0_clk =3D { + .halt_reg =3D 0x807c, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x807c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x807c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs0_freerun_clk =3D { + .halt_reg =3D 0x808c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x808c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0_freerun_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs0_shift_clk =3D { + .halt_reg =3D 0x8114, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x8114, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x8114, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0_shift_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_xo_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs0c_clk =3D { + .halt_reg =3D 0x804c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x804c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0c_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0c_div2_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs0c_freerun_clk =3D { + .halt_reg =3D 0x805c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x805c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0c_freerun_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs0c_div2_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs0c_shift_clk =3D { + .halt_reg =3D 0x811c, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x811c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x811c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs0c_shift_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_xo_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs1_clk =3D { + .halt_reg =3D 0x80b8, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x80b8, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x80b8, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs1_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs1_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs1_freerun_clk =3D { + .halt_reg =3D 0x80c8, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x80c8, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs1_freerun_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_mvs1_div_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch video_cc_mvs1_shift_clk =3D { + .halt_reg =3D 0x8118, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x8118, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x8118, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "video_cc_mvs1_shift_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &video_cc_xo_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct gdsc video_cc_mvs0c_gdsc =3D { + .gdscr =3D 0x8034, + .en_rest_wait_val =3D 0x2, + .en_few_wait_val =3D 0x2, + .clk_dis_wait_val =3D 0x6, + .pd =3D { + .name =3D "video_cc_mvs0c_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D POLL_CFG_GDSCR | RETAIN_FF_ENABLE, +}; + +static struct gdsc video_cc_mvs0_gdsc =3D { + .gdscr =3D 0x8068, + .en_rest_wait_val =3D 0x2, + .en_few_wait_val =3D 0x2, + .clk_dis_wait_val =3D 0x6, + .pd =3D { + .name =3D "video_cc_mvs0_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D HW_CTRL_TRIGGER | POLL_CFG_GDSCR | RETAIN_FF_ENABLE, + .parent =3D &video_cc_mvs0c_gdsc.pd, +}; + +static struct gdsc video_cc_mvs1_gdsc =3D { + .gdscr =3D 0x80a4, + .en_rest_wait_val =3D 0x2, + .en_few_wait_val =3D 0x2, + .clk_dis_wait_val =3D 0x6, + .pd =3D { + .name =3D "video_cc_mvs1_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D HW_CTRL_TRIGGER | POLL_CFG_GDSCR | RETAIN_FF_ENABLE, +}; + +static struct clk_regmap *video_cc_glymur_clocks[] =3D { + [VIDEO_CC_AHB_CLK_SRC] =3D &video_cc_ahb_clk_src.clkr, + [VIDEO_CC_MVS0_CLK] =3D &video_cc_mvs0_clk.clkr, + [VIDEO_CC_MVS0_CLK_SRC] =3D &video_cc_mvs0_clk_src.clkr, + [VIDEO_CC_MVS0_DIV_CLK_SRC] =3D &video_cc_mvs0_div_clk_src.clkr, + [VIDEO_CC_MVS0_FREERUN_CLK] =3D &video_cc_mvs0_freerun_clk.clkr, + [VIDEO_CC_MVS0_SHIFT_CLK] =3D &video_cc_mvs0_shift_clk.clkr, + [VIDEO_CC_MVS0C_CLK] =3D &video_cc_mvs0c_clk.clkr, + [VIDEO_CC_MVS0C_DIV2_DIV_CLK_SRC] =3D &video_cc_mvs0c_div2_div_clk_src.cl= kr, + [VIDEO_CC_MVS0C_FREERUN_CLK] =3D &video_cc_mvs0c_freerun_clk.clkr, + [VIDEO_CC_MVS0C_SHIFT_CLK] =3D &video_cc_mvs0c_shift_clk.clkr, + [VIDEO_CC_MVS1_CLK] =3D &video_cc_mvs1_clk.clkr, + [VIDEO_CC_MVS1_DIV_CLK_SRC] =3D &video_cc_mvs1_div_clk_src.clkr, + [VIDEO_CC_MVS1_FREERUN_CLK] =3D &video_cc_mvs1_freerun_clk.clkr, + [VIDEO_CC_MVS1_SHIFT_CLK] =3D &video_cc_mvs1_shift_clk.clkr, + [VIDEO_CC_PLL0] =3D &video_cc_pll0.clkr, + [VIDEO_CC_SLEEP_CLK_SRC] =3D &video_cc_sleep_clk_src.clkr, + [VIDEO_CC_XO_CLK_SRC] =3D &video_cc_xo_clk_src.clkr, +}; + +static struct gdsc *video_cc_glymur_gdscs[] =3D { + [VIDEO_CC_MVS0_GDSC] =3D &video_cc_mvs0_gdsc, + [VIDEO_CC_MVS0C_GDSC] =3D &video_cc_mvs0c_gdsc, + [VIDEO_CC_MVS1_GDSC] =3D &video_cc_mvs1_gdsc, +}; + +static const struct qcom_reset_map video_cc_glymur_resets[] =3D { + [VIDEO_CC_INTERFACE_BCR] =3D { 0x80dc }, + [VIDEO_CC_MVS0_BCR] =3D { 0x8064 }, + [VIDEO_CC_MVS0C_FREERUN_CLK_ARES] =3D { 0x805c, 2 }, + [VIDEO_CC_MVS0C_BCR] =3D { 0x8030 }, + [VIDEO_CC_MVS0_FREERUN_CLK_ARES] =3D { 0x808c, 2 }, + [VIDEO_CC_MVS1_FREERUN_CLK_ARES] =3D { 0x80c8, 2 }, + [VIDEO_CC_MVS1_BCR] =3D { 0x80a0 }, +}; + +static struct clk_alpha_pll *video_cc_glymur_plls[] =3D { + &video_cc_pll0, +}; + +static u32 video_cc_glymur_critical_cbcrs[] =3D { + 0x80e0, /* VIDEO_CC_AHB_CLK */ + 0x8138, /* VIDEO_CC_SLEEP_CLK */ + 0x8110, /* VIDEO_CC_XO_CLK */ +}; + +static const struct regmap_config video_cc_glymur_regmap_config =3D { + .reg_bits =3D 32, + .reg_stride =3D 4, + .val_bits =3D 32, + .max_register =3D 0x9f54, + .fast_io =3D true, +}; + +static void clk_glymur_regs_configure(struct device *dev, struct regmap *r= egmap) +{ + /* Update CTRL_IN register */ + regmap_update_bits(regmap, 0x9f24, BIT(0), BIT(0)); +} + +static struct qcom_cc_driver_data video_cc_glymur_driver_data =3D { + .alpha_plls =3D video_cc_glymur_plls, + .num_alpha_plls =3D ARRAY_SIZE(video_cc_glymur_plls), + .clk_cbcrs =3D video_cc_glymur_critical_cbcrs, + .num_clk_cbcrs =3D ARRAY_SIZE(video_cc_glymur_critical_cbcrs), + .clk_regs_configure =3D clk_glymur_regs_configure, +}; + +static struct qcom_cc_desc video_cc_glymur_desc =3D { + .config =3D &video_cc_glymur_regmap_config, + .clks =3D video_cc_glymur_clocks, + .num_clks =3D ARRAY_SIZE(video_cc_glymur_clocks), + .resets =3D video_cc_glymur_resets, + .num_resets =3D ARRAY_SIZE(video_cc_glymur_resets), + .gdscs =3D video_cc_glymur_gdscs, + .num_gdscs =3D ARRAY_SIZE(video_cc_glymur_gdscs), + .use_rpm =3D true, + .driver_data =3D &video_cc_glymur_driver_data, +}; + +static const struct of_device_id video_cc_glymur_match_table[] =3D { + { .compatible =3D "qcom,glymur-videocc" }, + { } +}; +MODULE_DEVICE_TABLE(of, video_cc_glymur_match_table); + +static int video_cc_glymur_probe(struct platform_device *pdev) +{ + return qcom_cc_probe(pdev, &video_cc_glymur_desc); +} + +static struct platform_driver video_cc_glymur_driver =3D { + .probe =3D video_cc_glymur_probe, + .driver =3D { + .name =3D "videocc-glymur", + .of_match_table =3D video_cc_glymur_match_table, + }, +}; + +module_platform_driver(video_cc_glymur_driver); + +MODULE_DESCRIPTION("QTI VIDEOCC Glymur Driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1