On Mon, May 19, 2014 at 1:01 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > * Joachim Eastwood <manabian@xxxxxxxxx> [140519 10:51]: >> Hi Tony, >> >> If found this patch in your omap-for-v3.16/pm-signed tag and tested it >> on top of Linus master + omap 3.16 dt + Tomi fbdev omap. I assumed >> it's going upstream for 3.16(?). > > Yes. > >> First of all; is this safe on OMAP4460? >> As far as I understand voltage scaling on 4460 has never been >> mainline, but this code enables voltage scaling for all omap4 parts. >> More below. > > Sounds like something's not right then. This should just restore > the earlier code path we had for legacy booting for omap4. > >> On 11 April 2014 01:47, Tony Lindgren <tony@xxxxxxxxxxx> wrote: >> > We are currently disabling the init of voltage scaling >> > for device tree. With the voltage scaling problems fixed >> > for omap3 in general, there's no need to disable the voltage >> > scaling init for device tree based booting. >> > >> > Cc: Kevin Hilman <khilman@xxxxxxxxxx> >> > Cc: Nishanth Menon <nm@xxxxxx> >> > Cc: Paul Walmsley <paul@xxxxxxxxx> >> > Cc: Tero Kristo <t-kristo@xxxxxx> >> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> >> > --- >> > arch/arm/mach-omap2/pm.c | 28 ++++++++++++---------------- >> > 1 file changed, 12 insertions(+), 16 deletions(-) >> > >> > diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c >> > index e1b4141..ccefd11 100644 >> > --- a/arch/arm/mach-omap2/pm.c >> > +++ b/arch/arm/mach-omap2/pm.c >> > @@ -287,25 +287,21 @@ omap_postcore_initcall(omap2_common_pm_init); >> > >> > int __init omap2_common_pm_late_init(void) >> > { >> > - /* >> > - * In the case of DT, the PMIC and SR initialization will be done using >> > - * a completely different mechanism. >> > - * Disable this part if a DT blob is available. >> > - */ >> > - if (!of_have_populated_dt()) { >> > - >> > - /* Init the voltage layer */ >> > - omap_pmic_late_init(); >> > - omap_voltage_late_init(); >> > + if (of_have_populated_dt()) { >> > + omap3_twl_init(); >> > + omap4_twl_init(); >> > + } >> > >> > - /* Initialize the voltages */ >> > - omap3_init_voltages(); >> > - omap4_init_voltages(); >> > + /* Init the voltage layer */ >> > + omap_pmic_late_init(); >> > + omap_voltage_late_init(); >> > >> > - /* Smartreflex device init */ >> > - omap_devinit_smartreflex(); >> > + /* Initialize the voltages */ >> > + omap3_init_voltages(); >> > + omap4_init_voltages(); >> > >> > - } >> > + /* Smartreflex device init */ >> > + omap_devinit_smartreflex(); >> > >> > /* cpufreq dummy device instantiation */ >> > omap_init_cpufreq(); >> > -- >> >> In omap4_twl_init() we have: >> if (!cpu_is_omap44xx()) >> return -ENODEV; >> >> voltdm = voltdm_lookup("mpu"); >> omap_voltage_register_pmic(voltdm, &omap4_mpu_pmic); >> >> voltdm = voltdm_lookup("iva"); >> omap_voltage_register_pmic(voltdm, &omap4_iva_pmic); >> >> voltdm = voltdm_lookup("core"); >> omap_voltage_register_pmic(voltdm, &omap4_core_pmic); >> >> As far as I understand the setup above is only valid for 4430 and not >> 4460 since it is hook up to the twl in diffent way. External switcher >> (TPS62361) for mpu rail and the other rails are used differently. > > Hmm interesting, I think we had this enabled with legacy booting? > >> I also get the following messages on boot now: >> [ 2.458740] twl: not initialized >> [ 2.462127] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.470581] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.479003] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.487457] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.495880] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.504302] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1375000 Vs max 1316660 >> [ 2.512725] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for >> 1410000 Vs max 1316660 >> [ 2.521179] omap2_set_init_voltage: unable to find boot up OPP for vdd_mpu >> [ 2.528411] omap2_set_init_voltage: unable to set vdd_mpu >> [ 2.534088] omap2_set_init_voltage: unable to find boot up OPP for vdd_core >> [ 2.541412] omap2_set_init_voltage: unable to set vdd_core >> [ 2.547210] omap2_set_init_voltage: unable to find boot up OPP for vdd_iva >> [ 2.554443] omap2_set_init_voltage: unable to set vdd_iva >> >> It doesn't seem too happy on my 4460. > > Indeed, we need to fix it. Nishant, any comments on how we should > deal with this one? we can add TPS data here for 4460 mpu (panda-ES) if that is interesting to us - given that the common voltage domain/VC/VP stuff so far has gone in no positive direction in our discussions last year. Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html