mvebu: Turris Omnia: use SFP module, if present
[openwrt/staging/ldir.git] / target / linux / mvebu / image / turris-omnia.bootscript
1 # Determine root device
2 setexpr rootpart ${distro_bootpart} + 1
3 if test ${devtype} = mmc -a ${devnum} = 0; then
4 setenv rootdev /dev/mmcblk0p${rootpart}
5 elif test ${devtype} = scsi -a ${devnum} = 0; then
6 setenv rootdev /dev/sda${rootpart}
7 else
8 # New U-Boot only
9 part uuid ${devtype} ${devnum}:${rootpart} uuid
10 setenv rootdev PARTUUID=${uuid}
11 fi
12 setenv bootargs earlyprintk console=ttyS0,115200 root=${rootdev} rootfstype=auto rootwait
13
14 # Load device tree and prepare for modification
15 load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} @DTB@.dtb
16 fdt addr ${fdt_addr_r}
17 fdt resize
18
19 # Enable SFP cage, if module is present
20 i2c dev 0
21 i2c mw 0x70 0.0 0xf
22 i2c read 0x71 0 1 0x00fffff1
23 setexpr.b mod_def0 *0x00fffff1 \& 0x10
24 if test ${mod_def0} -eq 0; then
25 fdt set /sfp status okay
26 fdt rm /soc/internal-regs/ethernet@34000 phy-handle
27 fdt set /soc/internal-regs/ethernet@34000 managed in-band-status
28 fi
29
30 # Load kernel and boot
31 load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage
32 bootz ${kernel_addr_r} - ${fdt_addr_r}