Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2053446rwb; Thu, 17 Nov 2022 06:03:25 -0800 (PST) X-Google-Smtp-Source: AA0mqf7XNl65oJ6b54PlMe+KydZh89v16HAthYDt7osqARR2CpkMzyoVTXRYbiV5axbiY8+9tKrv X-Received: by 2002:a05:6402:4289:b0:467:9864:9463 with SMTP id g9-20020a056402428900b0046798649463mr2244874edc.360.1668693805532; Thu, 17 Nov 2022 06:03:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668693805; cv=none; d=google.com; s=arc-20160816; b=SbIX5KkXyNllA6f4pfK6EFnFlJ9u5rC68ONP4G3AXysWyL/0XyICDqH1+eeEEaKY76 MfOT/W7bRtqm4R9yLOsA/hrkkRC79ObvGpW7zm6UpTzKk30zIRY7HHKY5CEmNvEUpgnA taslK1N55uk/jWytc+cqM449kLg1ArhZlIX+3sWt8selT4lkgIo6nLD09NTwrMTEUXVH IX4PPQMfCOQK8+NgCh4sQbu0Tl2NnoFahaK9VPGvXcKKcczWZ2iyn/saOMoOMj0bcPea EyShj8tvzMbukOrdUdeHm7rfoWCzXvoDihuNYsR78CTQ6uKy3fSbjpPbHz1NU+NpwFnV 9ccQ== 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=gjZ+FkQ+o9GEm5GUWLcT8lkJgEIhcmwkkxMg/7BbRu8=; b=LDGk3v8HiRfPQCBEYUzWqmX7D1g2+C9k8H5oL0HcDQlL1NJ/Sgr/Nm5WN7jshtgcwD PXrpTEVWTyhnTOgv1hAEtkTgHRrXVd6Xdyp4foAX+mxQOFyP/iAQLUUKVk3w2Q9nWal3 KypBWbXdYPXU/fSpILaGY58C9nYIZkP9CzLFpI6IY9VqTxKgqk1fbwK80WfBI2GZQGQK g3r6+7WYXCH6kLyNGCHuoG1B2vQSDmEc1Ynb6g/5c8T/ZkOqRA/ZLr9jNHCwpMrtcU8c PkKfuusRZ3jseebLq/Oua7oDZTz4eul2hlgsaHV3dZ7diLBOsuSTE2QRWWc4QcibNBbF GGEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=lZ5eLGUl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l18-20020a170906795200b007aed5ffeffbsi688100ejo.78.2022.11.17.06.02.59; Thu, 17 Nov 2022 06:03:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=lZ5eLGUl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239964AbiKQNaI (ORCPT + 92 others); Thu, 17 Nov 2022 08:30:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45588 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233552AbiKQNaG (ORCPT ); Thu, 17 Nov 2022 08:30:06 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C61070A38; Thu, 17 Nov 2022 05:30:05 -0800 (PST) Received: from IcarusMOD.eternityproject.eu (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madras.collabora.co.uk (Postfix) with ESMTPSA id 552A8660296C; Thu, 17 Nov 2022 13:30:03 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1668691803; bh=gL1/jzQ586LM77xLd6YRSSstCi60nATAn4fYOVtBc14=; h=From:To:Cc:Subject:Date:From; b=lZ5eLGUlJwwnPIzSuu1BOj5WIqwShsthU5ODAIbQkHFTUpupzAl7Gu14OIRYOAZZM 46nUx4r/tMufnDzAkQnQ2N1PDnCKFdq6WFKdM15JTUMdP6Pp1CLQMm73ok6z4ur9xM EXVhZNPyMHLoaNPznQ8KhXOOI7nYEA7gjgtplWqKLJfFFGZsBznwAU0RmlTxe/Q+KC 9w7G0r3MC3mMIabpSmxqAhywacD6uJ3FIkDk2fSMayQntkA4eRFXCivCoP4VQhnnBu +j8jSdj4ntdd29+qu/ey3T3N2gAv4gTD5Gn8R8olIq8/VVEow4+ZVpkhc6qnJA61xm JJEFd5U5Gpzvw== From: AngeloGioacchino Del Regno To: agross@kernel.org Cc: andersson@kernel.org, konrad.dybcio@somainline.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, angelogioacchino.delregno@collabora.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, marijn.suijten@somainline.org, kernel@collabora.com Subject: [PATCH v4 0/2] Qualcomm Ramp Controller and MSM8976 config Date: Thu, 17 Nov 2022 14:29:54 +0100 Message-Id: <20221117132956.169432-1-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series adds the Qualcomm Ramp Controller driver, necessary on various legacy Qualcomm SoCs to enable CPU DVFS by programming said controller with the right values, where the bootloader doesn't do that before booting the kernel. At least MSM8976 and MSM8956 require this initial programming to be performed on Linux. Changes in v4 (Dmitry's review): - Moved reg_sequence arrays to named constants - Added num_ramp_{en, dis} to desc structure - Replaced hardcoded constants with ARRAY_SIZE() - Merged cfg_ramp_{pre_en, en, post_en} in one array Changes in v3: - Removed blank line at EOF on commit [1/2] - Changed example node name to cpu-power-controller Changes in v2: - Fixed yaml issues as per Krzysztof's review - Reworded s/linking/link/g in both yaml and Kconfig help - Constified reg_sequence pointers - Removed spaces before defines - Added COMPILE_TEST to Kconfig entry AngeloGioacchino Del Regno (2): dt-bindings: soc: qcom: Add bindings for Qualcomm Ramp Controller soc: qcom: Add Qualcomm Ramp Controller driver .../qcom/qcom,msm8976-ramp-controller.yaml | 36 ++ drivers/soc/qcom/Kconfig | 9 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/ramp_controller.c | 342 ++++++++++++++++++ 4 files changed, 388 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,msm8976-ramp-controller.yaml create mode 100644 drivers/soc/qcom/ramp_controller.c -- 2.38.1