iMX6ULL with LAN9303 on ENET2 not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6ULL with LAN9303 on ENET2 not working

3,064 Views
juergen_schuste
Contributor I

Hello,
I'm trying to bring up the ENET2 subsystem of a custom board.
I use LAN8720 on ENET1 and a LAN9303 connected to ENET2.
The MDIO Interface found the LAN9303 but ENET2 can't find the PHY (see Boot Message).

I'm working with Linux 4.19 (Yocto Zeus Build).

Can anyone help me?


LAN9303 configuration:
   - RMII_PHY_Mode_CLOCK_is_Input
   - SMI_Managed_Mode
   - The PHY address values are as follows:
         Virtual PHY = 0
         PHY Port 1 = 1
         PHY Port 2 = 2
   - Auto-MDIX is enabled for port 1 and 2

Device Tree:
&fec1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet1>;
    phy-mode = "rmii";
    phy-handle = <&ethphy0>;
    phy-supply = <&reg_fec_3v3>;
    phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
    phy-reset-duration = <25>;
    phy-reset-post-delay = <1>;
    status = "okay";

    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethphy0: ethernet-phy@0 {
            compatible = "ethernet-phy-ieee802.3-c22";
            max-speed = <100>;
            reg = <0>;
        };
    };
};

master: &fec2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet2 &pinctrl_enet2_mdc>;
    phy-mode = "rmii";
    phy-handle = <&switch>;
    phy-supply = <&reg_fec_3v3>;
    phy-reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
    phy-reset-duration = <25>;
    phy-reset-post-delay = <1>;
    phy-reset-active-high;

    status = "okay";

    mdio {
      #address-cells = <1>;
      #size-cells = <0>;

      switch: switch-phy@1 {
        compatible = "smsc,lan9303-mdio";
        reg = <1>;

        ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
            reg = <0>;
            label = "eth0";
            ethernet = <&master>;
          };

          port@1 {
            reg = <1>;
            label = "lan1";
          };

          port@2 {
            reg = <2>;
            label = "lan2";
          };
      };
    };
};

