This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62L: wkup_i2c0 + tps65214 causes kernel panic.

Part Number: AM62L
Other Parts Discussed in Thread: TPS65214, , TPS65219, TPS65215

Tool/software:

Hi,

I enabled tps65214 in the device tree and occasionally experienced kernel panics. After I disabled tps65214, it stopped happening. I am using DDR4 (1.2V).

log:

[    1.846264] Key type dns_resolver registered
[    1.859590] registered taskstats version 1
[    1.863938] Loading compiled-in X.509 certificates
[    1.941273] omap_i2c 2b200000.i2c: bus 0 rev0.12 at 400 kHz
[    1.948052] VDD_DDR4: Bringing 3300000uV into 1200000-1200000uV
[    1.974754] Unable to handle kernel paging request at virtual address fffffffffffffff8
[    1.982914] Mem abort info:
[    1.985759]   ESR = 0x0000000096000006
[    1.989588]   EC = 0x25: DABT (current EL), IL = 32 bits
[    1.995023]   SET = 0, FnV = 0
[    1.998144]   EA = 0, S1PTW = 0
[    2.001343]   FSC = 0x06: level 2 translation fault
[    2.006323] Data abort info:
[    2.009255]   ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
[    2.014854]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[    2.020011]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[    2.025434] swapper pgtable: 4k pages, 48-bit VAs, pgdp=000000008328b000
[    2.032277] [fffffffffffffff8] pgd=0000000000000000, p4d=000000008369f003, pud=00000000836a0003, pmd=0000000000000000
[    2.043131] Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
[    2.049524] Modules linked in:
[    2.052640] CPU: 1 UID: 0 PID: 26 Comm: kdevtmpfs Not tainted 6.12.24-ti-00816-gf076b63502cc #1
[    2.061516] Hardware name: MYIR MYD-YM62L Module (DT)
[    2.066663] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.073766] pc : mab_mas_cp+0x7c/0x1fc
[    2.077598] lr : mas_push_data+0x47c/0x800
[    2.081777] sp : ffff80008192b5d0
[    2.085152] x29: ffff80008192b5d0 x28: 0000000000000001 x27: ffff800080f42fc8
[    2.092436] x26: ffff80008192b730 x25: 1fffe00000794b07 x24: 0000000000000019
[    2.099722] x23: 0000000000000007 x22: ffff000003ca5800 x21: ffff80008192b850
[    2.107007] x20: ffff80008192b6f0 x19: ffff80008192bc10 x18: 0000000000000000
[    2.114292] x17: ffff0000044b16c0 x16: ffff000001104900 x15: ffff0000044b0d80
[    2.121576] x14: ffff80008192b898 x13: 0000000000000008 x12: ffff80008192b778
[    2.128863] x11: 000000000000000a x10: ffff80008192b850 x9 : 0000000000000000
[    2.136147] x8 : 0000000000000008 x7 : ffff000003ca583c x6 : ffff00000404d300
[    2.143432] x5 : 0000000000000009 x4 : 00000000ffffffff x3 : 0000000000000000
[    2.150718] x2 : 0000000000000009 x1 : 0000000000000000 x0 : 0000000000000000
[    2.158003] Call trace:
[    2.160492]  mab_mas_cp+0x7c/0x1fc
[    2.163961]  mas_push_data+0x47c/0x800
[    2.167784]  mas_wr_bnode+0x2ac/0xd94
[    2.171519]  mas_wr_store_entry+0x248/0x728
[    2.175787]  mas_alloc_cyclic+0x314/0x46c
[    2.179876]  mtree_alloc_cyclic+0xa8/0x110
[    2.184053]  simple_offset_add+0x50/0xa8
[    2.188058]  shmem_mknod+0xac/0xf8
[    2.191529]  vfs_mknod+0x1b8/0x2a0
[    2.194998]  devtmpfs_work_loop+0xc0/0x260
[    2.199178]  devtmpfsd+0x44/0x48
[    2.202468]  kthread+0x110/0x114
[    2.205760]  ret_from_fork+0x10/0x20
[    2.209411] Code: 38774b61 51000424 6b0100bf 1a82c108 (f864d922) 
[    2.215625] ---[ end trace 0000000000000000 ]---
[    2.220351] note: kdevtmpfs[26] exited with preempt_count 1

dts:

&wkup_i2c0 {
	clock-frequency = <400000>;
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	status = "okay";

	tps65214: pmic@30 {
		compatible = "ti,tps65214";
		reg = <0x30>;
		interrupt-parent = <&gic500>;
		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-0 = <&pmic_irq_pins_default>;
		ti,power-button;

		buck1-supply = <&vmain_pd>;
		buck2-supply = <&vmain_pd>;
		buck3-supply = <&vmain_pd>;
		ldo1-supply = <&vmain_pd>;
		ldo2-supply = <&vmain_pd>;

		regulators {
			buck1_reg: buck1 {
				regulator-name = "VDD_CORE";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <750000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck2_reg: buck2 {
				regulator-name = "DVDD_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck3_reg: buck3 {
				regulator-name = "VDD_DDR4";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo1_reg: ldo1 {
				regulator-name = "VDD_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo2_reg: ldo2 {
				regulator-name = "VDDA_2V5";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
				regulator-boot-on;
			};
		};
	};
};