IMX8mm cpu-freq scaling issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8mm cpu-freq scaling issue

1,328 Views
saurav-pandya
Contributor III

Hi NXP Team,

I am working on imx8mm and try to change CPU frequency but I did't get any sysfs entry to get information of CPU frequency and set CPU frequency.

$ ls /sys/devices/system/cpu/cpu0/
cache cpuidle crash_notes_size node0 online regs topology
cpu_capacity crash_notes hotplug of_node power subsystem uevent

missing cpufreq folder to set or get frequency for CPU.

$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
analyzing CPU 1:
no or unknown cpufreq driver is active on this CPU
analyzing CPU 2:
no or unknown cpufreq driver is active on this CPU
analyzing CPU 3:
no or unknown cpufreq driver is active on this CPU

Also apply above command but still error.

 

Please help me.

 

Thanks,

Saurav

Tags (1)
0 Kudos
12 Replies

1,309 Views
joanxie
NXP TechSupport
NXP TechSupport

what pmic and bsp version do you use?

0 Kudos

1,304 Views
saurav-pandya
Contributor III

Hi joanxie,

I used ROHM BD71847MWV and BSP version 5.15-kirkstone.

 

Thanks,

Saurav

0 Kudos

1,295 Views
joanxie
NXP TechSupport
NXP TechSupport

The response from the R&D was that the ROHM PMIC board has been dropped in recent linux release, we only support NXP PMIC board by default for LPDDR4 EVK board. Customer may need to cherry pick the ROHM PMIC patch from older release by themselves.

0 Kudos

1,253 Views
saurav-pandya
Contributor III

Hi ,

I have changes as per .dtb of imx8mm-evk-qca-wifi.dts.

pmic_rohm: pmic@4b {
compatible = "rohm,bd71837";
reg = <0x4b>;
pinctrl-0 = <&pinctrl_pmic>;
interrupt-parent = <&gpio1>;
interrupts = IRQ_TYPE_LEVEL_LOW>;
rohm,reset-snvs-powered;

regulators {
buck1_reg: BUCK1 {
regulator-name = "BUCK1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <1250>;
//rohm,dvs-run-voltage = <850000>;
//rohm,dvs-standby-voltage = <800000>;
};

buck2_reg: BUCK2 {
regulator-name = "BUCK2";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <1250>;
rohm,dvs-run-voltage = <1000000>;

rohm,dvs-idle-voltage = <900000>;
};

buck3_reg: BUCK3 {
// BUCK5 in datasheet
regulator-name = "BUCK3";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1350000>;
regulator-boot-on;
regulator-always-on;
};

buck4_reg: BUCK4 {
// BUCK6 in datasheet
regulator-name = "BUCK4";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};

buck5_reg: BUCK5 {
// BUCK7 in datasheet
regulator-name = "BUCK5";
regulator-min-microvolt = <1605000>;
regulator-max-microvolt = <1995000>;
regulator-boot-on;
regulator-always-on;
};

buck6_reg: BUCK6 {
// BUCK8 in datasheet
regulator-name = "BUCK6";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};

ldo1_reg: LDO1 {
regulator-name = "LDO1";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1900000>;
regulator-boot-on;
regulator-always-on;
};

ldo2_reg: LDO2 {
regulator-name = "LDO2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <900000>;
regulator-boot-on;
regulator-always-on;
};

ldo3_reg: LDO3 {
regulator-name = "LDO3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};

ldo4_reg: LDO4 {
regulator-name = "LDO4";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};

ldo6_reg: LDO6 {
regulator-name = "LDO6";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
};
};

 

still i got error. 

root@imx8mm-loop:~# dmesg | grep -i bd
[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bdffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x95bd1800-0x95bd3fff]
[ 0.000000] DMA [mem 0x0000000040000000-0x00000000bdffffff]
[ 0.000000] node 0: [mem 0x0000000040000000-0x00000000bdffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bdffffff]
[ 2.053437] bd718xx-pmic bd71837-pmic.3.auto: failed to register buck4 regulator
[ 2.060849] bd718xx-pmic: probe of bd71837-pmic.3.auto failed with error -22
[ 2.181657] CSI: Registered sensor subdevice: mxc_mipi-csi.0
[ 2.281357] input: bd718xx-pwrkey as /devices/platform/soc@0/30800000.bus/30a20000.i2c/i2c-0/0-004b/gpio-keys.1.auto/input/input1
[ 7.777168] imx-sdma 30bd0000.dma-controller: firmware found.
[ 36.800991] rohm-bd718x7 0-004b: Failed to read IRQ status: -110

Please help me.

 

Thanks,

Saurav

 

 

0 Kudos

1,235 Views
joanxie
NXP TechSupport
NXP TechSupport

what do you get when you use command

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

0 Kudos

1,136 Views
joanxie
NXP TechSupport
NXP TechSupport

what parameters under /sys/devices/system/cpu/cpu0/cpufreq/?

0 Kudos

1,122 Views
saurav-pandya
Contributor III

that's folder isn't available in that directory

0 Kudos

1,225 Views
saurav-pandya
Contributor III

No such file or directory

0 Kudos

1,084 Views
joanxie
NXP TechSupport
NXP TechSupport

couldn't reproduce this on imx8mm ROMH board, if you add this in the dts file, should be get the device node

0 Kudos

1,236 Views
joanxie
NXP TechSupport
NXP TechSupport

what board do you use? is you PMIC design the same as nxp imx8mm lpddr4 with Rohm board?

0 Kudos

1,223 Views
saurav-pandya
Contributor III

used imx8mm board with rohm PMIC

Tags (1)
0 Kudos

1,283 Views
saurav-pandya
Contributor III

Ohk.

I will check and update

 

0 Kudos