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:SBL 在没有 PWM 输出的情况下启动

Guru**** 1812430 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1431880/tda4vl-q1-the-sbl-starts-without-pwm-output

器件型号:TDA4VL-Q1

工具与软件:

我们在 SPL 启动时遇到了 PWM 输出问题、但在切换到 SBL 启动时没有 PWM 输出。我们使用 ac28的引脚、我们比较了两种启动方法的引脚多路复用为相同的。

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

设置 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";
};   
    

请帮助检查、谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请注意、TI 资源在本周余下时间不在办公室、可能会延迟回复。

    此致、

    kb

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    读取 PWM 寄存器的接下来两种模式是相同的

    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
    

    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
    
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们发现 ctrl_mr 寄存器的两种启动模式是不同的

    SPL:

    devmem2 0x00104148
    /dev/mem 打开。
    存储器映射在地址0xffa4ef4000。
    在地址 0x00104148 (0xffffff4ef4148)处读取:0x00000001

    SBL:Ω

    devmem2 0x00104148
    /dev/mem 打开。
    存储器映射在地址0xff9572c000处。
    在地址 0x00104148 (0xffffff9572c148)上读取:0x00000000

    TBCLK 未启用。、但我们不知道为何在两种启动模式和同一 PWM 驱动器启用 SBL 后未启用 TBCLK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已解决 MMR 寄存器已锁定、导致未启用 TBCLK