Boot Message:

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.78 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 PREEMPT Fri Sep 4 09:10:49 UTC 2020
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: TQ TQMa6ULL REV.030x on MBa6UL
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Reserved memory: created CMA memory pool at 0x8a000000, size 96 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] free_area_init_node: node 0, pgdat 80fae9d0, node_mem_map 89dc7000
[ 0.000000] Normal zone: 512 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] random: get_random_bytes called from start_kernel+0xb0/0x3c0 with crng_init=0
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.34:/nfs/rootfs,v3,tcp ip=192.168.0.222:192.168.0.34::255.255.255.0::eth0:off console=ttymxc0,115200 consoleblank=0 cma=32M debug
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 145628K/262144K available (9216K kernel code, 790K rwdata, 2940K rodata, 1024K init, 414K bss, 18212K reserved, 98304K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0x90800000 - 0xff800000 (1776 MB)
[ 0.000000] lowmem : 0x80000000 - 0x90000000 ( 256 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x80a00000 (10208 kB)
[ 0.000000] .init : 0x80e00000 - 0x80f00000 (1024 kB)
[ 0.000000] .data : 0x80f00000 - 0x80fc5bdc ( 791 kB)
[ 0.000000] .bss : 0x80fc5be0 - 0x8102d3f4 ( 415 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] ftrace: allocating 31002 entries in 91 pages
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] Switching to timer-based delay loop, resolution 333ns
[ 0.000016] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[ 0.000059] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[ 0.003704] Console: colour dummy device 80x30
[ 0.003770] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[ 0.003806] pid_max: default: 32768 minimum: 301
[ 0.004219] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.004255] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.005566] CPU: Testing write buffer coherency: ok
[ 0.006874] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.007177] Hierarchical SRCU implementation.
[ 0.016623] devtmpfs: initialized
[ 0.036546] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.037138] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.037181] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.046042] pinctrl core: initialized pinctrl subsystem
[ 0.048430] NET: Registered protocol family 16
[ 0.064732] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.067042] cpuidle: using governor ladder
[ 0.067120] cpuidle: using governor menu
[ 0.082566] vdd3p0: supplied by regulator-dummy
[ 0.083852] cpu: supplied by regulator-dummy
[ 0.085087] vddsoc: supplied by regulator-dummy
[ 0.109528] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.109565] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.110854] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-mba6ul/pwm2grp
[ 0.111113] imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.111824] imx6ul-pinctrl 2290000.iomuxc-snvs: no groups defined in /soc/aips-bus@02200000/iomuxc-snvs@02290000
[ 0.111860] imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
[ 0.154208] vgaarb: loaded
[ 0.155649] SCSI subsystem initialized
[ 0.156183] usbcore: registered new interface driver usbfs
[ 0.156352] usbcore: registered new interface driver hub
[ 0.156568] usbcore: registered new device driver usb
[ 0.158479] i2c i2c-1: IMX I2C adapter registered
[ 0.158533] i2c i2c-1: can't use DMA, using PIO instead.
[ 0.162300] pca953x 3-0020: 3-0020 supply vcc not found, using dummy regulator
[ 0.171772] pca953x 3-0020: failed reading register
[ 0.172675] pca953x 3-0022: 3-0022 supply vcc not found, using dummy regulator
[ 0.181770] pca953x 3-0022: failed reading register
[ 0.182528] i2c i2c-3: IMX I2C adapter registered
[ 0.182579] i2c i2c-3: can't use DMA, using PIO instead.
[ 0.182942] media: Linux media interface: v0.10
[ 0.183068] Linux video capture interface: v2.00
[ 0.183242] pps_core: LinuxPPS API ver. 1 registered
[ 0.183266] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.183322] PTP clock support registered
[ 0.185590] Advanced Linux Sound Architecture Driver Initialized.
[ 0.187958] clocksource: Switched to clocksource mxc_timer1
[ 0.357136] NET: Registered protocol family 2
[ 0.358674] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.358755] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.358822] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.359033] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.359083] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.359448] NET: Registered protocol family 1
[ 0.360292] RPC: Registered named UNIX socket transport module.
[ 0.360328] RPC: Registered udp transport module.
[ 0.360347] RPC: Registered tcp transport module.
[ 0.360364] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.360396] PCI: CLS 0 bytes, default 64
[ 0.366189] Bus freq driver module loaded
[ 0.367667] audit: initializing netlink subsys (disabled)
[ 0.369398] audit: type=2000 audit(0.360:1): state=initialized audit_enabled=0 res=1
[ 0.369628] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[ 0.382572] NFS: Registering the id_resolver key type
[ 0.382659] Key type id_resolver registered
[ 0.382681] Key type id_legacy registered
[ 0.382725] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.383219] fuse init (API version 7.26)
[ 0.384732] NILFS version 2 loaded
[ 0.403780] NET: Registered protocol family 38
[ 0.403867] io scheduler noop registered
[ 0.403889] io scheduler deadline registered
[ 0.404522] io scheduler cfq registered (default)
[ 0.404554] io scheduler mq-deadline registered
[ 0.404574] io scheduler kyber registered
[ 0.407285] imx-weim 21b8000.weim: srj - major num: 247
[ 0.410010] imx-weim 21b8000.weim: Driver registered.
[ 0.422528] mxs-dma 1804000.dma-apbh: initialized
[ 0.427354] pfuze100-regulator 3-0008: Full layer: 1, Metal layer: 1
[ 0.428306] pfuze100-regulator 3-0008: FAB: 0, FIN: 0
[ 0.428337] pfuze100-regulator 3-0008: pfuze3000 found.
[ 0.453289] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
[ 1.188572] console [ttymxc0] enabled
[ 1.194264] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX
[ 1.240340] imx-rng 2284000.rngb: iMX RNG Registered.
[ 1.263067] loop: module loaded
[ 1.267826] at24 3-0050: 8192 byte 24c64 EEPROM, writable, 32 bytes/write
[ 1.276191] at24 3-0052: 256 byte 24c02 EEPROM, writable, 16 bytes/write
[ 1.285495] random: fast init done
[ 1.312289] fsl-quadspi 21e0000.qspi: n25q512a (65536 Kbytes)
[ 1.319010] 6 ofpart partitions found on MTD device 21e0000.qspi
[ 1.325077] Creating 6 MTD partitions on "21e0000.qspi":
[ 1.330626] 0x000000000000-0x0000000d0000 : "U-Boot"
[ 1.337823] 0x0000000d0000-0x0000000e0000 : "ENV1"
[ 1.344892] 0x0000000e0000-0x0000000f0000 : "ENV2"
[ 1.352095] 0x0000000f0000-0x000000100000 : "DTB"
[ 1.359179] 0x000000100000-0x000000800000 : "Linux"
[ 1.366150] 0x000000800000-0x000004000000 : "RootFS"
[ 1.375095] spi_imx 200c000.ecspi: dma setup error -19, use pio
[ 1.382414] spi_imx 200c000.ecspi: probed
[ 1.388640] libphy: Fixed MDIO Bus: probed
[ 1.394923] CAN device driver interface
[ 1.402744] pps pps0: new PPS source ptp0
[ 1.408445] libphy: fec_enet_mii_bus: probed
[ 1.416535] LAN9303_MDIO 20b4000.ethernet-1:01: No reset GPIO defined
[ 1.433223] LAN9303_MDIO 20b4000.ethernet-1:01: Found LAN9303 rev. 1
[ 1.443708] LAN9303_MDIO 20b4000.ethernet-1:01: Phy setup '0-1-2' detected
[ 1.483884] LAN9303_MDIO 20b4000.ethernet-1:01: Failed to register switch: -517
[ 1.493503] mdio_bus 20b4000.ethernet-1: registered mdio device switch-phy at address 1
[ 1.502922] fec 20b4000.ethernet eth0: registered PHC device 0
[ 1.510156] imx6ul-pinctrl 20e0000.iomuxc: pin MX6UL_PAD_GPIO1_IO06 already requested by 20b4000.ethernet; cannot claim for 2188000.ethernet
[ 1.522994] imx6ul-pinctrl 20e0000.iomuxc: pin-29 (2188000.ethernet) status -22
[ 1.530412] imx6ul-pinctrl 20e0000.iomuxc: could not request pin 29 (MX6UL_PAD_GPIO1_IO06) from group enet1grp on device 20e0000.iomuxc
[ 1.542758] fec 2188000.ethernet: Error applying setting, reverse things back
[ 1.550010] fec: probe of 2188000.ethernet failed with error -22
[ 1.556632] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.563306] ehci-pci: EHCI PCI platform driver
[ 1.568141] usbcore: registered new interface driver usb-storage
[ 1.574282] usbcore: registered new interface driver usb_ehset_test
[ 1.583370] usbmisc_imx 2184800.usbmisc: 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
[ 1.595486] imx6ul-pinctrl 20e0000.iomuxc: pin MX6UL_PAD_GPIO1_IO00 already requested by 21a4000.i2c; cannot claim for 2184000.usb
[ 1.607381] imx6ul-pinctrl 20e0000.iomuxc: pin-23 (2184000.usb) status -22
[ 1.614355] imx6ul-pinctrl 20e0000.iomuxc: could not request pin 23 (MX6UL_PAD_GPIO1_IO00) from group usbotg1grp on device 20e0000.iomuxc
[ 1.626992] imx_usb 2184000.usb: Error applying setting, reverse things back
[ 1.634171] imx_usb: probe of 2184000.usb failed with error -22
[ 1.642626] mousedev: PS/2 mouse device common for all mice
[ 1.650215] input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[ 1.668880] rtc-ds1307 3-0068: SET TIME!
[ 1.679372] rtc-ds1307 3-0068: registered as rtc0
[ 1.685069] i2c /dev entries driver
[ 1.689747] IR NEC protocol handler initialized
[ 1.694333] IR RC5(x/sz) protocol handler initialized
[ 1.699608] IR RC6 protocol handler initialized
[ 1.704179] IR JVC protocol handler initialized
[ 1.708795] IR Sony protocol handler initialized
[ 1.713443] IR SANYO protocol handler initialized
[ 1.718215] IR Sharp protocol handler initialized
[ 1.722950] IR MCE Keyboard/mouse protocol handler initialized
[ 1.728849] IR XMP protocol handler initialized
[ 1.741245] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
[ 1.749499] sdhci: Secure Digital Host Controller Interface driver
[ 1.755738] sdhci: Copyright(c) Pierre Ossman
[ 1.760225] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.828139] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[ 1.843013] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.865462] hidraw: raw HID events driver (C) Jiri Kosina
[ 1.871637] usbcore: registered new interface driver usbhid
[ 1.877258] usbhid: USB HID core driver
[ 1.896079] imx-tlv320aic32x4 sound: failed to find SSI platform device
[ 1.903465] NET: Registered protocol family 26
[ 1.913346] NET: Registered protocol family 10
[ 1.923103] Segment Routing with IPv6
[ 1.927188] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.939268] NET: Registered protocol family 17
[ 1.947869] can: controller area network core (rev 20170425 abi 9)
[ 1.958706] NET: Registered protocol family 29
[ 1.963214] can: raw protocol (rev 20170425)
[ 1.967522] can: broadcast manager protocol (rev 20170425 t)
[ 1.976533] can: netlink gateway (rev 20170425) max_hops=1
[ 1.985789] 8021q: 802.1Q VLAN Support v1.8
[ 1.993416] Key type dns_resolver registered
[ 2.007136] mmc0: new HS200 MMC card at address 0001
[ 2.013659] mmcblk0: mmc0:0001 DG4008 7.28 GiB
[ 2.019360] mmcblk0boot0: mmc0:0001 DG4008 partition 1 4.00 MiB
[ 2.026347] mmcblk0boot1: mmc0:0001 DG4008 partition 2 4.00 MiB
[ 2.033944] mmcblk0rpmb: mmc0:0001 DG4008 partition 3 4.00 MiB
[ 2.044256] mmcblk0: p1 p2
[ 2.077462] LAN9303_MDIO 20b4000.ethernet-1:01: No reset GPIO defined
[ 2.093944] LAN9303_MDIO 20b4000.ethernet-1:01: Found LAN9303 rev. 1
[ 2.104442] LAN9303_MDIO 20b4000.ethernet-1:01: Phy setup '0-1-2' detected
[ 2.146208] DSA: switch 0 0 parsed
[ 2.155679] DSA: tree 0 parsed
[ 2.165056] libphy: dsa slave smi: probed
[ 2.268199] SMSC LAN911x Internal PHY dsa-0.0:01: attached PHY driver [SMSC LAN911x Internal PHY] (mii_bus:phy_addr=dsa-0.0:01, irq=POLL)
[ 2.378229] SMSC LAN911x Internal PHY dsa-0.0:02: attached PHY driver [SMSC LAN911x Internal PHY] (mii_bus:phy_addr=dsa-0.0:02, irq=POLL)
[ 2.391861] LAN9303_MDIO 20b4000.ethernet-1:01: LAN9303 MDIO driver loaded successfully
[ 2.404832] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[ 2.417678] imx_thermal 2000000.aips-bus:tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
[ 2.430420] imx-tlv320aic32x4 sound: failed to find SSI platform device
[ 2.442776] rtc-ds1307 3-0068: setting system clock to 2000-01-01 00:00:14 UTC (946684814)
[ 2.470705] fec 20b4000.ethernet eth0: Unable to connect to phy
[ 2.481046] IP-Config: Failed to open eth0
[ 2.503347] fec 20b4000.ethernet eth0: Unable to connect to phy
[ 2.513573] IP-Config: Failed to open eth0
[ 2.517710] IP-Config: Device `eth0' not found
[ 2.522610] SW1A: disabling
[ 2.526162] VLDO1: disabling
[ 2.529725] VLDO2: disabling
[ 2.533209] VCCSD: disabling
[ 2.536681] VLDO3: disabling
[ 2.540319] ALSA device list:
[ 2.543314] No soundcards found.

 

0 Kudos
12 Replies

3,051 Views
juergen_schuste
Contributor I

Hi Igor,

thank you for your answer.


Dual ENET configuration works fine with a LAN8720 conneted to ENET1 and ENET2.
But when I connect a LAN9303 to ENET2 instead of the LAN8720, the interface is unable to connect to phy.

Do you have any idea what I do wrong?

Best regards
Juergen

 

0 Kudos

3,042 Views
igorpadykov
NXP Employee
NXP Employee

Hi Juergen

 

from log "Linux version 4.14.78" is quite old, one can try latest Linux 5.4.24_2.1.0​

https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.24_2.1.0

 

Best regards
igor

 

 

0 Kudos

3,028 Views
juergen_schuste
Contributor I

Hi Igor,

i have tried Linux 5.4.24_2.1.0​.
Now i got a warning about possible circular locking dependency.
The Phy problem is the same like Linux 4.16.

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.24-00060-gbabac008e5cf-dirty (dee@dee-Linux) (gcc version 5.4.1 20170404 (Linaro GCC 5.4-2017.05)) #6 SMP PREEMPT Wed Sep 16 12:53:13 CEST 2020
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: TQ TQMa6ULL REV.030x on MBa6UL
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] OF: reserved mem: failed to allocate memory for node 'linux,cma'
[ 0.000000] cma: Reserved 32 MiB at 0x8e000000
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] Normal zone: 512 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] percpu: Embedded 20 pages/cpu s51392 r8192 d22336 u81920
[ 0.000000] pcpu-alloc: s51392 r8192 d22336 u81920 alloc=20*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.34:/nfs/ife,v3,tcp ip=192.168.0.222:192.168.0.34::255.255.255.0::eth0:off console=ttymxc0,115200 consoleblank=0 cma=32M debug
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 199352K/262144K available (13312K kernel code, 1413K rwdata, 4732K rodata, 1024K init, 6597K bss, 30024K reserved, 32768K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Running RCU self tests
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU lockdep checking is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x4cc with crng_init=0
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000023] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000098] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.004442] Console: colour dummy device 80x30
[ 0.004566] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.004618] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.004667] ... MAX_LOCK_DEPTH: 48
[ 0.004713] ... MAX_LOCKDEP_KEYS: 8192
[ 0.004759] ... CLASSHASH_SIZE: 4096
[ 0.004802] ... MAX_LOCKDEP_ENTRIES: 32768
[ 0.004847] ... MAX_LOCKDEP_CHAINS: 65536
[ 0.004892] ... CHAINHASH_SIZE: 32768
[ 0.004937] memory used by lock dependency info: 3997 kB
[ 0.004983] memory used for stack traces: 2112 kB
[ 0.005028] per task-struct memory footprint: 1536 bytes
[ 0.005279] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.005364] pid_max: default: 32768 minimum: 301
[ 0.006330] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.006412] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.016320] CPU: Testing write buffer coherency: ok
[ 0.020674] CPU0: update cpu_capacity 1024
[ 0.020753] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.082951] Setting up static identity map for 0x80100000 - 0x80100078
[ 0.102996] rcu: Hierarchical SRCU implementation.
[ 0.143604] smp: Bringing up secondary CPUs ...
[ 0.143690] smp: Brought up 1 node, 1 CPU
[ 0.143756] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.143814] CPU: All CPU(s) started in SVC mode.
[ 0.150024] devtmpfs: initialized
[ 0.212869] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.226115] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.226311] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.230347] pinctrl core: initialized pinctrl subsystem
[ 0.244801] NET: Registered protocol family 16
[ 0.313200] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.323934] cpuidle: using governor menu
[ 0.378949] vdd3p0: supplied by regulator-dummy
[ 0.383810] cpu: supplied by regulator-dummy
[ 0.389056] vddsoc: supplied by regulator-dummy
[ 0.455028] No ATAGs?
[ 0.455827] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.456079] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.470043] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/pwm1grp
[ 0.470534] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc1grp100mhz
[ 0.470637] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc1grp200mhz
[ 0.470738] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc2grp
[ 0.470839] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc2grp_8bit
[ 0.470934] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc2grp_8bit_100mhz
[ 0.471033] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/usdhc2grp_8bit_200mhz
[ 0.471127] imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins or pins property in node /soc/aips-bus@2000000/iomuxc@20e0000/wdoggrp
[ 0.471197] imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.473493] imx6ul-pinctrl 2290000.iomuxc-snvs: no groups defined in /soc/aips-bus@2200000/iomuxc-snvs@2290000
[ 0.473578] imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
[ 0.480928] imx mu driver is registered.
[ 0.482470] imx rpmsg driver is registered.
[ 0.836635] vgaarb: loaded
[ 0.842905] SCSI subsystem initialized
[ 0.845477] libata version 3.00 loaded.
[ 0.848041] usbcore: registered new interface driver usbfs
[ 0.848715] usbcore: registered new interface driver hub
[ 0.849579] usbcore: registered new device driver usb
[ 0.860941] i2c i2c-0: IMX I2C adapter registered
[ 0.867140] i2c i2c-1: IMX I2C adapter registered
[ 0.869318] mc: Linux media interface: v0.10
[ 0.869690] videodev: Linux video capture interface: v2.00
[ 0.870726] pps_core: LinuxPPS API ver. 1 registered
[ 0.870796] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.870978] PTP clock support registered
[ 0.878694] MIPI CSI2 driver module loaded
[ 0.879719] Advanced Linux Sound Architecture Driver Initialized.
[ 0.892976] clocksource: Switched to clocksource mxc_timer1
[ 2.573253] random: fast init done
[ 2.744997] VFS: Disk quotas dquot_6.6.0
[ 2.745504] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 2.833049] thermal_sys: Registered thermal governor 'step_wise'
[ 2.834708] NET: Registered protocol family 2
[ 2.840173] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 5120 bytes, linear)
[ 2.840443] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 2.840644] TCP bind hash table entries: 2048 (order: 4, 73728 bytes, linear)
[ 2.841336] TCP: Hash tables configured (established 2048 bind 2048)
[ 2.842425] UDP hash table entries: 256 (order: 2, 20480 bytes, linear)
[ 2.843298] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes, linear)
[ 2.844555] NET: Registered protocol family 1
[ 2.882299] RPC: Registered named UNIX socket transport module.
[ 2.882563] RPC: Registered udp transport module.
[ 2.882889] RPC: Registered tcp transport module.
[ 2.882959] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.896884] PCI: CLS 0 bytes, default 64
[ 2.904526] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[ 2.914616] Bus freq driver module loaded
[ 2.925547] Initialise system trusted keyrings
[ 2.927546] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[ 2.995539] NFS: Registering the id_resolver key type
[ 2.996003] Key type id_resolver registered
[ 2.996269] Key type id_legacy registered
[ 2.996813] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 3.000986] fuse: init (API version 7.31)
[ 3.081066] Key type asymmetric registered
[ 3.081487] Asymmetric key parser 'x509' registered
[ 3.082037] io scheduler mq-deadline registered
[ 3.082119] io scheduler kyber registered
[ 3.144451] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 3.144745] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[ 3.162255] mxs-dma 1804000.dma-apbh: initialized
[ 3.181959] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 21, base_baud = 5000000) is a IMX
[ 4.060615] printk: console [ttymxc0] enabled
[ 4.075749] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 57, base_baud = 5000000) is a IMX
[ 4.129158] imx_rngc 2284000.rng: Freescale RNGC registered.
[ 4.137386] imx sema4 driver is registered.
[ 4.245265] brd: module loaded
[ 4.334009] loop: module loaded
[ 4.343641] imx ahci driver is registered.
[ 4.370646] spi-nor spi4.0: found mt25qu512a, expected n25q256a
[ 4.378211] spi-nor spi4.0: mt25qu512a (65536 Kbytes)
[ 4.423665] libphy: Fixed MDIO Bus: probed
[ 4.441462] pps pps0: new PPS source ptp0
[ 4.451017] libphy: fec_enet_mii_bus: probed
[ 4.465459] LAN9303_MDIO 20b4000.ethernet-1:01: No reset GPIO defined
[ 4.478831] LAN9303_MDIO 20b4000.ethernet-1:01: Found LAN9303 rev. 1
[ 4.487029] LAN9303_MDIO 20b4000.ethernet-1:01: Phy setup '1-2-3' detected
[ 4.495419] LAN9303_MDIO 20b4000.ethernet-1:01: Failed to register switch: -517
[ 4.510864] fec 20b4000.ethernet eth0: registered PHC device 0
[ 4.522391] usbcore: registered new interface driver r8152
[ 4.528906] usbcore: registered new interface driver lan78xx
[ 4.535658] usbcore: registered new interface driver asix
[ 4.541476] usbcore: registered new interface driver ax88179_178a
[ 4.548201] usbcore: registered new interface driver cdc_ether
[ 4.554831] usbcore: registered new interface driver smsc95xx
[ 4.560983] usbcore: registered new interface driver net1080
[ 4.567251] usbcore: registered new interface driver cdc_subset
[ 4.573767] usbcore: registered new interface driver zaurus
[ 4.579741] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 4.587891] usbcore: registered new interface driver cdc_ncm
[ 4.593861] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.600517] ehci-pci: EHCI PCI platform driver
[ 4.605560] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 4.613360] usbcore: registered new interface driver usb-storage
[ 4.641744] input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[ 4.669690] input: iMX6UL Touchscreen Controller as /devices/soc0/soc/2000000.aips-bus/2040000.tsc/input/input1
[ 4.690147] read sensor who am i (0xfffffffa)error !
[ 4.695607] fxls8471: probe of 0-001e failed with error -22
[ 4.720298] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[ 4.727655] i2c /dev entries driver
[ 4.751882] mag3110 0-000e: 0-000e supply vdd not found, using dummy regulator
[ 4.760313] mag3110 0-000e: 0-000e supply vddio not found, using dummy regulator
[ 4.768784] mag3110 0-000e: check mag3110 chip ID
[ 4.774752] mag3110 0-000e: read chip ID 0xfffffffa is not equal to 0xc4!
[ 4.785178] mag3110: probe of 0-000e failed with error -22
[ 4.805792] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
[ 4.820521] sdhci: Secure Digital Host Controller Interface driver
[ 4.828011] sdhci: Copyright(c) Pierre Ossman
[ 4.832518] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.846881] caam-snvs 20cc000.caam-snvs: can't get snvs clock
[ 4.853382] caam-snvs 20cc000.caam-snvs: violation handlers armed - init state
[ 4.882056] usbcore: registered new interface driver usbhid
[ 4.888599] usbhid: USB HID core driver
[ 4.937200] wm8960 1-001a: Failed to issue reset
[ 4.955850] rpmsg-audio-codec-wm8960 1-001a: Failed to issue reset
[ 4.979682] fsl-sai 202c000.sai: failed to get mclk0 clock: -2
[ 5.008005] imx-wm8960 sound-wm8960: failed to find codec platform device
[ 5.024250] drop_monitor: Initializing network drop monitor service
[ 5.031729] NET: Registered protocol family 26
[ 5.042365] NET: Registered protocol family 10
[ 5.068992] Segment Routing with IPv6
[ 5.073683] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 5.085151] NET: Registered protocol family 17
[ 5.102429] lib80211: common routines for IEEE802.11 drivers
[ 5.108956] lib80211_crypt: registered algorithm 'NULL'
[ 5.114571] lib80211_crypt: registered algorithm 'WEP'
[ 5.119848] lib80211_crypt: registered algorithm 'CCMP'
[ 5.125371] lib80211_crypt: registered algorithm 'TKIP'
[ 5.130829] Key type dns_resolver registered
[ 5.192376] Registering SWP/SWPB emulation handler
[ 5.198863] Loading compiled-in X.509 certificates
[ 5.453482] LAN9303_MDIO 20b4000.ethernet-1:01: No reset GPIO defined
[ 5.467059] LAN9303_MDIO 20b4000.ethernet-1:01: Found LAN9303 rev. 1
[ 5.474019] LAN9303_MDIO 20b4000.ethernet-1:01: Phy setup '1-2-3' detected
[ 5.495635]
[ 5.497192] ======================================================
[ 5.503409] WARNING: possible circular locking dependency detected
[ 5.509625] 5.4.24-00060-gbabac008e5cf-dirty #6 Not tainted
[ 5.515231] ------------------------------------------------------
[ 5.521442] kworker/0:3/108 is trying to acquire lock:
[ 5.526611] ca659c34 (lan9303_mdio:110:(&lan9303_mdio_regmap_config)->lock){+.+.}, at: regmap_read+0x2c/0x5c
[ 5.536503]
[ 5.536503] but task is already holding lock:
[ 5.542363] ca84088c (&bus->mdio_lock){+.+.}, at: mdiobus_read+0x40/0x6c
[ 5.549120]
[ 5.549120] which lock already depends on the new lock.
[ 5.549120]
[ 5.557324]
[ 5.557324] the existing dependency chain (in reverse order) is:
[ 5.564833]
[ 5.564833] -> #1 (&bus->mdio_lock){+.+.}:
[ 5.570457] mutex_lock_nested+0x1c/0x24
[ 5.574940] lan9303_mdio_read+0x24/0xb0
[ 5.579422] _regmap_read+0x60/0x24c
[ 5.583551] regmap_read+0x3c/0x5c
[ 5.587509] lan9303_read+0x28/0x58
[ 5.591554] lan9303_probe+0xbc/0x344
[ 5.595773] lan9303_mdio_probe+0x74/0xd8
[ 5.600338] mdio_probe+0x30/0x54
[ 5.604214] really_probe+0x200/0x338
[ 5.608439] driver_probe_device+0x5c/0x168
[ 5.613182] bus_for_each_drv+0x70/0xb8
[ 5.617574] __device_attach+0xcc/0x140
[ 5.621967] bus_probe_device+0x88/0x90
[ 5.626364] device_add+0x480/0x640
[ 5.630407] mdio_device_register+0x1c/0x4c
[ 5.635150] of_mdiobus_register+0x16c/0x2ec
[ 5.639982] fec_probe+0x10f4/0x139c
[ 5.644118] platform_drv_probe+0x6c/0xa4
[ 5.648688] really_probe+0x200/0x338
[ 5.652908] driver_probe_device+0x5c/0x168
[ 5.657648] device_driver_attach+0x58/0x60
[ 5.662389] __driver_attach+0x84/0xc0
[ 5.666694] bus_for_each_dev+0x64/0xb4
[ 5.671090] bus_add_driver+0x13c/0x1e4
[ 5.675482] driver_register+0x78/0x110
[ 5.679877] do_one_initcall+0x7c/0x410
[ 5.684276] kernel_init_freeable+0x11c/0x1e4
[ 5.689192] kernel_init+0x8/0x114
[ 5.693151] ret_from_fork+0x14/0x20
[ 5.697280] 0x0
[ 5.699667]
[ 5.699667] -> #0 (lan9303_mdio:110:(&lan9303_mdio_regmap_config)->lock){+.+.}:
[ 5.708509] lock_acquire+0xd4/0x268
[ 5.712639] __mutex_lock+0x78/0xa48
[ 5.716767] mutex_lock_nested+0x1c/0x24
[ 5.721246] regmap_read+0x2c/0x5c
[ 5.725204] lan9303_read+0x28/0x58
[ 5.729248] lan9303_phy_read+0x70/0x94
[ 5.733639] __mdiobus_read+0x38/0x234
[ 5.737943] mdiobus_read+0x50/0x6c
[ 5.741991] get_phy_device+0x50/0x1e4
[ 5.746296] mdiobus_scan+0x20/0x130
[ 5.750425] __mdiobus_register+0x154/0x23c
[ 5.755167] dsa_register_switch+0xa34/0xac8
[ 5.759992] lan9303_probe+0x1b8/0x344
[ 5.764298] lan9303_mdio_probe+0x74/0xd8
[ 5.768860] mdio_probe+0x30/0x54
[ 5.772732] really_probe+0x200/0x338
[ 5.776954] driver_probe_device+0x5c/0x168
[ 5.781694] bus_for_each_drv+0x70/0xb8
[ 5.786087] __device_attach+0xcc/0x140
[ 5.790480] bus_probe_device+0x88/0x90
[ 5.794873] deferred_probe_work_func+0x60/0x90
[ 5.799962] process_one_work+0x210/0x850
[ 5.804528] worker_thread+0x34/0x578
[ 5.808747] kthread+0x10c/0x148
[ 5.812530] ret_from_fork+0x14/0x20
[ 5.816655] 0x0
[ 5.819041]
[ 5.819041] other info that might help us debug this:
[ 5.819041]
[ 5.827076] Possible unsafe locking scenario:
[ 5.827076]
[ 5.833023] CPU0 CPU1
[ 5.837582] ---- ----
[ 5.842137] lock(&bus->mdio_lock);
[ 5.845750] lock(lan9303_mdio:110:(&lan9303_mdio_regmap_config)->lock);
[ 5.855089] lock(&bus->mdio_lock);
[ 5.861214] lock(lan9303_mdio:110:(&lan9303_mdio_regmap_config)->lock);
[ 5.868039]
[ 5.868039] *** DEADLOCK ***
[ 5.868039]
[ 5.873990] 5 locks held by kworker/0:3/108:
[ 5.878288] #0: ca0056a0 ((wq_completion)events){+.+.}, at: process_one_work+0x15c/0x850
[ 5.886521] #1: ca671f1c (deferred_probe_work){+.+.}, at: process_one_work+0x15c/0x850
[ 5.894577] #2: ca5ed0bc (&dev->mutex){....}, at: __device_attach+0x2c/0x140
[ 5.901766] #3: c1540b4c (dsa2_mutex){+.+.}, at: dsa_register_switch+0x24/0xac8
[ 5.909216] #4: ca84088c (&bus->mdio_lock){+.+.}, at: mdiobus_read+0x40/0x6c
[ 5.916401]
[ 5.916401] stack backtrace:
[ 5.920798] CPU: 0 PID: 108 Comm: kworker/0:3 Not tainted 5.4.24-00060-gbabac008e5cf-dirty #6
[ 5.929356] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 5.935579] Workqueue: events deferred_probe_work_func
[ 5.940786] [<c0113304>] (unwind_backtrace) from [<c010d204>] (show_stack+0x10/0x14)
[ 5.948586] [<c010d204>] (show_stack) from [<c0d502ac>] (dump_stack+0xd4/0x108)
[ 5.955954] [<c0d502ac>] (dump_stack) from [<c0191f2c>] (check_noncircular+0x140/0x1f4)
[ 5.964009] [<c0191f2c>] (check_noncircular) from [<c01941ac>] (__lock_acquire+0x11a8/0x233c)
[ 5.972578] [<c01941ac>] (__lock_acquire) from [<c0195c30>] (lock_acquire+0xd4/0x268)
[ 5.980452] [<c0195c30>] (lock_acquire) from [<c0d6fcd8>] (__mutex_lock+0x78/0xa48)
[ 5.988152] [<c0d6fcd8>] (__mutex_lock) from [<c0d706c4>] (mutex_lock_nested+0x1c/0x24)
[ 5.996198] [<c0d706c4>] (mutex_lock_nested) from [<c073345c>] (regmap_read+0x2c/0x5c)
[ 6.004161] [<c073345c>] (regmap_read) from [<c07fae28>] (lan9303_read+0x28/0x58)
[ 6.011688] [<c07fae28>] (lan9303_read) from [<c07fb464>] (lan9303_phy_read+0x70/0x94)
[ 6.019651] [<c07fb464>] (lan9303_phy_read) from [<c07f7d44>] (__mdiobus_read+0x38/0x234)
[ 6.027872] [<c07f7d44>] (__mdiobus_read) from [<c07f7ffc>] (mdiobus_read+0x50/0x6c)
[ 6.035662] [<c07f7ffc>] (mdiobus_read) from [<c07f65c8>] (get_phy_device+0x50/0x1e4)
[ 6.043539] [<c07f65c8>] (get_phy_device) from [<c07f73d0>] (mdiobus_scan+0x20/0x130)
[ 6.051412] [<c07f73d0>] (mdiobus_scan) from [<c07f7634>] (__mdiobus_register+0x154/0x23c)
[ 6.059721] [<c07f7634>] (__mdiobus_register) from [<c0c0c990>] (dsa_register_switch+0xa34/0xac8)
[ 6.068642] [<c0c0c990>] (dsa_register_switch) from [<c07fbbc4>] (lan9303_probe+0x1b8/0x344)
[ 6.077126] [<c07fbbc4>] (lan9303_probe) from [<c07fc7fc>] (lan9303_mdio_probe+0x74/0xd8)
[ 6.085349] [<c07fc7fc>] (lan9303_mdio_probe) from [<c07f8138>] (mdio_probe+0x30/0x54)
[ 6.093312] [<c07f8138>] (mdio_probe) from [<c07139a0>] (really_probe+0x200/0x338)
[ 6.100929] [<c07139a0>] (really_probe) from [<c0713c4c>] (driver_probe_device+0x5c/0x168)
[ 6.109243] [<c0713c4c>] (driver_probe_device) from [<c0711dbc>] (bus_for_each_drv+0x70/0xb8)
[ 6.117816] [<c0711dbc>] (bus_for_each_drv) from [<c0713724>] (__device_attach+0xcc/0x140)
[ 6.126129] [<c0713724>] (__device_attach) from [<c0712a84>] (bus_probe_device+0x88/0x90)
[ 6.134351] [<c0712a84>] (bus_probe_device) from [<c0712f20>] (deferred_probe_work_func+0x60/0x90)
[ 6.143358] [<c0712f20>] (deferred_probe_work_func) from [<c0158d58>] (process_one_work+0x210/0x850)
[ 6.152539] [<c0158d58>] (process_one_work) from [<c01593cc>] (worker_thread+0x34/0x578)
[ 6.160676] [<c01593cc>] (worker_thread) from [<c0161104>] (kthread+0x10c/0x148)
[ 6.168115] [<c0161104>] (kthread) from [<c01010b4>] (ret_from_fork+0x14/0x20)
[ 6.175371] Exception stack(0xca671fb0 to 0xca671ff8)
[ 6.180464] 1fa0: 00000000 00000000 00000000 00000000
[ 6.188679] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6.196893] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 6.209704] libphy: dsa slave smi: probed
[ 6.214250] LAN9303_MDIO 20b4000.ethernet-1:01: Using legacy PHYLIB callbacks. Please migrate to PHYLINK!
[ 6.226137] LAN9303_MDIO 20b4000.ethernet-1:01: lan9303_port_stp_state_set(port 0, state 3)
[ 6.236181] LAN9303_MDIO 20b4000.ethernet-1:01 lan1 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY]
[ 6.249245] LAN9303_MDIO 20b4000.ethernet-1:01 lan2 (uninitialized): PHY [dsa-0.0:02] driver [SMSC LAN911x Internal PHY]
[ 6.263144] DSA: tree 0 setup
[ 6.266202] LAN9303_MDIO 20b4000.ethernet-1:01: LAN9303 MDIO driver loaded successfully
[ 6.278360] imx_thermal tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
[ 6.291111] imx-wm8960 sound-wm8960: failed to find codec platform device
[ 6.300704] imx-wm8960 sound-wm8960: failed to find codec platform device
[ 6.309596] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:01 UTC (1)
[ 6.325486] fec 20b4000.ethernet eth0: Unable to connect to phy
[ 6.335307] IP-Config: Failed to open eth0
[ 6.344000] fec 20b4000.ethernet eth0: Unable to connect to phy
[ 6.353649] IP-Config: Failed to open eth0
[ 6.357816] IP-Config: Device `eth0' not found
[ 6.362369] cfg80211: Loading compiled-in X.509 certificates for regulatory database

 

