工具与软件:
您好、
目前我们在设计以太网时使用了 ICSSG0、将 PHY 芯片 DP83867的 RESET 引脚连接到 SOC 的 P4引脚。 我们需要在器件树中配置引脚、以实现上电后拉低和拉高的过程。 这可以实现吗? 如果可能、应如何做到这一点?
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.
工具与软件:
您好、
目前我们在设计以太网时使用了 ICSSG0、将 PHY 芯片 DP83867的 RESET 引脚连接到 SOC 的 P4引脚。 我们需要在器件树中配置引脚、以实现上电后拉低和拉高的过程。 这可以实现吗? 如果可能、应如何做到这一点?
您好、Wanglili、
我希望您可以向 MDIO devicetre 节点添加一个"RESET-GPIOs"条目。
如果您使用 AM64x EVM 作为参考点、看起来我们将 GPIO 复位放置在 GPIO 扩展器上、而不是实际的硬件 GPIO 引脚。 我们定义了复位信号、但它实际上似乎并没有在当前 devicetree 文件中使用:
Linux SDK 10.0、 arch/arm64/boot/dts/ti/k3-am642-evm.dts
"GPIO_RGMII1_RST"为&exp1 3.
"GPIO_RGMII2_RST"为&exp1 4.
但两个 信号似乎都未被使用...
&main_i2c1 { bootph-all; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&main_i2c1_pins_default>; clock-frequency = <400000>; exp1: gpio@22 { bootph-all; compatible = "ti,tca6424"; reg = <0x22>; gpio-controller; #gpio-cells = <2>; gpio-line-names = "GPIO_eMMC_RSTn", "CAN_MUX_SEL", "GPIO_CPSW1_RST", "GPIO_RGMII1_RST", "GPIO_RGMII2_RST", "GPIO_PCIe_RST_OUT", "MMC1_SD_EN", "FSI_FET_SEL", "MCAN0_STB_3V3", "MCAN1_STB_3V3", "CPSW_FET_SEL", "CPSW_FET2_SEL", "PRG1_RGMII2_FET_SEL", "TEST_GPIO2", "GPIO_OLED_RESETn", "VPP_LDO_EN", "TEST_LED1", "TP92", "TP90", "TP88", "TP87", "TP86", "TP89", "TP91"; };
您可以看到一个示例、该示例说明了我希望在具有 CPSW 的 J7器件中如何查看:
arch/arm64/boot/dts/ti/k3-j784s4-evm-quad-port-eth-exp1.dtso
&main_cpsw0_mdio { pinctrl-names = "default"; pinctrl-0 = <&mdio0_default_pins>; bus_freq = <1000000>; reset-gpios = <&exp2 17 GPIO_ACTIVE_LOW>;
下面是 AM335x、SDK 8.2中关于 PRU-ICSS 器件的另一个示例:
arch/arm/boot/dts/am335x-icev2-prueth.dts
&pruss_mdio { pinctrl-0 = <&pruss_mdio_default>; pinctrl-names = "default"; reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; reset-delay-us = <2>; /* PHY datasheet states 1uS min */ status = "okay"; pruss_eth0_phy: ethernet-phy@1 { reg = <1>; }; pruss_eth1_phy: ethernet-phy@3 { reg = <3>; }; };
此致、
Nick
您好、
我根据上面的 AM335x 器件添加了复位、但当我在运行期间在示波器上对其进行检查时、发现该复位 没有效果。 具体内容如下
我添加了。 有什么不正确的地方吗?
net_rst_pin_default:net-rst-pin-default{ pinctrl-single,pins = < AM64X_IOPAD(0x01c4, PIN_OUTPUT, 7) /* (P4) PRG0_PRU1_GPO5 GPIO1_25 */ AM64X_IOPAD(0x0174, PIN_OUTPUT, 7) /* (R3) PRG0_PRU0_GPO5 GPIO1_5 */ >; }; &main_gpio1 { pinctrl-names = "default"; pinctrl-0 = <&net_rst_pin_default>; status = "okay"; }; &icssg0_mdio { pinctrl-names = "default"; pinctrl-0 = <&icssg0_mdio0_pins_default>; reset-gpios = <&main_gpio1 25 GPIO_ACTIVE_LOW>,<&main_gpio1 5 GPIO_ACTIVE_LOW>; reset-delay-us = <2>; /* PHY datasheet states 1uS min */ status = "okay"; icssg0_phy1: ethernet-phy@0 { reg = <0>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; }; icssg0_phy2: ethernet-phy@1 { reg = <1>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; }; };