Changes

Jump to: navigation, search

DESK-MX6-L/Pheripherals/Ethernet

782 bytes added, 15:51, 9 October 2020
no edit summary
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|X1.Y0.Z0|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Month YearOct 2020|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|TBD|-|-|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|[TBD_link X.Y.Z]|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Month Year|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|TBD|-|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...First DESK release
|-
|}
==Peripheral Ethernet ==
The ethernet interface is made available through the i.MX6 ''TBD: sostituire tutti i dump con le informazioni sull'uso della perifericafec'''interface which should be initialized on the device tree.
=== Device tree configuration ===
Here below an example of device tree configuration used on standard DAVE's kit for the AXEL Lite SOM:
From <code>''carrierimx6qdl-axelcommon.dts''dtsi </code>:
<pre>
&can1 fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1_axelpinctrl_enet_axel>; phy-mode = "rgmii"; phy-handle = <&ethphy>;
status = "okay";
 
mdio {
#address-cells = <1>;
#size-cells = <0>;
 
ethphy: ethernet-phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <7>;
};
};
};
</pre>
From <code>''carrier-common&iomuxc {...dtsi''</code>: <pre>... can1 enet { pinctrl_flexcan1_axelpinctrl_enet_axel: flexcan1axelgrpenetgrp-1 {
fsl,pins = <
MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x80000000MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x80000000MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0xb0b1 MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0xb0b1 MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0xb0b1
>;
};
};
...
...
};
</pre>
===Accessing the peripheral===
AXEL LITE SOM provides the network interface mapped at eth0.
 
====Linux messages at boot time====
...
...
[ 12.807495373438] flexcan 2090000fec 2188000.flexcanethernet: 20900002188000.flexcan ethernet supply xceiver phy not found, using dummy regulator[ 12.817366393396] flexcan 2090000fec 2188000.flexcanethernet eth0: registered PHC device registered (reg_base=c0a30000, irq=31)0
...
...
[ 35.952659235075] canMicrel KSZ9031 Gigabit PHY 2188000.ethernet-1:07: controller area network core (rev 20170425 abi 9)attached PHY driver [ 3.963413Micrel KSZ9031 Gigabit PHY] can(mii_bus: raw protocol (rev 20170425)[ 3phy_addr=2188000.967717] canethernet-1: broadcast manager protocol (rev 20170425 t07, irq=POLL)[ 35.973397249686] canIPv6: netlink gateway ADDRCONF(rev 20170425NETDEV_UP) max_hops=1: eth0: link is not ready
</pre>
====Enable the interface and check status====Cable connection: 
<pre class="workstation-terminal">
root@imx6qxelk:~# ip link set can0 type can bitrate 500000...root@imx6qxelk:~# ifconfig can0 up...root@imx6qxelk[ 7.364256] fec 2188000.ethernet eth0:~# ifconfig can0can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00is Up -00100Mbps/Full -00flow control rx/tx UP RUNNING NOARP MTU[ 7.383799] IPv6:16 MetricADDRCONF(NETDEV_CHANGE):1 RX packetseth0:0 errors:0 dropped:0 overruns:0 frame:0link becomes ready TX packets[ 7.417007] device=eth0, hwaddr=fa:0 errors2a:0 dropped07:0 overruns88:0 carrier45:42, ipaddr=192.168.0 collisions:0 txqueuelen:10 RX bytes:0 (.90, mask=255.255.255.0, gw=255.255.0 B) TX bytes:0 (0255.0 B)255 Interrupt:31</pre>
==== Check the interface with ifconfig ==== <pre class="workstation-terminal">root@imx6qxelkimx6qdlxelk:~# ifconfig eth0eth0 Link encap:Ethernet HWaddr fa:2a:07:88:45:42 inet addr:192.168.0.90 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::f82a:7ff:fe88:4542/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:126363 errors:0 dropped:0 overruns:0 frame:0 TX packets:64259 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:103276957 (98.4 MiB) TX bytes:19090409 (18.2 MiB) root@imx6qdlxelk:~#
</pre>
==== Usage Test with [https://githubiperf.comfr/linux-can/can-utils can-utilsiperf] ====
''TBD<pre class="workstation-terminal">root@imx6qdlxelk: reference verso eventuali informazioni sul web''~# iperf3 -t 5 -c 192.168.0.125Connecting to host 192.168.0.125, port 5201[ 5] local 192.168.0.90 port 45808 connected to 192.168.0.125 port 5201[ ID] Interval Transfer Bitrate Retr Cwnd[ 5] 0.00-1.00 sec 11.5 MBytes 96.4 Mbits/sec 0 156 KBytes[ 5] 1.00-2.00 sec 11.2 MBytes 93.8 Mbits/sec 0 191 KBytes[ 5] 2.00-3.00 sec 11.2 MBytes 93.8 Mbits/sec 0 212 KBytes[ 5] 3.00-4.00 sec 11.2 MBytes 93.8 Mbits/sec 0 212 KBytes[ 5] 4.00-5.00 sec 11.3 MBytes 94.9 Mbits/sec 0 242 KBytes- - - - - - - - - - - - - - - - - - - - - - - - -[ ID] Interval Transfer Bitrate Retr[ 5] 0.00-5.00 sec 56.4 MBytes 94.6 Mbits/sec 0 sender[ 5] 0.00-5.00 sec 55.7 MBytes 93.5 Mbits/sec receiver
<pre class="workstation-terminal">iperf Done.root@imx6qxelk:~# ip link set can0 type can bitrate 500000 triple-sampling onroot@imx6qxelk:~# ifconfig can0 uproot@imx6qxelk:~# cansend can0 128#1122334455667788root@imx6qxelk:~# candump can0 can0 128 [8] 11 22 33 44 55 66 77 88root@imx6qxelkimx6qdlxelk:~#
</pre>
=== Additional information ===
Each CAN port appears like a networking interface in the form <code>canX</code> where <b><i>X</i></b> is the port number.
 
Information about programming the CAN socket interface is given in the kernel tree under ''Documentation/networking/can.txt''
<section end=Body/>
8,185
edits

Navigation menu