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.

Linux/TPS65185: power-up sequence problem

Part Number: TPS65185

Tool/software: Linux

Hi,

I'm working on implementing support for the PMIC that I use with the epdc driver on NXP i.MX7D processor. My custom board has a TI TPS65185 EPDC PMIC.

By default, the 7D implementation has a sample for max17135. I'm trying to get TPS65185 working with the patch I found on NXP community forum.

My device tree changes:

tps6518x@68 {

compatible = "ti,tps6518x";
reg = <0x68>;
status = "okay";
/*
* power sequencing for TPS65180/65181
*/
pwr_seq0 = <0xe1>; /* [Vddh-seq=3 | Vpos-seq=2 | Vee-seq=0 | Vneg-seq=1] */
pwr_seq1 = <0x30>; /* [Vneg-dly1=3 |Vee-dly0=0] mSec */
pwr_seq2 = <0x33>; /* [Vddh-dly3=3 | Vpos-dly2=3] mSec */
/*
* power sequencing for TPS65185/65186
*/
upseq0 = <0xe4>;
upseq1 = <0x55>;
dwnseq0 = <0x1e>;
dwnseq1 = <0xe0>;

gpio_pmic_pwrgood = <&gpio2 31 0>;
gpio_pmic_vcom_ctrl = <&gpio4 14 0>;
gpio_pmic_wakeup = <&gpio2 23 0>;
gpio_pmic_intr = <&gpio2 22 0>;
gpio_pmic_powerup = <&gpio2 30 0>;

regulators {
DISPLAY_reg: DISPLAY {
regulator-name = "DISPLAY";
};

VCOM_reg: VCOM {
regulator-name = "VCOM";
/* 2's-compliment, -4325000 */
regulator-min-microvolt = <0xffbe0178>;
/* 2's-compliment, -500000 */
regulator-max-microvolt = <0xfff85ee0>;
};

V3P3_reg: V3P3 {
regulator-name = "V3P3";
};
};

The driver is probing fine. But the problem I'm facing is that only the Vneg voltage is being generated.

I'm not getting the proper power-up sequence running as given on page 13 of the datasheet.

I'm not even getting a login prompt. The kernel hangs somewhere in between.

My boot logs are attached below with #####tps6518x debug logs.

Anyone have any idea on what could be the problem here, please help asap.

 

Thank you.log.txt.zip

  • This question looks like it might need to be answered by a Linux expert, but it does not appear that you are using the AM335x Sitara Processor from TI.

    Since the only TI part number your description is the TPS65185 PMIC, I have assigned the TPS65185 expert to determine what further actions can be taken to help resolve your issue.
  • Software might be OK if VNEG is regulating, are you able to read the interrupt register INT2 at 0x08?
    Is this occurring on all boards?

    Best Regards,
    Rick S.
  • Thank you for the response.
    Yes, I'm able to do I2C communication after pulling the wakeup pin high.
    I read
    0x04 on INT2 at 0x08
    0x7d on VCOM1 at 0x03
    0x00 on VCOM2 at 0x04

    We're using the TPS65185 PMIC in our custom daughter board as an add-on to the i.MX7D SABRE board for E-ink display.
    So I don't think I can check with any other board at this point, as it will have compatibility issues.
  • A VCOM fault will shut down all rails, and might occur if a panel has not been calibrated.

    VCOM faults occur when VCOM is above 1V or below -5.5V, and measuring with an oscilloscope should confirm that this is the cause. Section 8.3.7.1 and 8.3.7.2 in the datasheet describe how to read and write new VCOM values to the PMIC.

    Best Regards,

    Rick S.

  • hello,

    we know VCOM rail is shutdown all rail but its only VNEG and VEE is in regulation.

    and due to VPOS is not generated we can not connect EInk display with this PMIC because its may get damage to our EInk.

    now we replace IC in that board its VCOM in not our issue right now.

    right now INT2 registor value is 10h it means VPOS intrupt. due to VPOS is not in regulation its get error.

    we check VPOS_EN register and its high.

    please help asap.

    thanks,

    arsadhusain momin

  • Hi Arsadhusain,

    It looks like there are two posts for this issue, can you confirm that there are no loads on VPOS below ~300ohm during startup?

    e2e.ti.com/.../641371


    Best Regards,
    Rick S.
  • Yes,

    There are no loads on VPOS.

    Besides, I was able to successfully run the tps65185 with raspberry pi with register access, and I'm getting the proper power-up sequence.

    All the voltages are regulating and powergood pin is also turning high.

    The problem is with our target i.MX7D board.

    Here is the linux patch I'm using for driving tps65185 with i.MX7D.

    Here are the updated boot logs.

    8547.log.txt
    U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Jun 30 2016 - 05:41:34)
    
    
    CPU:   Freescale i.MX7D rev1.2 at 792 MHz
    
    CPU:   Temperature 31 C
    
    Reset cause: POR
    
    Board: i.MX7D SABRESD RevA
    
    I2C:   ready
    
    DRAM:  1 GiB
    
    PMIC: PFUZE300 DEV_ID=0x30 REV_ID=0x11
    
    MMC:   FSL_SDHC: 0, FSL_SDHC: 1
    
    No panel detected: default to TFT43AB
    
    Display: TFT43AB (480x272)
    
    Video: 480x272x24
    
    In:    serial
    
    Out:   serial
    
    Err:   serial
    
    switch to partitions #0, OK
    
    mmc0 is current device
    
    Net:   FEC0
    
    Normal Boot
    
    Hit any key to stop autoboot:  3  2  1  0 
    
    switch to partitions #0, OK
    
    mmc0 is current device
    
    switch to partitions #0, OK
    
    mmc0 is current device
    
    reading boot.scr
    
    ** Unable to read file boot.scr **
    
    reading zImage
    
    6693888 bytes read in 309 ms (20.7 MiB/s)
    
    Booting from mmc ...
    
    reading imx7d-sdb-epdc.dtb
    
    47058 bytes read in 20 ms (2.2 MiB/s)
    
    Kernel image @ 0x80800000 [ 0x000000 - 0x662400 ]
    
    ## Flattened Device Tree blob at 83000000
    
       Booting using the fdt blob at 0x83000000
    
       Using Device Tree in place at 83000000, end 8300e7d1
    
    
    Starting kernel ...
    
    
    Booting Linux on physical CPU 0x0
    Linux version 4.1.15-2.1.0+g30278ab (user@user-pc) (gcc version 5.3.0 (GCC) ) #102 SMP PREEMPT Tue Nov 21 20:56:03 IST 2017
    CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine model: Freescale i.MX7D SabreSD Board
    Reserved memory: created CMA memory pool at 0xac000000, size 320 MiB
    Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
    Memory policy: Data cache writealloc
    PERCPU: Embedded 12 pages/cpu @ab71c000 s16908 r8192 d24052 u49152
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
    Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw epdc video=mxcepdcfb:ES133UT2,bpp=16
    PID hash table entries: 4096 (order: 2, 16384 bytes)
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Memory: 698228K/1048576K available (8428K kernel code, 444K rwdata, 2940K rodata, 444K init, 450K bss, 22668K reserved, 327680K cma-reserved, 0K highmem)
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
        vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
        lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
        pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
        modules : 0x7f000000 - 0x7fe00000   (  14 MB)
          .text : 0x80008000 - 0x80b2251c   (11370 kB)
          .init : 0x80b23000 - 0x80b92000   ( 444 kB)
          .data : 0x80b92000 - 0x80c010e0   ( 445 kB)
           .bss : 0x80c04000 - 0x80c74880   ( 451 kB)
    SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    Preemptible hierarchical RCU implementation.
    	Additional per-CPU info printed with stalls.
    	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS:16 nr_irqs:16 16
    Architected cp15 timer(s) running at 8.00MHz (phys).
    clocksource arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
    sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
    Switching to timer-based delay loop, resolution 125ns
    mxc_clocksource_init 3000000
    Ignoring duplicate/late registration of read_current_timer delay
    clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=80000)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    CPU: Testing write buffer coherency: ok
    /cpus/cpu@0 missing clock-frequency property
    /cpus/cpu@1 missing clock-frequency property
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x80008280 - 0x800082d8
    CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    Brought up 2 CPUs
    SMP: Total of 2 processors activated (32.00 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    device-tree: Duplicate name in lcdif@30730000, renamed to "display#1"
    VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
    clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    pinctrl core: initialized pinctrl subsystem
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    cpuidle: using governor ladder
    cpuidle: using governor menu
    DDR type is DDR3!
    hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    hw-breakpoint: maximum watchpoint size is 8 bytes.
    imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
    imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
    MU is ready for cross core communication!
    mxs-dma 33000000.dma-apbh: initialized
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    30800000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
    30800000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator
    i2c i2c-0: IMX I2C adapter registered
    i2c i2c-0: can't use DMA
    i2c i2c-1: IMX I2C adapter registered
    i2c i2c-1: can't use DMA
    #####tps6518x_probe calling
    2-0068 supply SENSOR not found, using dummy regulator
    #####tps6518x_i2c_parse_dt_pdata calling
    #####tps6518x_i2c_parse_dt_pdata success
    tps6518x 2-0068: PMIC TPS6518x for eInk display
    #####tps6518x_probe success
    i2c i2c-2: IMX I2C adapter registered
    i2c i2c-2: can't use DMA
    i2c i2c-3: IMX I2C adapter registered
    i2c i2c-3: can't use DMA
    Linux video capture interface: v2.00
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    PTP clock support registered
    MIPI CSI2 driver module loaded
    Advanced Linux Sound Architecture Driver Initialized.
    Bluetooth: Core ver 2.20
    NET: Registered protocol family 31
    Bluetooth: HCI device and connection manager initialized
    Bluetooth: HCI socket layer initialized
    Bluetooth: L2CAP socket layer initialized
    Bluetooth: SCO socket layer initialized
    #######tps6518x_regulator_probe calling
    #######tps6518x_pmic_dt_parse_pdata calling
    #######tps6518x_pmic_dt_parse_pdata success
    #######tps6518x_vcom_get_voltage calling
    tps6518x->revID = 65
    tps6518x->gpio_pmic_pwrgood = 3f
    tps6518x->gpio_pmic_vcom_ctrl = 6e
    tps6518x->gpio_pmic_wakeup = 37
    tps6518x->gpio_pmic_intr = 36
    tps6518x->gpio_pmic_powerup = 3e
    tps6518x->pass_num = 2
    tps6518x->vcom_uV = ffd71b40
    tps6518x->vcom_setup = 0
    tps6518x->max_wait = 18
    tps6518x->pwrgood_polarity = 0
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_VCOM1 = 7d
    REG_TPS65185_VCOM2 = 0
    #######vcom2_rs_to_uV calling
    #######vcom2_rs_to_uV success
    vcomValue = -1250000
    #######tps6518x_vcom_get_voltage success
    #######tps6518x_vcom_get_voltage calling
    tps6518x->revID = 65
    tps6518x->gpio_pmic_pwrgood = 3f
    tps6518x->gpio_pmic_vcom_ctrl = 6e
    tps6518x->gpio_pmic_wakeup = 37
    tps6518x->gpio_pmic_intr = 36
    tps6518x->gpio_pmic_powerup = 3e
    tps6518x->pass_num = 2
    tps6518x->vcom_uV = ffd71b40
    tps6518x->vcom_setup = 0
    tps6518x->max_wait = 18
    tps6518x->pwrgood_polarity = 0
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_VCOM1 = 7d
    REG_TPS65185_VCOM2 = 0
    #######vcom2_rs_to_uV calling
    #######vcom2_rs_to_uV success
    vcomValue = -1250000
    #######tps6518x_vcom_get_voltage success
    #######tps6518x_setup_timings calling
    tps6518x->pwr_seq0 = e1
    tps6518x->pwr_seq1 = 30
    tps6518x->pwr_seq2 = 33
    tps6518x->upseq0 = e4
    tps6518x->upseq1 = 55
    tps6518x->dwnseq0 = 1e
    tps6518x->dwnseq1 = e0
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_UPSEQ0 = e4
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_UPSEQ1 = 55
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_DWNSEQ0 = 1e
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_DWNSEQ1 = e0
    #######tps6518x_setup_timings success
    #######tps6518x_regulator_probe success
    Switched to clocksource arch_sys_counter
    NET: Registered protocol family 2
    TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    TCP: Hash tables configured (established 8192 bind 8192)
    UDP hash table entries: 512 (order: 2, 16384 bytes)
    UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    NET: Registered protocol family 1
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    imx rpmsg driver is registered.
    Bus freq driver module loaded
    futex hash table entries: 512 (order: 3, 32768 bytes)
    VFS: Disk quotas dquot_6.6.0
    VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    NFS: Registering the id_resolver key type
    Key type id_resolver registered
    Key type id_legacy registered
    jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    fuse init (API version 7.23)
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    backlight supply power not found, using dummy regulator
    MIPI DSI driver module loaded
    MIPI DSI driver module loaded
    imx-sdma 30bd0000.sdma: no event needs to be remapped
    imx-sdma 30bd0000.sdma: loaded firmware 4.2
    imx-sdma 30bd0000.sdma: initialized
    pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1
    pfuze100-regulator 0-0008: FAB: 0, FIN: 0
    pfuze100-regulator 0-0008: pfuze3000 found.
    30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 280, base_baud = 1500000) is a IMX
    console [ttymxc0] enabled
    30a80000.serial: ttymxc5 at MMIO 0x30a80000 (irq = 288, base_baud = 5000000) is a IMX
    imx sema4 driver is registered.
    [drm] Initialized drm 1.1.0 20060810
    [drm] Initialized vivante 1.0.0 20120216 on minor 0
    brd: module loaded
    loop: module loaded
    input: fxos8700 as /devices/platform/soc/30800000.aips-bus/30a30000.i2c/i2c-1/1-001e/input/input0
    fxos8700 device driver probe successfully
    input: fxas2100x as /devices/platform/soc/30800000.aips-bus/30a30000.i2c/i2c-1/1-0020/input/input1
    fxas2100x 1-0020: fxas2100x device driver probe successfully
    spi_gpio spi4: gpio-miso property not found, switching to no-rx mode
    spi_imx 30840000.ecspi: probed
    CAN device driver interface
    usbcore: registered new interface driver asix
    usbcore: registered new interface driver ax88179_178a
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver net1080
    usbcore: registered new interface driver cdc_subset
    usbcore: registered new interface driver zaurus
    usbcore: registered new interface driver cdc_ncm
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ehci-mxc: Freescale On-Chip EHCI Host driver
    usbcore: registered new interface driver usb-storage
    usbcore: registered new interface driver usb_ehset_test
    30b10200.usbmisc supply vbus-wakeup not found, using dummy regulator
    30b20200.usbmisc supply vbus-wakeup not found, using dummy regulator
    30b30200.usbmisc supply vbus-wakeup not found, using dummy regulator
    ci_hdrc ci_hdrc.1: EHCI Host Controller
    ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
    ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    mousedev: PS/2 mouse device common for all mice
    input: 30370000.snvs:snvs-powerkey as /devices/platform/soc/30000000.aips-bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input2
    spi2.0 supply vcc not found, using dummy regulator
    ads7846 spi2.0: touchscreen, irq 88
    input: ADS7846 Touchscreen as /devices/platform/soc/30800000.aips-bus/30800000.spba-bus/30840000.ecspi/spi_master/spi2/spi2.0/input/input3
    elan-touch 2-0010: elan - Read Hello Packet Failed
    elan-touch: probe of 2-0010 failed with error -22
    read mpl3115 chip id 0xc4
    input: mpl3115 as /devices/virtual/input/input5
    mpl3115 device driver probe successfully
    snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs- as rtc0
    i2c /dev entries driver
    IR NEC protocol handler initialized
    IR RC5(x/sz) protocol handler initialized
    IR RC6 protocol handler initialized
    IR JVC protocol handler initialized
    IR Sony protocol handler initialized
    IR SANYO protocol handler initialized
    IR Sharp protocol handler initialized
    IR MCE Keyboard/mouse protocol handler initialized
    IR XMP protocol handler initialized
    pxp-v4l2 pxp_v4l2_out: initialized
    #####tps6518x_sensor_probe calling
    #####tps6518x_sensor_probe success
    imx2-wdt 30280000.wdog: use WDOG_B to reboot.
    imx2-wdt 30280000.wdog: timeout 60 sec (nowayout=0)
    Bluetooth: HCI UART driver ver 2.3
    Bluetooth: HCI UART protocol H4 registered
    Bluetooth: HCI UART protocol BCSP registered
    Bluetooth: HCI UART protocol ATH3K registered
    usbcore: registered new interface driver bcm203x
    usbcore: registered new interface driver btusb
    usbcore: registered new interface driver ath3k
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright(c) Pierre Ossman
    sdhci-pltfm: SDHCI platform and OF driver helper
    /soc/aips-bus@30800000/usdhc@30b40000: voltage-ranges unspecified
    sdhci-esdhc-imx 30b40000.usdhc: Got CD GPIO
    sdhci-esdhc-imx 30b40000.usdhc: Got WP GPIO
    sdhci-esdhc-imx 30b40000.usdhc: No vqmmc regulator found
    mmc0: SDHCI controller on 30b40000.usdhc [30b40000.usdhc] using ADMA
    /soc/aips-bus@30800000/usdhc@30b50000: voltage-ranges unspecified
    sdhci-esdhc-imx 30b50000.usdhc: assigned as wifi host
    sdhci-esdhc-imx 30b50000.usdhc: No vmmc regulator found
    sdhci-esdhc-imx 30b50000.usdhc: No vqmmc regulator found
    mmc1: SDHCI controller on 30b50000.usdhc [30b50000.usdhc] using ADMA
    /soc/aips-bus@30800000/usdhc@30b60000: voltage-ranges unspecified
    sdhci-esdhc-imx 30b60000.usdhc: No vmmc regulator found
    sdhci-esdhc-imx 30b60000.usdhc: No vqmmc regulator found
    mmc2: SDHCI controller on 30b60000.usdhc [30b60000.usdhc] using ADMA
    caam 30900000.caam: Entropy delay = 3200
    caam 30900000.caam: Instantiated RNG4 SH0
    caam 30900000.caam: Instantiated RNG4 SH1
    caam 30900000.caam: device ID = 0x0a16030000000000 (Era -524)
    caam 30900000.caam: job rings = 3, qi = 0
    mmc0: new ultra high speed SDR104 SDHC card at address 0001
    mmcblk0: mmc0:0001 SD8GB 7.24 GiB 
     mmcblk0: p1 p2
    caam algorithms registered in /proc/crypto
    caam_jr 30901000.jr0: registering rng-caam
    platform caam_sm: blkkey_ex: 8 keystore units available
    platform caam_sm: 64-bit clear key:
    platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
    platform caam_sm: 64-bit black key:
    platform caam_sm: [0000] ea 57 c7 d3 0b 2f e0 61
    platform caam_sm: [0008] 6a a1 6e 2e 4e 5f de 3a
    platform caam_sm: 128-bit clear key:
    platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
    platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
    platform caam_sm: 128-bit black key:
    platform caam_sm: [0000] 9e e3 85 e6 bf df 8c d7
    platform caam_sm: [0008] c2 dc ac 8b ee 5e 88 6f
    platform caam_sm: 192-bit clear key:
    platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
    platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
    platform caam_sm: [0016] 10 11 12 13 14 15 16 17
    platform caam_sm: 192-bit black key:
    platform caam_sm: [0000] fb fe b5 e3 3e eb d5 7c
    platform caam_sm: [0008] 89 61 3c a9 4a b5 ff 41
    platform caam_sm: [0016] 63 c7 2b b1 66 5b 96 8c
    platform caam_sm: [0024] ec 21 99 53 1a d3 a6 56
    platform caam_sm: 256-bit clear key:
    platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
    platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
    platform caam_sm: [0016] 10 11 12 13 14 15 16 17
    platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f
    platform caam_sm: 256-bit black key:
    platform caam_sm: [0000] d4 28 7f 3e b4 3b 39 ee
    platform caam_sm: [0008] 49 d0 e6 1f 7b d2 a6 ad
    platform caam_sm: [0016] 56 5f 0b 06 c1 5e 54 5d
    platform caam_sm: [0024] 9b 65 0c 90 85 8a 29 3a
    platform caam_sm: 64-bit unwritten blob:
    platform caam_sm: [0000] 00 00 00 00 00 00 00 00
    platform caam_sm: [0008] 00 00 00 00 00 00 00 00
    platform caam_sm: [0016] 00 00 00 00 00 00 00 00
    platform caam_sm: [0024] 00 00 00 00 00 00 00 00
    platform caam_sm: [0032] 00 00 00 00 00 00 00 00
    platform caam_sm: [0040] 00 00 00 00 00 00 00 00
    platform caam_sm: [0048] 00 00 00 00 00 00 00 00
    platform caam_sm: [0056] 00 00 00 00 00 00 00 00
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 128-bit unwritten blob:
    platform caam_sm: [0000] 00 00 00 00 00 00 00 00
    platform caam_sm: [0008] 00 00 00 00 00 00 00 00
    platform caam_sm: [0016] 00 00 00 00 00 00 00 00
    platform caam_sm: [0024] 00 00 00 00 00 00 00 00
    platform caam_sm: [0032] 00 00 00 00 00 00 00 00
    platform caam_sm: [0040] 00 00 00 00 00 00 00 00
    platform caam_sm: [0048] 00 00 00 00 00 00 00 00
    platform caam_sm: [0056] 00 00 00 00 00 00 00 00
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 196-bit unwritten blob:
    platform caam_sm: [0000] 00 00 00 00 00 00 00 00
    platform caam_sm: [0008] 00 00 00 00 00 00 00 00
    platform caam_sm: [0016] 00 00 00 00 00 00 00 00
    platform caam_sm: [0024] 00 00 00 00 00 00 00 00
    platform caam_sm: [0032] 00 00 00 00 00 00 00 00
    platform caam_sm: [0040] 00 00 00 00 00 00 00 00
    platform caam_sm: [0048] 00 00 00 00 00 00 00 00
    platform caam_sm: [0056] 00 00 00 00 00 00 00 00
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 256-bit unwritten blob:
    platform caam_sm: [0000] 00 00 00 00 00 00 00 00
    platform caam_sm: [0008] 00 00 00 00 00 00 00 00
    platform caam_sm: [0016] 00 00 00 00 00 00 00 00
    platform caam_sm: [0024] 00 00 00 00 00 00 00 00
    platform caam_sm: [0032] 00 00 00 00 00 00 00 00
    platform caam_sm: [0040] 00 00 00 00 00 00 00 00
    platform caam_sm: [0048] 00 00 00 00 00 00 00 00
    platform caam_sm: [0056] 00 00 00 00 00 00 00 00
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 64-bit black key in blob:
    platform caam_sm: [0000] 5c 79 15 54 43 15 b4 78
    platform caam_sm: [0008] 0d 52 44 f7 5a 73 e2 55
    platform caam_sm: [0016] 41 8d 4e 7b 35 85 55 7d
    platform caam_sm: [0024] 62 4d ad e8 4b b5 27 1e
    platform caam_sm: [0032] 45 87 be b9 c8 29 50 e5
    platform caam_sm: [0040] 83 e5 48 81 39 50 81 a3
    platform caam_sm: [0048] 35 b9 e2 85 cc f4 25 dd
    platform caam_sm: [0056] 00 00 00 00 00 00 00 00
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 128-bit black key in blob:
    platform caam_sm: [0000] 84 eb 64 cd 90 2c 60 98
    platform caam_sm: [0008] 74 a2 b4 af 7b c3 7d 4a
    platform caam_sm: [0016] fe 9e 2b 2f 73 ee 2c 07
    platform caam_sm: [0024] a4 44 d2 64 37 4b 2c a5
    platform caam_sm: [0032] 58 8d 6e 52 a3 15 0a 12
    platform caam_sm: [0040] a8 cf b8 2a 9e 19 78 26
    platform caam_sm: [0048] 3a 1c 29 19 14 22 1d b9
    platform caam_sm: [0056] 6c e3 4d af 2e 94 e9 c9
    platform caam_sm: [0064] 00 00 00 00 00 00 00 00
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 192-bit black key in blob:
    platform caam_sm: [0000] ed 93 86 8d 9a 39 a0 3b
    platform caam_sm: [0008] 1d ad 9d f6 f9 e7 5e a7
    platform caam_sm: [0016] 2c 2d 05 31 73 75 8f 55
    platform caam_sm: [0024] 71 8b 82 5e 79 6c 28 9d
    platform caam_sm: [0032] 99 17 82 4e f5 04 3c 48
    platform caam_sm: [0040] 94 72 89 54 c9 e5 6f 2e
    platform caam_sm: [0048] 4a 9c 62 7d 9b e0 a3 aa
    platform caam_sm: [0056] d1 2c 6f e2 10 af 14 eb
    platform caam_sm: [0064] 1f 1d 4f b1 8c 3a d8 11
    platform caam_sm: [0072] 00 00 00 00 00 00 00 00
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: 256-bit black key in blob:
    platform caam_sm: [0000] 46 71 e4 6f 56 01 97 af
    platform caam_sm: [0008] f1 86 99 9f 8a d0 24 96
    platform caam_sm: [0016] 25 72 d0 51 76 f0 e0 12
    platform caam_sm: [0024] f2 a3 18 92 c7 13 42 67
    platform caam_sm: [0032] ff 6b 21 50 dc e9 8b de
    platform caam_sm: [0040] 3d 14 fc 46 fb 9f cf 36
    platform caam_sm: [0048] 56 15 72 75 ed 8b 61 70
    platform caam_sm: [0056] bd 7c b4 20 29 f8 98 4e
    platform caam_sm: [0064] f3 1f 39 09 c3 4b c1 cf
    platform caam_sm: [0072] 85 33 ce a5 99 67 b7 3c
    platform caam_sm: [0080] 00 00 00 00 00 00 00 00
    platform caam_sm: [0088] 00 00 00 00 00 00 00 00
    platform caam_sm: restored 64-bit black key:
    platform caam_sm: [0000] a6 db c6 7a 15 d7 42 ee
    platform caam_sm: [0008] 3b 9f c3 6e 38 7a dd 6b
    platform caam_sm: restored 128-bit black key:
    platform caam_sm: [0000] 9e e3 85 e6 bf df 8c d7
    platform caam_sm: [0008] c2 dc ac 8b ee 5e 88 6f
    platform caam_sm: restored 192-bit black key:
    platform caam_sm: [0000] fb fe b5 e3 3e eb d5 7c
    platform caam_sm: [0008] 89 61 3c a9 4a b5 ff 41
    platform caam_sm: [0016] e1 7e 58 cb 3e 00 cc e3
    platform caam_sm: [0024] 15 90 3a fc 52 1a eb 79
    platform caam_sm: restored 256-bit black key:
    platform caam_sm: [0000] d4 28 7f 3e b4 3b 39 ee
    platform caam_sm: [0008] 49 d0 e6 1f 7b d2 a6 ad
    platform caam_sm: [0016] 56 5f 0b 06 c1 5e 54 5d
    platform caam_sm: [0024] 9b 65 0c 90 85 8a 29 3a
    snvs-secvio 30370000.caam-snvs: can't get snvs clock
    snvs-secvio 30370000.caam-snvs: violation handlers armed - non-secure state
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    imx-wm8960 sound: failed to get gpr property
    imx-wm8960: probe of sound failed with error -2
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    NET: Registered protocol family 26
    NET: Registered protocol family 10
    sit: IPv6 over IPv4 tunneling driver
    NET: Registered protocol family 17
    can: controller area network core (rev 20120528 abi 9)
    NET: Registered protocol family 29
    can: raw protocol (rev 20120528)
    can: broadcast manager protocol (rev 20120528 t)
    can: netlink gateway (rev 20130117) max_hops=1
    Bluetooth: RFCOMM TTY layer initialized
    Bluetooth: RFCOMM socket layer initialized
    Bluetooth: RFCOMM ver 1.11
    Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    Bluetooth: BNEP filters: protocol multicast
    Bluetooth: BNEP socket layer initialized
    Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    Bluetooth: HIDP socket layer initialized
    8021q: 802.1Q VLAN Support v1.8
    Key type dns_resolver registered
    cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
    #######mxc_epdc_fb_probe calling
    #######mxc_epdc_fb_set_fix calling
    #######mxc_epdc_fb_set_par calling
    #######mxc_epdc_fb_flush_updates calling
    #######is_free_list_full calling
    #######mxc_epdc_fb_init_hw calling
    #######mxc_epdc_fb_set_fix calling
    #######mxc_epdc_fb_pan_display calling
    #######mxc_epdc_fb_setcmap calling
    #######mxc_epdc_fb_setcmap calling
    Console: switching to colour frame buffer device 128x47
    #######mxc_epdc_fb_pan_display calling
    #######mxc_epdc_fb_setcmap calling
    imx_epdc_v2_fb 306f0000.epdc: Direct firmware load for imx/epdc/epdc_ED060XH2C1.fw failed with error -2
    imx_epdc_v2_fb 306f0000.epdc: Falling back to user helper
    #######mxc_epdc_fb_setcmap calling
    30730000.lcdif supply lcd not found, using dummy regulator
    mxsfb 30730000.lcdif: failed to find mxc display driver 
    mxsfb 30730000.lcdif: initialized
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    dhd_module_init in
    Power-up adapter 'DHD generic adapter'
    wifi_platform_bus_enumerate device present 1
    mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
    mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
    mmc1: queuing unknown CIS tuple 0x80 (6 bytes)
    mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
    mmc1: new ultra high speed SDR104 SDIO card at address 0001
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    F1 signature OK, socitype:0x1 chip:0x4339 rev:0x1 pkg:0x0
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
    wifi_platform_get_mac_addr
    CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211)
    wl_create_event_handler(): thread:wl_event_handler:96 started
    CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0xa880143c
    dhd_attach(): thread:dhd_watchdog_thread:97 started
    dhd_attach(): thread:dhd_dpc:98 started
    dhd_deferred_work_init: work queue initialized 
    Dongle Host Driver, version 1.141.92 (r)
    Compiled in drivers/net/wireless/bcmdhd
    Register interface [wlan0]  MAC: 00:90:4c:11:22:33
    
    CFG80211-ERROR) wl_event_handler : was terminated
    wl_destroy_event_handler(): thread:wl_event_handler:96 terminated OK
    dhd_prot_ioctl : bus is down. we have nothing to do
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:02 UTC (2)
    imx-sii902x sound-hdmi: failed to find sii902x i2c client
    #######tps6518x_v3p3_is_enabled calling
    #######tps6518x_v3p3_is_enabled success
    #######tps6518x_vcom_is_enabled calling
    #######tps6518x_vcom_is_enabled success
    #######tps6518x_display_is_enabled calling
    #######tps6518x_display_is_enabled success
    wlreg_on: disabling
    can2-3v3: disabling
    usb_otg1_vbus: disabling
    ALSA device list:
      No soundcards found.
    EXT3-fs (mmcblk0p2): error: couldn't mount because of unsupported optional features (240)
    EXT2-fs (mmcblk0p2): error: couldn't mount because of unsupported optional features (240)
    EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    VFS: Mounted root (ext4 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing unused kernel memory: 444K (80b23000 - 80b92000)
    
    INIT: version 2.88 booting
    
    #######mxc_epdc_fb_pan_display calling
    #######mxc_epdc_fb_setcmap calling
    #######mxc_epdc_fb_setcmap calling
    #######mxc_epdc_fb_mmap calling
    Starting udev
    udevd[189]: starting version 182
    #######mxc_epdc_fb_fw_handler calling
    #######mxc_epdc_fb_get_temp_index calling
    #######epdc_init_sequence calling
    #######epdc_init_settings calling
    #######mxc_epdc_fb_get_temp_index calling
    #######epdc_set_temp calling
    #######epdc_set_screen_res calling
    #######epdc_set_horizontal_timing calling
    #######epdc_set_vertical_timing calling
    #######epdc_powerup calling
    #######tps6518x_v3p3_is_enabled calling
    #######tps6518x_v3p3_is_enabled success
    #######tps6518x_v3p3_enable calling
    #######tps6518x_v3p3_enable success
    #######mxc_epdc_fb_runtime_resume calling
    #######tps6518x_display_is_enabled calling
    #######tps6518x_display_is_enabled success
    #######tps6518x_display_enable calling
    #######to_reg_val calling
    #######to_reg_val success
    new_reg_val = f
    #####tps6518x_reg_write calling
    #####tps6518x_reg_write success
    cur_reg_val = f
    #######to_reg_val calling
    #######to_reg_val success
    new_reg_val = 8f
    #####tps6518x_reg_write calling
    #####tps6518x_reg_write success
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_ENABLE = 8f
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_INT2 = 10
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS65185_INT1 = 0
    #######tps6518x_display_enable success
    #######tps6518x_wait_power_good calling
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    bootlogd: cannot allocate pseudo tty: No such file or directory
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    random: dd urandom read with 31 bits of entropy available
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    Populating dev cache
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    #####tps6518x_reg_read success
    REG_TPS6518x_PG = aa
    #######tps6518x_is_power_good success
    #######tps6518x_is_power_good calling
    #####tps6518x_reg_read calling
    \00\00\00\00\00\00\00\00\00\00\00\00\00
    

    I followed the same sequence with the raspberry pi through register access, that is executing in the driver, and it works.

    I'm not sure why it doesn't work with the driver itself.

    Please review the patch and logs, and share your insights on what can be wrong here.

    Thank you.

  • This doesn't look like a software issue, something is preventing the VPOS LDO from regulating.

    As the VPOS LDO fails to reach it's target voltage, the log shows an undervoltage interrupt from the PMIC, and the PMIC will not complete the boot sequence until that LDO is in regulation.

    Best Regards,

    Rick S.