Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Ten64 ===== It's a networking-focused board based on eight-core NXP’s LS1088A %%SoC%% with individual network controllers per 8 Ethernet gigabit ports and 2 SFP+ cages. [[https://www.traverse.com.au/|Traverse Technologies]] (and [[https://github.com/mcbridematt|Mathew McBride]] personally) donated the board itself to support DPAA2 drivers development and consulted me extensively. Thank you :) There's a great [[https://ten64doc.traverse.com.au/|documentation]] prepared for Ten64 as well. ==== Status ==== <code> # date && uname -apKU Mon Nov 7 10:41:42 CET 2022 FreeBSD guardian 14.0-CURRENT FreeBSD 14.0-CURRENT #5 main-n258621-204a5f5800a0: Sun Oct 16 12:15:04 CEST 2022 root@guardian:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 aarch64 1400072 1400068 </code> <code> # dmesg | grep "no driver" | grep -v "disabled" simplebus0: <crypto@8000000> mem 0x8000000-0x80fffff irq 24 compat fsl,sec-v5.0 (no driver attached) simplebus0: <iommu@5000000> mem 0x5000000-0x57fffff irq 28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103 compat arm,mmu-500 (no driver attached) simplebus0: <console@8340020> mem 0x8340020-0x8340021 compat fsl,dpaa2-console (no driver attached) simplebus0: <ptp-timer@8b95000> mem 0x8b95000-0x8b950ff compat fsl,dpaa2-ptp (no driver attached) simplebus0: <wdt@c000000> mem 0xc000000-0xc000fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c010000> mem 0xc010000-0xc010fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c020000> mem 0xc020000-0xc020fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c030000> mem 0xc030000-0xc030fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c100000> mem 0xc100000-0xc100fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c110000> mem 0xc110000-0xc110fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c120000> mem 0xc120000-0xc120fff compat arm,sp805-wdt (no driver attached) simplebus0: <wdt@c130000> mem 0xc130000-0xc130fff compat arm,sp805-wdt (no driver attached) simplebus0: <power-controller@1e34040> mem 0x1e34040-0x1e34057 compat fsl,ls1088a-rcpm (no driver attached) simplebus0: <timer@2800000> mem 0x2800000-0x280ffff irq 104 compat fsl,ls1088a-ftm-alarm (no driver attached) ofwbus0: <buttons> compat gpio-keys (no driver attached) ofwbus0: <dpmac2_sfp> compat sff,sfp (no driver attached) ofwbus0: <dpmac1_sfp> compat sff,sfp (no driver attached) </code> ==== SFP+ support ==== I might need to program a simple driver (see drivers/net/phy/sfp.c from Linux for details) for "sff,sfp" node to setup state polling, perform an initialization of the connected module, gather I2C/GPIO handles before implementing SIOCGI2C ioctl for dpaa2_ni. This is how one of the DPMACs connected to the SFP+ modules is described in the device tree of fsl-ls1088a-ten64.dts: <code> dpmac1: ethernet@1 { compatible = "fsl,qoriq-mc-dpmac"; reg = <1>; }; /* XG1 - Upper SFP */ &dpmac1 { sfp = <&sfp_xg1>; pcs-handle = <&pcs1>; phy-connection-type = "10gbase-r"; managed = "in-band-status"; }; </code> SFP and GPIO nodes look like: <code> sfp_xg1: dpmac1-sfp { compatible = "sff,sfp"; i2c-bus = <&sfpupper_i2c>; tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>; tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>; mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>; los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>; maximum-power-milliwatt = <2000>; }; &i2c3 { i2c-switch@70 { compatible = "nxp,pca9540"; #address-cells = <1>; #size-cells = <0>; reg = <0x70>; sfpupper_i2c: i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; }; }; &i2c0 { sfpgpio: gpio@76 { compatible = "ti,tca9539"; reg = <0x76>; #gpio-cells = <2>; gpio-controller; admin_led_lower { gpio-hog; gpios = <13 GPIO_ACTIVE_HIGH>; output-low; }; }; }; </code> dmitrysalychev/traverseten64.txt Last modified: 2023/01/06 19:34by DmitrySalychev