From patchwork Mon Oct 16 17:55:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Marko X-Patchwork-Id: 153709 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp3629774vqb; Mon, 16 Oct 2023 10:56:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGZEuBAUmKdplGcpohi8+NEWSmfoC3bnG3UU/Bbflnoj5B+T4qxbE2vJpHZtpM+S2VMm9Xm X-Received: by 2002:a05:6a20:daa8:b0:171:947f:465b with SMTP id iy40-20020a056a20daa800b00171947f465bmr24331203pzb.4.1697478970656; Mon, 16 Oct 2023 10:56:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697478970; cv=none; d=google.com; s=arc-20160816; b=Luo8czTK3ji44XvfYawng1qVAUDhMPC6tzO1Q3mfQP7jAWwVlsutF4VbUol5Y3F/bX Z6jp8QWGqaxM2mzj6JksZPjAgPKcuhrROyLER9CiugLtfFbYjUK5DAtE6RESI+ITp/QM a2MK3u8xMW745/rt77RZcdcmonWCK8fEdZDpZBTZ/lwXbc7AfjB+2woqR0ceEFq6O+Bz 0+PvI1v2W0cqYWZYv/mZR5C9tNn+hjeY98IDnarnMlQpZIDYmyYcgU/7nWFGK0zz9w/G iIce3dMGyYcierayFONnX1Dxgo/qan+fylxIe+wGEzOQR/ThO/apWPqF8UEgAx8Nchft byAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=BhPkYhJAW7CH6nBOo+T09ywLEzEHOW0bchh9MjRNi/s=; fh=NhPbuTmw8OM9l0pjsIB5wI4BOLAl6ezPvLwujXppZNk=; b=NKwXo2QBnguwI0PtqLRLYpWDGxGVtnaRj4InRb68txe1LwZB/20YaR9qiqnPpZ3p0S q6brPlaRq+X13hJx2vTGIXJrT9mbV0pWkbwuM3zRO2bVmdI6gkyzoW3Le0J+tM3dWOWo 6iMQWfN4WcmyZUEfDPjC9CEpaPg0fSBi9bA0e4Yi9oEw0Xbb7svdgTlVRsNy02YK+dTF YMwBF6l1o5VfSttdq71WH0CR7F2Xa/PhhL9hRwuaHPZD9cdnqlX2ZfXVTphDsHVUWF11 vhktyMxb5VgC2nM0+mwQyMDWQCmM2vFtZBAD9bMP4bsiOASUPBHsTjf/EiRbBnsHB0+6 7KnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fSnS3zhW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id me17-20020a17090b17d100b0026b4d5844ccsi7206483pjb.27.2023.10.16.10.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:56:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fSnS3zhW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 7686C808727D; Mon, 16 Oct 2023 10:56:06 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233948AbjJPRzl (ORCPT + 18 others); Mon, 16 Oct 2023 13:55:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230271AbjJPRzj (ORCPT ); Mon, 16 Oct 2023 13:55:39 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1417EA7; Mon, 16 Oct 2023 10:55:37 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-991c786369cso778719666b.1; Mon, 16 Oct 2023 10:55:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697478935; x=1698083735; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=BhPkYhJAW7CH6nBOo+T09ywLEzEHOW0bchh9MjRNi/s=; b=fSnS3zhWwJzGUU/sPgDw+WXaXiX+JT+TPsmS5qkuIImnHRDQ8xvSK8RhqOxCF2S2aR rZgMJWf6+0jxpOYvytOn9IhDjefiDbIQjS+nQyBc7JeWG7puocyAeSmoB40YO4bU8SqI 83Gsx8jdFKsIWOCctfodeqZ99EA5TC8G1LFwkq42+FJxLYQ+oe+6Yg5iriU7zarm5pPp rj+A10l9s5C1GsAxSrkkHtvTdGfMEU+qYTPL9RvaKH2w8YIL3FdhRisy9BlVvekkVdOS ZLLtHvt9/0X8fmUBzBJIp0/ihwOoUAvY+Sz6qlW0Dv95D9nqYHKGW2kZlD44RX4yLRDa CM5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697478935; x=1698083735; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BhPkYhJAW7CH6nBOo+T09ywLEzEHOW0bchh9MjRNi/s=; b=ggThk9lgvefFQTjVgrSzTXQZjQd/zBt3f572+u9aCqnoAWm1E5urqBu/Qc8eWJyKG4 W3Ne4dllk3FVt5ZvLW1VFh9fPvA+BZJfP80WHl+cwl943Ve3Z4nfPKcIU1YEZy5qmdrS S2McwCvvmdYLXGXedQm/WerMWa5HmbVX/LVIT6pW2KUwCNnltkPYVnv5uYqgcCd2VQhA hSj9/RgmTN1LYgEmfFH27eXxGm8qOBCNzm7W5CpNelDOeR+UkMc5X/bDiabpI5UNR7xg NWuNLlNtNBW9OHubQaPVTnY5SxVvljU48C0jL7dOOaxifCmWNreh2FM1tbqvVAH5Rt1p eMWg== X-Gm-Message-State: AOJu0YwGUnOxnTDhN1TQH/4DtHbxiEM2I+FU7SfiUEkwGbFhxbynS3aV zYg7MY94v9v3H4gSNRPjeM8= X-Received: by 2002:a17:906:7310:b0:9bf:5771:a8cf with SMTP id di16-20020a170906731000b009bf5771a8cfmr4954114ejc.70.1697478935271; Mon, 16 Oct 2023 10:55:35 -0700 (PDT) Received: from fedora.. ([188.252.220.210]) by smtp.googlemail.com with ESMTPSA id g15-20020a170906348f00b009c3f8f46c22sm2378007ejb.77.2023.10.16.10.55.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:55:34 -0700 (PDT) From: Robert Marko To: agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, ilia.lin@kernel.org, rafael@kernel.org, viresh.kumar@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Robert Marko Subject: [PATCH 1/3] dt-bindings: cpufreq: qcom-cpufreq-nvmem: document IPQ6018 Date: Mon, 16 Oct 2023 19:55:15 +0200 Message-ID: <20231016175532.2081344-1-robimarko@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 16 Oct 2023 10:56:06 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779935709266516211 X-GMAIL-MSGID: 1779935709266516211 Document IPQ6018 compatible for Qcom NVMEM CPUFreq driver. Signed-off-by: Robert Marko --- .../devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml index 7391660a25ac9..f929892d654ea 100644 --- a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml +++ b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml @@ -28,6 +28,7 @@ select: - qcom,apq8064 - qcom,apq8096 - qcom,ipq5332 + - qcom,ipq6018 - qcom,ipq8064 - qcom,ipq8074 - qcom,ipq9574 From patchwork Mon Oct 16 17:55:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Robert Marko X-Patchwork-Id: 153710 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp3629890vqb; Mon, 16 Oct 2023 10:56:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFNsqTZ8KlGLyn2Jwxv2p8Vios3DqtLqkAxK4Zoaj/U2SsyDiHvQdednaBcmfsEwtGpugC2 X-Received: by 2002:a17:903:334c:b0:1c7:5581:f9c with SMTP id ka12-20020a170903334c00b001c755810f9cmr62572plb.0.1697478984711; Mon, 16 Oct 2023 10:56:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697478984; cv=none; d=google.com; s=arc-20160816; b=qa+uG+AzswDplG8+0Qkv7OArDsF4OhmnNE1gcxvmiVW7k8cKNEXKLYAkrikxzJhO/v rLGG9yQpP9DTnc8NbSozHbzT7rX70CeI5XsC3FixpKo+dSrti3ZuBrX0STfOQh0dS3Oe nuBQjpNwThgp1lwdIlkltpmNsAAWG4mv99/jTvyZs+AvvfXCrb3eyXUup49B+/It6lew iOTWaiQju6WjrwF6bkrwm/4zAh71cXNDvz8NBFkwyOUTGXUOM6iESZRbK0+4MlZVKZG9 kVmC0kbjYN3FtkiUfS8xZ8JR9dD7RgLJcIS6camIrozyc7s7jz3Vw1l7eS4SniXcQ8fm frUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3fhMPK1TiFshtwsFU4ELogXg+Q+YZPoOXgpzwCu7gVo=; fh=NhPbuTmw8OM9l0pjsIB5wI4BOLAl6ezPvLwujXppZNk=; b=ZtLf9aWIC4wHPZqjfR5k6EWgvkBsFC9FuLeTUYtuv6jvkBkflgm6JixHL6t9uiLOqV WbpdjxvHwHqsQAnX+1jDWJMsPnYNcUAoQNEpobCFmPWOKDVtHCWe2WL+kWaXxK917B6R gwhhJYluS6qWOT9r7SM5lGmhIu1rfQZWpSpy+nzOE64YbxdRchF1gLyzCWrQDe2E1HfV olx7CyET6r0NqRFn2+Hy+MhsB167/O6Xs0ACkXh9US0nU46B5fdjrepIJFuauebgICD1 hgyzy+llBAV+A43anWJh9DOAtqb00foX4n4cxx83mZSSBNl7Oe5zdYgF4YGA+W4O4Ygd fE3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=jQdU9Tto; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id a17-20020a170902ee9100b001ca22632ea7si6515882pld.213.2023.10.16.10.56.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:56:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=jQdU9Tto; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 43C6F8088A50; Mon, 16 Oct 2023 10:56:22 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234050AbjJPRzo (ORCPT + 18 others); Mon, 16 Oct 2023 13:55:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232228AbjJPRzk (ORCPT ); Mon, 16 Oct 2023 13:55:40 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71542E1; Mon, 16 Oct 2023 10:55:38 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-9ad8a822508so784488266b.0; Mon, 16 Oct 2023 10:55:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697478937; x=1698083737; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3fhMPK1TiFshtwsFU4ELogXg+Q+YZPoOXgpzwCu7gVo=; b=jQdU9TtoM6VKVWLFAgX2a0JNPqrOKu3DQnoc/sE+Qc7uUo+6KM1LBhQ/QOzo6+/gWb N2p9xkF4E7cJVj2DvfTg9FPF9G+5thEdAjtBawEbZ19oZDRfw6MjI6rKNh0lrk4O0HHX i8G7Y0DzhyIfWcxW7TPM7Ur1GEAFUzIYYWrkzaCOC3fsvUuha0IdQ8lb4UFBTQLlQlEK 0FS30uF+bi0b6BMavS3i20liUhdSFwBHaJZFVRr+zWbhUXGWIjdJoQCl/XMpMw21T80H hs2Xez/jcvBHvH4y66DVN+YaEiq214dlpX0BwOazEKBvIp7kxFIKh1tvdrv2fKUw9CPu 9oPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697478937; x=1698083737; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3fhMPK1TiFshtwsFU4ELogXg+Q+YZPoOXgpzwCu7gVo=; b=ZjAIPwuYnJw5WBVp3R3tfocic6HqPq2MQU6oC4MMybBd0+f7wujeubb8jWTaFf3IZR VzRzUe5oS3cZyvGZUsPSUoQ2stDTwfVWxzF6KeDKTeAMCa6pkznM76+SOK+oS2hKkNuG L7e8aDBwKGQBM/7rpkjcbNLFbmUhUKcxWKSxcDH4/jmtpmn7yn2pQxEKMouEhntASQTv jaQucpJ/5h3IFoRn1QvAw2I+stnAaqn4Oxb1QVq/y8UQ0giIxbzr0b44Rr7KX2W/Wt+g cgnMLNoR73LgH6z4DDyLi20vnbwanXDVW1FF0qc/enin+CuTkRXWnS2e9wynW/YjMjvg 8o2Q== X-Gm-Message-State: AOJu0YzvPWoOkatfByZhxDpxVJB09xa/MwKGhc5wOW9LuWz7LpnjWTPH gZeVu+QpiKFKO2DdSq7w4R6CU0er5HFOpA== X-Received: by 2002:a17:906:7310:b0:9c1:9bc5:c263 with SMTP id di16-20020a170906731000b009c19bc5c263mr4406398ejc.50.1697478936531; Mon, 16 Oct 2023 10:55:36 -0700 (PDT) Received: from fedora.. ([188.252.220.210]) by smtp.googlemail.com with ESMTPSA id g15-20020a170906348f00b009c3f8f46c22sm2378007ejb.77.2023.10.16.10.55.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:55:36 -0700 (PDT) From: Robert Marko To: agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, ilia.lin@kernel.org, rafael@kernel.org, viresh.kumar@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Robert Marko Subject: [PATCH 2/3] cpufreq: qcom-nvmem: add support for IPQ6018 Date: Mon, 16 Oct 2023 19:55:16 +0200 Message-ID: <20231016175532.2081344-2-robimarko@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231016175532.2081344-1-robimarko@gmail.com> References: <20231016175532.2081344-1-robimarko@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 16 Oct 2023 10:56:22 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779935723371275366 X-GMAIL-MSGID: 1779935723371275366 IPQ6018 SoC series comes in multiple SKU-s, and not all of them support high frequency OPP points. SoC itself does however have a single bit in QFPROM to indicate the CPU speed-bin. That bit is used to indicate frequency limit of 1.5GHz, but that alone is not enough as IPQ6000 only goes up to 1.2GHz, but SMEM ID can be used to limit it further. IPQ6018 compatible is blacklisted from DT platdev as the cpufreq device will get created by NVMEM CPUFreq driver. Signed-off-by: Robert Marko --- drivers/cpufreq/cpufreq-dt-platdev.c | 1 + drivers/cpufreq/qcom-cpufreq-nvmem.c | 58 ++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c index 675da7f368469..07181913448f4 100644 --- a/drivers/cpufreq/cpufreq-dt-platdev.c +++ b/drivers/cpufreq/cpufreq-dt-platdev.c @@ -180,6 +180,7 @@ static const struct of_device_id blocklist[] __initconst = { { .compatible = "ti,am62a7", }, { .compatible = "ti,am62p5", }, + { .compatible = "qcom,ipq6018", }, { .compatible = "qcom,ipq8064", }, { .compatible = "qcom,ipq8074", }, { .compatible = "qcom,apq8064", }, diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c index 3fa12648ceb64..4a6c84b4a6d3c 100644 --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c @@ -35,6 +35,8 @@ enum ipq8074_versions { IPQ8074_ACORN_VERSION, }; +#define IPQ6000_VERSION BIT(2) + struct qcom_cpufreq_drv; struct qcom_cpufreq_match_data { @@ -246,6 +248,57 @@ static int qcom_cpufreq_ipq8074_name_version(struct device *cpu_dev, return 0; } +static int qcom_cpufreq_ipq6018_name_version(struct device *cpu_dev, + struct nvmem_cell *speedbin_nvmem, + char **pvs_name, + struct qcom_cpufreq_drv *drv) +{ + u32 msm_id; + int ret; + u8 *speedbin; + *pvs_name = NULL; + + ret = qcom_smem_get_soc_id(&msm_id); + if (ret) + return ret; + + speedbin = nvmem_cell_read(speedbin_nvmem, NULL); + if (IS_ERR(speedbin)) + return PTR_ERR(speedbin); + + switch (msm_id) { + case QCOM_ID_IPQ6005: + case QCOM_ID_IPQ6010: + case QCOM_ID_IPQ6018: + case QCOM_ID_IPQ6028: + /* Fuse Value Freq BIT to set + * --------------------------------- + * 2’b0 No Limit BIT(0) + * 2’b1 1.5 GHz BIT(1) + */ + drv->versions = 1 << (unsigned int)(*speedbin); + break; + case QCOM_ID_IPQ6000: + /* + * IPQ6018 family only has one bit to advertise the CPU + * speed-bin, but that is not enough for IPQ6000 which + * is only rated up to 1.2GHz. + * So for IPQ6000 manually set BIT(2) based on SMEM ID. + */ + drv->versions = IPQ6000_VERSION; + break; + default: + dev_err(cpu_dev, + "SoC ID %u is not part of IPQ6018 family, limiting to 1.2GHz!\n", + msm_id); + drv->versions = IPQ6000_VERSION; + break; + } + + kfree(speedbin); + return 0; +} + static const struct qcom_cpufreq_match_data match_data_kryo = { .get_version = qcom_cpufreq_kryo_name_version, }; @@ -260,6 +313,10 @@ static const struct qcom_cpufreq_match_data match_data_qcs404 = { .genpd_names = qcs404_genpd_names, }; +static const struct qcom_cpufreq_match_data match_data_ipq6018 = { + .get_version = qcom_cpufreq_ipq6018_name_version, +}; + static const struct qcom_cpufreq_match_data match_data_ipq8074 = { .get_version = qcom_cpufreq_ipq8074_name_version, }; @@ -406,6 +463,7 @@ static const struct of_device_id qcom_cpufreq_match_list[] __initconst = { { .compatible = "qcom,apq8096", .data = &match_data_kryo }, { .compatible = "qcom,msm8996", .data = &match_data_kryo }, { .compatible = "qcom,qcs404", .data = &match_data_qcs404 }, + { .compatible = "qcom,ipq6018", .data = &match_data_ipq6018 }, { .compatible = "qcom,ipq8064", .data = &match_data_krait }, { .compatible = "qcom,ipq8074", .data = &match_data_ipq8074 }, { .compatible = "qcom,apq8064", .data = &match_data_krait }, From patchwork Mon Oct 16 17:55:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Marko X-Patchwork-Id: 153711 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp3629953vqb; Mon, 16 Oct 2023 10:56:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEHQXABoZGevD41BzMhTXL2HauEWLK7Q4JLHtFDgkYYtz+9hZMFplsp0khvXvQQ+t7yM4Np X-Received: by 2002:a05:6a20:a123:b0:13f:65ca:52a2 with SMTP id q35-20020a056a20a12300b0013f65ca52a2mr38800040pzk.5.1697478994575; Mon, 16 Oct 2023 10:56:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697478994; cv=none; d=google.com; s=arc-20160816; b=V0xHgs2/6sPfPw2RhLe8vB/gTTF/ObnVei6hJlumOy70P7gGiCI8A/qRdNQOAaiqSw cK74oEfR1mk7lHApDZ1gY1SckQTeb9ZDCuRYsyHEiBZRCLxxd01uHyzj1rN37bE11g1N IiozF2plZetQGadlxaJAhWUOmbdZMpckkKp3CKy1392nOfSUoegXU9yMJii9BCz508hw 86ebzNCfAEOkj1tCeMHssSiayyNz1ZpLWr1H8m7YMaNnUtxvcLAnxZJ2pBNVS8dG1X+T AozxogeNQ4VzodB/lR+BIxWUYI2+6byrCfmzQoba7BtA8RMf9tXS8un5d07SKIj9xHN3 TNfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aQdpEuv4vLtd9fu4lMup/0rMiADAMdZidxkRPcxjiRg=; fh=NhPbuTmw8OM9l0pjsIB5wI4BOLAl6ezPvLwujXppZNk=; b=H2vFnrSi2FtoST5moM862WzQVfyscW9ltQs5jH8QAc2RPXbZHBHhgxJ6LpkXc1gApg 1dOvaGLNxpHPexncLz0O6n9OSUXoHtFq5MKjj6+PZQ8e6za0S5qX1xvlbTeSuQxT/MyZ CCUjDrgit3L4fsd5B6J0JJcGJTXLwOay9zMX87vXczbA0letUdIjjcwzYxbkb/hTwTXt MbUwS3cNlaARUpkzQPdo2u8qZs7cr8E4pNnA8AMbOOOqozfikta2HWshTysz59ganusV uogcG5eF2Y45UVmPVar1u5elkqcbk9nlQ/moVlKApMfa1B9NXYNMI6Sryh9M1ggBbQ+s /UgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=MBePew5s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id d8-20020a170902b70800b001c3e98a0d79si7284033pls.401.2023.10.16.10.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:56:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=MBePew5s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 996F580A365E; Mon, 16 Oct 2023 10:56:28 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234099AbjJPRzs (ORCPT + 18 others); Mon, 16 Oct 2023 13:55:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233987AbjJPRzl (ORCPT ); Mon, 16 Oct 2023 13:55:41 -0400 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97B14E8; Mon, 16 Oct 2023 10:55:39 -0700 (PDT) Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9ba1eb73c27so797136666b.3; Mon, 16 Oct 2023 10:55:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697478938; x=1698083738; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aQdpEuv4vLtd9fu4lMup/0rMiADAMdZidxkRPcxjiRg=; b=MBePew5szZS94gB8YqhLFB3H97w1DOyxDFCaW9Koodr+3SnSVQKXcvfXzq4J70TQax dr+/YF1GYSY+4n3n/yySaGEavkNM+A12xJq4Siue+MIYMp2AWEMrCXtNPjBZQKW+v6RN hNrl1YpSngKTPJZCySmJf4DSNgGdkf0HGUFBe6TMZfx/UgZIDjRqtV7D4HScwv2MJuCX lwt15bIHl2CB0VPqogWamvAIdDK/MSqGG+0HMzuy4kJO1+TOnwcUPZZxFDHooglxmfxl TTUV/mcn8zipPdp6tUY57MltcZdoLG/j4XuG6CS3gSmwaSKGZ1xCggJFQ4bxaZzbi75i jv0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697478938; x=1698083738; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aQdpEuv4vLtd9fu4lMup/0rMiADAMdZidxkRPcxjiRg=; b=MIT+w9lFZWoPBmo85rpoyIebReg/AjCTP+wqSkHlx2WxM2cyTHGYCPSofRUqdwmNRO QrnIxXB7Z2NQoEPRT/9xQEjLRhXMsm+90JRasBUfpjpZyMG0OPBkUnXY87YRXbcM2kqo 3zo/V0K6bd7etmHBzWI/8wJ1CfHTg5POXY8i+KaBKj56wsdLe6krGfi+NhIjCdT6RPHP 6NXIOIyyzz+y47FNwQMxVBphL5zVPTK9HxJ7PXU2CUGEqeGP5z7vALttd4yfjFS1mqEN z51cuC0QmHxBMud0D9zr+S4n2ypGAqeVah/pRFrDTIvvHawxgn7YyXRB/ihl57qjNE2q fdhA== X-Gm-Message-State: AOJu0Yw+rOozETl95T6BxuNX+Ec83/zPiAhFIQEcw03bWf4z0noBKcr/ Tl9/JNp2ZQIUiUCF0E6t3JU= X-Received: by 2002:a17:906:10b:b0:9ae:50c4:4df9 with SMTP id 11-20020a170906010b00b009ae50c44df9mr30106593eje.61.1697478937843; Mon, 16 Oct 2023 10:55:37 -0700 (PDT) Received: from fedora.. ([188.252.220.210]) by smtp.googlemail.com with ESMTPSA id g15-20020a170906348f00b009c3f8f46c22sm2378007ejb.77.2023.10.16.10.55.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:55:37 -0700 (PDT) From: Robert Marko To: agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, ilia.lin@kernel.org, rafael@kernel.org, viresh.kumar@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Robert Marko Subject: [PATCH 3/3] arm64: dts: qcom: ipq6018: use CPUFreq NVMEM Date: Mon, 16 Oct 2023 19:55:17 +0200 Message-ID: <20231016175532.2081344-3-robimarko@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231016175532.2081344-1-robimarko@gmail.com> References: <20231016175532.2081344-1-robimarko@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 16 Oct 2023 10:56:28 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779935734164575129 X-GMAIL-MSGID: 1779935734164575129 IPQ6018 comes in multiple SKU-s and some of them dont support all of the OPP-s that are current set, so lets utilize CPUFreq NVMEM to allow only supported OPP-s based on the SoC dynamically. As an example, IPQ6018 is generaly rated at 1.8GHz but some silicon only goes up to 1.5GHz and is marked as such via an eFuse. Signed-off-by: Robert Marko Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/ipq6018.dtsi | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi index 9aec89d5e095b..49f0e6aa4b5bb 100644 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi @@ -96,42 +96,49 @@ scm { }; cpu_opp_table: opp-table-cpu { - compatible = "operating-points-v2"; + compatible = "operating-points-v2-kryo-cpu"; + nvmem-cells = <&cpu_speed_bin>; opp-shared; opp-864000000 { opp-hz = /bits/ 64 <864000000>; opp-microvolt = <725000>; + opp-supported-hw = <0xf>; clock-latency-ns = <200000>; }; opp-1056000000 { opp-hz = /bits/ 64 <1056000000>; opp-microvolt = <787500>; + opp-supported-hw = <0xf>; clock-latency-ns = <200000>; }; opp-1320000000 { opp-hz = /bits/ 64 <1320000000>; opp-microvolt = <862500>; + opp-supported-hw = <0x3>; clock-latency-ns = <200000>; }; opp-1440000000 { opp-hz = /bits/ 64 <1440000000>; opp-microvolt = <925000>; + opp-supported-hw = <0x3>; clock-latency-ns = <200000>; }; opp-1608000000 { opp-hz = /bits/ 64 <1608000000>; opp-microvolt = <987500>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; opp-1800000000 { opp-hz = /bits/ 64 <1800000000>; opp-microvolt = <1062500>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; }; @@ -314,6 +321,11 @@ qfprom: efuse@a4000 { reg = <0x0 0x000a4000 0x0 0x2000>; #address-cells = <1>; #size-cells = <1>; + + cpu_speed_bin: cpu_speed_bin@135 { + reg = <0x135 0x1>; + bits = <7 1>; + }; }; prng: qrng@e3000 {