Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
{{AppliesToAxelEsatta}}
{{AppliesToAxelLite}}
{{AppliesToAXEL Lite AN}}
{{AppliesToSBCX}}
{{InfoBoxBottom}}
{{WarningMessage|text=This application note was validated against specific versions of the kit only. It may not work with other versions. Supported versions are listed in the ''History'' section.}}
==History==
==Introduction==
Axel family system-on-modules (SOM for short) are based on processors that integrate an Ethernet MAC controller (aka as ENET). In some cases, Linux must be prevented from using this controller. An example of such situation is an [[Application_Notes_(Axel)#AN-XELK-001:_Asymmetric_Multiprocessing_.28AMP.29_on_Axel_.E2.80.93_Linux_.2B_FreeRTOS|AMP configuration]] where native Ethernet MAC controller must be used by FreeRTOS exclusively. This constraint may have a significant drawback: during the development stage native Ethernet interface can not be used to mount Linux root file system over [[Deploying_Embedded_Linux_Systems#The_development_environment|NFS connection]]. This application note describes a solution to overcome this limitation by using a cheap common USB Ethernet adapter.
==Setting up the system==This solution has been tested on a Axel Ultra/AxelEVB+DACU system. The USB Ethernet adapter is the one shown in the following picture. It is built upon a MosChip Semiconductor chip.  [[File:Intellinet-usb-ethernet.jpg|thumb|center|Intellinet USB Ethernet adapter]]  The adapter has been connected to the USB host port of DACU board (reference J33). Please note the the Ethernet cable connected to the native interface (connector J6 of AxelEVB) has '''not''' been detached. About Linux kernel, the default configuration has to be changed in order to remove the support for the ENET controller and to add the drivers required by the USB Ethernet adapter. The following files have to be modified before rebuilding the kernel:*<code>imx6q-axelcommon.dtsi</code><pre>/*&fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet_axel>; phy-mode = "rgmii"; status = "okay";};*/ /*enet { pinctrl_enet_axel: enetgrp-1 { fsl,pins = < MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 MX6QDL_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>*<code>imx6qdl.dtsi</code><pre>/*enet { pinctrl_enet_1: enetgrp-1 { fsl,pins = < MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 MX6QDL_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_GPIO_16__ENET_REF_CLK 0x4001b0a8 >; };  pinctrl_enet_2: enetgrp-2 { fsl,pins = < MX6QDL_PAD_KEY_COL1__ENET_MDIO 0x1b0b0 MX6QDL_PAD_KEY_COL2__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_GPIO_16__ENET_REF_CLK 0x4001b0a8 >; };  pinctrl_enet_3: enetgrp-3 { fsl,pins = < MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 MX6QDL_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__ENET_TX_EN 0x1b0b0 >; }; };*/  /*esai { pinctrl_esai_1: esaigrp-1 { fsl,pins = < MX6QDL_PAD_ENET_RXD0__ESAI_TX_HF_CLK 0x1b030 MX6QDL_PAD_ENET_CRS_DV__ESAI_TX_CLK 0x1b030 MX6QDL_PAD_ENET_RXD1__ESAI_TX_FS 0x1b030 MX6QDL_PAD_ENET_TX_EN__ESAI_TX3_RX2 0x1b030 MX6QDL_PAD_ENET_TXD1__ESAI_TX2_RX3 0x1b030 MX6QDL_PAD_ENET_TXD0__ESAI_TX4_RX1 0x1b030 MX6QDL_PAD_ENET_MDC__ESAI_TX5_RX0 0x1b030 MX6QDL_PAD_NANDF_CS2__ESAI_TX0 0x1b030 MX6QDL_PAD_NANDF_CS3__ESAI_TX1 0x1b030 >; };  pinctrl_esai_2: esaigrp-2 { fsl,pins = < MX6QDL_PAD_ENET_CRS_DV__ESAI_TX_CLK 0x1b030 MX6QDL_PAD_ENET_RXD1__ESAI_TX_FS 0x1b030 MX6QDL_PAD_ENET_TX_EN__ESAI_TX3_RX2 0x1b030 MX6QDL_PAD_GPIO_5__ESAI_TX2_RX3 0x1b030 MX6QDL_PAD_ENET_TXD0__ESAI_TX4_RX1 0x1b030 MX6QDL_PAD_ENET_MDC__ESAI_TX5_RX0 0x1b030 MX6QDL_PAD_GPIO_17__ESAI_TX0 0x1b030 MX6QDL_PAD_NANDF_CS3__ESAI_TX1 0x1b030 MX6QDL_PAD_ENET_MDIO__ESAI_RX_CLK 0x1b030 MX6QDL_PAD_GPIO_9__ESAI_RX_FS 0x1b030 >; }; };*/ /*usbh2 { pinctrl_usbh2_1: usbh2grp-1 { fsl,pins = < MX6QDL_PAD_RGMII_TXC__USB_H2_DATA 0x40013030 MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x40013030 >; };  pinctrl_usbh2_2: usbh2grp-2 { fsl,pins = < MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x40017030 >; }; };  usbh3 { pinctrl_usbh3_1: usbh3grp-1 { fsl,pins = < MX6QDL_PAD_RGMII_RX_CTL__USB_H3_DATA 0x40013030 MX6QDL_PAD_RGMII_RXC__USB_H3_STROBE 0x40013030 >; };  pinctrl_usbh3_2: usbh3grp-2 { fsl,pins = < MX6QDL_PAD_RGMII_RXC__USB_H3_STROBE 0x40017030 >; }; };*/</pre> The following picture shows the kernel configuration options related to USB Ethernet adapters [1]. Most common devices - including MosChip-based products - have been enabled.  [[File:Linux-usb-ethernet-menuconfig.png|thumb|center|Linux kernel configuration options related to USB Ethernet adapters]]   [1] The configuration has been changed via <code>menuconfig</code> option. To run it, the following packages need to be installed on host machine:*<code>libncursesw5-dev</code>*<code>libncurses5-dev</code> ==Testing the system==The usual [[FAQs_(Axel)#Q:_How_can_I_configure_the_Axel_system_to_boot_from_network.3F|<code>net_nfs</code> variable]] has been used to boot the system. The following dump shows the complete log of bootstrap messages:<pre class="mw-collapsible mw-collapsed">U-Boot 2013.04 (Apr 30 2015 - 11:33:19)-xelk-2.1.0 CPU: Freescale i.MX6Q rev1.2 at 792 MHzCPU: Temperature 48 C, limits (-40 C, 125 C), calibration data: 0xc0Reset cause: POREnvironment: SPI FlashI2C: readySOM ConfigID not found, using defaultSOM ConfigID not found, using defaultDRAM: 2 GiBNow running in RAM - U-Boot at: 8ff3a000NAND: 512 MiBMMC: FSL_SDHC: 0, FSL_SDHC: 1SF: Detected S25FL256S with page size 64 KiB, total 32 MiBIn some cases this : serialOut: serialErr: serialPower: found PFUZE100 (devid=10, revid=21)SOM ConfigID not found, using defaultWARNING: SOM UniqueID NOT locked. Use 'configid som_uniqueid_lock' to lock itSOM ConfigID#: ffffffffSOM UniqueID#: dbc90e69:1a0519d4CB ConfigID#: 00000001CB UniqueID#: a900000f:23ec3a2dBoard: MX6Q-AxelLite on XELKNet: FECNormal BootHit any key to stop autoboot: 0U-Boot > run net_nfsFEC Waiting for PHY auto negotiation to complete...... doneUsing FEC deviceTFTP from server 192.168.2.17; our IP address is 192.168.2.19Filename 'uImage'.Load address: 0x20008000Loading: ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# #################### 1.4 MiB/sdoneBytes transferred = 5757016 (57d858 hex)Using FEC deviceTFTP from server 192.168.2.17; our IP address is 192.168.2.19Filename 'imx6q-xelk-h.dtb'.Load address: 0x22000000Loading: ######## 1.3 MiB/sdoneBytes transferred = 39521 (9a61 hex)## Booting kernel from Legacy Image at 20008000 ... Image Name: Linux-3.10.17-xelk-2.1.0-dirty Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5756952 Bytes = 5.5 MiB Load Address: 18008000 Entry Point: 18008000 Verifying Checksum ... OK## Flattened Device Tree blob at 22000000 Booting using the fdt blob at 0x22000000 Loading Kernel Image ... OKOKPower: using LDO bypass mode! Using Device Tree in place at 22000000, end 2200ca60 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0[ 0.000000] Linux version 3.10.17-xelk-2.1.0-dirty (dvdk@dvdk) (gcc version 4.8.1 (GCC) ) #5 SMP PREEMPTFri Sep 9 09:47:34 CEST 2016[ 0.000000] Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: AxelUltra Quad on XELK-H[ 0.000000] Change memory bank to 18000000-8fffffff[ 0.000000] cma: CMA: reserved 320 MiB at 6a000000[ 0.000000] PERCPU: Embedded 8 pages/cpu @81d00000 s8896 r8192 d15680 u32768[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.2.17:/home/dvdk/xelk/rfs/axel-qt5,v3,tcp ip=192.168.2.19:192.168.2.17::255.255.255.0:xelk:eth0:off panic=1 fec_mac=00:50:c2:b9:cf:96 console=ttymxc2,115200n8 earlyprintk vmalloc=400M mtdparts=gpmi-nand:8M(nand-uboot),1M(nand-env1),1M(nand-env2),1M(nand-dtb),1M(nand-spare),8M(nand-kernel),-(nand-ubi);spi32766.0:1M(spi-uboot),256k(spi-env1),256k(spi-env2),512k(spi-dtb),6M(spi-kernel),-(spi-free) maxcpus=1[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)[ 0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)[ 0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)[ 0.000000] Memory: 1920MB = 1920MB total[ 0.000000] Memory: 1606308k/1606308k available, 359772k reserved, 294912K highmem[ 0.000000] Virtual kernel memory layout:[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)[ 0.000000] vmalloc : 0xe6800000 - 0xff000000 ( 392 MB)[ 0.000000] lowmem : 0x80000000 - 0xe6000000 (1632 MB)[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)[ 0.000000] .text : 0x80008000 - 0x80cd87a8 (13122 kB)[ 0.000000] .init : 0x80cd9000 - 0x80d182c0 ( 253 kB)[ 0.000000] .data : 0x80d1a000 - 0x80d7e6c0 ( 402 kB)[ 0.000000] .bss : 0x80d7e6c0 - 0x80de6038 ( 415 kB)[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1[ 0.000000] Preemptible hierarchical RCU implementation.[ 0.000000] NR_IRQS:16 nr_irqs:16 16[ 0.000000] L310 cache controller enabled[ 0.000000] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B[ 0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms[ 0.000000] CPU identified as i.MX6Q, silicon rev 1.2[ 0.000000] Console: colour dummy device 80x30[ 0.000642] Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)[ 0.090123] pid_max: default: 32768 minimum: 301[ 0.090311] Mount-cache hash table entries: 512[ 0.097442] CPU: Testing write buffer coherency: ok[ 0.097684] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000[ 0.097758] Setting up static identity map for 0x806c38e0 - 0x806c3938[ 0.142004] Brought up 1 CPUs[ 0.142017] SMP: Total of 1 processors activated (1581.05 BogoMIPS).[ 0.142024] CPU: All CPU(s) started in SVC mode.[ 0.142586] devtmpfs: initialized[ 0.146718] pinctrl core: initialized pinctrl subsystem[ 0.147014] regulator-dummy: no parameters[ 0.169627] NET: Registered protocol family 16[ 0.178780] DMA: preallocated 256 KiB pool for atomic coherent allocations[ 0.179556] Use WDOG2 as reset source[ 0.187573] syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered[ 0.187847] vdd1p1: 800 <--> 1375 mV at 1125 mV[ 0.188163] vdd3p0: 2800 <--> 3150 mV at 3000 mV[ 0.188417] vdd2p5: 2000 <--> 2750 mV at 2425 mV[ 0.188691] cpu: 725 <--> 1450 mV[ 0.188961] vddpu: 725 <--> 1450 mV[ 0.189230] vddsoc: 725 <--> 1450 mV[ 0.190897] syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered[ 0.192778] syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered[ 0.196159] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.[ 0.196173] hw-breakpoint: maximum watchpoint size is 4 bytes.[ 0.196997] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver[ 0.205813] bio: create slab <bio-0> at 0[ 0.207585] mxs-dma 110000.dma-apbh: initialized[ 0.208231] usb_otg_vbus: 5000 mV[ 0.208453] usb_h1_vbus: 5000 mV[ 0.208614] 3P3V: 3300 mV[ 0.208787] 1P8V: 1800 mV[ 0.209031] vgaarb: loaded[ 0.209660] SCSI subsystem initialized[ 0.210045] usbcore: registered new interface driver usbfs[ 0.210099] usbcore: registered new interface driver hub[ 0.210197] usbcore: registered new device driver usb[ 0.211841] i2c i2c-0: IMX I2C adapter registered[ 0.211932] Linux video capture interface: v2.00[ 0.211976] pps_core: LinuxPPS API ver. 1 registered[ 0.211984] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>[ 0.212005] PTP clock support registered[ 0.227808] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)[ 0.247847] imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)[ 0.248649] imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_GPIO_19 already requested by 20e0000.iomuxc; cannot claim for 21dc000.mipi_csi[ 0.248667] imx6q-pinctrl 20e0000.iomuxc: pin-149 (21dc000.mipi_csi) status -22[ 0.248681] imx6q-pinctrl 20e0000.iomuxc: could not request pin 149 on device 20e0000.iomuxc[ 0.248693] mxc_mipi_csi2 21dc000.mipi_csi: Error applying setting, reverse things back[ 0.248759] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed[ 0.248770] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a[ 0.248840] MIPI CSI2 driver module loaded[ 0.248915] Advanced Linux Sound Architecture Driver Initialized.[ 0.249604] Bluetooth: Core ver 2.16[ 0.249649] NET: Registered protocol family 31[ 0.249660] Bluetooth: HCI device and connection manager initialized[ 0.249678] Bluetooth: HCI socket layer initialized[ 0.249694] Bluetooth: L2CAP socket layer initialized[ 0.249722] Bluetooth: SCO socket layer initialized[ 0.249982] cfg80211: Calling CRDA to update world regulatory domain[ 0.250987] Switching to clocksource mxc_timer1[ 0.460329] imx6q-pcie 1ffc000.pcie: phy link never came up[ 0.460487] PCI host bridge to bus 0000:00[ 0.460506] pci_bus 0000:00: root bus resource [io 0x1000-0x10000][ 0.460518] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff][ 0.460529] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff][ 0.460901] PCI: bus0: Fast back to back transfers disabled[ 0.461074] PCI: bus1: Fast back to back transfers enabled[ 0.461160] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff][ 0.461179] pci 0000:00:00.0: BAR 6: assigned [mem 0x01100000-0x0110ffff pref][ 0.461194] pci 0000:00:00.0: PCI bridge to [bus 01][ 0.469065] NET: Registered protocol family 2[ 0.469667] TCP established hash table entries: 16384 (order: 5, 131072 bytes)[ 0.469926] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)[ 0.470176] TCP: Hash tables configured (established 16384 bind 16384)[ 0.470250] TCP: reno registered[ 0.470267] UDP hash table entries: 1024 (order: 3, 32768 bytes)[ 0.470370] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)[ 0.470716] NET: Registered protocol family 1[ 0.470993] RPC: Registered named UNIX socket transport module.[ 0.471003] RPC: Registered udp transport module.[ 0.471010] RPC: Registered tcp transport module.[ 0.471052] RPC: Registered tcp NFSv4.1 backchannel transport module.[ 0.471604] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available[ 0.472458] pureg-dummy: no parameters[ 0.473389] imx6_busfreq busfreq.15: DDR medium rate not supported.[ 0.473749] Bus freq driver module loaded[ 0.480170] VFS: Disk quotas dquot_6.5.2[ 0.482652] NFS: Registering the id_resolver key type[ 0.482693] Key type id_resolver registered[ 0.482702] Key type id_legacy registered[ 0.482751] NTFS driver 2.1.30 [Flags: R/W].[ 0.483150] fuse init (API version 7.22)[ 0.483496] msgmni has been set to 3201[ 0.484962] io scheduler noop registered[ 0.484974] io scheduler deadline registered[ 0.485006] io scheduler cfq registered (default)[ 0.485260] imx-weim 21b8000.weim: WEIM driver registered.[ 0.486885] MIPI DSI driver module loaded[ 0.487710] mxc_sdc_fb fb.23: register mxc display driver ldb[ 0.487733] mxc_ldb 20e0000.ldb: change IPU DI1 to IPU DI0 for LDB channel0.[ 0.515199] imx-sdma 20ec000.sdma: no iram assigned, using external mem[ 0.518014] imx-sdma 20ec000.sdma: initialized[ 0.518557] imx-sdma 20ec000.sdma: loaded firmware 1.1[ 0.519683] pfuze100-regulator 0-0008: Full lay: 2, Metal lay: 1[ 0.520268] pfuze100-regulator 0-0008: FAB: 0, FIN: 1[ 0.521690] SW1AB: 300 <--> 1875 mV at 1175 mV[ 0.523550] SW1C: 300 <--> 1875 mV at 1175 mV[ 0.525417] SW2: 800 <--> 3300 mV at 3300 mV[ 0.527270] SW3A: 400 <--> 1975 mV at 1500 mV[ 0.529140] SW3B: 400 <--> 1975 mV at 1500 mV[ 0.532032] SW4: ramp_delay not set[ 0.532047] SW4: 1800 mV[ 0.533325] SWBST: 5000 <--> 5150 mV at 5000 mV[ 0.534623] VSNVS: 1200 <--> 3000 mV at 3000 mV[ 0.535323] VREFDDR: 750 mV[ 0.536017] VGEN1: 800 <--> 1550 mV at 1500 mV[ 0.537330] VGEN2: 800 <--> 1550 mV at 1500 mV[ 0.540322] VGEN3: 2500 mV[ 0.543414] VGEN4: 1800 mV[ 0.546484] VGEN5: 2800 mV[ 0.548976] VGEN6: 3300 mV[ 0.549807] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled[ 0.550821] Serial: IMX driver[ 0.551206] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX[ 1.422721] console [ttymxc2] enabled[ 1.426685] serial: Freescale lpuart driver[ 1.432179] [drm] Initialized drm 1.1.0 20060810[ 1.437197] [drm] Initialized vivante 1.0.0 20120216 on minor 0[ 1.449416] brd: module loaded[ 1.455879] loop: module loaded[ 1.481256] Wait for CR ACK error![ 1.485125] sata phy RX_PLL is stable![ 1.488932] ahci: SSS flag set, parallel bus scan disabled[ 1.494491] ahci ahci: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode[ 1.502286] ahci ahci: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst[ 1.511564] scsi0 : ahci_platform[ 1.515167] ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 71[ 1.526296] nand: ONFI flash detected[ 1.529994] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xdc[ 1.536394] nand: AMD/Spansion S34ML04G1[ 1.540346] nand: 512MiB, SLC, page size: 2048, OOB size: 64[ 1.546226] gpmi-nand 112000.gpmi-nand: mode:4 ,failed in set feature.[ 1.552810] Scanning device for bad blocks[ 1.807221] Bad eraseblock 2281 at 0x000011d20000[ 1.871064] ata1: SATA link down (SStatus 0 SControl 300)[ 2.016245] 7 cmdlinepart partitions found on MTD device gpmi-nand[ 2.022475] Creating 7 MTD partitions on "gpmi-nand":[ 2.027563] 0x000000000000-0x000000800000 : "nand-uboot"[ 2.033770] 0x000000800000-0x000000900000 : "nand-env1"[ 2.039788] 0x000000900000-0x000000a00000 : "nand-env2"[ 2.045807] 0x000000a00000-0x000000b00000 : "nand-dtb"[ 2.051729] 0x000000b00000-0x000000c00000 : "nand-spare"[ 2.057840] 0x000000c00000-0x000001400000 : "nand-kernel"[ 2.064034] 0x000001400000-0x000020000000 : "nand-ubi"[ 2.070294] gpmi-nand 112000.gpmi-nand: driver registered.[ 2.077142] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)[ 2.082509] 6 cmdlinepart partitions found on MTD device spi32766.0[ 2.088787] Creating 6 MTD partitions on "spi32766.0":[ 2.093971] 0x000000000000-0x000000100000 : "spi-uboot"[ 2.100041] 0x000000100000-0x000000140000 : "spi-env1"[ 2.105998] 0x000000140000-0x000000180000 : "spi-env2"[ 2.111989] 0x000000180000-0x000000200000 : "spi-dtb"[ 2.117878] 0x000000200000-0x000000800000 : "spi-kernel"[ 2.123967] 0x000000800000-0x000002000000 : "spi-free"[ 2.129880] spi_imx 2008000.ecspi: probed[ 2.134774] spi_imx 200c000.ecspi: probed[ 2.139532] CAN device driver interface[ 2.144667] usbcore: registered new interface driver catc[ 2.150133] usbcore: registered new interface driver kaweth[ 2.155781] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver[ 2.163273] usbcore: registered new interface driver pegasus[ 2.168996] usbcore: registered new interface driver rtl8150[ 2.174738] usbcore: registered new interface driver r8152[ 2.180301] usbcore: registered new interface driver asix[ 2.185811] usbcore: registered new interface driver ax88179_178a[ 2.192003] usbcore: registered new interface driver cdc_ether[ 2.197896] usbcore: registered new interface driver dm9601[ 2.203565] usbcore: registered new interface driver smsc75xx[ 2.209386] usbcore: registered new interface driver smsc95xx[ 2.215210] usbcore: registered new interface driver gl620a[ 2.220853] usbcore: registered new interface driver net1080[ 2.226590] usbcore: registered new interface driver plusb[ 2.232153] usbcore: registered new interface driver cdc_subset[ 2.238132] usbcore: registered new interface driver zaurus[ 2.243782] usbcore: registered new interface driver MOSCHIP usb-ethernet driver[ 2.251292] usbcore: registered new interface driver cdc_ncm[ 2.256981] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver[ 2.263551] ehci-pci: EHCI PCI platform driver[ 2.268358] usbcore: registered new interface driver usb-storage[ 2.282516] ci_hdrc ci_hdrc.1: doesn't support gadget[ 2.287614] ci_hdrc ci_hdrc.1: EHCI Host Controller[ 2.292558] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1[ 2.311059] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00[ 2.316573] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002[ 2.323412] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 2.330665] usb usb1: Product: EHCI Host Controller[ 2.335585] usb usb1: Manufacturer: Linux 3.10.17-xelk-2.1.0-dirty ehci_hcd[ 2.342588] usb usb1: SerialNumber: ci_hdrc.1[ 2.347472] hub 1-0:1.0: USB hub found[ 2.351297] hub 1-0:1.0: 1 port detected[ 2.356035] mousedev: PS/2 mouse device common for all mice[ 2.362511] snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0[ 2.370903] i2c /dev entries driver[ 2.376228] VGEN4: operation not allowed[ 2.383210] VGEN3: operation not allowed[ 2.481255] ov5640_read_reg:write reg error:reg=300a[ 2.486249] camera ov5640_mipi is not found[ 2.490960] mxc_v4l2_output v4l2_out.26: V4L2 device registered as video16[ 2.498025] mxc_v4l2_output v4l2_out.26: V4L2 device registered as video17[ 2.506192] imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)[ 2.514561] Bluetooth: HCI UART driver ver 2.2[ 2.519036] Bluetooth: HCI H4 protocol initialized[ 2.523881] Bluetooth: HCI BCSP protocol initialized[ 2.528873] Bluetooth: HCILL protocol initialized[ 2.533714] cpuidle: using governor ladder[ 2.537839] cpuidle: using governor menu[ 2.541833] sdhci: Secure Digital Host Controller Interface driver[ 2.548040] sdhci: Copyright(c) Pierre Ossman[ 2.552509] sdhci-pltfm: SDHCI platform and OF driver helper[ 2.558927] mmc0: no vqmmc regulator found[ 2.563082] mmc0: no vmmc regulator found[ 2.611074] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA[ 2.671409] usb 1-1: new high-speed USB device number 2 using ci_hdrc[ 2.888827] usb 1-1: New USB device found, idVendor=9710, idProduct=7830[ 2.903661] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3[ 2.922875] usb 1-1: Product: UA0025C[ 2.936455] usb 1-1: Manufacturer: Moschip Semiconductor[ 2.961074] usb 1-1: SerialNumber: 6e000001[ 2.965708] Galcore version 4.6.9.9754[ 2.992139] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed[ 3.000663] mxc_asrc 2034000.asrc: mxc_asrc registered[ 3.006471] mxc_vpu 2040000.vpu: VPU initialized[ 3.015886] caam 2100000.caam: device ID = 0x0a16010000000000 (Era -524)[ 3.022638] caam 2100000.caam: job rings = 2, qi = 0[ 3.028050] caam 2100000.caam: authenc-hmac-md5-cbc-aes-caam[ 3.033875] caam 2100000.caam: authencesn-hmac-md5-cbc-aes-caam[ 3.040036] caam 2100000.caam: authenc-hmac-sha1-cbc-aes-caam[ 3.046028] caam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caam[ 3.052313] caam 2100000.caam: authenc-hmac-sha224-cbc-aes-caam[ 3.058456] caam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caam[ 3.064899] caam 2100000.caam: authenc-hmac-sha256-cbc-aes-caam[ 3.071098] caam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caam[ 3.077450] caam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caam[ 3.083818] caam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caam[ 3.090232] usb 1-1: applying rev.C fixup[ 3.094441] caam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caam[ 3.100780] caam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caam[ 3.107394] caam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caam[ 3.113960] caam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caam[ 3.120636] usb 1-1: applying rev.C fixup[ 3.124833] caam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caam[ 3.131385] caam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caam[ 3.138128] caam 2100000.caam: authenc-hmac-md5-cbc-des-caam[ 3.143956] caam 2100000.caam: authencesn-hmac-md5-cbc-des-caam[ 3.150006] caam 2100000.caam: authenc-hmac-sha1-cbc-des-caam[ 3.155926] caam 2100000.caam: authencesn-hmac-sha1-cbc-des-caam[ 3.162202] caam 2100000.caam: authenc-hmac-sha224-cbc-des-caam[ 3.168821] MOSCHIP usb-ethernet driver 1-1:1.0 eth0: register 'MOSCHIP usb-ethernet driver' at usb-ci_hdrc.1-1, MOSCHIP 7830/7832/7730 usb-NET adapter, 00:d0:10:03:26:0a[ 3.184198] caam 2100000.caam: authencesn-hmac-sha224-cbc-des-caam[ 3.190523] caam 2100000.caam: authenc-hmac-sha256-cbc-des-caam[ 3.196769] caam 2100000.caam: authencesn-hmac-sha256-cbc-des-caam[ 3.203134] caam 2100000.caam: ecb-des-caam[ 3.207454] caam 2100000.caam: ecb-arc4-caam[ 3.211877] caam 2100000.caam: ecb-aes-caam[ 3.216196] caam 2100000.caam: ctr-aes-caam[ 3.220485] caam 2100000.caam: cbc-aes-caam[ 3.224836] caam 2100000.caam: ecb-des3-caam[ 3.229242] caam 2100000.caam: cbc-3des-caam[ 3.233665] caam 2100000.caam: cbc-des-caam[ 3.237884] caam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/crypto[ 3.249001] platform 2101000.jr0: registering rng-caam[ 3.255231] platform caam_sm: caam_sm_test: 8-byte key test match OK[ 3.261767] platform caam_sm: caam_sm_test: 16-byte key test match OK[ 3.268346] platform caam_sm: caam_sm_test: 32-byte key test match OK[ 3.275315] platform caam_secvio.28: security violation service handlers armed[ 3.282794] usbcore: registered new interface driver usbhid[ 3.288407] usbhid: USB HID core driver[ 3.295084] TCP: cubic registered[ 3.298879] NET: Registered protocol family 10[ 3.304244] sit: IPv6 over IPv4 tunneling driver[ 3.309440] NET: Registered protocol family 17[ 3.313971] can: controller must area network core (rev 20120528 abi 9)[ 3.320243] NET: Registered protocol family 29[ 3.324753] can: raw protocol (rev 20120528)[ 3.329052] can: broadcast manager protocol (rev 20120528 t)[ 3.334763] can: netlink gateway (rev 20130117) max_hops=1[ 3.340518] Bluetooth: RFCOMM TTY layer initialized[ 3.345510] Bluetooth: RFCOMM socket layer initialized[ 3.350679] Bluetooth: RFCOMM ver 1.11[ 3.354475] Bluetooth: BNEP (Ethernet Emulation) ver 1.3[ 3.359814] Bluetooth: BNEP filters: protocol multicast[ 3.365086] Bluetooth: BNEP socket layer initialized[ 3.370078] Bluetooth: HIDP (Human Interface Emulation) ver 1.2[ 3.376047] Bluetooth: HIDP socket layer initialized[ 3.381093] 8021q: 802.1Q VLAN Support v1.8[ 3.385545] Key type dns_resolver registered[ 3.390053] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4[ 3.400549] VGEN6: disabling[ 3.405105] VGEN1: disabling[ 3.409947] input: gpio-keys.22 as /devices/soc0/gpio-keys.22/input/input0[ 3.417325] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 2014-11-27 22:54:52 UTC (1417128892)[ 3.436299] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready[ 4.881117] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready[ 4.901844] IP-Config: Complete:[ 4.905175] device=eth0, hwaddr=00:d0:10:03:26:0a, ipaddr=192.168.2.19, mask=255.255.255.0, gw=255.255.255.255[ 4.915803] host=xelk, domain=, nis-domain=(none)[ 4.921022] bootserver=192.168.2.17, rootserver=192.168.2.17, rootpath=[ 4.928262] ALSA device list:[ 4.931329] No soundcards found.[ 4.949030] VFS: Mounted root (nfs filesystem) on device 0:11.[ 4.955973] devtmpfs: mounted[ 4.959391] Freeing unused kernel memory: 252K (80cd9000 - 80d18000)INIT: version 2.88 bootingStarting udev[ 6.439298] udevd[133]: starting version 182Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directorybootlogd.ALSA: Restoring mixer settings.../usr/sbin/alsactl: load_state:1729: No soundcards found...Configuring network interfaces... ifup skipped for nfsroot interface eth0run-parts: /etc/network/if-pre-up.d/nfsroot exited with return code 1Starting rpcbind daemon...done.INIT: Entering runlevel: 5Starting system message bus: dbus.Starting OpenBSD Secure Shell server: sshddone.Starting advanced power management daemon: No APM support in kernel(failed.)Starting syslogd/klogd: done * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon ...done.Starting Telephony daemonStarting Linux NFC daemonStopping Bootlog daemon: bootlogd. Poky (Yocto Project Reference Distro) 1.5.1 axel-lite /dev/ttymxc2 axel-lite login: rootroot@axel-lite:~#</pre>As shown, USB Ethernet adapter is first detected by the kernel ...<pre>[ 2.671409] usb 1-1: new high-speed USB device number 2 using ci_hdrc[ 2.888827] usb 1-1: New USB device found, idVendor=9710, idProduct=7830[ 2.903661] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3[ 2.922875] usb 1-1: Product: UA0025C[ 2.936455] usb 1-1: Manufacturer: Moschip Semiconductor[ 2.961074] usb 1-1: SerialNumber: 6e000001</pre>... and then initialized by the driver:<pre>[ 3.168821] MOSCHIP usb-ethernet driver 1-1:1.0 eth0: register 'MOSCHIP usb-ethernet driver' at usb-ci_hdrc.1-1, MOSCHIP 7830/7832/7730 usb-NET adapter, 00:d0:10:03:26:0a</pre> It is worth to remember that native Ethernet interface is still available for U-Boot operations. As such, Linux kernel image and device tree blob can be used retrieved by target over native Ethernet connection (that's why this cable has not been disconnected). Once Linux kernelgets the control of the processor, it initializes the USB/Ethernet port - that is mapped as <code>eth0</code> - that is the only one available in the Linux realm.
dave_user, Administrators
5,190
edits