diff options
author | jmallett <jmallett@FreeBSD.org> | 2012-10-26 00:08:50 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2012-10-26 00:08:50 +0000 |
commit | af24b41220e9050f629345994d8049991ba4d117 (patch) | |
tree | 06938e71c5a408c9b962aac5bd8852cd42ddc788 | |
parent | 06f94170edf7e351d13845a21770a7eb14a5a92c (diff) | |
download | FreeBSD-src-af24b41220e9050f629345994d8049991ba4d117.zip FreeBSD-src-af24b41220e9050f629345994d8049991ba4d117.tar.gz |
Add support for Radisys as a vendor of Octeon hardware. Add some preliminary
support for what their boot loader refers to as the "RSYS4GBE", of which there
are two instances ("Data Processing Blocks") on the Radisys ATCA-7220.
-rw-r--r-- | sys/conf/options.mips | 1 | ||||
-rw-r--r-- | sys/contrib/octeon-sdk/cvmx-app-init.h | 6 | ||||
-rw-r--r-- | sys/contrib/octeon-sdk/cvmx-helper-board.c | 8 | ||||
-rw-r--r-- | sys/contrib/octeon-sdk/cvmx-helper.c | 4 | ||||
-rw-r--r-- | sys/mips/conf/OCTEON1 | 1 |
5 files changed, 20 insertions, 0 deletions
diff --git a/sys/conf/options.mips b/sys/conf/options.mips index e9fc14a..c4b3bb7 100644 --- a/sys/conf/options.mips +++ b/sys/conf/options.mips @@ -72,6 +72,7 @@ MAXMEM opt_global.h # Options that control the Cavium Simple Executive. # OCTEON_VENDOR_LANNER opt_cvmx.h +OCTEON_VENDOR_RADISYS opt_cvmx.h OCTEON_BOARD_CAPK_0100ND opt_cvmx.h # diff --git a/sys/contrib/octeon-sdk/cvmx-app-init.h b/sys/contrib/octeon-sdk/cvmx-app-init.h index e570b45..a986814 100644 --- a/sys/contrib/octeon-sdk/cvmx-app-init.h +++ b/sys/contrib/octeon-sdk/cvmx-app-init.h @@ -299,6 +299,9 @@ enum cvmx_board_types_enum { CVMX_BOARD_TYPE_CUST_LANNER_MR320= 20002, CVMX_BOARD_TYPE_CUST_LANNER_MR321X=20007, #endif +#if defined(OCTEON_VENDOR_RADISYS) + CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE=20002, +#endif CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000, @@ -423,6 +426,9 @@ static inline const char *cvmx_board_type_to_string(enum cvmx_board_types_enum t ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_LANNER_MR320) ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_LANNER_MR321X) #endif +#if defined(OCTEON_VENDOR_RADISYS) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE) +#endif ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX) /* Module range */ diff --git a/sys/contrib/octeon-sdk/cvmx-helper-board.c b/sys/contrib/octeon-sdk/cvmx-helper-board.c index d9fa7ba..06c17b5 100644 --- a/sys/contrib/octeon-sdk/cvmx-helper-board.c +++ b/sys/contrib/octeon-sdk/cvmx-helper-board.c @@ -1296,6 +1296,14 @@ int __cvmx_helper_board_interface_probe(int interface, int supported_ports) return 12; break; #endif +#if defined(OCTEON_VENDOR_RADISYS) + case CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE: + if (interface == 0) + return 13; + if (interface == 1) + return 8; + return 0; +#endif } #ifdef CVMX_BUILD_FOR_UBOOT if (CVMX_HELPER_INTERFACE_MODE_SPI == cvmx_helper_interface_get_mode(interface) && getenv("disable_spi")) diff --git a/sys/contrib/octeon-sdk/cvmx-helper.c b/sys/contrib/octeon-sdk/cvmx-helper.c index fb270e1..26582f0 100644 --- a/sys/contrib/octeon-sdk/cvmx-helper.c +++ b/sys/contrib/octeon-sdk/cvmx-helper.c @@ -146,6 +146,10 @@ int cvmx_helper_get_number_of_interfaces(void) case CVMX_BOARD_TYPE_CUST_LANNER_MR730: return 1; #endif +#if defined(OCTEON_VENDOR_RADISYS) + case CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE: + return 2; +#endif default: break; } diff --git a/sys/mips/conf/OCTEON1 b/sys/mips/conf/OCTEON1 index aa6490b..58ec839 100644 --- a/sys/mips/conf/OCTEON1 +++ b/sys/mips/conf/OCTEON1 @@ -38,6 +38,7 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols # Board-specific support that cannot be auto-detected at runtime. #options OCTEON_VENDOR_LANNER # Support for Lanner boards. +#options OCTEON_VENDOR_RADISYS # Support for Radisys boards. #options OCTEON_BOARD_CAPK_0100ND # Support for CAPK-0100nd. options SCHED_ULE # ULE scheduler |