aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/octeon/base-files/lib/preinit
Commit message (Collapse)AuthorAgeFilesLines
* octeon: add new target and support for Ubiquiti EdgeRouter 6PDan Brown2021-05-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 6P is 6 port router with similar specifications as the EdgeRouter 4, support for which was added in commit dd651e54cc5eadba480a56a7d2c18471e560f491 There are five 10/100/1000 Mbps RJ/Copper ports and one 1000 Mbps SFP port. SoC: Octeon Cavium 7130 (Cavium 3) at 1000MHz Memory: 1GiB DDR3 Flash: 2x2M chips with uboots (chainloaded) + 512K eeprom LEDs: 1x for power status (white/blue, controllable) and 6x for ethernet and SFP ports (no control over them) Buttons: 1x Reset Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 USB: 1x USB3.0 on front panel MII: 1x QSGMII from SoC PHY: 1x Vitesse VSC8504 of which 4 ports are used (phys 4-7) 1x Vitesse VSC8514 of which 2 ports are used (phys 8-9) Network port mapping - eth0 on device maps to lan0 and phy5 - eth1 on device maps to lan1 and phy6 - eth2 on device maps to lan2 and phy7 - eth3 on device maps to lan3 and phy8 - eth4 on device maps to lan4 and phy9 - eth5 (SFP) on device maps to lan5 and phy4 What is not working: - There is no port status available before it goes up - SFP have no additional status and presented as no different from eth - Power-over-ethernet (passive) support has not been tested How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to EdgeRouter 6P front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to EdgeRouter 6P - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 6p running openwrt Signed-off-by: Dan Brown <danbrown@gmail.com> [reorder/squash patches, move ethernet@0 to DTS, share image setup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add support for Ubiquiti EdgeRouter 4Roman Kuzmitskii2020-11-052-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 4 is 4 port Octeon Cavium 7130 powered router. It has internal power supply and needs c13 power cord. There are three 10/100/1000 Mbps RJ45/Copper ports and one 1000 Mbps SFP port connected directly to a SoC. SoC: Octeon Cavium 7130 (Cavium 3) Clocked at 1000Mhz Memory: 1 GiB (SK hynix H5TQ4G63CFR-RDC × 2) DDR3, clocked at 533 Mhz (1066Mhz effective) Flash: - mtd: 8 MiB (Macronix MX25L6408EMI-12G) used for uboot/eeprom - emmc: 4 GiB (SanDisk SDIN7DP2-4G) used for kernel+rootfs Leds: 1x for power status (white/blue, controllable) and 4x for ethernet and sfp ports (no control over them) Buttons: 1x Reset (from SOC) Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 (from SoC) USB: 1x USB3.0 on front panel (from SoC) MII: 1x QSGMII from SoC is used PHY: 1x Vitesse VSC8504 of which 4x ports is used All physical port numbers are properly mapped inside OS and named by lanX instead of ethX. There is also special purpose four(4) loopX ports available. That loopX ports are currently hardcoded by linux kernel and exact use case of them is currently unknown. We leave them to the linux kernel and octeon board defaults. All four (4) physical ports are connected to the same QSGMII. vsc8504 is used for phys and only 4, 5, 6 and 7 phys are used. Phy mapping: - Phy5 is connected to physical eth0 port - Phy6 is connected to physical eth1 port - Phy7 is connected to physical eth2 port - Phy4 is connected to physical eth3 port Why this device needs external dts: - faster boot time since need to initialize less device tree nodes. - to add actual indication with LED about boot/failure/upgrade. i.e. user could know when to enter failsafe mode or if upgrade is done - reset button support so user can reset their device in case off failure - sfp port indication in dmesg with information about sfp module it also indicates when module inserted or removed Octeon quirks: - There is no port status available before it interface brought up - SFP port can not be tied to actual phy due to octeon-ethernet state and currently we can only get reports a about SFP state in dmesg How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to edgerouter 4 front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to edgerouter 4 - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 4 running openwrt Reviewed-by: Johannes Kimmel <fff@bareminimum.eu> Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
* octeon: use dedicated function to move config backupRoman Kuzmitskii2020-10-261-8/+14
| | | | | | | | | | | | | | All octeon devices use the same or a very similar way to backup and restore configuration. We expect to have more devices added and in order to stop repeating ourselves move the logic to a separate function. While at it, add a few checks. Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com> [commit message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add support for Itus Shield RouterDonald Hoskins2020-08-162-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Itus Networks Shield - 1Ghz dual-core mips64 / Cavium Octeon 3 SoC, 1Gb RAM, 4Gb eMMC,3 GbE 10/100/1000 ports Information regarding device can be found: https://deviwiki.com/wiki/Itus_Networks_Shield_Pro Installing OpenWrt on Itus Networks Shield: 1) Boot Shield 2) On device: mount /dev/mmcblk1p1 /mnt 3) scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusrouterImage 3a) Optionally: scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusgatewayImage to allow you to have an emergency recovery boot in the GATEWAY slot - this slot will have no permament storage and is used for emergency recovery only when booted in the (G)ateway position 4) On device: umount /mnt 5) reboot Once booted, run the sysupgrade via cli or luCi on the openwrt-octeon-itus,shield-router-squashfs-sysupgrade.tar file the mode you are running. Once rebooted, the system installation is complete. Your storage partition for the mode is inialized and set. Signed-off-by: Donald Hoskins <grommish@gmail.com> [cut out sysupgrade-* changes, move a few lines, drop case CVMX_BOARD_TYPE_ITUS_SHIELD] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: drop shebang from non-executable target filesAdrian Schmutzler2020-06-161-1/+0
| | | | | | | | | | | | | | This drops the shebang from all target files for /lib and /etc/uci-defaults folders, as these are sourced and the shebang is useless. While at it, fix the executable flag on a few of these files. This does not touch ar71xx, as this target is just used for backporting now and applying cosmetic changes would just complicate things. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: don't hardcode "sysupgrade.tgz" file nameRafał Miłecki2019-09-051-1/+2
| | | | | | | | 1) Add BACKUP_FILE and use it when copying an archive to be restored after sysupgrade (on the next preinit). 2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: use only board_name function to get nameMathias Kresin2017-07-151-1/+3
| | | | | | | | | | | | Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree compatible string directly. Always use the board_name function to get the board name. The admswconfig package still reads /proc/cpuinfo directly. The code looks somehow broken and the whole adm5120 which uses this package looks unmaintained. Leave it as it is for now. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: populate boardname and model earlierMathias Kresin2017-07-151-0/+0
| | | | | | | | | | | | | For targets using the generic board detection and board specific settings in diag.sh, the board name is still unset at the time the set_state() provided by diag.sh is called by 10_indicate_preinit. Change the execution order to ensure the boardname is populated before required the first time. Do the target specific board detection as early as possible, directly followed by the generic one to allow a seamless switch to the generic function for populating /tmp/sysinfo/. Signed-off-by: Mathias Kresin <dev@kresin.me>
* octeon: only copy sysupgrade file if presentJohn Crispin2017-02-151-1/+1
| | | | | | | | | | this caused 'mv: can't rename '/mnt/sysupgrade.tgz': No such file or directory' when running sysupgrade -n Signed-off-by: John Crispin <john@phrozen.org>
* octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo directlyFelix Fietkau2016-01-292-5/+32
| | | | | | | | Fixes sysupgrade Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48558
* octeon: sysupgrade: support config restore on ERLJohn Crispin2014-12-051-0/+18
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 43524