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.

[参考译文] DRA821U:启用 MCU_CLKOUT0输出

Guru**** 2466550 points
Other Parts Discussed in Thread: J7200XSOMXEVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1469556/dra821u-enabling-the-mcu_clkout0-output

器件型号:DRA821U
Thread 中讨论的其他器件:J7200XSOMXEVM

工具与软件:

大家好、团队成员:

我们 已根据 J7200XSOMXEVM 参考设计设计设计了定制电路板。

我们正在使用 PROCESSOR-SDK-LINUX-RT J7200(10.00.07.03)为定制电路板开发软件。

定制电路板的 MCU_CPSW 具有以下配置。

要启用 MCU_CLKOUT0时钟输出、将 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 寄存器(0x40F08010)的位4设置为1。

但是、MCU_CLKOUT0时钟不输出。

[设备树]

&wkup_pmx2 {

	...

	ethernet_pins_default: ethernet-pins_default-pins {
		pinctrl-single,pins = <
			J721E_WKUP_IOPAD(0x00, PIN_INPUT, 1) /* (D11) MCU_RGMII1_TX_CTL.MCU_RMII1_CRS_DV */
			J721E_WKUP_IOPAD(0x04, PIN_INPUT, 1) /* (A11) MCU_RGMII1_RX_CTL.MCU_RMII1_RX_ER */
			J721E_WKUP_IOPAD(0x10, PIN_OUTPUT, 1) /* (B11) MCU_RGMII1_TD1.MCU_RMII1_TXD1 */
			J721E_WKUP_IOPAD(0x14, PIN_OUTPUT, 1) /* (D10) MCU_RGMII1_TD0.MCU_RMII1_TXD0 */
			J721E_WKUP_IOPAD(0x18, PIN_OUTPUT, 1) /* (A12) MCU_RGMII1_TXC.MCU_RMII1_TX_EN */
			J721E_WKUP_IOPAD(0x1c, PIN_INPUT, 1) /* (B10) MCU_RGMII1_RXC.MCU_RMII1_REF_CLK */
			J721E_WKUP_IOPAD(0x28, PIN_INPUT, 1) /* (B9) MCU_RGMII1_RD1.MCU_RMII1_RXD1 */
			J721E_WKUP_IOPAD(0x2c, PIN_INPUT, 1) /* (A9) MCU_RGMII1_RD0.MCU_RMII1_RXD0 */
		>;
	};

	dp83822_mdio_pins_default: dp83822-mdio-default-pins {
		pinctrl-single,pins = <
			J721E_WKUP_IOPAD(0x34, PIN_OUTPUT, 0) /* (D9) MCU_MDIO0_MDC */
			J721E_WKUP_IOPAD(0x30, PIN_INPUT, 0) /* (C9) MCU_MDIO0_MDIO */
		>;
	};

	mcu_clkout_pins_default: mcu-clkout-default-pins {
		pinctrl-single,pins = <
			J721E_WKUP_IOPAD(0x83, PIN_OUTPUT, 6) /* (C16) WKUP_GPIO0_11.MCU_CLKOUT0 */
		>;
	};
	
	...
	
};

...

&mcu_cpsw {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&ethernet_pins_default>, <&dp83822_mdio_pins_default>;
};

&davinci_mdio {
	status = "okay";
	phy0: ethernet-phy@0 {
		reg = <0>;
		rx-internal-delay-ps = <1>;
		tx-internal-delay-ps = <1>;
	};
};

&cpsw_port1 {
	status = "okay";
	phy-mode = "rmii";
	phy-handle = <&phy0>;
};

...

[CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL]

~# devmem2 0x40F08010
/dev/mem opened.
Memory mapped at address 0xffff93904000.
Read at address  0x40F08010 (0xffff93904010): 0x00000000

~# devmem2 0x40F08010 w 0x10
/dev/mem opened.
Memory mapped at address 0xffffafc80000.
Read at address  0x40F08010 (0xffffafc80010): 0x00000000
Write at address 0x40F08010 (0xffffafc80010): 0x00000010, readback 0x00000010