BR
Juergen

0 Kudos

718 Views
alexsv
Contributor II

Hi Juergen,

would you like to test the patch for the lockdep issue in LAN9303 driver?

Best regards,

Alexander.

0 Kudos

3,009 Views
igorpadykov
NXP Employee
NXP Employee

Hi Juergen

 

>i have tried Linux 5.4.24_2.1.0​.

 

what uboot version was used, could you try with:

https://source.codeaurora.org/external/imx/uboot-imx/tree/?h=imx_v2020.04_5.4.24_2.1.0

 

Best regards
igor

0 Kudos

3,002 Views
juergen_schuste
Contributor I

Hi Igor,

i use U-Boot 2016.03.rel_imx_4.1.15_2.0.0.
I will try the new version.

BR Juergen

0 Kudos

2,962 Views
juergen_schuste
Contributor I

Hi Igor,
sorry for the late reply.

With the new Uboot, i have the same Problem.
But I found a bug in my hardware. Now the ethernet works in Uboot (with generic phy driver) and in linux (with generic phy drive).
I also changed the management interface from the LAN9303 to i2c. If i use den LAN9303 DSA driver i get following error massage: "eth0: Dropping packet due to invalid VLAN marker".

Do you have any idea what I do wrong?

Best regards
Juergen

0 Kudos

