.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_CN.rst :Original: Documentation/arch/mips/ingenic-tcu.rst :翻译: å¸å»¶è…¾ Yanteng Si <siyanteng@loongson.cn> .. _cn_ingenic-tcu: =============================================== 囿£ JZ47xx SoC定时器/计数器硬件å•å…ƒ =============================================== 囿£ JZ47xx SoCä¸çš„定时器/计数器å•å…ƒ(TCU)是一个多功能硬件å—。它有多达 8个通é“,å¯ä»¥ç”¨ä½œè®¡æ•°å™¨ï¼Œè®¡æ—¶å™¨ï¼Œæˆ–脉冲宽度调制器。 - JZ4725B, JZ4750, JZ4755 åªæœ‰ï¼–个TCU通é“。其它SoC都有8个通é“。 - JZ4725B引入了一个独立的通é“,称为æ“作系统计时器(OST)。这是一个32ä½å¯ 编程定时器。在JZ4760BåŠä»¥ä¸Šåž‹å·ä¸Šï¼Œå®ƒæ˜¯64ä½çš„。 - æ¯ä¸ªTCU通é“都有自己的时钟æºï¼Œå¯ä»¥é€šè¿‡ TCSR 寄å˜å™¨è®¾ç½®é€šé“的父级时钟 æºï¼ˆpclkã€extã€rtc)ã€å¼€å…³ä»¥åŠåˆ†é¢‘。 - 看门狗和OST硬件模å—在它们的寄å˜å™¨ç©ºé—´ä¸ä¹Ÿæœ‰ç›¸åŒå½¢å¼çš„TCSR寄å˜å™¨ã€‚ - 用于关é—/å¼€å¯çš„ TCU 寄å˜å™¨ä¹Ÿå¯ä»¥å…³é—/å¼€å¯çœ‹é—¨ç‹—å’Œ OST 时钟。 - æ¯ä¸ªTCU通é“åœ¨ä¸¤ç§æ¨¡å¼çš„å…¶ä¸ä¸€ç§æ¨¡å¼ä¸‹è¿è¡Œï¼š - æ¨¡å¼ TCU1ï¼šé€šé“æ— 法在ç¡çœ 模å¼ä¸‹è¿è¡Œï¼Œä½†æ›´æ˜“于æ“作。 - æ¨¡å¼ TCU2:通é“å¯ä»¥åœ¨ç¡çœ 模å¼ä¸‹è¿è¡Œï¼Œä½†æ“作比 TCU1 通é“夿‚一些。 - æ¯ä¸ª TCU 通é“的模å¼å–决于使用的SoC: - 在最è€çš„SoC(高于JZ4740),八个通é“都è¿è¡Œåœ¨TCU1模å¼ã€‚ - 在 JZ4725B,通é“5è¿è¡Œåœ¨TCU2,其它通é“则è¿è¡Œåœ¨TCU1。 - 在最新的SoC(JZ4750åŠä¹‹åŽï¼‰ï¼Œé€šé“1-2è¿è¡Œåœ¨TCU2,其它通é“则è¿è¡Œ 在TCU1。 - æ¯ä¸ªé€šé“都å¯ä»¥ç”Ÿæˆä¸æ–。有些通é“共享一æ¡ä¸æ–线,而有些没有,其在SoCåž‹ å·ä¹‹é—´çš„å˜æ›´ï¼š - 在很è€çš„SoC(JZ4740åŠæ›´ä½Žï¼‰ï¼Œé€šé“0和通é“1æœ‰å®ƒä»¬è‡ªå·±çš„ä¸æ–线;通 é“2-7共享最åŽä¸€æ¡ä¸æ–线。 - 在 JZ4725B,通é“0æœ‰å®ƒè‡ªå·±çš„ä¸æ–线;通é“1-5共享一æ¡ä¸æ–线;OST 使用最åŽä¸€æ¡ä¸æ–线。 - 在比较新的SoC(JZ4750åŠä»¥åŽï¼‰ï¼Œé€šé“5æœ‰å®ƒè‡ªå·±çš„ä¸æ–线;通 é“0-4和(如果是8通é“)6-7全部共享一æ¡ä¸æ–线;OST使用最åŽä¸€æ¡ä¸ æ–线。 实现 ==== TCU硬件的功能分布在多个驱动程åºï¼š ============== =================================== æ—¶é’Ÿ drivers/clk/ingenic/tcu.c 䏿– drivers/irqchip/irq-ingenic-tcu.c 定时器 drivers/clocksource/ingenic-timer.c OST drivers/clocksource/ingenic-ost.c 脉冲宽度调制器 drivers/pwm/pwm-jz4740.c 看门狗 drivers/watchdog/jz4740_wdt.c ============== =================================== å› ä¸ºå¯ä»¥ä»Žç›¸åŒçš„寄å˜å™¨æŽ§åˆ¶å±žäºŽä¸åŒé©±åŠ¨ç¨‹åºå’Œæ¡†æž¶çš„TCUçš„å„ç§åŠŸèƒ½ï¼Œæ‰€ä»¥ 所有这些驱动程åºéƒ½é€šè¿‡ç›¸åŒçš„æŽ§åˆ¶æ€»çº¿é€šç”¨æŽ¥å£è®¿é—®å®ƒä»¬çš„寄å˜å™¨ã€‚ 有关TCU驱动程åºçš„è®¾å¤‡æ ‘ç»‘å®šçš„æ›´å¤šä¿¡æ¯ï¼Œè¯·å‚阅: Documentation/devicetree/bindings/timer/ingenic,tcu.yaml.