Fw: TPS65910 Regulator Isuue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






Hi,
     I am working on integrating TPS695190 regulator code into kernel version 4.4.16. The regulator powers MMC card slot using Designware MMC controller. I have declared the necessary code in my board.c file. The MMC card slot is powered by ldo8 supply declared as

-----------------------------------------------------------------------------Code---------------------------------------------------------------------------------

static struct regulator_consumer_supply opv5xc_ldo8_supply[] = {
        REGULATOR_SUPPLY("sd_vdd", NULL),
};

static struct regulator_init_data opv5xc_ldo8 = {
        .constraints = {
                .min_uV = 1000000,
                .max_uV = 3300000,
                .valid_ops_mask = (REGULATOR_CHANGE_VOLTAGE |
                                REGULATOR_CHANGE_STATUS),
                .boot_on = 1,
        },
        .num_consumer_supplies = ARRAY_SIZE(opv5xc_ldo8_supply),
        .consumer_supplies = opv5xc_ldo8_supply,
};

static struct tps65910_board tps65910_pdata = {
              .tps65910_pmic_init_data[TPS65911_REG_LDO8]     = &opv5xc_ldo8,
};

static struct i2c_board_info __initdata opv5xc_i2c1_devs[] = {
        {
                I2C_BOARD_INFO ("tps65911", TPS65910_I2C_ID1),
                .platform_data = &tps65910_pdata,
        },
};
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I call regulator_get struct regulator *sd_vdd = regulator_get(NULL, "sd_vdd");  function from the Designware MMC driver code function the kernel panics.
I have attached the log file for reference. Can somebody please let me know what I am doing wrong here?

Regards,
Amit.


