LS1046A 10GB SFP+ Configuration on kernel 6.12

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LS1046A 10GB SFP+ Configuration on kernel 6.12

570 次查看
hugoacata
Contributor I

Hello, 

I have a custom board with the LS1046A, and I'm trying to use fm1-mac9 with a soldered SFP+ 10GB module. 

My RCW in SERDES 1 is 0x1040: 

hugoacata_0-1784298387879.png

So 10GB in fm1-mac9 is well covered from the RCW's perspective. Looking at the SFP power and laser everything seems healthy, but I can't seem to get it to talk/link with the sfp in front of it, so I suspect my DTB configuration is incorrect. 

This is my current configuration for that MAC: 

xfi10g: ethernet@f0000 {
  status = "okay";
  pcsphy-handle = <&pcsphy6>;
  pcs-handle = <&pcsphy6>;
  pcs-handle-names = "xfi";
  phy-connection-type = "10gbase-r";

  fixed-link {
    speed = <10000>;
    full-duplex;
  };
};

mdio@f1000 {
  status = "okay";

  pcsphy6: ethernet-phy@0{
    compatible = "fsl,lynx-pcs";
    reg = <0x0>;
  };
};

sfp_mac9: sfp {
  compatible = "sff,sfp";
  i2c-bus = <&i2c3>;
  status = "okay";
};

For reference, I'm running linux-qoriq kernel 6.12, and the SFP probes correctly during boot reading its EEPROM.

Do you have a proper example of running this type of connection in fm1-mac9? 

 

 

标记 (3)
0 项奖励
回复
3 回复数

348 次查看
June_Lu
NXP TechSupport
NXP TechSupport

How about changing per LS1046ARDB, as fm1-mac10 is SFP+, and the driver support the SFP+, too.

https://github.com/nxp-qoriq/linux/blob/lf-6.12.49-2.2.0/arch/arm64/boot/dts/freescale/fsl-ls1046a-r...

0 项奖励
回复

510 次查看
hugoacata
Contributor I

With a MAC configuration with managed = "in-band-status"; and without either phy-handle or fixed-link, I always get phy driver errors: 

[  384.094677] ------------[ cut here ]------------
[  384.094679] WARNING: CPU: 0 PID: 49 at /usr/src/kernel/drivers/net/phy/swphy.c:128 swphy_read_reg+0xac/0x188
[  384.094686] Modules linked in: cfg80211 rfkill fsl_jr_uio caam_jr ftdi_sio onboard_usb_dev usbserial caamkeyblob_desc crypto_engine pci_endpoint_test crct10dif_ce rtc_pcf2127 at24 lm90 ina2xx fsl_qdma rtc_fsl_ftm_alarm nvmem_layersca
pe_sfp caam layerscape_edac_mod
[  384.094709] CPU: 0 UID: 0 PID: 49 Comm: kworker/u16:1 Tainted: G        W          6.12.20-gdfaf2136deb2-dirty #1
[  384.094714] Tainted: [W]=WARN
[  384.094715] Hardware name: LS1046A FRWY Board (DT)
[  384.094717] Workqueue: events_power_efficient phy_state_machine
[  384.094722] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  384.094726] pc : swphy_read_reg+0xac/0x188
[  384.094730] lr : fixed_mdio_read+0xe0/0x120
[  384.094733] sp : ffff800082f0bc30
[  384.094735] x29: ffff800082f0bc70 x28: 0000000000000000 x27: 0000000000000000
[  384.094740] x26: ffff00080001c028 x25: 0000000000000000 x24: ffff000800020e05
[  384.094745] x23: ffff0008002a2200 x22: 0000000000000000 x21: 0000000000000000
[  384.094750] x20: ffff000801c8a000 x19: 0000000000000003 x18: ffff0008001f0280
[  384.094756] x17: 0000000000000fc4 x16: 0000061c0bd46400 x15: 0000000000000003
[  384.094761] x14: 00000000000000e5 x13: ffff0008002a2280 x12: 0000000000000000
[  384.094766] x11: ffff0008000e4480 x10: ffff00087bf969c0 x9 : ffff0008002a2280
[  384.094772] x8 : ffff800082f0bc28 x7 : ffff000801c8a498 x6 : ffff000801c8a498
[  384.094777] x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff00080170a0c0
[  384.094782] x2 : 0000000000000000 x1 : ffff800082f0bc54 x0 : 0000000000000000
[  384.094787] Call trace:
[  384.094789]  swphy_read_reg+0xac/0x188
[  384.094793]  mdiobus_read+0x40/0x80
[  384.094796]  genphy_read_status_fixed+0x24/0x6c
[  384.094802]  genphy_read_status+0xe0/0xe8
[  384.094805]  phy_check_link_status+0xf8/0x108
[  384.094809]  _phy_state_machine+0x98/0x2c8
[  384.094813]  phy_state_machine+0x2c/0x80
[  384.094817]  process_one_work+0x150/0x290
[  384.094823]  worker_thread+0x2d0/0x3e4
[  384.094828]  kthread+0x110/0x120
[  384.094832]  ret_from_fork+0x10/0x20
[  384.094836] ---[ end trace 0000000000000000 ]---