2,953 Views
igorpadykov
NXP Employee
NXP Employee

Hi Juergen

 

one can look at below patch

https://lore.kernel.org/patchwork/patch/779274/

 

Best regards
igor

0 Kudos

2,921 Views
juergen_schuste
Contributor I

Hi Igor,

I think the problem is in the fec driver.
In the fec_main.c the vlan tag wil be removed.
The DSA driver can't find the tag and drop the message: "eth0: Dropping packet due to invalid VLAN marker"

fec_main.c:
   ...
   /* If this is a VLAN packet remove the VLAN Tag */
   vlan_packet_rcvd = false;
   if ((ndev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
   fep->bufdesc_ex &&
   (ebdp->cbd_esc & cpu_to_fec32(BD_ENET_RX_VLAN))) {
      /* Push and remove the vlan tag */
      struct vlan_hdr *vlan_header =
     (struct vlan_hdr *) (data + ETH_HLEN);
      vlan_tag = ntohs(vlan_header->h_vlan_TCI);

      vlan_packet_rcvd = true;

      memmove(skb->data + VLAN_HLEN, data, ETH_ALEN * 2);
     skb_pull(skb, VLAN_HLEN);
   }
   ...

Do you have any idea how i can fix the problem?

BR
Juergen

0 Kudos

2,883 Views
igorpadykov
NXP Employee
NXP Employee

Hi Juergen

 

unfortunately nxp does not support i.MX6ULL kernel version 5.4.44 nor DSA driver

in its official BSPs described on

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

In general one can try to get additional support using Professional Services:

https://contact.nxp.com/new-prof-svcs-sw-tech

 

Best regards
igor

0 Kudos

2,948 Views
juergen_schuste
Contributor I

Hi igor,

i use kernel version 5.4.44. The tag_lan9303.c file is already in the source code.

BR
Juergen

0 Kudos

3,059 Views
igorpadykov
NXP Employee
NXP Employee

Hi juergen_schuste

 

for dual enet configuration one can look at

https://community.nxp.com/t5/i-MX-Processors/imx6ul-eth-work-abnormal/m-p/898802

 

Best regards
igor

0 Kudos