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.
hi,
你好,我们想用以下引脚输出500K的时钟
https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j721e/clocks.html
查了clk,获取,但是没有波形输出
dts如下:
elmos@0 {
pinctrl-names = "default";
pinctrl-0 = <&spi_e521_clkref_pins_default>;
spi-max-frequency = <2000000>;
reg = <0>;
compatible = "elmos,e521.42";
clocks = <&k3_clks 157 82>;
clock-names = "elmos";
};
code:
ref_clk = devm_clk_get(&spi->dev,"elmos");
ret = clk_prepare_enable(ref_clk);
dev_dbg(&spi->dev, "elmosclk_prepare_enable ret%d\n",ret);
pinmux检测了是对应的,是如下这样子,模式2
但量到对应引脚没有波形输出
感谢您对TI产品的关注!为更加有效地解决您的问题,由于问题比较复杂,我需要询问TI资深工程师,再为您解答,一旦得到回复会立即回复给您。
我们已催促技术工程师,您可以查看英文贴了解进展TDA4VM: TDA4VM-clk output - Processors forum - Processors - TI E2E support forums
Hello,
Is this a PWM pin?
ecap0_in_apwm_ou
是的,可能从这个模块输出,但是操作模块的寄存器好像会crash
只读也会,我们暂时用的是sdk7.3,,在linux ,u-boot试过都是如此
Can I set it as a PWM one? If so, how can I set the output as 500k?
是的,如上,pwm输出,500k的方波即可
Kind regards,
Katherine
请问一下,ecap在sdk8.3中的linux中支持嘛?
我们自己写的code,
加上
+ power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
pm_runtime_enable(&pdev->dev);
ret = pm_runtime_get(&pdev->dev);
if (ret < 0) {
pm_runtime_put_noidle(&pdev->dev);
return ret;
}
crash问题暂时没有复现
我们操作了寄存器,按trm的例子,但没有输出对应的波形
reg_writel(pcap,ECAP_ECCTL,reg_readl(pcap,ECAP_ECCTL) | EC_APWM_MODE<<25);
reg_writel(pcap,ECAP_CAP1,1200);
reg_writel(pcap,ECAP_CNTPHS,0x0);
reg_writel(pcap,ECAP_ECCTL,0x0);
reg_writel(pcap,ECAP_ECCTL,reg_readl(pcap,ECAP_ECCTL)&(~(1<<26)));
reg_writel(pcap,ECAP_ECCTL,reg_readl(pcap,ECAP_ECCTL)&(~(1<<21)));
reg_writel(pcap,ECAP_ECCTL,reg_readl(pcap,ECAP_ECCTL)&(~(EC_SYNCO_DIS<<22)));
reg_writel(pcap,ECAP_ECCTL,reg_readl(pcap,ECAP_ECCTL) | 1<<20);
reg_writel(pcap,ECAP_CAP2,0x300);
请问一下应该怎样操作ecap0寄存器,才能让ecap0_in_apwm_out输出500K