<?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>i.MX ProcessorsのトピックFEC phyless RMII operation ... timing adjustment</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/FEC-phyless-RMII-operation-timing-adjustment/m-p/1550278#M197322</link>
    <description>&lt;P&gt;Customer needs to understand if there are design guidelines for Rx/Tx timing when doing layout of Ethernet traces between i.MX8MPlus and an FPGA.&lt;/P&gt;
&lt;P&gt;Q1) Is timing configurable via ENET regs ?&lt;/P&gt;
&lt;P&gt;Research : &lt;BR /&gt;&lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/net/fsl,fec.yaml?h=linux-5.15.y" target="_blank"&gt;https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/net/fsl,fec.yaml?h=linux-5.15.y&lt;/A&gt; shows the following device tree bindings :&lt;/P&gt;
&lt;P&gt;tx-internal-delay-ps:&lt;BR /&gt;enum: [0, 2000]&lt;/P&gt;
&lt;P&gt;rx-internal-delay-ps:&lt;BR /&gt;enum: [0, 2000]&lt;/P&gt;
&lt;P&gt;Checking the driver &lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-5.15.y" target="_blank"&gt;https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-5.15.y&lt;/A&gt; shows that this property applies to RGMII ... it is not clear if this also applies to RMIII ?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE style="padding: 0px; margin: 0px; color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;SPAN class="k"&gt;static&lt;/SPAN&gt; &lt;SPAN class="kt"&gt;int&lt;/SPAN&gt; &lt;SPAN class="nf"&gt;fec_enet_parse_rgmii_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;struct&lt;/SPAN&gt; &lt;SPAN class="n"&gt;fec_enet_private&lt;/SPAN&gt; &lt;SPAN class="o"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt;
				      &lt;SPAN class="k"&gt;struct&lt;/SPAN&gt; &lt;SPAN class="n"&gt;device_node&lt;/SPAN&gt; &lt;SPAN class="o"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
	&lt;SPAN class="n"&gt;u32&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;

	&lt;SPAN class="cm"&gt;/* For rgmii tx internal delay, valid values are 0ps and 2000ps */&lt;/SPAN&gt;
	&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;!&lt;/SPAN&gt;&lt;SPAN class="n"&gt;of_property_read_u32&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"tx-internal-delay-ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;))&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
		&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;dev_err&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;pdev&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;dev&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"The only allowed RGMII TX delay values are: 0ps, 2000ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;
			&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="o"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;EINVAL&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt; &lt;SPAN class="k"&gt;else&lt;/SPAN&gt; &lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;==&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_txc_dly&lt;/SPAN&gt; &lt;SPAN class="o"&gt;=&lt;/SPAN&gt; &lt;SPAN class="nb"&gt;true&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;
	&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;

	&lt;SPAN class="cm"&gt;/* For rgmii rx internal delay, valid values are 0ps and 2000ps */&lt;/SPAN&gt;
	&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;!&lt;/SPAN&gt;&lt;SPAN class="n"&gt;of_property_read_u32&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"rx-internal-delay-ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;))&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
		&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;dev_err&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;pdev&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;dev&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"The only allowed RGMII RX delay values are: 0ps, 2000ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;
			&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="o"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;EINVAL&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt; &lt;SPAN class="k"&gt;else&lt;/SPAN&gt; &lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;==&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rxc_dly&lt;/SPAN&gt; &lt;SPAN class="o"&gt;=&lt;/SPAN&gt; &lt;SPAN class="nb"&gt;true&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;
	&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;

	&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 08 Nov 2022 10:08:48 GMT</pubDate>
    <dc:creator>peterva</dc:creator>
    <dc:date>2022-11-08T10:08:48Z</dc:date>
    <item>
      <title>FEC phyless RMII operation ... timing adjustment</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/FEC-phyless-RMII-operation-timing-adjustment/m-p/1550278#M197322</link>
      <description>&lt;P&gt;Customer needs to understand if there are design guidelines for Rx/Tx timing when doing layout of Ethernet traces between i.MX8MPlus and an FPGA.&lt;/P&gt;
