Skip to content

Commit

Permalink
1. Add UfiSpace machines:
Browse files Browse the repository at this point in the history
===
1. ufispace_s6301_56st
Switch ASIC: Broadcom BCM56277 (48x 10/100/1000M Base-T ports and 8x 10G SFP+ ports)
CPU: Intel Denverton-NS C3508 4-Core @ 1.6GHz
2. ufispace_s6301_56stp
Switch ASIC: Broadcom BCM56277 (48x 10/100/1000M Base-T ports and 8x 10G SFP+ ports; PoE supported)
CPU: Intel Denverton-NS C3508 4-Core @ 1.6GHz
3. ufispace_s9110_32x
Switch ASIC: Broadcom BCM56870 (32x 100G QSFP28 ports and 1x 10G SFP+ ports)
CPU: Intel Denverton-NS C3508 4-Core @ 1.6GHz
BMC: ASPEED AST2620
4. ufispace_s9311_64d
Switch ASIC: Broadcom TH4 BCM56990 (64x 400G ports)
CPU: Intel IceLake-D LCC Series
BMC: ASPEED AST2620
5. ufispace_s9321_64e
Switch ASIC: Broadcom TH5 BCM78900 (64x QSFPDD 800G ports)
CPU: Intel Icelake-D D-2712T with 4-core @ 1.9GHz
BMC: ASPEED AST2620
6. ufispace_s9511_20ct
Switch ASIC: Broadcom BCM88290 (4x 1GE Combo ports, 8x 10GE SFP+ ports, and 8x 25GE SFP28 ports)
CPU: Intel Denverton-NS C3508 4-Core @ 1.6GHz
7. ufispace_s9600_28dx
Switch ASIC: Broadcom BCM88820 (24x 100G QSFP28 ports and 4x 400G QSFP-DD ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
8. ufispace_s9600_30dx
Switch ASIC: Broadcom Jericho2 Broadcom BCM88690 (16x 100GbE QSFP28 ports, 8x 100GbE QSFPDD ports with OpenZR+ ports, and 6x 400GbE QSFPDD ports with OpenZR+ ports)
CPU: Intel Skylake-D D-2145NT with 8-core @ 1.9GHz
BMC: ASPEED AST2620
9. ufispace_s9600_56dx
Switch ASIC: Broadcom BCM88820 (48x 100G QSFP28 ports and 8x 400G QSFP-DD ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
10. ufispace_s9600_102xc
Switch ASIC: Broadcom Q2C BCM88820 (96x 25GbE SFP28 NIF ports and 6x 100GbE QSFP28 NIF ports)
CPU: Intel Skylake-D D-2145NT with 8-core @ 1.9GHz
BMC: ASPEED AST2620
11. ufispace_s9600_104bc
Switch ASIC: Broadcom BCM88820 (96x 25GbE SFP28 ports, 4x 100GbE QSFP28 ports, and 4x 200GbE/100GbE QSFP56 ports)
CPU: Intel Denverton-NS C3708 8-Core @ 1.7GHz
BMC: ASPEED AST2620
12. ufispace_s9601_102xc
Switch ASIC: Broadcom Q2C BCM88820 (96x 25GbE SFP28 NIF ports and 6x 100GbE QSFP28 NIF ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
13. ufispace_s9601_104bc
Switch ASIC: Broadcom BCM88820 (96x 25GbE SFP28 ports, 4x 100GbE QSFP28 ports, and 4x 200GbE/100GbE QSFP56 ports)
CPU: Intel IceLake-D LCC Series
BMC: ASPEED AST2620
14. ufispace_s9610_36d
Switch ASIC: Broadcom Jericho2C+ BCM88850 (36x 400GbE QSFPDD NIF ports)
CPU: Intel Skylake-D D-2145NT with 8-core @ 1.9GHz
BMC: ASPEED AST2620
15. ufispace_s9610_46dx
Switch ASIC: Broadcom BCM88840 (40x 100G QSFP28 ports and 6x 400G QSFPDD ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
16. ufispace_s9610_48dx
Switch ASIC: Broadcom BCM88840 (40x 100G QSFP28 ports and 8x 400G QSFPDD ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
17. ufispace_s9720_56ed
Switch ASIC: Broadcom Jericho3 BCM88860 (56x QSFPDD ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
18. ufispace_s9725_64e
Switch ASIC: Broadcom Ramon3 BCM88920 (64x QSFPDD 800G ports)
CPU: Intel Icelake-D D-2733NT/ 8-core @ 2.1GHz (up to 20 core selection)
BMC: ASPEED AST2620
===

2. Add some machines for integration:
ufispace_dvtn_s9501series
ufispace_dvtn_s9502series
ufispace_dvtn_td3_x5_series
ufispace_icl_emux_series
ufispace_icl_s9321series
ufispace_skl_ncplite_series
ufispace_skl_nighthawk_series
ufispace_skl_s9300series

3. Update existing UfiSpace projects

Signed-off-by: jaytclin <[email protected]>
Signed-off-by: Michael Shych <[email protected]>
  • Loading branch information
jaytclin authored and mshych committed Oct 8, 2024
1 parent 6f325ed commit 4ef8995
Show file tree
Hide file tree
Showing 491 changed files with 1,467,610 additions and 138 deletions.
99 changes: 99 additions & 0 deletions machine/ufispace/ufispace_dvtn_s9501series/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
================================================================================
Installing ONIE on UfiSpace S9501 Series w/ Intel Denverton CPU Module
================================================================================

Cross-Compiling ONIE
====================

To compile ONIE first change directories to ``build-config`` and then
type ``"make MACHINEROOT=../machine/UfiSpace MACHINE=ufiSpace_dvtn_s9501series all"``. For example::

$ cd build-config
$ make MACHINEROOT=../machine/UfiSpace MACHINE=ufiSpace_dvtn_s9501series all

When complete, the ONIE binaries are located in
``build/images``::

-rw-r--r-- 1 ufispace ufispace 6132992 Mar 21 16:21 ufiSpace_dvtn_s9501series-r0.initrd
-rw-r--r-- 1 ufispace ufispace 3545776 Mar 21 16:21 ufiSpace_dvtn_s9501series-r0.vmlinuz
-rw-r--r-- 1 ufispace ufispace 22020096 Mar 21 16:21 onie-recovery-x86_64-ufiSpace_dvtn_s9501series-r0.iso
-rw-r--r-- 1 ufispace ufispace 9729911 Mar 21 16:21 onie-updater-x86_64-ufiSpace_dvtn_s9501series-r0

ufiSpace_dvtn_s9501series-r0.vmlinuz -- This is the ONIE kernel image

ufiSpace_dvtn_s9501series-r0.initrd -- This is the ONIE initramfs (filesystem)

onie-updater-x86_64-ufiSpace_dvtn_s9501series-r0 -- This is the ONIE self-update image.
This image is a self-extracting archive used for installing ONIE.

onie-recovery-x86_64-ufiSpace_dvtn_s9501series-r0.iso -- This is iso image containing ONIE kernel + ONIE initramfs with ONIE self-update image already included inside.
This might be very useful as it can be easily placed on USB/CD and one can boot from this to install/reinstall/repair ONIE


Installing ONIE on a Blank Machine
==================================

To install ONIE on a new machine use one of the onie-recovery images.

Overview
--------

An "ONIE recovery image" is used for:

1. installing ONIE on a blank machine, i.e. what manufacturing would
use.

2. recovering a destroyed ONIE system.

The recovery image is:

. <machine>.iso -- a hybrid ISO image.

ISO Recovery Image
------------------

The .iso image is used to create the usb recovery disk.

You can use the .iso image to create a bootable USB memory stick.
Use ``dd`` to copy the .iso image to a USB stick and boot from that::

dd if=<machine>.iso of=/dev/sdX bs=10M

For can find the correct ``/dev/sdX`` by inspecing the ``dmesg``
output after inserting the USB stick into your work station.

To enable booting from USB in BIOS:

1. Insert the USB stick

2. Power on the UfiSpace Switch

3. Press ECS to get into the BIOS and set USB as boot device

4. Wait for scanning USB disk grub.cfg

GNU GRUB version 2.02~beta2-4b8b913+

+----------------------------------------------------------------------------+
|*ONIE: Rescue |
| ONIE: Embed ONIE |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------+

Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line. ESC to return
previous menu.

5. Choose ``ONIE: Embed ONIE``, then ONIE will be ready after reboot.

6. ``ONIE: Rescue`` for ONIE rescue mode on USB disk shall also provide
an debugging environment.
15 changes: 15 additions & 0 deletions machine/ufispace/ufispace_dvtn_s9501series/busybox/conf/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
CONFIG_STATIC=y
CONFIG_SYS_EEPROM=y
CONFIG_SYS_EEPROM_DEVICE_I2C=y
CONFIG_SYS_EEPROM_I2C_DEVICE="/dev/i2c-1"
CONFIG_SYS_EEPROM_I2C_ADDR=0x57
CONFIG_SYS_EEPROM_I2C_MEM_ADDR_BITS=16
CONFIG_SYS_EEPROM_I2C_WRITE_1B_DELAY=4000
CONFIG_SYS_EEPROM_I2C_WRITE_2B_DELAY=4000
CONFIG_SYS_EEPROM_I2C_WRITE_3B_DELAY=4000
CONFIG_SYS_EEPROM_OFFSET=0
CONFIG_SYS_EEPROM_SIZE=512
CONFIG_SYS_EEPROM_MAX_SIZE=512
CONFIG_NTPD=y
CONFIG_FEATURE_WGET_OPENSSL=y
CONFIG_FEATURE_WGET_SSL_HELPER=y
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# s9501 series specific info
43 changes: 43 additions & 0 deletions machine/ufispace/ufispace_dvtn_s9501series/installer.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Foxconn S9501 Series
# CPU Module: Intel Denverton-NS


description="Ufispace S9501 Series"

# Default ONIE block device
install_device_platform()
{
# find ata device on the systme, return the 1st one.

##
# find the sata dom
##

for _device in /sys/block/sd*/device; do

# Intel Denverton-NS SATA Controller 1 Registers (D20:F0)
if echo $(readlink -f $_device)|egrep -q "pci0000:00\/0000:00:14.0"; then
_disk=`echo $_device | cut -f4 -d/`
echo /dev/$_disk
return 0
fi
done

for _device in /sys/block/mmc*/device; do
# Intel Denverton-NS PCI Controller 1 Registers (D28:F0)
if echo $(readlink -f $_device)|egrep -q "pci0000:00\/0000:00:1c.0"; then
_disk=`echo $_device | cut -f4 -d/`
echo /dev/$_disk
return 0
fi
done

# nothing found, just return /dev/sda
echo /dev/sda
return 1
}

# Local Variables:
# mode: shell-script
# eval: (sh-set-shell "/bin/sh" t nil)
# End:
73 changes: 73 additions & 0 deletions machine/ufispace/ufispace_dvtn_s9501series/kernel/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
CONFIG_IGB=y

CONFIG_I2C_I801=y
CONFIG_I2C_SMBUS =y
CONFIG_I2C_ISMT=y
CONFIG_I2C_ALGOBIT=n
CONFIG_I2C_ALGOPCF=n
CONFIG_I2C_ALGOPCA=n
CONFIG_I2C_HELPER_AUTO=n
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y

CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y

CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDCETHER=y

CONFIG_IO_DELAY_0XED=y
CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_IO_DELAY_0X80 is not set

CONFIG_X86_X2APIC=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_USHC=y
CONFIG_MMC_TOSHIBA_PCI=y

# CONFIG_ACPI_IPMI is not set
# CONFIG_IPMI_PANIC_EVENT is not set
# CONFIG_IPMI_SI_PROBE_DEFAULTS is not set
# CONFIG_IPMI_SSIF is not set
# CONFIG_IPMI_WATCHDOG is not set
# CONFIG_IPMI_POWEROFF is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBMPEX is not set

# CONFIG_USB_NET_AX8817X is not set
# CONFIG_USB_NET_AX88179_178A is not set
# CONFIG_USB_NET_CDC_EEM is not set
# CONFIG_USB_NET_CDC_NCM is not set
# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SR9700 is not set
# CONFIG_USB_NET_SR9800 is not set
# CONFIG_USB_NET_SMSC75XX is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not set
# CONFIG_USB_NET_CX82310_ETH is not set
# CONFIG_USB_NET_KALMIA is not set
# CONFIG_USB_NET_QMI_WWAN is not set
# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_USB_SIERRA_NET is not set
# CONFIG_USB_VL600 is not set
# CONFIG_USB_NET_CH9200 is not set
Empty file.
63 changes: 63 additions & 0 deletions machine/ufispace/ufispace_dvtn_s9501series/machine.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Foxconn S9501 Series
# CPU Module: Intel Denvertion-NS

ONIE_ARCH ?= x86_64
SWITCH_ASIC_VENDOR = bcm

VENDOR_REV ?= 0

# Translate hardware revision to ONIE hardware revision
ifeq ($(VENDOR_REV),0)
MACHINE_REV = 0
else
$(warning Unknown VENDOR_REV '$(VENDOR_REV)' for MACHINE '$(MACHINE)')
$(error Unknown VENDOR_REV)
endif

# The VENDOR_VERSION string is appended to the overal ONIE version
# string. HW vendors can use this to appended their own versioning
# information to the base ONIE version string.
# ONIE Version = onie-release version + VENDOR_VERSION
VENDOR_VERSION = v06

# Enable UEFI support
UEFI_ENABLE = yes

# This platform requires the PXE_EFI64 installer
PXE_EFI64_ENABLE = yes

# Vendor ID -- IANA Private Enterprise Number:
# http://www.iana.org/assignments/enterprise-numbers
# Open Compute Project IANA number
VENDOR_ID = 51242

# Enable the i2ctools
I2CTOOLS_ENABLE = yes
IPMITOOL_ENABLE = yes

# Enable ioget/ioset tools
IOACCESS_ENABLE = yes

EXTRA_CMDLINE_LINUX = earlycon=uart8250,io,0x3f8 acpi_osi="Linux"
# Enable OpenSSL
OPENSSL_ENABLE = yes

#
# Console parameters can be defined here (default values are in
# build-config/arch/x86_64.make).
#
CONSOLE_SPEED = 115200
CONSOLE_DEV = 0

# Set Linux kernel version
LINUX_VERSION = 4.9
LINUX_MINOR_VERSION = 95

# Older GCC required for older 3.2 kernel
GCC_VERSION = 4.9.2

#-------------------------------------------------------------------------------
#
# Local Variables:
# mode: makefile-gmake
# End
Binary file not shown.
Loading

0 comments on commit 4ef8995

Please sign in to comment.