Forum Linux.embarqué Port ethernet up mais aucun flux

Posté par  . Licence CC By‑SA.
Étiquettes :
1
21
avr.
2023

Sommaire

Hello.

JE travaille sur une Clearfog base cn9130.
Elle possède deux ports éthernet (eth1 et eth2) et un port sfp (eth0).

Les interfaces eth0 et eth1 fonctionnent.

Cependant pour eth2 :
j'arrive à l'activer mais aucun flux ne passe (test ping etc…).

Pourtant je n'ai aucune erreur dans le dmesg
```

dmesg

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.15.0 (root@workstation) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #1 SMP PREEMPT Fri Apr 21 19:02:50 CEST 2023
[ 0.000000] Machine model: SolidRun CN9130 based SOM Clearfog Base
[ 0.000000] earlycon: uart8250 at MMIO32 0x00000000f0512000 (options '')
[ 0.000000] printk: bootconsole [uart8250] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000013fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x13f7d5c00-0x13f7d7fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x000000013fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] node 0: [mem 0x0000000004000000-0x00000000041fffff]
[ 0.000000] node 0: [mem 0x0000000004200000-0x00000000bfffffff]
[ 0.000000] node 0: [mem 0x0000000100000000-0x000000013fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000013fffffff]
[ 0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 19 pages/cpu s40152 r8192 d29480 u77824
[ 0.000000] pcpu-alloc: s40152 r8192 d29480 u77824 alloc=19*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Spectre-v2
[ 0.000000] CPU features: detected: Spectre-v3a
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1032192
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: board=base console=ttyS0,115200n1 earlycon=uart8250,mmio32,0xf0512000 debug=7 initrd=0x9000000,550M
[ 0.000000] Unknown command line parameters: board=base
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped mem 0x00000000ba000000-0x00000000be000000
[ 0.000000] Memory: 3427532K/4194304K available (12928K kernel code, 1282K rwdata, 4948K rodata, 2304K init, 444K bss, 734004K reserved, 32768K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f022f000
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv2m: DT overriding V2M MSI_TYPER (base:160, num:32)
[ 0.000000] GICv2m: range[mem 0xf0280000-0xf0280fff], SPI[160:191]
[ 0.000000] GICv2m: DT overriding V2M MSI_TYPER (base:192, num:32)
[ 0.000000] GICv2m: range[mem 0xf0290000-0xf0290fff], SPI[192:223]
[ 0.000000] GICv2m: DT overriding V2M MSI_TYPER (base:224, num:32)
[ 0.000000] GICv2m: range[mem 0xf02a0000-0xf02a0fff], SPI[224:255]
[ 0.000000] GICv2m: DT overriding V2M MSI_TYPER (base:256, num:32)
[ 0.000000] GICv2m: range[mem 0xf02b0000-0xf02b0fff], SPI[256:287]
[ 0.000000] random: get_random_bytes called from start_kernel+0x484/0x674 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000000] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008332] Console: colour dummy device 80x25
[ 0.012873] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[ 0.023416] pid_max: default: 32768 minimum: 301
[ 0.028136] LSM: Security Framework initializing
[ 0.032868] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.040459] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.049056] rcu: Hierarchical SRCU implementation.
[ 0.054206] EFI services will not be available.
[ 0.058873] smp: Bringing up secondary CPUs …
[ 0.063863] Detected PIPT I-cache on CPU1
[ 0.063898] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[ 0.064319] Detected PIPT I-cache on CPU2
[ 0.064343] CPU2: Booted secondary processor 0x0000000100 [0x410fd083]
[ 0.064773] Detected PIPT I-cache on CPU3
[ 0.064791] CPU3: Booted secondary processor 0x0000000101 [0x410fd083]
[ 0.064825] smp: Brought up 1 node, 4 CPUs
[ 0.101099] SMP: Total of 4 processors activated.
[ 0.105884] CPU features: detected: 32-bit EL0 Support
[ 0.111136] CPU features: detected: 32-bit EL1 Support
[ 0.116367] CPU features: detected: CRC32 instructions
[ 0.128851] CPU: All CPU(s) started at EL2
[ 0.133027] alternatives: patching kernel code
[ 0.138450] devtmpfs: initialized
[ 0.143487] KASLR disabled due to lack of seed
[ 0.148073] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.157957] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.165269] pinctrl core: initialized pinctrl subsystem
[ 0.170825] DMI not present or invalid.
[ 0.174918] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.181542] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[ 0.188860] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.196880] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.204961] audit: initializing netlink subsys (disabled)
[ 0.210509] audit: type=2000 audit(0.152:1): state=initialized audit_enabled=0 res=1
[ 0.210695] thermal_sys: Registered thermal governor 'step_wise'
[ 0.218370] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.224762] cpuidle: using governor menu
[ 0.235456] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.242389] ASID allocator initialised with 65536 entries
[ 0.248080] Serial: AMBA PL011 UART driver
[ 0.260134] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.266911] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.273729] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.280535] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.287899] cryptd: max_cpu_qlen set to 1000
[ 0.293155] ACPI: Interpreter disabled.
[ 0.297555] ap0_sd_vccq: Bringing 3300000uV into 1800000-1800000uV
[ 0.304035] iommu: Default domain type: Translated
[ 0.308992] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.315437] vgaarb: loaded
[ 0.318313] SCSI subsystem initialized
[ 0.322162] libata version 3.00 loaded.
[ 0.326094] usbcore: registered new interface driver usbfs
[ 0.331672] usbcore: registered new interface driver hub
[ 0.337148] usbcore: registered new device driver usb
[ 0.342598] pps_core: LinuxPPS API ver. 1 registered
[ 0.347657] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 0.356978] PTP clock support registered
[ 0.361043] EDAC MC: Ver: 3.0.0
[ 0.364504] FPGA manager framework
[ 0.368007] Advanced Linux Sound Architecture Driver Initialized.
[ 0.374582] clocksource: Switched to clocksource arch_sys_counter
[ 0.380815] VFS: Disk quotas dquot_6.6.0
[ 0.384805] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.391875] pnp: PnP ACPI: disabled
[ 0.397861] NET: Registered PF_INET protocol family
[ 0.402948] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.411347] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 0.420109] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.428277] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 0.435925] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.442664] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.449562] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.456943] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.462857] RPC: Registered named UNIX socket transport module.
[ 0.468889] RPC: Registered udp transport module.
[ 0.473684] RPC: Registered tcp transport module.
[ 0.478461] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.485000] PCI: CLS 0 bytes, default 64
[ 0.489077] Unpacking initramfs…
[ 0.498782] kvm [1]: IPA Size Limit: 44 bits
[ 0.506604] kvm [1]: vgic interrupt IRQ9
[ 0.510679] kvm [1]: Hyp mode initialized successfully
[ 0.517547] Initialise system trusted keyrings
[ 0.522194] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[ 0.531122] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.537340] NFS: Registering the id_resolver key type
[ 0.542513] Key type id_resolver registered
[ 0.546764] Key type id_legacy registered
[ 0.550916] nfs4filelayout_init: NFSv4 File Layout Driver Registering…
[ 0.557743] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering…
[ 0.565364] 9p: Installing v9fs 9p2000 file system support
[ 0.590602] Key type asymmetric registered
[ 0.594777] Asymmetric key parser 'x509' registered
[ 0.599766] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.607322] io scheduler mq-deadline registered
[ 0.611968] io scheduler kyber registered
[ 0.617914] armada-ap806-pinctrl f06f4000.system-controller:pinctrl: registered pinctrl driver
[ 0.627195] armada-cp110-pinctrl f2440000.system-controller:pinctrl: registered pinctrl driver
[ 0.636886] EINJ: ACPI disabled.
[ 0.641643] mv_xor_v2 f0400000.xor: Marvell Version 2 XOR driver
[ 0.648185] mv_xor_v2 f0420000.xor: Marvell Version 2 XOR driver
[ 0.654712] mv_xor_v2 f0440000.xor: Marvell Version 2 XOR driver
[ 0.661209] mv_xor_v2 f0460000.xor: Marvell Version 2 XOR driver
[ 0.667882] mv_xor_v2 f26a0000.xor: Marvell Version 2 XOR driver
[ 0.674419] mv_xor_v2 f26c0000.xor: Marvell Version 2 XOR driver
[ 0.682280] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.689362] printk: console [ttyS0] disabled
[ 0.713855] f0512000.serial: ttyS0 at MMIO 0xf0512000 (irq = 16, base_baud = 12500000) is a 16550A
[ 0.723017] printk: console [ttyS0] enabled
[ 0.731479] printk: bootconsole [uart8250] disabled
[ 0.744492] loop: module loaded
[ 0.747975] megasas: 07.717.02.00-rc1
[ 0.751982] ahci f2540000.sata: supply ahci not found, using dummy regulator
[ 0.759140] ahci f2540000.sata: supply phy not found, using dummy regulator
[ 0.766386] platform f2540000.sata:sata-port@0: supply target not found, using dummy regulator
[ 0.775294] platform f2540000.sata:sata-port@1: supply target not found, using dummy regulator
[ 0.784080] ahci f2540000.sata: masking port_map 0x3 -> 0x3
[ 0.789717] ahci f2540000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[ 0.798288] ahci f2540000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
[ 0.806991] scsi host0: ahci
[ 0.810094] scsi host1: ahci
[ 0.813077] ata1: SATA max UDMA/133 mmio [mem 0xf2540000-0xf256ffff] port 0x100 irq 25
[ 0.821038] ata2: SATA max UDMA/133 mmio [mem 0xf2540000-0xf256ffff] port 0x180 irq 25
[ 0.830977] spi-nor spi2.0: s25fl064k (8192 Kbytes)
[ 1.140738] ata1: SATA link down (SStatus 0 SControl 300)
[ 1.310589] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.321358] ata2.00: ATA-10: Dogfish SSD 128GB, ZD0R3G30, max UDMA/133
[ 1.327920] ata2.00: 250069680 sectors, multi 1: LBA48 NCQ (depth 32)
[ 1.339007] ata2.00: configured for UDMA/133
[ 1.343446] scsi 1:0:0:0: Direct-Access ATA Dogfish SSD 128G 3G30 PQ: 0 ANSI: 5
[ 1.351936] sd 1:0:0:0: [sda] 250069680 512-byte logical blocks: (128 GB/119 GiB)
[ 1.359495] sd 1:0:0:0: [sda] Write Protect is off
[ 1.364320] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.369433] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.380246] sd 1:0:0:0: [sda] Attached SCSI removable disk
[ 3.523701] Initramfs unpacking failed: invalid magic at start of compressed archive
[ 3.651236] Freeing initrd memory: 563200K
[ 3.659455] spi-nor spi2.1: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 3.666390] spi-nor: probe of spi2.1 failed with error -2
[ 3.672328] libphy: Fixed MDIO Bus: probed
[ 3.677011] tun: Universal TUN/TAP device driver, 1.6
[ 3.682308] thunder_xcv, ver 1.0
[ 3.685573] thunder_bgx, ver 1.0
[ 3.688829] nicpf, ver 1.0
[ 3.691716] hclge is initializing
[ 3.695055] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[ 3.702309] hns3: Copyright (c) 2017 Huawei Corporation.
[ 3.707665] e1000: Intel(R) PRO/1000 Network Driver
[ 3.712566] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 3.718349] e1000e: Intel(R) PRO/1000 Network Driver
[ 3.723336] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 3.729293] igb: Intel(R) Gigabit Ethernet Network Driver
[ 3.734717] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 3.740326] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[ 3.746622] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 3.752763] libphy: orion_mdio_bus: probed
[ 3.762553] mvpp2 f2000000.ethernet: using 3 shared buffers
[ 3.773550] sky2: driver version 1.30
[ 3.777454] VFIO - User Level meta-driver version: 0.3
[ 3.783125] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.789697] ehci-pci: EHCI PCI platform driver
[ 3.794174] ehci-platform: EHCI generic platform driver
[ 3.799485] ehci-orion: EHCI orion driver
[ 3.803561] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.809779] ohci-pci: OHCI PCI platform driver
[ 3.814254] ohci-platform: OHCI generic platform driver
[ 3.819723] xhci-hcd f2500000.usb: xHCI Host Controller
[ 3.824985] xhci-hcd f2500000.usb: new USB bus registered, assigned bus number 1
[ 3.832468] xhci-hcd f2500000.usb: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[ 3.841668] xhci-hcd f2500000.usb: irq 26, io mem 0xf2500000
[ 3.847421] xhci-hcd f2500000.usb: xHCI Host Controller
[ 3.852673] xhci-hcd f2500000.usb: new USB bus registered, assigned bus number 2
[ 3.860104] xhci-hcd f2500000.usb: Host supports USB 3.0 SuperSpeed
[ 3.866628] hub 1-0:1.0: USB hub found
[ 3.870401] hub 1-0:1.0: 1 port detected
[ 3.874469] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 3.882765] hub 2-0:1.0: USB hub found
[ 3.886537] hub 2-0:1.0: 1 port detected
[ 3.890681] xhci-hcd f2510000.usb: xHCI Host Controller
[ 3.895944] xhci-hcd f2510000.usb: new USB bus registered, assigned bus number 3
[ 3.903416] xhci-hcd f2510000.usb: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[ 3.912625] xhci-hcd f2510000.usb: irq 27, io mem 0xf2510000
[ 3.918371] xhci-hcd f2510000.usb: xHCI Host Controller
[ 3.923625] xhci-hcd f2510000.usb: new USB bus registered, assigned bus number 4
[ 3.931058] xhci-hcd f2510000.usb: Host supports USB 3.0 SuperSpeed
[ 3.937537] hub 3-0:1.0: USB hub found
[ 3.941317] hub 3-0:1.0: 1 port detected
[ 3.945367] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 3.953663] hub 4-0:1.0: USB hub found
[ 3.957441] hub 4-0:1.0: 1 port detected
[ 3.961577] usbcore: registered new interface driver usb-storage
[ 3.967653] usbcore: registered new interface driver ftdi_sio
[ 3.973434] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 3.980815] usbcore: registered new interface driver option
[ 3.986422] usbserial: USB Serial support registered for GSM modem (1-port)
[ 3.994298] armada38x-rtc f2284000.rtc: registered as rtc0
[ 3.999825] armada38x-rtc f2284000.rtc: setting system clock to 2064-05-06T00:59:44 UTC (2977261184)
[ 4.009159] i2c_dev: i2c /dev entries driver
[ 4.013843] pca953x 0-0020: supply vcc not found, using dummy regulator
[ 4.020542] pca953x 0-0020: using no AI
[ 4.025545] gpio-496 (pcie1.0-clkreq): hogged as input
[ 4.031744] gpio-498 (m2-ful-card-power-off): hogged as output/high
[ 4.038661] gpio-499 (pcie1.0-w-disable): hogged as output/low
[ 4.044829] gpio-501 (usb3-current-limit): hogged as input
[ 4.050957] gpio-502 (usb3-power): hogged as output/high
[ 4.057746] gpio-504 (m2-w-disable): hogged as output/low
[ 4.063787] gpio-506 (m2-reset): hogged as output/high
[ 4.069564] gpio-507 (m.2 devslp): hogged as output/low
[ 4.075001] at24 0-0053: supply vcc not found, using dummy regulator
[ 4.081896] at24 0-0053: 256 byte 24c02 EEPROM, writable, 16 bytes/write
[ 4.089249] mcp3021 0-004c: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[ 4.114966] sbsa-gwdt f0610000.watchdog: Initialized with 10s timeout @ 25000000 Hz, action=0.
[ 4.124862] sdhci: Secure Digital Host Controller Interface driver
[ 4.131093] sdhci: Copyright(c) Pierre Ossman
[ 4.135667] Synopsys Designware Multimedia Card Interface Driver
[ 4.141888] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.148399] ledtrig-cpu: registered to indicate activity on CPUs
[ 4.154687] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ….
[ 4.161353] usbcore: registered new interface driver usbhid
[ 4.166955] usbhid: USB HID core driver
[ 4.171800] NET: Registered PF_PACKET protocol family
[ 4.176958] 9pnet: Installing 9P2000 support
[ 4.179130] mmc0: SDHCI controller on f06e0000.sdhci [f06e0000.sdhci] using ADMA 64-bit
[ 4.181274] Key type dns_resolver registered
[ 4.193691] Loading compiled-in X.509 certificates
[ 4.199769] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[ 4.208659] gpio-59 (phy_reset): hogged as output/high
[ 4.214471] armada8k-pcie f2640000.pcie: host bridge /cp0/pcie@f2640000 ranges:
[ 4.221842] armada8k-pcie f2640000.pcie: MEM 0x00e1000000..0x00e1efffff -> 0x00e1000000
[ 4.230361] armada8k-pcie f2640000.pcie: iATU unroll: disabled
[ 4.236231] armada8k-pcie f2640000.pcie: Detected iATU regions: 8 outbound, 8 inbound
[ 4.288522] mmc0: new HS200 MMC card at address 0001
[ 4.293954] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB
[ 4.300050] mmcblk0boot0: mmc0:0001 8GTF4R 4.00 MiB
[ 4.305731] mmcblk0boot1: mmc0:0001 8GTF4R 4.00 MiB
[ 4.311251] mmcblk0rpmb: mmc0:0001 8GTF4R 512 KiB, chardev (239:0)
[ 5.244293] armada8k-pcie f2640000.pcie: Phy link never came up
[ 5.250434] armada8k-pcie f2640000.pcie: PCI host bridge to bus 0000:00
[ 5.257159] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 5.262683] pci_bus 0000:00: root bus resource [mem 0xe1000000-0xe1efffff]
[ 5.269639] pci 0000:00:00.0: [11ab:0110] type 01 class 0x060400
[ 5.275725] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 5.282133] pci 0000:00:00.0: supports D1 D2
[ 5.286440] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 5.294246] pci 0000:00:00.0: BAR 0: assigned [mem 0xe1000000-0xe10fffff]
[ 5.301090] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 5.664972] pcieport 0000:00:00.0: PME: Signaling with IRQ 42
[ 5.671054] libphy: SFP I2C Bus: probed
[ 5.675917] sfp sfp-eth@0: Host maximum power 2.0W
[ 5.683171] mvpp2 f2000000.ethernet: using 3 shared buffers
[ 5.706059] mvpp2 f2000000.ethernet eth0: Using random mac address f2:d7:2d:ce:e9:a4
[ 5.716500] mvpp2 f2000000.ethernet eth1: Using random mac address a2:ea:7b:8e:c1:f8
[ 5.725769] mvpp2 f2000000.ethernet eth2: Using random mac address e2:c8:0d:a8:24:f4
[ 5.832193] xenon-sdhci f2780000.sdhci: Got CD GPIO
[ 5.832197] input: keys as /devices/platform/keys/input/input0
[ 5.832465] ALSA device list:
[ 5.845971] No soundcards found.
[ 5.867848] mmc1: SDHCI controller on f2780000.sdhci [f2780000.sdhci] using ADMA 64-bit
[ 5.876443] Freeing unused kernel memory: 2304K
[ 5.881101] Run /init as init process
[ 5.884798] with arguments:
[ 5.887780] /init
[ 5.890059] with environment:
[ 5.893213] HOME=/
[ 5.895583] TERM=linux
[ 5.898297] board=base
[ 5.909139] mmc1: new high speed SDHC card at address 0001
[ 5.915402] mmcblk1: mmc1:0001 00000 29.8 GiB
[ 5.922384] mmcblk1: p1 p2 p3
[ 9.602593] random: crng init done
[ 9.621080] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 9.634318] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 9.709142] /dev/mmcblk0p1: Can't open blockdev
[ 9.728921] /dev/mmcblk0p2: Can't open blockdev
[ 9.740490] /dev/mmcblk0p3: Can't open blockdev
[ 9.819302] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[ 9.829140] ext4 filesystem being mounted at /gui_sd supports timestamps until 2038 (0x7fffffff)
[ 9.870261] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[ 9.880071] ext4 filesystem being mounted at /recovery_sd supports timestamps until 2038 (0x7fffffff)
[ 10.121111] udevd[230]: starting version 3.2.11
[ 10.134275] udevd[231]: starting eudev-3.2.11
[ 10.244982] omap_rng f2760000.trng: Random Number Generator ver. 203b34c
[ 10.759414] mvpp2 f2000000.ethernet eth1: PHY [f212a200.mdio-mii:01] driver Marvell 88E1510
[ 10.775745] mvpp2 f2000000.ethernet eth1: configuring for inband/sgmii link mode
[ 10.951307] NET: Registered PF_INET6 protocol family
[ 10.962913] Segment Routing with IPv6
[ 10.966610] In-situ OAM (IOAM) with IPv6
[ 35.870599] cp0_sd_vccq: disabling
[ 69.115422] mvpp2 f2000000.ethernet eth2: PHY [f212a200.mdio-mii:00] driver Marvell 88E1510
[ 69.125029] mvpp2 f2000000.ethernet eth2: configuring for phy/rgmii-id link mode
[ 72.187320] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
[ 72.195364] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[ 82.470437] mvpp2 f2000000.ethernet eth2: Link is Down
[ 118.775407] mvpp2 f2000000.ethernet eth2: PHY [f212a200.mdio-mii:00] driver Marvell 88E1510
[ 118.784988] mvpp2 f2000000.ethernet eth2: configuring for phy/rgmii-id link mode
[ 121.851338] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
[ 121.859376] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[ 263.951338] mvpp2 f2000000.ethernet eth2: Link is Down
[ 264.957073] mvpp2 f2000000.ethernet eth2: port 2: cleaning queue 0 timed out
[ 271.379540] mvpp2 f2000000.ethernet eth2: PHY [f212a200.mdio-mii:00] driver Marvell 88E1510
[ 271.389158] mvpp2 f2000000.ethernet eth2: configuring for phy/rgmii-id link mode
[ 274.459398] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
[ 274.467439] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[ 536.579387] mvpp2 f2000000.ethernet eth2: Tx stop timed out, status=0x00000303
[ 536.586656] mvpp2 f2000000.ethernet eth2: Link is Down
[ 546.843274] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
[ 608.795023] mvpp2 f2000000.ethernet eth2: Tx stop timed out, status=0x00000b0b
[ 608.802293] mvpp2 f2000000.ethernet eth2: Link is Down
[ 609.808981] mvpp2 f2000000.ethernet eth2: port 2: cleaning queue 1 timed out
[ 610.817583] mvpp2 f2000000.ethernet eth2: port 2: cleaning queue 3 timed out
[ 623.223570] mvpp2 f2000000.ethernet eth2: PHY [f212a200.mdio-mii:00] driver Marvell 88E1510
[ 623.233201] mvpp2 f2000000.ethernet eth2: configuring for phy/rgmii-id link mode
[ 626.299327] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
[ 626.307372] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
```
Merci par avance. :)

  • # Adresse ?

    Posté par  . Évalué à 2.

    [nb: si le message est encore éditable, il faut passer une ligne avant les premiers ```, pas après]

    Est-ce que l'interface réseau a obtenu une adresse par DHCP ou bien possède une IP fixe ?
    (ifconfig ou ip addr pour vérifier).

    Peut-être alors un problème de route ? (route -n et je ne sais plus exactement avec ip)

    • [^] # Re: Adresse ?

      Posté par  . Évalué à 1.

      Hello.
      tout d'abord, merci pour ta réponse :)

      J'ai oublié de dire que je n'arrive pas à avoir d'adresse IP pour l'interface eth2 en dhcp.

      J'ai également essayé en ip statique.
      Impossible de pinguer la passerelle.

      J'ai testé le câble sur les autres ports, et j'ai quand même essayé avec un autre cable rj45.
      Ca n'a rien changé:(

  • # ethtool et vérification câble

    Posté par  . Évalué à 3.

    2 commandes d'aide au diagnostic :
    sudo ethtool -t eth2 (exécute un autotest de l'interface)
    sudo ethtool -S eth2 (interroge les statistiques de l'interface en Tx et Rx)

    Et vérification hardware :
    Échange les câbles entre celui sur eth1 (qui fonctionne c'est sûr) et celui sur eth2.
    Change de port sur le switch.

    • [^] # Re: ethtool et vérification câble

      Posté par  . Évalué à 1.

      Hello.
      Merci pour ta réponse.

      La commande ethtool -S sort tout à zéro.

      et pour la commande ethtool -t

      # ethtool -t eth2
      Cannot test: Operation not supported
      

      Côté hardware :
      j'ai testé le câble sur les autres ports.
      J'ai également essayé avec un autre câble rj45. :(

      • [^] # Re: ethtool et vérification câble

        Posté par  . Évalué à 3.

        # ethtool -t eth2
        Cannot test: Operation not supported

        Le "-t" lance un autotest mais ne peut pas le faire en cours d'utilisation (je crois).
        - Débranche le câble de ce port eth2 avant de lancer la commande d'autotest.
        - Enlève le "-t" pour voir si elle répond avec son status : $ sudo ethtool eth2 (avec et sans le câble).
        - Essaye plusieurs paramètres comme : $ sudo ethtool -s eth2 autoneg off pour voir comment elle réagit.
        - man ethtool

  • # DTB ?

    Posté par  (site web personnel) . Évalué à 3.

    Hello,

    Il y a une chose que je trouve surprenante, c'est qu'il y a apparemment une symétrie sur eth1/eth2, au moins en terme de module utilisé (Marvell 88E1510), et je m'attendrais à avoir les mêmes caractéristiques. En revanche, la configuration se fait en inband/sgmii pour eth1 tandis qu'elle se fait en phy/rgmii-id pour eth2 (cf. MII pour les détails).

    Si je regarde arch/arm64/boot/dts/marvell/cn9130-db.dtsi dans le code source du noyau Linux, je vois des choses cohérentes par rapport aux spécifications constructeur :

    2 x Ethernet RJ45 10/100/1000
    1 x SFP+ 10GbE
    

    à savoir (je conserve uniquement le plus pertinent) :

    /* SLM-1521-V2, CON9 */
    &cp0_eth0 {
            phy-mode = "10gbase-r";
            managed = "in-band-status";
    };
    
    /* CON56 */
    &cp0_eth1 {
            phy-mode = "rgmii-id";
    };
    
    /* CON57 */
    &cp0_eth2 {
            phy-mode = "rgmii-id";
    };
    

    Cela dit, il y a beaucoup de variantes cn913* !

    Il serait bon de savoir quelles sont les caractéristiques exactes de ta machine, quelle est la version exacte du noyau, quelle DTB est utilisée, et si c'est effectivement la bonne.

    En tout cas, c'est par là que je commencerais.

    (Pourquoi je suggère cela : j'ai déjà vu des Pi CM3 se prendre pour des Pi 3 — ça ne marche pas du tout — et des Pi CM4 se prendre pour des Pi 4B — c'est pire, ça marche presque, sauf qu'il manque des morceaux — parce que le chargeur de démarrage se prenait les pieds dans le tapis et n'utilisait pas la bonne DTB.)

    Debian Consultant @ DEBAMAX

    • [^] # Re: DTB ?

      Posté par  . Évalué à 1. Dernière modification le 22 avril 2023 à 23:07.

      Sommaire

      Hello
      Je te remercie pour ta réponse.

      Ton avis est très intéressant, je vais travailler dessus.

      Je possède une clearfog base cn9130.
      J'utilise le kernel 6.2
      Le dts n'est pas natif dans le kernel, je l'ai édité à l'aide des patchs du constructeur :
      ```
      // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      /*
      * Copyright SolidRun Ltd.
      *
      * Device tree for the CN9130 based SOM.
      */

      include "cn9130.dtsi"

      include

      include

      / {
      model = "SolidRun CN9130 based SOM Clearfog Base";

      chosen {
          stdout-path = "serial0:115200n8";
      };
      
      aliases {
          gpio1 = &cp0_gpio1;
          gpio2 = &cp0_gpio2;
          i2c0 = &cp0_i2c0;
          ethernet0 = &cp0_eth0;
          ethernet1 = &cp0_eth1;
          ethernet2 = &cp0_eth2;
          spi1 = &cp0_spi0;
          spi2 = &cp0_spi1;
      };
      
      memory@00000000 {
          device_type = "memory";
          reg = <0x0 0x0 0x0 0x80000000>;
      };
      v_3_3: regulator-3-3v {
          compatible = "regulator-fixed";
          regulator-name = "v_3_3";
          regulator-min-microvolt = <3300000>;
          regulator-max-microvolt = <3300000>;
          regulator-always-on;
          status = "okay";
      };
      ap0_reg_sd_vccq: ap0_sd_vccq@0 {
          compatible = "regulator-gpio";
          regulator-name = "ap0_sd_vccq";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
          states = <1800000 0x1 3300000 0x0>;
      };
      
      cp0_reg_usb3_vbus0: cp0_usb3_vbus@0 {
          compatible = "regulator-fixed";
          regulator-name = "cp0-xhci0-vbus";
          regulator-min-microvolt = <5000000>;
          regulator-max-microvolt = <5000000>;
          enable-active-high;
      };
      
      cp0_usb3_0_phy0: cp0_usb3_phy@0 {
          compatible = "usb-nop-xceiv";
          vcc-supply = <&cp0_reg_usb3_vbus0>;
      };
      
      cp0_reg_usb3_vbus1: cp0_usb3_vbus@1 {
          compatible = "regulator-fixed";
          regulator-name = "cp0-xhci1-vbus";
          regulator-min-microvolt = <5000000>;
          regulator-max-microvolt = <5000000>;
          enable-active-high;
      };
      
      cp0_usb3_0_phy1: cp0_usb3_phy@1 {
          compatible = "usb-nop-xceiv";
          vcc-supply = <&cp0_reg_usb3_vbus1>;
      };
      
      cp0_reg_sd_vccq: cp0_sd_vccq@0 {
          compatible = "regulator-gpio";
          regulator-name = "cp0_sd_vccq";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <3300000>;
          states = <1800000 0x1
              3300000 0x0>;
      };
      
      cp0_reg_sd_vcc: cp0_sd_vcc@0 {
          compatible = "regulator-fixed";
          regulator-name = "cp0_sd_vcc";
          regulator-min-microvolt = <3300000>;
          regulator-max-microvolt = <3300000>;
          enable-active-high;
          regulator-always-on;
      };
      
      cp0_sfp_eth0: sfp-eth@0 {
          compatible = "sff,sfp";
          i2c-bus = <&cp0_i2c1>;
          los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
          mod-def0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
          tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
          tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
          maximum-power-milliwatt = <2000>;
      };
      
      keys {
                  compatible = "gpio-keys";
                  pinctrl-0 = <&cp0_button_pin>;
                  pinctrl-names = "default";
      
          button0{
              /* SW3 button */
              label = "SW3";
              gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
              linux,can-disable;
              linux,code = <BTN_0>;
          };
      };
      

      };

      &uart0 {
      status = "okay";
      };

      /* on-board eMMC */
      &ap_sdhci0 {
      pinctrl-names = "default";
      bus-width = ;
      vqmmc-supply = <&ap0_reg_sd_vccq>;
      status = "okay";
      };

      &cp0_crypto {
      status = "disabled";
      };

      &cp0_ethernet {
      status = "okay";
      };

      &cp0_gpio1 {
      status = "okay";
      };

      &cp0_gpio2 {
      status = "okay";
      };

      /* EEPROM */
      &cp0_i2c0 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c0_pins>;
      clock-frequency = ;

      /*
       * PCA9655 GPIO expander, up to 1MHz clock.
       *  0-CON3 CLKREQ#
       *  1-CON3 PERST#
       *  2-M2 FUL_CARD_POWER_OFF
       *  3-CON3 W_DISABLE
       *  4-CON2 CLKREQ#
       *  5-USB3 overcurrent
       *  6-USB3 power
       *  7-CON2 W_DISABLE
       *  8-M2 W_DISABLE
       *  9-JP4 P4
       * 10-M2 RESET
       * 11-m.2 DEVSLP
       * 12-SFP_LOS
       * 13-SFP_TX_FAULT
       * 14-SFP_TX_DISABLE
       * 15-SFP_MOD_DEF0
       */
      expander0: gpio-expander@20 {
          /*
           * This is how it should be:
           * compatible = "onnn,pca9655", "nxp,pca9555";
           * but you can't do this because of the way I2C works.
           */
          compatible = "nxp,pca9555";
          gpio-controller;
          #gpio-cells = <2>;
          reg = <0x20>;
      
          pcie1_0_clkreq {
              gpio-hog;
              gpios = <0 GPIO_ACTIVE_LOW>;
              input;
              line-name = "pcie1.0-clkreq";
          };
          m2_ful_card_power_off {
              gpio-hog;
              gpios = <2 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "m2-ful-card-power-off";
          };
          pcie1_0_w_disable {
              gpio-hog;
              gpios = <3 GPIO_ACTIVE_LOW>;
              output-low;
              line-name = "pcie1.0-w-disable";
          };
          usb3_ilimit {
              gpio-hog;
              gpios = <5 GPIO_ACTIVE_LOW>;
              input;
              line-name = "usb3-current-limit";
          };
          usb3_power {
              gpio-hog;
              gpios = <6 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "usb3-power";
          };
          m2_w_disable {
              gpio-hog;
              gpios = <8 GPIO_ACTIVE_LOW>;
              output-low;
              line-name = "m2-w-disable";
          };
          m2_reset {
              gpio-hog;
              gpios = <10 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "m2-reset";
          };
          m2_devslp {
              gpio-hog;
              gpios = <11 GPIO_ACTIVE_HIGH>;
              output-low;
              line-name = "m.2 devslp";
          };
      };
      
      /* The MCP3021 supports standard and fast modes */
      mikrobus_adc: mcp3021@4c {
          compatible = "microchip,mcp3021";
          reg = <0x4c>;
      };
      
      /*EEPROM on the SOM */
      eeprom@53 {
          compatible = "atmel,24c02";
          reg = <0x53>;
          pagesize = <16>;
      };
      

      };

      /* I2C Master */
      &cp0_i2c1 {
      status = "okay";
      clock-frequency = ;
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c1_pins>;
      };

      &cp0_gpio1 {
      phy_reset { /* Release switch reset */
      gpio-hog;
      gpios = ;
      output-high;
      };
      };

      &cp0_mdio {
      status = "okay";
      phy0: ethernet-phy@0 {
      /* Green led blinks on activity, Orange LED on link /
      marvell,reg-init = ;
      reg = ;
      };
      phy1: ethernet-phy@1 {
      /
      Green led blinks on activity, Orange LED on link */
      marvell,reg-init = ;
      reg = ;
      };
      };

      /* SRDS #0 - SATA on M.2 connector */
      &cp0_sata0 {
      status = "okay";
      };

      /* SRDS #1 - USB 3.0 host */
      &cp0_usb3_0 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy0>;
      phy-names = "usb";
      };

      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      };

      /* SRDS #2 - SFP+ 10GE */
      &cp0_eth0 {
      status = "okay";
      phy-mode = "10gbase-r";
      local-mac-address = [64 69 61 67 62 03];
      phys = <&cp0_comphy2 0>;
      managed = "in-band-status";
      sfp = <&cp0_sfp_eth0>;
      };

      /* SRDS #3 - SGMII 1GE on carrier board */
      &cp0_eth1 {
      status = "okay";
      local-mac-address = [64 69 61 67 62 01];
      phys = <&cp0_comphy3 1>;
      phy = <&phy1>;
      managed = "in-band-status";
      phy-mode = "sgmii";
      };

      /* SRDS #4 - USB 3.0 host on M.2 connector */
      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      phy-names = "usb";
      };

      /* SRDS #5 - mini PCIe slot */
      &cp0_pcie2 {
      status = "okay";
      phys = <&cp0_comphy5 2>;
      num-lanes = ;
      reset-gpios = <&expander0 1 GPIO_ACTIVE_LOW>;
      };

      /* GE PHY RGMII /
      &cp0// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      /

      * Copyright SolidRun Ltd.
      *
      * Device tree for the CN9130 based SOM.
      */

      include "cn9130.dtsi"

      include

      include

      / {
      model = "SolidRun CN9130 based SOM Clearfog Base";

      chosen {
          stdout-path = "serial0:115200n8";
      };
      
      aliases {
          gpio1 = &cp0_gpio1;
          gpio2 = &cp0_gpio2;
          i2c0 = &cp0_i2c0;
          ethern// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      

      /*
      * Copyright SolidRun Ltd.
      *
      * Device tree for the CN9130 based SOM.
      */

      include "cn9130.dtsi"

      include

      include

      / {
      model = "SolidRun CN9130 based SOM Clearfog Base";

      chosen {
          stdout-path = "serial0:115200n8";
      };
      
      aliases {
          gpio1 = &cp0_gpio1;
          gpio2 = &cp0_gpio2;
          i2c0 = &cp0_i2c0;
          ethernet0 = &cp0_eth0;
          ethernet1 = &cp0_eth1;
          ethernet2 = &cp0_eth2;
          spi1 = &cp0_spi0;
          spi2 = &cp0_spi1;
      };
      
      memory@00000000 {
          device_type = "memory";
          reg = <0x0 0x0 0x0 0x80000000>;
      };
      v_3_3: regulator-3-3v {
          compatible = "regulator-fixed";
          regulator-name = "v_3_3";
          regulator-min-microvolt = <3300000>;
          regulator-max-microvolt = <3300000>;
          regulator-always-on;
          status = "okay";
      };
      ap0_reg_sd_vccq: ap0_sd_vccq@0 {
          compatible = "regulator-gpio";
          regulator-name = "ap0_sd_vccq";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
          states = <1800000 0x1 3300000 0x0>;
      };
      
      cp0_reg_usb3_vbus0: cp0_usb3_vbus@0 {
          compatible = "regulator-fixed";
          regulator-name = "cp0-xhci0-vbus";
          regulator-min-microvolt = <5000000>;
          regulator-max-microvolt = <5000000>;
          enable-active-high;
      };
      
      cp0_usb3_0_phy0: cp0_usb3_phy@0 {
          compatible = "usb-nop-xceiv";
          vcc-supply = <&cp0_reg_usb3_vbus0>;
      };
      
      cp0_reg_usb3_vbus1: cp0_usb3_vbus@1 {
          compatible = "regulator-fixed";
          regulator-name = "cp0-xhci1-vbus";
          regulator-min-microvolt = <5000000>;
          regulator-max-microvolt = <5000000>;
          enable-active-high;
      };
      
      cp0_usb3_0_phy1: cp0_usb3_phy@1 {
          compatible = "usb-nop-xceiv";
          vcc-supply = <&cp0_reg_usb3_vbus1>;
      };
      
      cp0_reg_sd_vccq: cp0_sd_vccq@0 {
          compatible = "regulator-gpio";
          regulator-name = "cp0_sd_vccq";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <3300000>;
          states = <1800000 0x1
              3300000 0x0>;
      };
      
      cp0_reg_sd_vcc: cp0_sd_vcc@0 {
          compatible = "regulator-fixed";
          regulator-name = "cp0_sd_vcc";
          regulator-min-microvolt = <3300000>;
          regulator-max-microvolt = <3300000>;
          enable-active-high;
          regulator-always-on;
      };
      
      cp0_sfp_eth0: sfp-eth@0 {
          compatible = "sff,sfp";
          i2c-bus = <&cp0_i2c1>;
          los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
          mod-def0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
          tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
          tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
          maximum-power-milliwatt = <2000>;
      };
      
      keys {
                  compatible = "gpio-keys";
                  pinctrl-0 = <&cp0_button_pin>;
                  pinctrl-names = "default";
      
          button0{
              /* SW3 button */
              label = "SW3";
              gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
              linux,can-disable;
              linux,code = <BTN_0>;
          };
      };
      

      };

      &uart0 {
      status = "okay";
      };

      /* on-board eMMC */
      &ap_sdhci0 {
      pinctrl-names = "default";
      bus-width = ;
      vqmmc-supply = <&ap0_reg_sd_vccq>;
      status = "okay";
      };

      &cp0_crypto {
      status = "disabled";
      };

      &cp0_ethernet {
      status = "okay";
      };

      &cp0_gpio1 {
      status = "okay";
      };

      &cp0_gpio2 {
      status = "okay";
      };

      /* EEPROM */
      &cp0_i2c0 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c0_pins>;
      clock-frequency = ;

      /*
       * PCA9655 GPIO expander, up to 1MHz clock.
       *  0-CON3 CLKREQ#
       *  1-CON3 PERST#
       *  2-M2 FUL_CARD_POWER_OFF
       *  3-CON3 W_DISABLE
       *  4-CON2 CLKREQ#
       *  5-USB3 overcurrent
       *  6-USB3 power
       *  7-CON2 W_DISABLE
       *  8-M2 W_DISABLE
       *  9-JP4 P4
       * 10-M2 RESET
       * 11-m.2 DEVSLP
       * 12-SFP_LOS
       * 13-SFP_TX_FAULT
       * 14-SFP_TX_DISABLE
       * 15-SFP_MOD_DEF0
       */
      expander0: gpio-expander@20 {
          /*
           * This is how it should be:
           * compatible = "onnn,pca9655", "nxp,pca9555";
           * but you can't do this because of the way I2C works.
           */
          compatible = "nxp,pca9555";
          gpio-controller;
          #gpio-cells = <2>;
          reg = <0x20>;
      
          pcie1_0_clkreq {
              gpio-hog;
              gpios = <0 GPIO_ACTIVE_LOW>;
              input;
              line-name = "pcie1.0-clkreq";
          };
          m2_ful_card_power_off {
              gpio-hog;
              gpios = <2 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "m2-ful-card-power-off";
          };
          pcie1_0_w_disable {
              gpio-hog;
              gpios = <3 GPIO_ACTIVE_LOW>;
              output-low;
              line-name = "pcie1.0-w-disable";
          };
          usb3_ilimit {
              gpio-hog;
              gpios = <5 GPIO_ACTIVE_LOW>;
              input;
              line-name = "usb3-current-limit";
          };
          usb3_power {
              gpio-hog;
              gpios = <6 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "usb3-power";
          };
          m2_w_disable {
              gpio-hog;
              gpios = <8 GPIO_ACTIVE_LOW>;
              output-low;
              line-name = "m2-w-disable";
          };
          m2_reset {
              gpio-hog;
              gpios = <10 GPIO_ACTIVE_HIGH>;
              output-high;
              line-name = "m2-reset";
          };
          m2_devslp {
              gpio-hog;
              gpios = <11 GPIO_ACTIVE_HIGH>;
              output-low;
              line-name = "m.2 devslp";
          };
      };
      
      /* The MCP3021 supports standard and fast modes */
      mikrobus_adc: mcp3021@4c {
          compatible = "microchip,mcp3021";
          reg = <0x4c>;
      };
      
      /*EEPROM on the SOM */
      eeprom@53 {
          compatible = "atmel,24c02";
          reg = <0x53>;
          pagesize = <16>;
      };
      

      };

      /* I2C Master */
      &cp0_i2c1 {
      status = "okay";
      clock-frequency = ;
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c1_pins>;
      };

      &cp0_gpio1 {
      phy_reset { /* Release switch reset */
      gpio-hog;
      gpios = ;
      output-high;
      };
      };

      &cp0_mdio {
      status = "okay";
      phy0: ethernet-phy@0 {
      /* Green led blinks on activity, Orange LED on link /
      marvell,reg-init = ;
      reg = ;
      };
      phy1: ethernet-phy@1 {
      /
      Green led blinks on activity, Orange LED on link */
      marvell,reg-init = ;
      reg = ;
      };
      };

      /* SRDS #0 - SATA on M.2 connector */
      &cp0_sata0 {
      status = "okay";
      };

      /* SRDS #1 - USB 3.0 host */
      &cp0_usb3_0 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy0>;
      phy-names = "usb";
      };

      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      };

      /* SRDS #2 - SFP+ 10GE */
      &cp0_eth0 {
      status = "okay";
      phy-mode = "10gbase-r";
      local-mac-address = [64 69 61 67 62 03];
      phys = <&cp0_comphy2 0>;
      managed = "in-band-status";
      sfp = <&cp0_sfp_eth0>;
      };

      /* SRDS #3 - SGMII 1GE on carrier board */
      &cp0_eth1 {
      status = "okay";
      local-mac-address = [64 69 61 67 62 01];
      phys = <&cp0_comphy3 1>;
      phy = <&phy1>;
      managed = "in-band-status";
      phy-mode = "sgmii";
      };

      /* SRDS #4 - USB 3.0 host on M.2 connector */
      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      phy-names = "usb";
      };

      /* SRDS #5 - mini PCIe slot */
      &cp0_pcie2 {
      status = "okay";
      phys = <&cp0_comphy5 2>;
      num-lanes = ;
      reset-gpios = <&expander0 1 GPIO_ACTIVE_LOW>;
      };

      /* GE PHY RGMII */
      &cp0_eth2 {
      status = "okay";
      local-mac-address = [64 69 61 67 62 02];
      phy = <&phy0>;
      phy-mode = "rgmii-id";
      pinctrl-0 = <&cp0_ge2_rgmii_pins>;
      };

      &cp0_sdhci0 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_sdhci_pins
      &cp0_sdhci_cd_pins>;
      bus-width = ;
      cd-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
      no-1-8-v;
      vqmmc-supply = <&v_3_3>;
      vmmc-supply = <&v_3_3>;
      };

      &cp0_spi1 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_spi1_pins>;
      reg = ;
      spi-flash@0 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      spi-max-frequency = ;
      };
      spi-flash@1 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      /* On carrier MUX does not allow higher frequencies */
      spi-max-frequency = ;
      };
      };

      &cp0_syscon0 {
      cp0_pinctrl: pinctrl {
      compatible = "marvell,cp115-standalone-pinctrl";
      cp0_i2c0_pins: cp0-i2c-pins-0 {
      marvell,pins = "mpp37", "mpp38";
      marvell,function = "i2c0";
      };
      cp0_i2c1_pins: cp0-i2c-pins-1 {
      marvell,pins = "mpp35", "mpp36";
      marvell,function = "i2c1";
      };
      cp0_ge2_rgmii_pins: cp0-ge-rgmii-pins-0 {
      marvell,pins = "mpp44", "mpp45", "mpp46",
      "mpp47", "mpp48", "mpp49",
      "mpp50", "mpp51", "mpp52",
      "mpp53", "mpp54", "mpp55";
      marvell,function = "ge1";
      };
      cp0_sdhci_cd_pins: cp0-sdhci-cd-pins-0 {
      marvell,pins = "mpp43";
      marvell,function = "sdio";
      };
      cp0_sdhci_pins: cp0-sdhi-pins-0 {
      marvell,pins = "mpp56", "mpp57", "mpp58",
      "mpp59", "mpp60", "mpp61";
      marvell,function = "sdio";
      };
      cp0_spi1_pins: cp0-spi-pins-1 {
      marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
      marvell,function = "spi1";
      };
      /* cp0_rcvr_clk_pins: cp0-rcvr-clk-pins {
      marvell, pins = "mpp40";
      marvell,function = "synce1";
      };*/
      cp0_button_pin: cp0-button-pin {
      marvell,pins = "mpp32";
      marvell,function = "gpio";
      };
      };
      };
      et0 = &cp0_eth0;
      ethernet1 = &cp0_eth1;
      ethernet2 = &cp0_eth2;
      spi1 = &cp0_spi0;
      spi2 = &cp0_spi1;
      };
      memory@00000000 {
      device_type = "memory";
      reg = <0x0 0x0 0x0 0x80000000>;
      };
      v_3_3: regulator-3-3v {
      compatible = "regulator-fixed";
      regulator-name = "v_3_3";
      regulator-min-microvolt = <3300000>;
      regulator-max-microvolt = <3300000>;
      regulator-always-on;
      status = "okay";
      };
      ap0_reg_sd_vccq: ap0_sd_vccq@0 {
      compatible = "regulator-gpio";
      regulator-name = "ap0_sd_vccq";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <1800000>;
      states = <1800000 0x1 3300000 0x0>;
      };

      cp0_reg_usb3_vbus0: cp0_usb3_vbus@0 {
      compatible = "regulator-fixed";
      regulator-name = "cp0-xhci0-vbus";
      regulator-min-microvolt = ;
      regulator-max-microvolt = ;
      enable-active-high;
      };
      cp0_usb3_0_phy0: cp0_usb3_phy@0 {
      compatible = "usb-nop-xceiv";
      vcc-supply = <&cp0_reg_usb3_vbus0>;
      };

      cp0_reg_usb3_vbus1: cp0_usb3_vbus@1 {
      compatible = "regulator-fixed";
      regulator-name = "cp0-xhci1-vbus";
      regulator-min-microvolt = ;
      regulator-max-microvolt = ;
      enable-active-high;
      };
      cp0_usb3_0_phy1: cp0_usb3_phy@1 {
      compatible = "usb-nop-xceiv";
      vcc-supply = <&cp0_reg_usb3_vbus1>;
      };

      cp0_reg_sd_vccq: cp0_sd_vccq@0 {
      compatible = "regulator-gpio";
      regulator-name = "cp0_sd_vccq";
      regulator-min-microvolt = ;
      regulator-max-microvolt = ;
      states = ;
      };
      cp0_reg_sd_vcc: cp0_sd_vcc@0 {
      compatible = "regulator-fixed";
      regulator-name = "cp0_sd_vcc";
      regulator-min-microvolt = <3300000>;
      regulator-max-microvolt = <3300000>;
      enable-active-high;
      regulator-always-on;
      };

      cp0_sfp_eth0: sfp-eth@0 {
      compatible = "sff,sfp";
      i2c-bus = <&cp0_i2c1>;
      los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
      mod-def0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
      tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
      tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
      maximum-power-milliwatt = ;
      };
      ``` keys {
      compatible = "gpio-keys";
      pinctrl-0 = <&cp0_button_pin>;
      pinctrl-names = "default";

          button0{
              /* SW3 button */
              label = "SW3";
              gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
              linux,can-disable;
              linux,code = <BTN_0>;
          };
      };
      

      };

      &uart0 {
      status = "okay";
      };

      /* on-board eMMC */
      &ap_sdhci0 {
      pinctrl-names = "default";
      bus-width = ;
      vqmmc-supply = <&ap0_reg_sd_vccq>;
      status = "okay";
      };

      &cp0_crypto {
      status = "disabled";
      };

      &cp0_ethernet {
      status = "okay";
      };

      &cp0_gpio1 {
      status = "okay";
      };

      &cp0_gpio2 {
      status = "okay";
      };

      /* EEPROM /
      &cp0_i2c0 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c0_pins>;
      clock-frequency = ;
      ```
      /

      * PCA9655 GPIO expander, up to 1MHz clock.
      * 0-CON3 CLKREQ#
      * 1-CON3 PERST#
      * 2-M2 FUL_CARD_POWER_OFF
      * 3-CON3 W_DISABLE
      * 4-CON2 CLKREQ#
      * 5-USB3 overcurrent
      * 6-USB3 power
      * 7-CON2 W_DISABLE
      * 8-M2 W_DISABLE
      * 9-JP4 P4
      * 10-M2 RESET
      * 11-m.2 DEVSLP
      * 12-SFP_LOS
      * 13-SFP_TX_FAULT
      * 14-SFP_TX_DISABLE
      * 15-SFP_MOD_DEF0
      /
      expander0: gpio-expander@20 {
      /

      * This is how it should be:
      * compatible = "onnn,pca9655", "nxp,pca9555";
      * but you can't do this because of the way I2C works.
      /
      compatible = "nxp,pca9555";
      gpio-controller;
      #gpio-cells = ;
      reg = ;
      pcie1_0_clkreq {
      gpio-hog;
      gpios = <0 GPIO_ACTIVE_LOW>;
      input;
      line-name = "pcie1.0-clkreq";
      };
      m2_ful_card_power_off {
      gpio-hog;
      gpios = <2 GPIO_ACTIVE_HIGH>;
      output-high;
      line-name = "m2-ful-card-power-off";
      };
      pcie1_0_w_disable {
      gpio-hog;
      gpios = <3 GPIO_ACTIVE_LOW>;
      output-low;
      line-name = "pcie1.0-w-disable";
      };
      usb3_ilimit {
      gpio-hog;
      gpios = <5 GPIO_ACTIVE_LOW>;
      input;
      line-name = "usb3-current-limit";
      };
      usb3_power {
      gpio-hog;
      gpios = <6 GPIO_ACTIVE_HIGH>;
      output-high;
      line-name = "usb3-power";
      };
      m2_w_disable {
      gpio-hog;
      gpios = <8 GPIO_ACTIVE_LOW>;
      output-low;
      line-name = "m2-w-disable";
      };
      m2_reset {
      gpio-hog;
      gpios = <10 GPIO_ACTIVE_HIGH>;
      output-high;
      line-name = "m2-reset";
      };
      m2_devslp {
      gpio-hog;
      gpios = <11 GPIO_ACTIVE_HIGH>;
      output-low;
      line-name = "m.2 devslp";
      };
      };

      /
      The MCP3021 supports standard and fast modes */
      mikrobus_adc: mcp3021@4c {
      compatible = "microchip,mcp3021";
      reg = ;
      };
      ``` /*EEPROM on the SOM */
      eeprom@53 {
      compatible = "atmel,24c02";
      reg = ;
      pagesize = ;
      };
      };

      /* I2C Master */
      &cp0_i2c1 {
      status = "okay";
      clock-frequency = ;
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_i2c1_pins>;
      };

      &cp0_gpio1 {
      phy_reset { /* Release switch reset */
      gpio-hog;
      gpios = ;
      output-high;
      };
      };

      &cp0_mdio {
      status = "okay";
      phy0: ethernet-phy@0 {
      /* Green led blinks on activity, Orange LED on link /
      marvell,reg-init = ;
      reg = ;
      };
      phy1: ethernet-phy@1 {
      /
      Green led blinks on activity, Orange LED on link */
      marvell,reg-init = ;
      reg = ;
      };
      };

      /* SRDS #0 - SATA on M.2 connector */
      &cp0_sata0 {
      status = "okay";
      };

      /* SRDS #1 - USB 3.0 host */
      &cp0_usb3_0 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy0>;
      phy-names = "usb";
      };

      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      };

      /* SRDS #2 - SFP+ 10GE */
      &cp0_eth0 {
      status = "okay";
      phy-mode = "10gbase-r";
      local-mac-address = [64 69 61 67 62 03];
      phys = <&cp0_comphy2 0>;
      managed = "in-band-status";
      sfp = <&cp0_sfp_eth0>;
      };

      /* SRDS #3 - SGMII 1GE on carrier board */
      &cp0_eth1 {
      status = "okay";
      local-mac-address = [64 69 61 67 62 01];
      phys = <&cp0_comphy3 1>;
      phy = <&phy1>;
      managed = "in-band-status";
      phy-mode = "sgmii";
      };

      /* SRDS #4 - USB 3.0 host on M.2 connector */
      &cp0_usb3_1 {
      status = "okay";
      usb-phy = <&cp0_usb3_0_phy1>;
      phy-names = "usb";
      };

      /* SRDS #5 - mini PCIe slot */
      &cp0_pcie2 {
      status = "okay";
      phys = <&cp0_comphy5 2>;
      num-lanes = ;
      reset-gpios = <&expander0 1 GPIO_ACTIVE_LOW>;
      };

      /* GE PHY RGMII */
      &cp0_eth2 {
      status = "okay";
      local-mac-address = [64 69 61 67 62 02];
      phy = <&phy0>;
      phy-mode = "rgmii-id";
      pinctrl-0 = <&cp0_ge2_rgmii_pins>;
      };

      &cp0_sdhci0 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_sdhci_pins
      &cp0_sdhci_cd_pins>;
      bus-width = ;
      cd-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
      no-1-8-v;
      vqmmc-supply = <&v_3_3>;
      vmmc-supply = <&v_3_3>;
      };

      &cp0_spi1 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_spi1_pins>;
      reg = ;
      spi-flash@0 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      spi-max-frequency = ;
      };
      spi-flash@1 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      /* On carrier MUX does not allow higher frequencies */
      spi-max-frequency = ;
      };
      };

      &cp0_syscon0 {
      cp0_pinctrl: pinctrl {
      compatible = "marvell,cp115-standalone-pinctrl";
      cp0_i2c0_pins: cp0-i2c-pins-0 {
      marvell,pins = "mpp37", "mpp38";
      marvell,function = "i2c0";
      };
      cp0_i2c1_pins: cp0-i2c-pins-1 {
      marvell,pins = "mpp35", "mpp36";
      marvell,function = "i2c1";
      };
      cp0_ge2_rgmii_pins: cp0-ge-rgmii-pins-0 {
      marvell,pins = "mpp44", "mpp45", "mpp46",
      "mpp47", "mpp48", "mpp49",
      "mpp50", "mpp51", "mpp52",
      "mpp53", "mpp54", "mpp55";
      marvell,function = "ge1";
      };
      cp0_sdhci_cd_pins: cp0-sdhci-cd-pins-0 {
      marvell,pins = "mpp43";
      marvell,function = "sdio";
      };
      cp0_sdhci_pins: cp0-sdhi-pins-0 {
      marvell,pins = "mpp56", "mpp57", "mpp58",
      "mpp59", "mpp60", "mpp61";
      marvell,function = "sdio";
      };
      cp0_spi1_pins: cp0-spi-pins-1 {
      marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
      marvell,function = "spi1";
      };
      /* cp0_rcvr_clk_pins: cp0-rcvr-clk-pins {
      marvell, pins = "mpp40";
      marvell,function = "synce1";
      };*/
      cp0_button_pin: cp0-button-pin {
      marvell,pins = "mpp32";
      marvell,function = "gpio";
      };
      };
      };
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_sdhci_pins
      &cp0_sdhci_cd_pins>;
      bus-width = ;
      cd-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
      no-1-8-v;
      vqmmc-supply = <&v_3_3>;
      vmmc-supply = <&v_3_3>;
      };

      &cp0_spi1 {
      status = "okay";
      pinctrl-names = "default";
      pinctrl-0 = <&cp0_spi1_pins>;
      reg = ;
      spi-flash@0 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      spi-max-frequency = ;
      };
      spi-flash@1 {
      #address-cells = ;
      #size-cells = ;
      compatible = "jedec,spi-nor";
      reg = ;
      /* On carrier MUX does not allow higher frequencies */
      spi-max-frequency = ;
      };
      };

      &cp0_syscon0 {
      cp0_pinctrl: pinctrl {
      compatible = "marvell,cp115-standalone-pinctrl";
      cp0_i2c0_pins: cp0-i2c-pins-0 {
      marvell,pins = "mpp37", "mpp38";
      marvell,function = "i2c0";
      };
      cp0_i2c1_pins: cp0-i2c-pins-1 {
      marvell,pins = "mpp35", "mpp36";
      marvell,function = "i2c1";
      };
      cp0_ge2_rgmii_pins: cp0-ge-rgmii-pins-0 {
      marvell,pins = "mpp44", "mpp45", "mpp46",
      "mpp47", "mpp48", "mpp49",
      "mpp50", "mpp51", "mpp52",
      "mpp53", "mpp54", "mpp55";
      marvell,function = "ge1";
      };
      cp0_sdhci_cd_pins: cp0-sdhci-cd-pins-0 {
      marvell,pins = "mpp43";
      marvell,function = "sdio";
      };
      cp0_sdhci_pins: cp0-sdhi-pins-0 {
      marvell,pins = "mpp56", "mpp57", "mpp58",
      "mpp59", "mpp60", "mpp61";
      marvell,function = "sdio";
      };
      cp0_spi1_pins: cp0-spi-pins-1 {
      marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
      marvell,function = "spi1";
      };
      /* cp0_rcvr_clk_pins: cp0-rcvr-clk-pins {
      marvell, pins = "mpp40";
      marvell,function = "synce1";
      };*/
      cp0_button_pin: cp0-button-pin {
      marvell,pins = "mpp32";
      marvell,function = "gpio";
      };
      };
      };

      • [^] # Re: DTB ?

        Posté par  (site web personnel) . Évalué à 2.

        OK pour 6.2, même si ton dmesg initial mentionnait une version 5.15…

        Tu pourrais préciser où sont les patches constructeur ? Est-ce que les datasheets (avec le pinning/routage interne) sont disponibles ? Note : Je me trompe peut-être lourdement sur cette histoire d'eth1/eth2, mais qui n'a jamais fait une erreur (copier-coller ou autre) dans un fichier DTS…

        Debian Consultant @ DEBAMAX

        • [^] # Re: DTB ?

          Posté par  . Évalué à 1.

          RE :)

          Tu as raison, le dmesg que j'ai mis était avec la version kernel 5.15.
          J'ai testé avec la 5.15 et la 6.2.
          Mais ayant le même résultat, je préfère conserver la version 6.2

          Les patches se trouvent ici : Texte du lien

          Et ici tu as le datasheets et block diagram : Texte du lien

          Merci encore pour ton aide.

          • [^] # Re: DTB ?

            Posté par  . Évalué à 1.

            Ici le log quand j'active les interfaces eth1 et eth2 :
            ```
            ifup eth1
            [ 108.988416] mvpp2 f2000000.ethernet eth1: PHY [f212a200.mdio-mii:01] driver Marvell 88E1510
            [ 108.999168] mvpp2 f2000000.ethernet eth1: configuring for inband/sgmii link mode
            udhcpc: started, v1.35.0
            udhcpc: broadcasting discover
            [ 112.059960] mvpp2 f2000000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
            [ 112.068004] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
            udhcpc: broadcasting discover
            udhcpc: broadcasting select for 192.168.4.63, server 192.168.4.254
            udhcpc: lease of 192.168.4.63 obtained from 192.168.4.254, lease time 86400
            deleting routers
            adding dns 192.168.4.254

            ifup eth2

            [ 73.348678] mvpp2 f2000000.ethernet eth2: PHY [f212a200.mdio-mii:00] driver Marvell 88E1510
            [ 73.358352] mvpp2 f2000000.ethernet eth2: configuring for phy/rgmii-id link mode
            udhcpc: started, v1.35.0
            udhcpc: broadcasting discover
            [ 76.444184] mvpp2 f2000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx
            [ 76.452227] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
            udhcpc: broadcasting discover
            udhcpc: broadcasting discover
            udhcpc: no lease, forking to background
            ```

          • [^] # Re: DTB ?

            Posté par  (site web personnel) . Évalué à 3.

            Alors les « patches » n'aident malheureusement pas du tout, puisqu'il y a 3 fichiers, et ça ne dit pas lequel est utilisé dans ton cas.

            Les datasheets/block diagrams ne donnent aucune information technique… :(

            Au mieux, en farfouillant dans HW info on a un lien vers Atlassian qui ensuite pointe vers une image, dans laquelle on trouve un /boot/cn9130-cf-base.dtb (qui peut être examinée via dtc). Est-ce cela que tu utilises ?

            Quoi qu'il en soit, il semble s'agir d'un adaptateur Ethernet double, du coup je continue à ne pas comprendre pourquoi les deux ports ont des modes différents. J'ai réussi à trouver le pinout du Marvell 88E1512 qui semble être embarqué, mais pas la façon dont il est utilisé dans ton produit…

            Si je regarde la DTB susmentionnée, on a ceci (je condense à nouveau) :

            ethernet@0 {
              eth0 {
                phys = <0x1c 0x00>;
                managed = "in-band-status";
              };
            
              eth1 {
                phys = <0x1e 0x01>;
                phy = <0x1f>;
                managed = "in-band-status";
                phy-mode = "sgmii";
              };
            
              eth2 {
                phy = <0x20>;
                phy-mode = "rgmii-id";
                pinctrl-0 = <0x21>;
              };
            }
            
            mdio@12a200 {
              ethernet-phy@0 {
                phandle = <0x20>;
              };
            
              ethernet-phy@1 {
                phandle = <0x1f>;
              };
            };
            
            pinctrl {
              cp0-ge-rgmii-pins-0 {
                marvell,pins = "mpp44\0mpp45\0mpp46\0mpp47\0mpp48\0mpp49\0mpp50\0mpp51\0mpp52\0mpp53\0mpp54\0mpp55";
                marvell,function = "ge1";
                phandle = <0x21>;
              };
            };
            

            Ce qui ne descend pas mon niveau de perplexité :

            • on garde en tête que phandle c'est grossièrement une notion de référence ;
            • dans mdio@12a200, les deux sections ethernet-phy@0 et ethernet-phy@1 semblent bien correspondre aux interfaces eth2 et eth1 respectivement (le genre de symétrie que j'attendais) ;
            • pourtant l'interface eth2 a un mode différent ;
            • et l'interface eth2 passe par un pinctrl plutôt que d'avoir un attribut phys directement.

            C'est là que les docs précises d'architecture pourraient permettre de vérifier que tout est branché et déclaré correctement.

            Cela étant, je n'y connais rien en matériel, donc une fois ces observations random effectuées, je t'invite à contacter le support pour vérifier si l'interface est effectivement censée fonctionner, et s'il y a une configuration particulière pour celle-ci.

            Et pour clore ma probable dernière intervention sur ce fil vu que je suis au bout de ma besace : ça me rappelle les histoires de RTC sur le CM4, de routage configurable de certains pins/gpios, pour lesquels il était question d'utiliser du pin muxing (e.g. i2c-mux-pinctrl). Pour que cela fonctionne il fallait activer certaines options de noyau (e.g. CONFIG_I2C_MUX_PINCTRL). Il pourrait être pertinent d'activer tout ce qui ressemble à du PINCTRL, juste pour être sûr que ça n'est pas un module qui serait trivialement manquant. Ceci dit, je n'ai aucune idée de si on s'attend à avoir une interface qui apparaît et qui arrive à Link is Up si c'est une partie du problème…

            Au passage, je note de fuir SolidRun, qui n'a pas fait intégrer ses DTB dans mainline. Ça me rappelle une certaine fondation couleur framboise…

            Debian Consultant @ DEBAMAX

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.