| /* |
| * Copyright (c) 2009 Mindspeed Technologies, Inc. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version 2 |
| * of the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| * |
| */ |
| #ifndef _PHY_QUEUE_H_ |
| #define _PHY_QUEUE_H_ |
| |
| #define PHY_QUEUE_SHAPER_STATUS (PHY_QUEUE_BASE_ADDR + 0x00) /**< [28:19] same as SHAPER_STATUS, [18:3] same as QUEUE_STATUS, [2:0] must be zero before a new packet may be dequeued */ |
| #define QUEUE_STATUS (PHY_QUEUE_BASE_ADDR + 0x04) /**< [15:0] bit mask of input queues with pending packets */ |
| |
| #define QUEUE0_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x08) |
| #define QUEUE1_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x0c) |
| #define QUEUE2_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x10) |
| #define QUEUE3_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x14) |
| #define QUEUE4_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x18) |
| #define QUEUE5_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x1c) |
| #define QUEUE6_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x20) |
| #define QUEUE7_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x24) |
| #define QUEUE8_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x28) |
| #define QUEUE9_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x2c) |
| #define QUEUE10_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x30) |
| #define QUEUE11_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x34) |
| #define QUEUE12_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x38) |
| #define QUEUE13_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x3c) |
| #define QUEUE14_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x40) |
| #define QUEUE15_PKT_LEN (PHY_QUEUE_BASE_ADDR + 0x44) |
| #define QUEUE_RESULT0 (PHY_QUEUE_BASE_ADDR + 0x48) /**< [7] set to one to indicate output PHY (TMU0->PHY0, TMU1->PHY1, TMU2->PHY2, TMU3->PHY3), [6:0] winner input queue number */ |
| #define QUEUE_RESULT1 (PHY_QUEUE_BASE_ADDR + 0x4c) /**< [7] set to one to indicate output PHY (TMU0->PHY0, TMU1->PHY1, TMU2->PHY2, TMU3->PHY4), [6:0] winner input queue number */ |
| #define QUEUE_RESULT2 (PHY_QUEUE_BASE_ADDR + 0x50) /**< [7] set to one to indicate output PHY (TMU0->PHY0, TMU1->PHY1, TMU2->PHY2, TMU3->PHY5), [6:0] winner input queue number */ |
| #define TMU_PE_GP_REG (PHY_QUEUE_BASE_ADDR + 0x54) |
| #define QUEUE_GBL_PKTLEN (PHY_QUEUE_BASE_ADDR + 0x5c) |
| #define QUEUE_GBL_PKTLEN_MASK (PHY_QUEUE_BASE_ADDR + 0x60) |
| |
| #define QUEUE_RESULT0_REGOFFSET (QUEUE_RESULT0 - QUEUE_RESULT0) |
| #define QUEUE_RESULT1_REGOFFSET (QUEUE_RESULT1 - QUEUE_RESULT0) |
| #define QUEUE_RESULT2_REGOFFSET (QUEUE_RESULT2 - QUEUE_RESULT0) |
| |
| #define TEQ_HTD (1 << 22) |
| #define TEQ_HWRED (1 << 21) |
| |
| |
| #endif /* _PHY_QUEUE_H_ */ |