Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp977197imm; Wed, 13 Jun 2018 11:15:50 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJ7WTk9QXf5UEIxuJVRGmd/EYL1Dv9/m9kCwbQCpHjLRapUj9PukIp7qmA7BXtgQisF5xke X-Received: by 2002:a17:902:8341:: with SMTP id z1-v6mr6352397pln.40.1528913750814; Wed, 13 Jun 2018 11:15:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528913750; cv=none; d=google.com; s=arc-20160816; b=IFEUTWx0QLmFfHriS/D+yZj8upfyrydVv3ie45QLNLONK8/9M3X11Dqm09J/EvSe3E vlCTvw9MGzX1A2XdNGY3N1uBIS3oC326tcnxhwiTABJCkWCsx/CZcoeQEEmurc1H6NEP G9iqdD2TPyqCdL7vY4WFY9eJtvVAquS5juPLjCOFgIB+wrxUU/GWSZNAUibRFkyUxa/S 6IR0S4ruERaKIvnYJfXsoVdA6P6UoE3EUBkQKSDnGruoAZJlYP2YFFfzInjLC7640s2H bxpsKVxPNoJF0gFavXSbW1lRcoZ86gDRVEqyzXs3IVVWO5jIp/4nZZzzP5Xpmngu7ist +kVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dmarc-filter :dkim-signature:dkim-signature:arc-authentication-results; bh=EI07pWRcoJ5eFbw1sDolyltE9jDTGjlpzfk5a1ejcTk=; b=nbUuuikOV8k+td8RaX64POS4HisL+krSLUaicoIKPcUg4raVT+BGscxneFUfRM/K1A actPfEKuPcEWIuQVPYWih+zBjZCQ/W9JZo2Heer8ly10NEkX8E8JZpu6VgZs3CfszeVu mWP70CuowLALJO5gEfewJy2AUaDyA8WW9u/GGImEA65dc7OugAF6J0jtoBjY2FfaILAD KGeouo+BX7zqlsnGCKFCvcsr3Ej0ytYxVQRLcwYWHz0X+I+QwcVUQXyEjwpAPDsRpOok es1t5RYSpU607hzA0WGeE5t9KVavifA1xM9EbTEYdSVC7vbqXDfZf2qgu8KRFrxwoGph HxAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=or11UwaY; dkim=pass header.i=@codeaurora.org header.s=default header.b=or11UwaY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o33-v6si3314240pld.170.2018.06.13.11.15.36; Wed, 13 Jun 2018 11:15:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=or11UwaY; dkim=pass header.i=@codeaurora.org header.s=default header.b=or11UwaY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935595AbeFMSNw (ORCPT + 99 others); Wed, 13 Jun 2018 14:13:52 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:60710 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934975AbeFMSNu (ORCPT ); Wed, 13 Jun 2018 14:13:50 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id BDDF6606DB; Wed, 13 Jun 2018 18:13:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1528913629; bh=BLgOhgrSwgpHxk9jwvX4EfyIvWIX5xA1XzV8AVHc0cs=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=or11UwaYrfPpKC5mC1i8eOFHeyr9o4wk2ucNuV2wYoTM2T+hUl2iYGkoKebvkfx9/ IK9/OAkmHumOx55jS+faozpjF7EidDDtHdlzC6N29/akxFC+X1/bHBXxVwJFG5AL5F ht+D3ZUOtHbwh5+Ip+pKxdKPA5gTmeZqNGNXkzW4= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from [10.79.169.25] (blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.18.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: tdas@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 210B3606DB; Wed, 13 Jun 2018 18:13:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1528913629; bh=BLgOhgrSwgpHxk9jwvX4EfyIvWIX5xA1XzV8AVHc0cs=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=or11UwaYrfPpKC5mC1i8eOFHeyr9o4wk2ucNuV2wYoTM2T+hUl2iYGkoKebvkfx9/ IK9/OAkmHumOx55jS+faozpjF7EidDDtHdlzC6N29/akxFC+X1/bHBXxVwJFG5AL5F ht+D3ZUOtHbwh5+Ip+pKxdKPA5gTmeZqNGNXkzW4= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 210B3606DB Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=tdas@codeaurora.org Subject: Re: [PATCH v4 1/2] dt-bindings: cpufreq: Introduce QCOM CPUFREQ FW bindings To: Sudeep Holla , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: "Rafael J. Wysocki" , Viresh Kumar , Stephen Boyd , Rajendra Nayak , devicetree@vger.kernel.org, robh@kernel.org, skannan@codeaurora.org References: <1528801355-18719-1-git-send-email-tdas@codeaurora.org> <1528801355-18719-2-git-send-email-tdas@codeaurora.org> <0f3f0223-3539-dc66-5300-8f30d827445d@arm.com> From: Taniya Das Message-ID: <7abb2da6-c130-117a-5404-d07bb132d915@codeaurora.org> Date: Wed, 13 Jun 2018 23:43:41 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <0f3f0223-3539-dc66-5300-8f30d827445d@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Sudeep, Thanks for review comments. On 6/13/2018 4:56 PM, Sudeep Holla wrote: > > > On 12/06/18 12:02, Taniya Das wrote: >> Add QCOM cpufreq firmware device bindings for Qualcomm Technology Inc's >> SoCs. This is required for managing the cpu frequency transitions which are >> controlled by firmware. >> >> Signed-off-by: Taniya Das >> --- >> .../bindings/cpufreq/cpufreq-qcom-fw.txt | 173 +++++++++++++++++++++ >> 1 file changed, 173 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt >> >> diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt >> new file mode 100644 >> index 0000000..e3087ec >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt >> @@ -0,0 +1,173 @@ >> +Qualcomm Technologies, Inc. CPUFREQ Bindings >> + >> +CPUFREQ FW is a hardware engine used by some Qualcomm Technologies, Inc. (QTI) >> +SoCs to manage frequency in hardware. It is capable of controlling frequency >> +for multiple clusters. >> + > > You are bit inconsistent on the wordings. Some places you refer this as > hardware engine. If so, please drop all references to firmware/FW. If > it's firmware then update accordingly. > It is a hardware engine which has a firmware to take care of the managing the frequency request from OS. That is reason to refer it as a firmware. >> +Properties: >> +- compatible >> + Usage: required >> + Value type: >> + Definition: must be "qcom,cpufreq-fw". >> + >> +* Property qcom,freq-domain >> +Devices supporting freq-domain must set their "qcom,freq-domain" property with >> +phandle to a freq_domain_table in their DT node. >> + >> +* Frequency Domain Table Node >> + >> +This describes the frequency domain belonging to a device. >> +This node can have following properties: >> + >> +- reg >> + Usage: required >> + Value type: >> + Definition: Addresses and sizes for the memory of the perf >> + , lut and enable bases. >> + perf - indicates the base address for the desired >> + performance state to be set. >> + lut - indicates the look up table base address for the >> + cpufreq driver to read frequencies. >> + enable - indicates the enable register for firmware. > > > You still didn't answer my earlier question. > > OS might touch one or 2 registers in lots of IP blocks. I am not sure > why those are any different from these. Are you trying to align with any > other bindings or specification. Are you trying to make this binding > generic here ? I understand if it was trying to generalize the firmware > interface, but you also state it's a hardware engine. So I fail to see > the need for such specificity here. Why not define the whole IP block > and the driver knows where to access these specific ones as they are > specific to this hardware block. In that way if you decide to add more > data, it's extensible easily without the need for patching DT. > Sorry Sudeep I missed replying to your earlier query. The High level OS(HLOS) would require to access only these specific registers from this IP block and just mapping the whole block(huge region) is unnecessary from the OS point of View. As of now it is a generic binding for all using this IP block to manage frequency requests. The OS would only have to know the frequencies supported i.e to read the lookup table registers and put across the OS request using the performance state register. > Eg. Suppose you need some information on power curve for EAS energy > model, I really hate to update DT for that or even do a mix with DT just > because f/w is no longer modifiable. > For now we are safe. -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation. --