On 24-07-19, 15:10, Marek Szyprowski wrote: > Hi Viresh, > > On 2019-07-23 04:04, Viresh Kumar wrote: > > On 18-07-19, 16:30, Sylwester Nawrocki wrote: > >> This is second iteration of patch series adding ASV (Adaptive Supply > >> Voltage) support for Exynos SoCs. The first one can be found at: > >> https://lore.kernel.org/lkml/20190404171735.12815-1-s.nawrocki@xxxxxxxxxxx > >> > >> The main changes comparing to the first (RFC) version are: > >> - moving ASV data tables from DT to the driver, > >> - converting the chipid and the ASV drivers to use regmap, > >> - converting the ASV driver to proper platform driver. > >> > >> I tried the opp-supported-hw bitmask approach as in the Qualcomm CPUFreq > >> DT bindings but it resulted in too many OPPs and DT nodes, around 200 > >> per CPU cluster. So the ASV OPP tables are now in the ASV driver, as in > >> downstream kernels. > > Hmm. Can you explain why do you have so many OPPs? How many > > frequencies do you actually support per cluster and what all varies > > per frequency based on hw ? How many hw version do u have ? > > For big cores there are 20 frequencies (2100MHz .. 200MHz). Each SoC > might belong to one of the 3 production 'sets' and each set contains 14 > so called 'asv groups', which assign the certain voltage values for each > of those 20 frequencies (the lower asv group means lower voltage needed > for given frequency). There is another property which might be useful in this case: "opp-microvolt-<name>" and then you can use API dev_pm_opp_set_prop_name() to choose which voltage value to apply to all OPPs. opp-supported-hw property is more useful for the cases where only a subset of frequencies will be supported for different versions of the SoC. And what you need is a different voltage value for all frequencies based on some h/w version. -- viresh