2 * Copyright (c) 2003-2009 RMI Corporation
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of RMI Corporation, nor the names of its contributors,
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * This file defines the message ring configuration for phoenix-8. It tries to allow
32 * many different point-point communications between the message stations on the message ring
33 * and as result is _not_ the best configuration for performance
35 * The message ring on phoenix family of processors connects the cpus, gmacs, xgmac/spi4,
36 * security engine and the general purpose DMA engines. It provides a high bandwidth,
37 * low latency communication links. On traditional processors, this communication goes through
38 * which inherently does not scale very well with increasing number of cpus.
40 * Message ring has an in-built flow control mechanism. Every agent/station on the ring has to
41 * have software configured credits to send messages to any agent. Every receiving agent on the
42 * ring has a 256 entry FIFO that can divided into "buckets". All addressing on the ring is
43 * in terms of buckets. There are a total 128 buckets on the ring. The total number of credits
44 * across all sending agents should not exceed the bucket size.
46 * Below are the receiving agents and the max number of buckets they can have
69 * The bucket size of a bucket should be aligned to the bucket's starting index in that
70 * receiving station's FIFO. For example, if sizes of bucket0 and bucket1 of a station
71 * are 32 and 32, bucket2's size has to be 64. bucket size 0 is valid.
73 * The format of the file is pretty straight forward. Each bucket definition has the size
74 * and the list of sending agents to that bucket with the number of credits to send.
76 * Undefined buckets have a size of 0 and Tx stations have 0 credits to send to that bucket.
78 * Following are the currently supported bucket names
206 * Following are the currently supported Tx Agent/Station names
230 /*************************************************************/
231 // CPU_0 Message Station
286 /*************************************************************/
287 // CPU_1 Message Station
316 "tx_stn_cpu_0" 4; /* NEEDED BY RMIOS IPSEC */
343 /*************************************************************/
344 // CPU_2 Message Station
399 /*************************************************************/
400 // CPU_3 Message Station
455 /*************************************************************/
456 // CPU_4 Message Station
511 /*************************************************************/
512 // CPU_5 Message Station
568 /*************************************************************/
569 // CPU_6 Message Station
625 /*************************************************************/
626 // CPU_7 Message Station
682 /*************************************************************/
683 // GMAC Message Station
685 bucket "gmac_rfr_0" {
746 bucket "gmac_rfr_1" {
758 /*********************************************/
773 bucket "xgs_0_tx_0" {
785 bucket "xgs_0_tx_1" {
797 bucket "xgs_0_tx_2" {
809 bucket "xgs_0_tx_3" {
821 bucket "xgs_0_tx_4" {
832 bucket "xgs_0_tx_5" {
844 bucket "xgs_0_tx_6" {
856 bucket "xgs_0_tx_7" {
868 bucket "xgs_0_tx_8" {
880 bucket "xgs_0_tx_9" {
892 bucket "xgs_0_tx_10" {
905 bucket "xgs_0_tx_11" {
917 bucket "xgs_0_tx_12" {
929 bucket "xgs_0_tx_13" {
941 bucket "xgs_0_tx_14" {
967 bucket "xgs_1_tx_0" {
980 bucket "xgs_1_tx_1" {
992 bucket "xgs_1_tx_2" {
1004 bucket "xgs_1_tx_3" {
1016 bucket "xgs_1_tx_4" {
1028 bucket "xgs_1_tx_5" {
1040 bucket "xgs_1_tx_6" {
1052 bucket "xgs_1_tx_7" {
1065 bucket "xgs_1_tx_8" {
1078 bucket "xgs_1_tx_9" {
1091 bucket "xgs_1_tx_10" {
1103 bucket "xgs_1_tx_11" {
1115 bucket "xgs_1_tx_12" {
1127 bucket "xgs_1_tx_13" {
1139 bucket "xgs_1_tx_14" {
1156 /*************************************************************/
1157 // Security Message Station
1159 bucket "sec_pipe_0" {