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.

TDA4VL-Q1: The sbl starts without pwm output

Part Number: TDA4VL-Q1

Tool/software:

We had a problem with pwm output when spl started, but no pwm output when switching to sbl started。We used the pin of ac28, and we compared the pin multiplexing of the two startup methods to be the same。

root@j721s2-evm:~# devmem2 0x0011C040
/dev/mem opened.
Memory mapped at address 0xffff85505000.
Read at address  0x0011C040 (0xffff85505040): 0x00050009

Method of setting pwm:

echo     0> /sys/class/pwm/pwmchip2/export
echo "5000000" > /sys/class/pwm/pwmchip2/pwm0/period
echo "2000000" > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
echo "1" > /sys/class/pwm/pwmchip2/pwm0/enable

devicetree

ehrpwm2_pins_default: ehrpwm2-default-pins {
        pinctrl-single,pins = <
            J721S2_IOPAD(0x040, PIN_INPUT, 9) /* (AC28) MCASP0_AXR0.EHRPWM2_A */
        >;
    };
    
 &main_ehrpwm2 {
	pinctrl-names = "default";
	pinctrl-0 = <&ehrpwm2_pins_default>;
	status = "okay";
};   
    

please help check,thank!

  • Please be aware, that TI resource is out of office for the rest of this week, a delay in response may occur.

    Regards,

    kb

  • Read the next two modes of pwm register, is the same

    sbl:

    root@j721s2-evm:~# devmem2 0x03020000
    /dev/mem opened.
    Memory mapped at address 0xffff950bb000.
    Read at address  0x03020000 (0xffff950bb000): 0x00000083
    root@j721s2-evm:~# devmem2 0x03020000
    /dev/mem opened.
    Memory mapped at address 0xffff9da03000.
    Read at address  0x03020000 (0xffff9da03000): 0x00000083
    root@j721s2-evm:~# devmem2 0x03020002
    /dev/mem opened.
    Memory mapped at address 0xffff89854000.
    Read at address  0x03020002 (0xffff89854000): 0x00000083
    root@j721s2-evm:~# devmem2 0x03020004
    /dev/mem opened.
    Memory mapped at address 0xffffad7cd000.
    Read at address  0x03020004 (0xffffad7cd004): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020008
    /dev/mem opened.
    Memory mapped at address 0xffffbc88a000.
    Read at address  0x03020008 (0xffffbc88a008): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302000a
    /dev/mem opened.
    Memory mapped at address 0xffff8a6e8000.
    Read at address  0x0302000A (0xffff8a6e8008): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302000e
    /dev/mem opened.
    Memory mapped at address 0xffffb6789000.
    Read at address  0x0302000E (0xffffb678900c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020010
    /dev/mem opened.
    Memory mapped at address 0xffffb7afe000.
    Read at address  0x03020010 (0xffffb7afe010): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020012
    /dev/mem opened.
    Memory mapped at address 0xffffa1809000.
    Read at address  0x03020012 (0xffffa1809010): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020014
    /dev/mem opened.
    Memory mapped at address 0xffffb03cf000.
    Read at address  0x03020014 (0xffffb03cf014): 0x001A0000
    root@j721s2-evm:~# devmem2 0x03020016
    /dev/mem opened.
    Memory mapped at address 0xffffb6bae000.
    Read at address  0x03020016 (0xffffb6bae014): 0x001A0000
    root@j721s2-evm:~# devmem2 0x03020018
    /dev/mem opened.
    Memory mapped at address 0xffff86a2e000.
    Read at address  0x03020018 (0xffff86a2e018): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001a
    /dev/mem opened.
    Memory mapped at address 0xffffa91dc000.
    Read at address  0x0302001A (0xffffa91dc018): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001c
    /dev/mem opened.
    Memory mapped at address 0xffff99724000.
    Read at address  0x0302001C (0xffff9972401c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001e
    /dev/mem opened.
    Memory mapped at address 0xffff965dd000.
    Read at address  0x0302001E (0xffff965dd01c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020020
    /dev/mem opened.
    Memory mapped at address 0xffff81df9000.
    Read at address  0x03020020 (0xffff81df9020): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020022
    /dev/mem opened.
    Memory mapped at address 0xffff8bbd3000.
    Read at address  0x03020022 (0xffff8bbd3020): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020024
    /dev/mem opened.
    Memory mapped at address 0xffff99070000.
    Read at address  0x03020024 (0xffff99070024): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020028
    /dev/mem opened.
    Memory mapped at address 0xffffaa2f9000.
    Read at address  0x03020028 (0xffffaa2f9028): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302002a
    /dev/mem opened.
    Memory mapped at address 0xffff99ca0000.
    Read at address  0x0302002A (0xffff99ca0028): 0x00000000
    root@j721s2-evm:~#  devmem2 0x0302002c
    /dev/mem opened.
    Memory mapped at address 0xffff7f8d3000.
    Read at address  0x0302002C (0xffff7f8d302c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302002e
    /dev/mem opened.
    Memory mapped at address 0xffffa95b0000.
    Read at address  0x0302002E (0xffffa95b002c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020030
    /dev/mem opened.
    Memory mapped at address 0xffff89ed0000.
    Read at address  0x03020030 (0xffff89ed0030): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020032
    /dev/mem opened.
    Memory mapped at address 0xffffbf322000.
    Read at address  0x03020032 (0xffffbf322030): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020034
    /dev/mem opened.
    Memory mapped at address 0xffff9055a000.
    Read at address  0x03020034 (0xffff9055a034): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020036
    /dev/mem opened.
    Memory mapped at address 0xffffa33d8000.
    Read at address  0x03020036 (0xffffa33d8034): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020038
    /dev/mem opened.
    Memory mapped at address 0xffff9e69f000.
    Read at address  0x03020038 (0xffff9e69f038): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302003a
    /dev/mem opened.
    Memory mapped at address 0xffff9e553000.
    Read at address  0x0302003A (0xffff9e553038): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302003c
    /dev/mem opened.
    Memory mapped at address 0xffff9dc96000.
    Read at address  0x0302003C (0xffff9dc9603c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302005c
    /dev/mem opened.
    Memory mapped at address 0xffffa1a5d000.
    Read at address  0x0302005C (0xffffa1a5d05c): 0x44D10903
    

    Register reading of spl:

    devmem2 0x03020000
    /dev/mem opened.
    Memory mapped at address 0xffff8020f000.
    Read at address  0x03020000 (0xffff8020f000): 0x00010280
    root@j721s2-evm:~# devmem2 0x03020002
    /dev/mem opened.
    Memory mapped at address 0xffff81853000.
    Read at address  0x03020002 (0xffff81853000): 0x00010280
    root@j721s2-evm:~# devmem2 0x03020004
    /dev/mem opened.
    Memory mapped at address 0xffff903d9000.
    Read at address  0x03020004 (0xffff903d9004): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020008
    /dev/mem opened.
    Memory mapped at address 0xffff83a9b000.
    Read at address  0x03020008 (0xffff83a9b008): 0xF424A24D
    root@j721s2-evm:~# devmem2 0x0302000a
    /dev/mem opened.
    Memory mapped at address 0xffffbce3d000.
    Read at address  0x0302000A (0xffffbce3d008): 0xF4245FE8
    root@j721s2-evm:~# devmem2 0x0302000e
    /dev/mem opened.
    Memory mapped at address 0xffffba1f5000.
    Read at address  0x0302000E (0xffffba1f500c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020010
    /dev/mem opened.
    Memory mapped at address 0xffffbb857000.
    Read at address  0x03020010 (0xffffbb857010): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020012
    /dev/mem opened.
    Memory mapped at address 0xffff8177a000.
    Read at address  0x03020012 (0xffff8177a010): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020014
    /dev/mem opened.
    Memory mapped at address 0xffff84f34000.
    Read at address  0x03020014 (0xffff84f34014): 0x001A0000
    root@j721s2-evm:~# devmem2 0x03020016
    /dev/mem opened.
    Memory mapped at address 0xffffaab90000.
    Read at address  0x03020016 (0xffffaab90014): 0x001A0000
    root@j721s2-evm:~# devmem2 0x03020018
    /dev/mem opened.
    Memory mapped at address 0xffff83aaf000.
    Read at address  0x03020018 (0xffff83aaf018): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001a
    /dev/mem opened.
    Memory mapped at address 0xffff8fcde000.
    Read at address  0x0302001A (0xffff8fcde018): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001c
    /dev/mem opened.
    Memory mapped at address 0xffff9098a000.
    Read at address  0x0302001C (0xffff9098a01c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302001e
    /dev/mem opened.
    Memory mapped at address 0xffffa9b23000.
    Read at address  0x0302001E (0xffffa9b2301c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020020
    /dev/mem opened.
    Memory mapped at address 0xffffa7bc0000.
    Read at address  0x03020020 (0xffffa7bc0020): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020022
    /dev/mem opened.
    Memory mapped at address 0xffff8d107000.
    Read at address  0x03020022 (0xffff8d107020): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020024
    /dev/mem opened.
    Memory mapped at address 0xffff8994c000.
    Read at address  0x03020024 (0xffff8994c024): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020028
    /dev/mem opened.
    Memory mapped at address 0xffffa03ad000.
    Read at address  0x03020028 (0xffffa03ad028): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302002a
    /dev/mem opened.
    Memory mapped at address 0xffffaffcc000.
    Read at address  0x0302002A (0xffffaffcc028): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302002c
    /dev/mem opened.
    Memory mapped at address 0xffffbd1c2000.
    Read at address  0x0302002C (0xffffbd1c202c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302002e
    /dev/mem opened.
    Memory mapped at address 0xffffad6db000.
    Read at address  0x0302002E (0xffffad6db02c): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020030
    /dev/mem opened.
    Memory mapped at address 0xffff9f637000.
    Read at address  0x03020030 (0xffff9f637030): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020032
    /dev/mem opened.
    Memory mapped at address 0xffffb0f87000.
    Read at address  0x03020032 (0xffffb0f87030): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020034
    /dev/mem opened.
    Memory mapped at address 0xffff8df8a000.
    Read at address  0x03020034 (0xffff8df8a034): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020036
    /dev/mem opened.
    Memory mapped at address 0xffff8c405000.
    Read at address  0x03020036 (0xffff8c405034): 0x00000000
    root@j721s2-evm:~# devmem2 0x03020038
    /dev/mem opened.
    Memory mapped at address 0xffffadfd8000.
    Read at address  0x03020038 (0xffffadfd8038): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302003a
    /dev/mem opened.
    Memory mapped at address 0xffff8b272000.
    Read at address  0x0302003A (0xffff8b272038): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302003c
    /dev/mem opened.
    Memory mapped at address 0xffff91327000.
    Read at address  0x0302003C (0xffff9132703c): 0x00000000
    root@j721s2-evm:~# devmem2 0x0302005c
    /dev/mem opened.
    Memory mapped at address 0xffffa9352000.
    Read at address  0x0302005C (0xffffa935205c): 0x44D10903
    
    

  • We find that the two startup modes of the ctrl_mmr register are different

    spl:

    devmem2 0x00104148
    /dev/mem opened.
    Memory mapped at address 0xffffa4ef4000.
    Read at address  0x00104148 (0xffffa4ef4148): 0x00000001

    sbl:

    devmem2 0x00104148
    /dev/mem opened.
    Memory mapped at address 0xffff9572c000.
    Read at address  0x00104148 (0xffff9572c148): 0x00000000

    tbclk Not enable。But we do not know why tbclk is not enabled after the enable of sbl for the two startup modes and the same pwm driver

  • Problem resolved The mmr register was locked causing tbclk to not be enabled