Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933026Ab3HGSG4 (ORCPT ); Wed, 7 Aug 2013 14:06:56 -0400 Received: from mail-oa0-f51.google.com ([209.85.219.51]:48874 "EHLO mail-oa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933001Ab3HGSGx (ORCPT ); Wed, 7 Aug 2013 14:06:53 -0400 MIME-Version: 1.0 In-Reply-To: <52028719.8070908@wwwdotorg.org> References: <52028719.8070908@wwwdotorg.org> Date: Wed, 7 Aug 2013 23:36:52 +0530 Message-ID: Subject: Re: [PATCH 2/6] ARM: Tegra: Add CPU's OPPs for using cpufreq-cpu0 driver From: Viresh Kumar To: Stephen Warren Cc: rjw@sisk.pl, swarren@nvidia.com, linaro-kernel@lists.linaro.org, patches@linaro.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, mturquette@linaro.org, linux-arm-kernel@lists.infradead.org, "devicetree@vger.kernel.org" , Ian Campbell , Mark Rutland , Pawel Moll , Rob Herring Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2396 Lines: 61 On 7 August 2013 23:12, Stephen Warren wrote: > On 08/07/2013 08:46 AM, Viresh Kumar wrote: >> cpufreq-cpu0 driver needs OPPs to be present in DT which can be probed by it to >> get frequency table. This patch adds OPPs and clock-latency to tegra cpu0 node >> for multiple SoCs. >> >> Voltage levels aren't used until now for tegra and so a flat value which would >> eventually be ignored is used to represent voltage. > > This patch is problematic w.r.t. DT being an ABI. :( > We can certainly add new optional properties to a DT binding that enable > new features. However, a new version of a binding can't require new > properties to exist that didn't before, since that means that old DTs > won't work with new kernels that require the new properties. To be honest I didn't get it completely. You meant operating-points wasn't present before? Its here: Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt Documentation/devicetree/bindings/power/opp.txt Or you meant, Tegra never required voltage levels and we are getting them in here. > As such, I believe we do need some Tegra-specific piece of code that > defines these OPP tables in the kernel, so that the operating-points > property is not needed. Generic cpufreq driver depends on OPP library and so somebody has to provide them. Now you can do it by calling opp_add() for each OPP you have or otherwise. Btw, you must have some specific voltage level for each freq, we can get them here.. > Similarly, we can't put invalid voltages into the DT, since if a later > kernel version starts actually using that field, the HW will no longer > work correctly. Unless perhaps we put 0 into the DT and make the binding > define that 0 means "you can't change the voltage at all away from the > boot value"? Hmm.. so if you help me in getting actual voltage levels for these freqs then this problem will be resolved. Otherwise I can check what will happen if we pass zero to voltage. > Is the operating-points property documented in > Documentation/devicetree/bindings/ somewhere? Check above. > (Also Cc'ing the DT mailing list and maintainers) Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/