&lt;P&gt;Q1) Is timing configurable via ENET regs ?&lt;/P&gt;
&lt;P&gt;Research : &lt;BR /&gt;&lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/net/fsl,fec.yaml?h=linux-5.15.y" target="_blank"&gt;https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/net/fsl,fec.yaml?h=linux-5.15.y&lt;/A&gt; shows the following device tree bindings :&lt;/P&gt;
&lt;P&gt;tx-internal-delay-ps:&lt;BR /&gt;enum: [0, 2000]&lt;/P&gt;
&lt;P&gt;rx-internal-delay-ps:&lt;BR /&gt;enum: [0, 2000]&lt;/P&gt;
&lt;P&gt;Checking the driver &lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-5.15.y" target="_blank"&gt;https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-5.15.y&lt;/A&gt; shows that this property applies to RGMII ... it is not clear if this also applies to RMIII ?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE style="padding: 0px; margin: 0px; color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;SPAN class="k"&gt;static&lt;/SPAN&gt; &lt;SPAN class="kt"&gt;int&lt;/SPAN&gt; &lt;SPAN class="nf"&gt;fec_enet_parse_rgmii_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;struct&lt;/SPAN&gt; &lt;SPAN class="n"&gt;fec_enet_private&lt;/SPAN&gt; &lt;SPAN class="o"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt;
				      &lt;SPAN class="k"&gt;struct&lt;/SPAN&gt; &lt;SPAN class="n"&gt;device_node&lt;/SPAN&gt; &lt;SPAN class="o"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
	&lt;SPAN class="n"&gt;u32&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;

	&lt;SPAN class="cm"&gt;/* For rgmii tx internal delay, valid values are 0ps and 2000ps */&lt;/SPAN&gt;
	&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;!&lt;/SPAN&gt;&lt;SPAN class="n"&gt;of_property_read_u32&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"tx-internal-delay-ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;))&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
		&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;dev_err&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;pdev&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;dev&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"The only allowed RGMII TX delay values are: 0ps, 2000ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;
			&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="o"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;EINVAL&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt; &lt;SPAN class="k"&gt;else&lt;/SPAN&gt; &lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_tx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;==&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_txc_dly&lt;/SPAN&gt; &lt;SPAN class="o"&gt;=&lt;/SPAN&gt; &lt;SPAN class="nb"&gt;true&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;
	&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;

	&lt;SPAN class="cm"&gt;/* For rgmii rx internal delay, valid values are 0ps and 2000ps */&lt;/SPAN&gt;
	&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;!&lt;/SPAN&gt;&lt;SPAN class="n"&gt;of_property_read_u32&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;np&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"rx-internal-delay-ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt;&lt;SPAN class="p"&gt;))&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
		&lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt; &lt;SPAN class="o"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;dev_err&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;pdev&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;dev&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="s"&gt;"The only allowed RGMII RX delay values are: 0ps, 2000ps"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;
			&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="o"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;EINVAL&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt; &lt;SPAN class="k"&gt;else&lt;/SPAN&gt; &lt;SPAN class="k"&gt;if&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rx_delay&lt;/SPAN&gt; &lt;SPAN class="o"&gt;==&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="n"&gt;fep&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;rgmii_rxc_dly&lt;/SPAN&gt; &lt;SPAN class="o"&gt;=&lt;/SPAN&gt; &lt;SPAN class="nb"&gt;true&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;
	&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;

	&lt;SPAN class="k"&gt;return&lt;/SPAN&gt; &lt;SPAN class="mi"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2022 10:08:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/FEC-phyless-RMII-operation-timing-adjustment/m-p/1550278#M197322</guid>
      <dc:creator>peterva</dc:creator>
      <dc:date>2022-11-08T10:08:48Z</dc:date>
    </item>
  </channel>
</rss>

