Part Number: AM3352
Hi,
I am getting the following error, while booting linux,
omap_voltage_late_init: Voltage driver support not added
I have been going through the documentation provided in linux, which is relevant to this current problem.
I have observed that this has something to deal with the voltage and frequency maps which should be present in the DT, is that right ?
Also, I have seen that under arch/arm/mach-omap2/ there are three files mainly dealing with this,
io.c ->
#ifdef CONFIG_SOC_AM33XX
void __init am33xx_init_early(void)
{
omap2_set_globals_tap(AM335X_CLASS,
AM33XX_L4_WK_IO_ADDRESS(AM33XX_TAP_BASE));
omap2_control_base_init();
omap3xxx_check_revision();
am33xx_check_features();
omap2_prcm_base_init();
am33xx_powerdomains_init();
am33xx_clockdomains_init();
am33xx_hwmod_init();
omap_hwmod_init_postsetup();
omap_clk_soc_init = am33xx_dt_clk_init;
}
void __init am33xx_init_late(void)
{
omap_common_late_init();
}
#endif
pm.c ->
int __init omap2_common_pm_late_init(void)
{
/* Init the voltage layer */
omap3_twl_init();
omap4_twl_init();
omap_voltage_late_init();
/* Initialize the voltages */
omap3_init_voltages();
omap4_init_voltages();
/* Smartreflex device init */
omap_devinit_smartreflex();
return 0;
}
voltage.c ->
int __init omap_voltage_late_init(void)
{
struct voltagedomain *voltdm;
if (list_empty(&voltdm_list)) {
pr_err("%s: Voltage driver support not added\n",
__func__);
return -EINVAL;
}
list_for_each_entry(voltdm, &voltdm_list, node) {
struct clk *sys_ck;
if (!voltdm->scalable)
continue;
sys_ck = clk_get(NULL, voltdm->sys_clk.name);
if (IS_ERR(sys_ck)) {
pr_warn("%s: Could not get sys clk.\n", __func__);
return -EINVAL;
}
voltdm->sys_clk.rate = clk_get_rate(sys_ck);
WARN_ON(!voltdm->sys_clk.rate);
clk_put(sys_ck);
if (voltdm->vc) {
voltdm->scale = omap_vc_bypass_scale;
omap_vc_init_channel(voltdm);
}
if (voltdm->vp) {
voltdm->scale = omap_vp_forceupdate_scale;
omap_vp_init(voltdm);
}
}
return 0;
}
FYI,
I am using a custom board based on AM3352.
DTS includes,
#include "am33xx.dtsi"
DTS has the following entry for cpu,
cpus {
cpu@0 {
cpu0-supply = <&dcdc2_reg>;
};
};