~# devmem2 0x40F08010
/dev/mem opened.
Memory mapped at address 0xffff9e1f4000.
Read at address  0x40F08010 (0xffff9e1f4010): 0x00000010

我们如何启用 MCU_CLKOUT0时钟输出?

此外、是否可以在器件树设置中将 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 的第4位设置为1?

此致、

Mizutani

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

    嗨、Mizutani-San、

    运行 devmem2后、您应该会在示波器上的 MCU_CLKOUT0引脚上看到时钟。 您能否检查它是否可见。

    您是否可以通过运行命令"k3conf dump clock"来转储器件中的时钟并在此处共享命令的输出?

    此致、
    Tanmay

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

    您好!

    您是否有关于此问题的任何更新?

    此致、

    Mizutani

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

    您好!

    您能否通过参考 mcu_cpsw 节点下的"mcu_clkout_pins_default"节点进行检查?

    此外、读取寄存器值 "0x1C0EC"并与我们共享。

    此致、
    Sudheer

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

    您好!

    "mcu_cpsw"节点下没有"mcu_clkout_pins_default"节点。
    您能否提供添加"mcu_clkout_pins_default"节点的示例代码?

    和 CTRLMMR_PADCONFIG59寄存器(偏移= 1C0ECh)的内容如下所示。

    此致、

    Mizutani

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

    您好!

    下面显示了 CTRLMMR_PADCONFIG59寄存器(偏移= 1C0ECh)的内容。

    它显示没有为 MCU_CLKOUT 引脚配置引脚多路复用。

    在"mcu_cpsw"节点下没有"mcu_clkout_pins_default"节点。
    您能否提供添加"mcu_clkout_pins_default"节点的示例代码?[/quot]

    在上面的器件树文件中、您已在"wkup_pmx2"下添加了"mcu_clkout_pins_default"节点、但"mcu_clkout_pins_default"在任何位置都未引用。

    mcu_clkout_pins_default:mcu-clkout-default-pins{
    PINCTL-SINGLE、PINS =<
    J721E_WKUP_IOPAD (0x83、PIN_OUTPUT、6)/*(C16) WKUP_GPIO0_11.MCU_CLKOUT0 */
    >;
    };

    请从 mcu_cpsw 中添加"mcu_clkout_pins_default"节点参考、如下面的所示并检查一次。

    &mcu_cpsw {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&ethernet_pins_default>, <&dp83822_mdio_pins_default>, <&mcu_clkout_pins_default>;
    };


    此致、
    Sudheer

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

    您好!

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1469556/dra821u-enabling-the-mcu_clkout0-output/5656329 #5656329"]mcu_clkout_pins_default:mcu-clkout-default-pins{
    PINCTL-SINGLE、PINS =<
    J721E_WKUP_IOPAD (0x83、PIN_OUTPUT、6)/*(C16) WKUP_GPIO0_11.MCU_CLKOUT0 */
    >;
    };

    上述偏移量应为0x84、而不是0x83。

    请通过下面的进行检查。
    J721E_WKUP_IOPAD (0x84、PIN_OUTPUT、6)/*(C16) WKUP_GPIO0_11.MCU_CLKOUT0 */

    此致、
    Sudheer

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

    您好!

    谢谢。 我能够通过校正偏移来确认、50MHz 时钟是输出的。

    此外、是否可以在器件树设置中将 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 的第4位设置为1?

    此致、

    Mizutani

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

    您好!

    谢谢。 我能够通过校正偏移来确认、输出了50MHz 时钟。[/QUOT]

    很高兴听到!

    [报价用户 id="298257" url="~/support/processors-group/processors/f/processors-forum/1469556/dra821u-enabling-the-mcu_clkout0-output/5656697 #5656697"]此外、是否可以在器件树设置中将 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 的第4位设置为1?[/QUOT]

    很遗憾、我们无法从设备树中设置此项、您需要使用驱动程序才能使用设备树中的某个属性来执行此操作。
    您可以 使用 devmem2来执行该操作。

    此致、
    Sudheer