[    8.654030] tps65910 1-002d: No interrupt support, no core IRQ
[    8.668833] vrtc: no parameters
[    8.671984] else if rdev supply name = vcc7
[    8.680552] vio: at 3300 mV
[    8.683446] else if rdev supply name = vccio
[    8.693460] vdd1: 1100 <--> 1200 mV at 1200 mV fast
[    8.698665] else if rdev supply name = vcc1
[    8.702866] In set_consumer_device_supply function dev_name  (null) and supply name = cpu
[    8.711094] Has_dev == 0
[    8.713644] node->supply = cpu node->dev_name = (null)   node->regulator->supply_name = vcc1 node->regulator->desc->name = vdd1
[    8.725163] Adding to node regulator map list
[    8.735302] vdd2: 1350 <--> 1500 mV at 1500 mV normal idle standby
[    8.741542] vdd2: Voltage range but no REGULATOR_CHANGE_VOLTAGE
[    8.747509] else if rdev supply name = vcc2
[    8.751704] In set_consumer_device_supply function dev_name  (null) and supply name = dram
[    8.760006] Has_dev == 0
[    8.762554] node->supply = dram node->dev_name = (null)   node->regulator->supply_name = vcc2 node->regulator->desc->name = vdd2
[    8.774155] Adding to node regulator map list
[    8.784829] vddctrl: at 1100 mV
[    8.793086] ldo1: at 1800 mV
[    8.796069] else if rdev supply name = vcc6
[    8.805253] ldo2: at 2500 mV
[    8.808283] else if rdev supply name = vcc6
[    8.816724] ldo3: at 1100 mV
[    8.819707] else if rdev supply name = vcc5
[    8.828675] ldo4: at 1100 mV
[    8.831658] else if rdev supply name = vcc5
[    8.840155] ldo5: at 3300 mV
[    8.843136] else if rdev supply name = vcc4
[    8.852123] ldo6: at 3300 mV
[    8.855104] else if rdev supply name = vcc3
[    8.863597] ldo7: at 2500 mV
[    8.866578] else if rdev supply name = vcc3
[    8.875076] ldo8: 1000 <--> 3300 mV at 3300 mV
[    8.879668] else if rdev supply name = vcc3
[    8.883865] In set_consumer_device_supply function dev_name  (null) and supply name = sd_vdd
[    8.892343] Has_dev == 0
[    8.894892] node->supply = sd_vdd node->dev_name = (null)   node->regulator->supply_name = vcc3 node->regulator->desc->name = ldo8
[    8.906669] Adding to node regulator map list
[    8.912252] Synopsys Designware Multimedia Card Interface Driver
[    8.918319] @@@@@@@ In regulator_dev_lookup function @@@@@@@@
[    8.924078] supply before alias= sd_vdd
[    8.927957] In regulator_supply_alias function
[    8.932412] Leaving regulator_supply_alias function ......
[    8.937936] After alias= sd_vdd
[    8.941087] Doing the non-dt way supply = sd_vdd
[    8.945794] DEV = NULL
[    8.948234] *****Searching the regulator map list***********
[    8.953906] map->dev_name = (null) map->supply = sd_vdd  map->regulator->supply_name = vcc3 map->regulator->regulator_desc->name = ldo8
[    8.966119] returning regulator dev  map->devname = (null) map->supply = sd_vdd
[    8.973470] ####### rdev->desc->name = ldo8 rdev->supply_name = vcc3 found######
[    8.980905] ####### Before regulator_resolve_supply ##########
[    8.986780] !!!!!!! In regulator_resolve_supply function !!!!!!!!!! rdev->supply_name = vcc3 rdev->desc->name = ldo8 rdev->desc->supply_name = vcc3
[    9.000032] @@@@@@@ In regulator_dev_lookup function @@@@@@@@
[    9.005786] supply before alias= vcc3
[    9.009488] In regulator_supply_alias function
[    9.013941] Leaving regulator_supply_alias function ......
[    9.019462] After alias= vcc3
[    9.022440] Doing the non-dt way supply = vcc3
[    9.027009] devname = 1-002d
[    9.029761] *****Searching the regulator map list***********
[    9.035607] map->dev_name = (null) map->supply = sd_vdd  map->regulator->supply_name = vcc3 map->regulator->regulator_desc->name = ldo8
[    9.047882] *****Searching the regulator map list***********
[    9.053556] map->dev_name = (null) map->supply = dram  map->regulator->supply_name = vcc2 map->regulator->regulator_desc->name = vdd2
[    9.065600] *****Searching the regulator map list***********
[    9.071305] map->dev_name = (null) map->supply = cpu  map->regulator->supply_name = vcc1 map->regulator->regulator_desc->name = vdd1
[    9.083258] @@@@@@@ Leaving regulator_dev_lookup function returning NULL@@@@@@@@@@@@
[    9.091048] tps65910 1-002d: Failed to resolve vcc3-supply for ldo8
[    9.097354] Can't get regulator handler!!!
[    9.101459] Please insert the regulator driver first!!!
[    9.106730] Unable to handle kernel paging request at virtual address fffffe07
[    9.113963] pgd = 80004000
[    9.116711] [fffffe07] *pgd=1dfee861, *pte=00000000, *ppte=00000000
[    9.123037] Internal error: Oops: 37 [#1] PREEMPT SMP ARM
[    9.128443] Modules linked in:
[    9.131524] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.4.16+ #489
[    9.137710] Hardware name: OPV5XC-CA9MP
[    9.141554] task: 9d458000 ti: 9d442000 task.ti: 9d442000
[    9.146977] PC is at regulator_enable+0x4/0x144
[    9.151524] LR is at dw_mci_init+0x58/0x60
[    9.155629] pc : [<8026a700>]    lr : [<8069b9c4>]    psr: 60000013
[    9.155629] sp : 9d443ee0  ip : 00000001  fp : 806a883c
[    9.167111] r10: 806a8830  r9 : 00000000  r8 : 8069b96c
[    9.172342] r7 : 834a8140  r6 : 9d5e6040  r5 : 83468460  r4 : 834ed170
[    9.178873] r3 : 00000000  r2 : 00000000  r1 : 9d443e60  r0 : fffffdfb
[    9.185406] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    9.192546] Control: 18c5387d  Table: 0000404a  DAC: 00000051
[    9.198298] Process swapper/0 (pid: 1, stack limit = 0x9d442210)
[    9.204312] Stack: (0x9d443ee0 to 0x9d444000)
[    9.208680] 3ee0: 834ed170 83468460 9d5e6040 8069b9c4 83468460 80009840 806a883c 9d443f38
[    9.216868] 3f00: 8005d54c 8005d54c 00000000 00000001 9dfffc7d 804e9828 00000095 8003f978
[    9.225056] 3f20: 00000001 00000003 8060a32c 80656c48 00000000 834a0810 00000006 00000006
[    9.233244] 3f40: 8346dd64 806af85c 806afa58 00000006 834a8140 834a8140 806805b0 00000095
[    9.241431] 3f60: 806a8830 80680e7c 00000006 00000006 00000000 806805b0 00000000 00000000
[    9.249616] 3f80: 804b6eb0 00000000 804b6eb0 00000000 00000000 00000000 00000000 00000000
[    9.257803] 3fa0: 00000000 804b6eb8 00000000 80010278 00000000 00000000 00000000 00000000
[    9.265989] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    9.274175] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    9.282373] [<8026a700>] (regulator_enable) from [<8069b9c4>] (dw_mci_init+0x58/0x60)
[    9.290222] [<8069b9c4>] (dw_mci_init) from [<80009840>] (do_one_initcall+0xbc/0x1f4)
[    9.298067] [<80009840>] (do_one_initcall) from [<80680e7c>] (kernel_init_freeable+0x1e8/0x288)
[    9.306789] [<80680e7c>] (kernel_init_freeable) from [<804b6eb8>] (kernel_init+0x8/0xf0)
[    9.314902] [<804b6eb8>] (kernel_init) from [<80010278>] (ret_from_fork+0x14/0x3c)
[    9.322485] Code: e8bd8070 e1a00006 e8bd8070 e92d4070 (e5d0300c)
[    9.328688] ---[ end trace 4286a790d43a4fec ]---
[    9.333318] Kernel panic - not syncing: Fatal exception
[    9.338557] CPU1: stopping
[    9.341276] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D         4.4.16+ #489
[    9.348669] Hardware name: OPV5XC-CA9MP
[    9.352532] [<80019168>] (unwind_backtrace) from [<800144e0>] (show_stack+0x10/0x14)
[    9.360295] [<800144e0>] (show_stack) from [<80214d60>] (dump_stack+0x84/0x98)
[    9.367527] [<80214d60>] (dump_stack) from [<800170c8>] (handle_IPI+0x1b0/0x1c0)
[    9.374929] [<800170c8>] (handle_IPI) from [<800094cc>] (gic_handle_irq+0x88/0x8c)
[    9.382502] [<800094cc>] (gic_handle_irq) from [<80014fd4>] (__irq_svc+0x54/0x90)
[    9.389983] Exception stack(0x9d47df90 to 0x9d47dfd8)
[    9.395036] df80:                                     00000001 00000000 9d47dfe8 80021500
[    9.403215] dfa0: 9d47c000 804bd9d4 8344f2a4 834a01a2 9d47dfe8 834a01a2 83463acc 00000001
[    9.411390] dfc0: 00000001 9d47dfe0 80011348 8001134c 60000013 ffffffff
[    9.418009] [<80014fd4>] (__irq_svc) from [<8001134c>] (arch_cpu_idle+0x38/0x3c)
[    9.425423] [<8001134c>] (arch_cpu_idle) from [<8005ddc8>] (cpu_startup_entry+0x124/0x1a4)
[    9.433694] [<8005ddc8>] (cpu_startup_entry) from [<0000956c>] (0x956c)
[    9.440311] CPU0: stopping
[    9.443028] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D         4.4.16+ #489
[    9.450421] Hardware name: OPV5XC-CA9MP
[    9.454275] [<80019168>] (unwind_backtrace) from [<800144e0>] (show_stack+0x10/0x14)
[    9.462033] [<800144e0>] (show_stack) from [<80214d60>] (dump_stack+0x84/0x98)
[    9.469265] [<80214d60>] (dump_stack) from [<800170c8>] (handle_IPI+0x1b0/0x1c0)
[    9.476667] [<800170c8>] (handle_IPI) from [<800094cc>] (gic_handle_irq+0x88/0x8c)
[    9.484240] [<800094cc>] (gic_handle_irq) from [<80014fd4>] (__irq_svc+0x54/0x90)
[    9.491721] Exception stack(0x83455f50 to 0x83455f98)
[    9.496773] 5f40:                                     00000000 00000000 83455fa8 80021500
[    9.504950] 5f60: 83454000 804bd9d4 8344f2a4 834a01a2 83455fa8 834a01a2 83463acc 00000001
[    9.513128] 5f80: 00000001 83455fa0 80011348 8001134c 60000013 ffffffff
[    9.519749] [<80014fd4>] (__irq_svc) from [<8001134c>] (arch_cpu_idle+0x38/0x3c)
[    9.527154] [<8001134c>] (arch_cpu_idle) from [<8005ddc8>] (cpu_startup_entry+0x124/0x1a4)
[    9.535425] [<8005ddc8>] (cpu_startup_entry) from [<80680c88>] (start_kernel+0x3b0/0x3bc)
[    9.543604] [<80680c88>] (start_kernel) from [<0000807c>] (0x807c)
[    9.549790] ---[ end Kernel panic - not syncing: Fatal exception

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux