<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Processor Expert SoftwareのトピックTJA1101B driver</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/TJA1101B-driver/m-p/1362499#M4884</link>
    <description>&lt;P&gt;Hello experts&lt;/P&gt;&lt;P&gt;I have a product board using TI processor with two Ethernet interface port are connected to two TJA1101B PHY.&lt;/P&gt;&lt;P&gt;1. The kernel_5.10 has already had the nxp-tja11xx.c driver supported TJA1101B. with two PHY device, I need to change the code as below, is it right?&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;static struct phy_driver tja11xx_driver[] = {
{
 PHY_ID_MATCH_MODEL(PHY_ID_TJA1101),
.name = "NXP TJA1101 Port1",
.features = PHY_BASIC_T1_FEATURES,
.probe = tja11xx_probe,
.soft_reset = tja11xx_soft_reset,
.config_aneg = tja11xx_config_aneg,
.config_init = tja11xx_config_init,
.read_status = tja11xx_read_status,
.get_sqi = tja11xx_get_sqi,
.get_sqi_max = tja11xx_get_sqi_max,
.suspend = genphy_suspend,
.resume = genphy_resume,
.set_loopback = genphy_loopback,
/* Statistics */
.get_sset_count = tja11xx_get_sset_count,
.get_strings = tja11xx_get_strings,
.get_stats = tja11xx_get_stats,
},
{
PHY_ID_MATCH_MODEL(PHY_ID_TJA1101),
.name = "NXP TJA1101 Port2",
.features = PHY_BASIC_T1_FEATURES,
.probe = tja11xx_probe,
.soft_reset = tja11xx_soft_reset,
.config_aneg = tja11xx_config_aneg,
.config_init = tja11xx_config_init,
.read_status = tja11xx_read_status,
.get_sqi = tja11xx_get_sqi,
.get_sqi_max = tja11xx_get_sqi_max,
.suspend = genphy_suspend,
.resume = genphy_resume,
.set_loopback = genphy_loopback,
/* Statistics */
.get_sset_count = tja11xx_get_sset_count,
.get_strings = tja11xx_get_strings,
.get_stats = tja11xx_get_stats,
},
}&lt;/LI-CODE&gt;&lt;P&gt;2. With TJA1101B port1 MDIO address is 0x00, TJA1101B port2 MDIO address is 0x02&lt;/P&gt;&lt;P&gt;And I refer to the device tree inside the linux-imx in order to port it inside my kernel with contents of node as below&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;amp;ether_port1 {
	phy-mode = "rmii";
	phy-handle = &amp;lt;&amp;amp;ether_phy1&amp;gt;;
	interrupt-parent = &amp;lt;&amp;amp;main_gpio1&amp;gt;;
	interrupts = &amp;lt;22 IRQ_TYPE_LEVEL_LOW&amp;gt;;			/* V3 (GPIO1_22) interrupt */
	reset-gpios =  &amp;lt;&amp;amp;main_gpio1 21 GPIO_ACTIVE_LOW&amp;gt;;/* W2 (GPIO1_21) */
	reset-delay-us = &amp;lt;10&amp;gt;;							/* reset detection times: 5 - 20 uS */
	en-gpios = &amp;lt;&amp;amp;main_gpio1 20 GPIO_ACTIVE_LOW&amp;gt;;	/* Y2 (GPIO1_20) */
	en-delay-us = &amp;lt;10&amp;gt;;								/* detection time on pin EN */
};

&amp;amp;ether_port2 {
	phy-mode = "rmii";
	phy-handle = &amp;lt;&amp;amp;ether_phy2&amp;gt;;
	interrupt-parent = &amp;lt;&amp;amp;main_gpio0&amp;gt;;
	interrupts = &amp;lt;48 IRQ_TYPE_LEVEL_LOW	&amp;gt;;			/* V8 (GPIO0_48) interrupt */
	reset-gpios =  &amp;lt;&amp;amp;main_gpio0 47 GPIO_ACTIVE_LOW&amp;gt;;/* W8 (GPIO0_47) */
	reset-delay-us = &amp;lt;10&amp;gt;;							/* reset detection times: 5 - 20 uS */
	en-gpios = &amp;lt;&amp;amp;main_gpio0 46 GPIO_ACTIVE_LOW&amp;gt;;	/* U8 (GPIO0_46) */
	en-delay-us = &amp;lt;10&amp;gt;;								/* detection time on pin EN */
};

&amp;amp;ether_mdio {
	ether_phy1: ethernet-phy@0 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = &amp;lt;0&amp;gt;;
		tja110x,refclk_in;
	};
	ether_phy2: ethernet-phy@2 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = &amp;lt;2&amp;gt;;
		tja110x,refclk_in;
	};
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;could you recommend me about the solution of PHY-EN, PHY-RST, PHY-INT pin in the PHY driver?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Oct 2021 14:44:28 GMT</pubDate>
    <dc:creator>Thinhnt7</dc:creator>
    <dc:date>2021-10-27T14:44:28Z</dc:date>
    <item>
      <title>TJA1101B driver</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/TJA1101B-driver/m-p/1362499#M4884</link>
      <description>&lt;P&gt;Hello experts&lt;/P&gt;&lt;P&gt;I have a product board using TI processor with two Ethernet interface port are connected to two TJA1101B PHY.&lt;/P&gt;&lt;P&gt;1. The kernel_5.10 has already had the nxp-tja11xx.c driver supported TJA1101B. with two PHY device, I need to change the code as below, is it right?&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;static struct phy_driver tja11xx_driver[] = {
{
 PHY_ID_MATCH_MODEL(PHY_ID_TJA1101),
.name = "NXP TJA1101 Port1",
.features = PHY_BASIC_T1_FEATURES,
.probe = tja11xx_probe,
.soft_reset = tja11xx_soft_reset,
.config_aneg = tja11xx_config_aneg,
.config_init = tja11xx_config_init,
.read_status = tja11xx_read_status,
.get_sqi = tja11xx_get_sqi,
.get_sqi_max = tja11xx_get_sqi_max,
.suspend = genphy_suspend,
.resume = genphy_resume,
.set_loopback = genphy_loopback,
/* Statistics */
.get_sset_count = tja11xx_get_sset_count,
.get_strings = tja11xx_get_strings,
.get_stats = tja11xx_get_stats,
},
{
PHY_ID_MATCH_MODEL(PHY_ID_TJA1101),
.name = "NXP TJA1101 Port2",
.features = PHY_BASIC_T1_FEATURES,
.probe = tja11xx_probe,
.soft_reset = tja11xx_soft_reset,
.config_aneg = tja11xx_config_aneg,
.config_init = tja11xx_config_init,
.read_status = tja11xx_read_status,
.get_sqi = tja11xx_get_sqi,
.get_sqi_max = tja11xx_get_sqi_max,
.suspend = genphy_suspend,
.resume = genphy_resume,
.set_loopback = genphy_loopback,
/* Statistics */
.get_sset_count = tja11xx_get_sset_count,
.get_strings = tja11xx_get_strings,
.get_stats = tja11xx_get_stats,
},
}&lt;/LI-CODE&gt;&lt;P&gt;2. With TJA1101B port1 MDIO address is 0x00, TJA1101B port2 MDIO address is 0x02&lt;/P&gt;&lt;P&gt;And I refer to the device tree inside the linux-imx in order to port it inside my kernel with contents of node as below&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;amp;ether_port1 {
	phy-mode = "rmii";
	phy-handle = &amp;lt;&amp;amp;ether_phy1&amp;gt;;
	interrupt-parent = &amp;lt;&amp;amp;main_gpio1&amp;gt;;
	interrupts = &amp;lt;22 IRQ_TYPE_LEVEL_LOW&amp;gt;;			/* V3 (GPIO1_22) interrupt */
	reset-gpios =  &amp;lt;&amp;amp;main_gpio1 21 GPIO_ACTIVE_LOW&amp;gt;;/* W2 (GPIO1_21) */
	reset-delay-us = &amp;lt;10&amp;gt;;							/* reset detection times: 5 - 20 uS */
	en-gpios = &amp;lt;&amp;amp;main_gpio1 20 GPIO_ACTIVE_LOW&amp;gt;;	/* Y2 (GPIO1_20) */
	en-delay-us = &amp;lt;10&amp;gt;;								/* detection time on pin EN */
};

&amp;amp;ether_port2 {
	phy-mode = "rmii";
	phy-handle = &amp;lt;&amp;amp;ether_phy2&amp;gt;;
	interrupt-parent = &amp;lt;&amp;amp;main_gpio0&amp;gt;;
	interrupts = &amp;lt;48 IRQ_TYPE_LEVEL_LOW	&amp;gt;;			/* V8 (GPIO0_48) interrupt */
	reset-gpios =  &amp;lt;&amp;amp;main_gpio0 47 GPIO_ACTIVE_LOW&amp;gt;;/* W8 (GPIO0_47) */
	reset-delay-us = &amp;lt;10&amp;gt;;							/* reset detection times: 5 - 20 uS */
	en-gpios = &amp;lt;&amp;amp;main_gpio0 46 GPIO_ACTIVE_LOW&amp;gt;;	/* U8 (GPIO0_46) */
	en-delay-us = &amp;lt;10&amp;gt;;								/* detection time on pin EN */
};

&amp;amp;ether_mdio {
	ether_phy1: ethernet-phy@0 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = &amp;lt;0&amp;gt;;
		tja110x,refclk_in;
	};
	ether_phy2: ethernet-phy@2 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = &amp;lt;2&amp;gt;;
		tja110x,refclk_in;
	};
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;could you recommend me about the solution of PHY-EN, PHY-RST, PHY-INT pin in the PHY driver?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Oct 2021 14:44:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/TJA1101B-driver/m-p/1362499#M4884</guid>
      <dc:creator>Thinhnt7</dc:creator>
      <dc:date>2021-10-27T14:44:28Z</dc:date>
    </item>
  </channel>
</rss>

