[openwrt/openwrt] mvebu: Turris Omnia: use SFP module, if present

LEDE Commits lede-commits at lists.infradead.org
Sun Aug 8 11:34:12 PDT 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/82620cd610807da73935832e3751771866faa7c9

commit 82620cd610807da73935832e3751771866faa7c9
Author: Klaus Kudielka <klaus.kudielka at gmail.com>
AuthorDate: Sat Feb 27 12:56:10 2021 +0100

    mvebu: Turris Omnia: use SFP module, if present
    
    Follow the recommendations stated in the Turris Omnia DTS for eth2:
    
    "In case SFP module is present, U-Boot has to enable the sfp node above,
    remove phy-handle property, and add managed = "in-band-status" property."
    
    The boot script is written in a way, that it works for all U-Boot
    versions deployed by the vendor so far (2015.10-rc2, 2019.07).
    
    Signed-off-by: Klaus Kudielka <klaus.kudielka at gmail.com>
---
 target/linux/mvebu/image/turris-omnia.bootscript | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/target/linux/mvebu/image/turris-omnia.bootscript b/target/linux/mvebu/image/turris-omnia.bootscript
index fcec5fc1b8..9a3fc0d8cb 100644
--- a/target/linux/mvebu/image/turris-omnia.bootscript
+++ b/target/linux/mvebu/image/turris-omnia.bootscript
@@ -11,7 +11,22 @@ else
 fi
 setenv bootargs earlyprintk console=ttyS0,115200 root=${rootdev} rootfstype=auto rootwait
 
-# Load and boot
+# Load device tree and prepare for modification
 load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} @DTB at .dtb
+fdt addr ${fdt_addr_r}
+fdt resize
+
+# Enable SFP cage, if module is present
+i2c dev 0
+i2c mw 0x70 0.0 0xf
+i2c read 0x71 0 1 0x00fffff1
+setexpr.b mod_def0 *0x00fffff1 \& 0x10
+if test ${mod_def0} -eq 0; then
+	fdt set /sfp status okay
+	fdt rm /soc/internal-regs/ethernet at 34000 phy-handle
+	fdt set /soc/internal-regs/ethernet at 34000 managed in-band-status
+fi
+
+# Load kernel and boot
 load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
 bootz ${kernel_addr_r} - ${fdt_addr_r}



More information about the lede-commits mailing list