IMX8mm cpu-freq scaling issue

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

IMX8mm cpu-freq scaling issue

2,152 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
Reply
12 Replies

2,133 Views
joanxie
NXP TechSupport
NXP TechSupport

what pmic and bsp version do you use?

0 Kudos
Reply

2,128 Views
saurav-pandya
Contributor III

Hi joanxie,

I used ROHM BD71847MWV and BSP version 5.15-kirkstone.

 

Thanks,

Saurav

0 Kudos
Reply

2,119 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
Reply

2,077 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
Reply

2,059 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
Reply

1,960 Views
joanxie
NXP TechSupport
NXP TechSupport

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

0 Kudos
Reply

1,946 Views
saurav-pandya
Contributor III

that's folder isn't available in that directory

0 Kudos
Reply

2,049 Views
saurav-pandya
Contributor III

No such file or directory

0 Kudos
Reply

1,908 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
Reply

2,060 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
Reply

2,047 Views
saurav-pandya
Contributor III

used imx8mm board with rohm PMIC

Tags (1)
0 Kudos
Reply

2,107 Views
saurav-pandya
Contributor III

Ohk.

I will check and update

 

0 Kudos
Reply