This is how I enabled 25gb mgbe:
Update kernel/dtb/tegra264-p4071-0000+p3834-0008-nv.dtb
cd Linux_for_Tegra
mkdir temp
cp kernel/dtb/tegra264-p4071-0000+p3834-0008-nv.dtb temp/
cd temp
# Decompile dtb
dtc -I dtb -O dts -o 0008-nv.dts tegra264-p4071-0000+p3834-0008-nv.dtb
# edit 0008-nv.dts I've only included a guide to changes for mgbe0 below.
Change these entries for all 4 mgbe.
mgbe0: ethernet@a808a10000; mgbe1: ethernet@a808a10000; mgbe2: ethernet@a808a10000; mgbe3: ethernet@a808a10000
mgbe0: ethernet@a808a10000 {
status = "okay";
nvidia,mac-addr-idx = <1>;
- nvidia,uphy-gbe-mode = <1>;
- nvidia,phy-iface-mode = <0x0>;
+ nvidia,uphy-gbe-mode = <2>;
nvidia,max-platform-mtu = <9000>;
nvidia,pcs-rx-eq-sw-ovrd = <1>;
nvidia,pps_op_ctrl = <8>;
fixed-link {
full-duplex;
- speed = <10000>;
+ speed = <25000>;
};
};
# Compile the DTB and replace it in the following paths:
dtc -I dts -O dtb -o tegra264-bpmp-3834-0008-4071-xxxx.dtb bpmp.dts
cp tegra264-bpmp-3834-0008-4071-xxxx.dtb ../kernel/dtb/tegra264-p4071-0000+p3834-0008-nv.dtb
cp tegra264-bpmp-3834-0008-4071-xxxx.dtb ../rootfs/boot/tegra264-p4071-0000+p3834-0008-nv.dtb
cp tegra264-bpmp-3834-0008-4071-xxxx.dtb ../bootloader/tegra264-p4071-0000+p3834-0008-nv.dtb
Update bootloader/generic/tegra264-bpmp-3834-0008-4071-xxxx.dtb as follows:
cp ../bootloader/generic/tegra264-bpmp-3834-0008-4071-xxxx.dtb .
dtc -I dtb -O dts -o xxxx.dts tegra264-bpmp-3834-0008-4071-xxxx.dtb
# edit xxxx.dts to make these changes:
status = "okay";
uphy0-config = <7>; // Configure UPHY0-Lane6-7 for UFS
- uphy1-config = <7>; // Configure UPHY1-Lane0-3 for C5 to enable mgbe
- mgbe0-speed = <2>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
- mgbe1-speed = <2>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
- mgbe2-speed = <2>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
- mgbe3-speed = <2>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
+ uphy1-config = <8>; // Configure UPHY1-Lane0-3 for C5 to enable mgbe
+ mgbe0-speed = <3>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
+ mgbe1-speed = <3>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
+ mgbe2-speed = <3>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
+ mgbe3-speed = <3>; /* 0 for 2.5G, 1 for 5G, 2 for 10G, 3 for 25G */
};
# Compile the BPMP DTB and copy it to the following locations:
dtc -I dts -O dtb -o tegra264-bpmp-3834-0008-4071-xxxx.dtb xxxx.dts
cp tegra264-bpmp-3834-0008-4071-xxxx.dtb ../bootloader/generic/tegra264-bpmp-3834-0008-4071-xxxx.dtb
cp tegra264-bpmp-3834-0008-4071-xxxx.dtb ../bootloader/tegra264-bpmp-3834-0008-4071-xxxx.dtb
Reflash Thor