【MA35D1】如何设置RTC长按关机

qwang |浏览38次
收藏|2024/04/25 11:26

满意回答

2024/04/25 11:38

代码位置:/MA35D1_arm-trusted-firmware-v2.3/blob/master/plat/nuvoton/ma35d1/ma35d1_common.c

/* Enable RTC clock */

mmio_write_32(CLK_APBCLK0, mmio_read_32(CLK_APBCLK0) | (0x1 << 29));

if (fdt_read_uint32_default(fdt, node, "rtc-pwrctl-enable", 1) == 1)

mmio_write_32((0x40410180),

mmio_read_32((0x40410180)) |

0x5aa50040);  /* power control enable */

else /* power control disable */

mmio_write_32((0x40410180),

(mmio_read_32((0x40410180)) & ~0xffff0040) |

0x5aa50000);

需要修改atf里面写入RTC_PWRCTL寄存器的值:

Bit12 bit13设置时间

Bit2置1


代码默认写入值是0x5aa50040,例如:bit12 bit13设置为11,那么红框内的值可以修改为0x5aa53044.

修改好后需要重新编译arm-trusted-firmware,然后再make.

注意:写入的时候前面要5aa5,参考CRM文档:User has to write a number (0x5aa5) to PWRSTCLR to set or clear PWRST.


蔡芳芳

其他回答(0)
0人关注该问题
+1
 加载中...