And that's with : 

ethernet@f0000 {
  status = "okay";

  pcsphy-handle = <&pcsphy6>;
  pcs-handle-names = "xfi";
  managed = "in-band-status";
  phys = <&serdes1 3>;
  phy-names = "serdes";
  sfp = <&sfp_mac9>;

  /delete-property/ phy-connection-type;
  /delete-property/ phy-handle;;
};

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2396452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELS1046A%2010GB%20SFP%2B%20%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC%206.12%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2396452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E4%B8%80%E5%9D%97%E5%AE%9A%E5%88%B6%E7%9A%84%E7%94%B5%E8%B7%AF%E6%9D%BF%EF%BC%8C%E4%B8%8A%E9%9D%A2%E8%A3%85%E6%9C%89%20LS1046A%EF%BC%8C%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20fm1-mac9%20%E5%92%8C%E7%84%8A%E6%8E%A5%E7%9A%84%20SFP%2B%2010GB%20%E6%A8%A1%E5%9D%97%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%20SERDES%201%20%E4%B8%AD%E7%9A%84%20RCW%20%E4%B8%BA%200x1040%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22hugoacata_0-1784298387879.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22hugoacata_0-1784298387879.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22hugoacata_0-1784298387879.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392585iF20E49F6920D4A5A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22hugoacata_0-1784298387879.png%22%20alt%3D%22hugoacata_0-1784298387879.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E4%BB%8E%20RCW%20%E7%9A%84%E8%A7%92%E5%BA%A6%E6%9D%A5%E7%9C%8B%EF%BC%8Cfm1-mac9%20%E4%B8%AD%E7%9A%84%2010GB%20%E5%86%85%E5%AD%98%E6%98%AF%E5%AE%8C%E5%85%A8%E5%A4%9F%E7%94%A8%E7%9A%84%E3%80%82%E6%A3%80%E6%9F%A5%20SFP%20%E5%8A%9F%E7%8E%87%E5%92%8C%E6%BF%80%E5%85%89%E5%99%A8%EF%BC%8C%E4%B8%80%E5%88%87%E4%BC%BC%E4%B9%8E%E9%83%BD%E6%AD%A3%E5%B8%B8%EF%BC%8C%E4%BD%86%E6%88%91%E4%BC%BC%E4%B9%8E%E6%97%A0%E6%B3%95%E8%AE%A9%E5%AE%83%E4%B8%8E%E5%89%8D%E9%9D%A2%E7%9A%84%20SFP%20%E8%BF%9B%E8%A1%8C%E9%80%9A%E4%BF%A1%2F%E8%BF%9E%E6%8E%A5%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E6%80%80%E7%96%91%E6%88%91%E7%9A%84%20DTB%20%E9%85%8D%E7%BD%AE%E4%B8%8D%E6%AD%A3%E7%A1%AE%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%BF%99%E6%98%AF%E6%88%91%E7%9B%AE%E5%89%8D%E5%9C%A8%E8%AF%A5MAC%E5%9C%B0%E5%9D%80%E4%B8%8A%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3Exfi10g%EF%BC%9A%E4%BB%A5%E5%A4%AA%E7%BD%91%40f0000%20%7B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%20%3D%20%22%E6%AD%A3%E5%B8%B8%22%3B%3CBR%20%2F%3E%20pcsphy-handle%20%3D%20%26lt%3B%26amp%3Bpcsphy6%26gt%3B%3B%3CBR%20%2F%3E%20pcs-handle%20%3D%20%26lt%3B%26amp%3Bpcsphy6%26gt%3B%3B%3CBR%20%2F%3E%20pcs-handle-names%20%3D%20%22xfi%22%3B%3CBR%20%2F%3E%20phy-connection-type%20%3D%20%2210gbase-r%22%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%9B%BA%E5%AE%9A%E9%93%BE%E6%8E%A5%20%7B%3CBR%20%2F%3E%E9%80%9F%E5%BA%A6%20%3D%20%26lt%3B10000%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E5%85%A8%E5%8F%8C%E5%B7%A5%EF%BC%9B%3CBR%20%2F%3E%20%7D%3B%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%3CP%3Emdio%40f1000%20%7B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%20%3D%20%22%E6%AD%A3%E5%B8%B8%22%3B%3C%2FP%3E%3CP%3Epcsphy6%EF%BC%9A%E4%BB%A5%E5%A4%AA%E7%BD%91%E7%89%A9%E7%90%86%E5%B1%82%400%7B%3CBR%20%2F%3E%E5%85%BC%E5%AE%B9%20%3D%20%22fsl%2Clynx-pcs%22%3B%3CBR%20%2F%3E%20reg%20%3D%20%26lt%3B0x0%26gt%3B%3B%3CBR%20%2F%3E%20%7D%3B%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%3CP%3Esfp_mac9%EF%BC%9Asfp%20%7B%3CBR%20%2F%3E%E5%85%BC%E5%AE%B9%20%3D%20%22sff%2Csfp%22%3B%3CBR%20%2F%3E%20i2c%E6%80%BB%E7%BA%BF%20%3D%20%26lt%3B%26amp%3Bi2c3%26gt%3B%3B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%20%3D%20%22%E6%AD%A3%E5%B8%B8%22%3B%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%3CP%3E%E4%BD%9C%E4%B8%BA%E5%8F%82%E8%80%83%EF%BC%8C%E6%88%91%E8%BF%90%E8%A1%8C%E7%9A%84%E6%98%AF%20linux-qoriq%20%E5%86%85%E6%A0%B8%206.12%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%9C%A8%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%20SFP%20%E6%8E%A2%E6%B5%8B%E6%AD%A3%E7%A1%AE%EF%BC%8C%E8%AF%BB%E5%8F%96%E4%BA%86%E5%85%B6%20EEPROM%E3%80%82%3C%2FP%3E%3CP%3E%E6%82%A8%E6%98%AF%E5%90%A6%E6%9C%89%E5%9C%A8%20fm1-mac9%20%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%AD%A4%E7%B1%BB%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%9C%89%E6%95%88%E7%A4%BA%E4%BE%8B%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2401611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LS1046A%2010GB%20SFP%2B%20Configuration%20on%20kernel%206.12%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2401611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%83%BD%E5%90%A6%E6%A0%B9%E6%8D%AE%20LS1046ARDB%20%E8%BF%9B%E8%A1%8C%E6%9B%B4%E6%94%B9%EF%BC%8C%E5%9B%A0%E4%B8%BA%3CSPAN%3Efm1-mac10%20%E6%98%AF%20SFP%2B%EF%BC%8C%E8%80%8C%E4%B8%94%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B9%9F%E6%94%AF%E6%8C%81%20SFP%2B%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200in%3B%20font-family%3A%20Calibri%3B%20font-size%3A%2011.0pt%3B%22%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-qoriq%2Flinux%2Fblob%2Flf-6.12.49-2.2.0%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Ffsl-ls1046a-rdb.dts%23L156%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-qoriq%2Flinux%2Fblob%2Flf-6.12.49-2.2.0%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Ffsl-ls1046a-rdb.dts%23L156%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E