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. Traverse Technologies (and Mathew McBride personally) donated the board itself to support DPAA2 drivers development and consulted me extensively. Thank you :) There's a great documentation prepared for Ten64 as well.

Status

# 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

# 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)

SFP topology

Example from fsl-ls1088a-ten64.dts and fsl-ls1088a.dtsi:

fsl_mc: fsl-mc@80c000000 {
        compatible = "fsl,qoriq-mc";
        ...
        dpmacs {
                ...
                /* XG1 - Upper SFP */
                dpmac1: ethernet@1 {
                        compatible = "fsl,qoriq-mc-dpmac";
                        reg = <1>;
                        sfp = <&sfp_xg1>;
                        pcs-handle = <&pcs1>;
                        phy-connection-type = "10gbase-r";
                        managed = "in-band-status";

                };
                ...
        };
};

pcs_mdio1: mdio@8c07000 {
        compatible = "fsl,fman-memac-mdio";
        reg = <0x0 0x8c07000 0x0 0x1000>;
        little-endian;
        #address-cells = <1>;
        #size-cells = <0>;

        pcs1: ethernet-phy@0 {
                reg = <0>;
        };
};

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;
                };
        };
};

PHY topology

Example from fsl-ls1088a-ten64.dts and fsl-ls1088a.dtsi:

fsl_mc: fsl-mc@80c000000 {
        compatible = "fsl,qoriq-mc";
        ...
        dpmacs {
                ...
                dpmac7: ethernet@7 {
                        compatible = "fsl,qoriq-mc-dpmac";
                        reg = <7>;
                        phy-handle = <&mdio1_phy1>;
                        phy-connection-type = "qsgmii";
                        pcs-handle = <&pcs7_0>;
                        managed = "in-band-status";
                };
                ...
        };
};

pcs_mdio7: mdio@8c1f000 {
        compatible = "fsl,fman-memac-mdio";
        reg = <0x0 0x8c1f000 0x0 0x1000>;
        little-endian;
        #address-cells = <1>;
        #size-cells = <0>;
        status = "disabled";

        pcs7_0: ethernet-phy@0 {
                reg = <0>;
        };
        ...
};

emdio1: mdio@8b96000 {
        compatible = "fsl,fman-memac-mdio";
        reg = <0x0 0x8b96000 0x0 0x1000>;
        little-endian;
        #address-cells = <1>;
        #size-cells = <0>;
        clock-frequency = <2500000>;
        clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
                            QORIQ_CLK_PLL_DIV(1)>;
        ...
        mdio1_phy1: ethernet-phy@1c {
                reg = <0x1c>;
        };
};

DmitrySalychev/TraverseTen64 (last edited 2024-03-18T08:02:14+0000 by DmitrySalychev)