mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-23 12:23:34 +00:00
Some checks failed
Build OpenWrt/uCentral images / build (cig_wf186h) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf186w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf188n) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf189) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf196) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-a1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-b1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap102) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap104) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap105) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap111) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap112) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_3) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xe) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (indio_um-305ax) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sercomm_ap72tip) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630c-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-211g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-id2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-od2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr5018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018-v4) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax820) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax840) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap640) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap650) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap655) (push) Has been cancelled
Build OpenWrt/uCentral images / trigger-testing (push) Has been cancelled
Build OpenWrt/uCentral images / create-x64_vm-ami (push) Has been cancelled
Signed-off-by: John Crispin <john@phrozen.org>
599 lines
18 KiB
Bash
599 lines
18 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software for any
|
|
# purpose with or without fee is hereby granted, provided that the above
|
|
# copyright notice and this permission notice appear in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
#
|
|
|
|
#@edma_dump
|
|
#@example : edma_dump [miami|alder] [general|txdesc|txcmpl|rxdesc|rxfill|full] [ring_num] [cache]
|
|
|
|
load_miami() {
|
|
RXDESC_WORD=8
|
|
RXFILL_WORD=4
|
|
TXDESC_WORD=8
|
|
TXCMPL_WORD=4
|
|
RXDESC_NUM_RNG=16
|
|
RXFILL_NUM_RNG=8
|
|
TXDESC_NUM_RNG=24
|
|
TXCMPL_NUM_RNG=24
|
|
RXDESC_CACHE_BA=0x3AB5E000
|
|
RXDESC_CACHE_DEPTH=0x280
|
|
TXDESC_CACHE_BA=0x3AB68000
|
|
TXDESC_CACHE_DEPTH=0x200
|
|
RXFILL_CACHE_BA=0x3AB5C000
|
|
RXFILL_CACHE_DEPTH=0x100
|
|
TXCMPL_CACHE_BA=0x3AB5B000
|
|
TXCMPL_CACHE_DEPTH=0x440
|
|
}
|
|
|
|
load_alder() {
|
|
RXDESC_WORD=8
|
|
RXFILL_WORD=4
|
|
TXDESC_WORD=8
|
|
TXCMPL_WORD=4
|
|
RXDESC_NUM_RNG=24
|
|
RXFILL_NUM_RNG=8
|
|
TXDESC_NUM_RNG=32
|
|
TXCMPL_NUM_RNG=32
|
|
RXDESC_CACHE_BA=0x3ABE8000
|
|
RXDESC_CACHE_DEPTH=0x3C0
|
|
TXDESC_CACHE_BA=0x3ABD0000
|
|
TXDESC_CACHE_DEPTH=0x200
|
|
RXFILL_CACHE_BA=0x3ABBF000
|
|
RXFILL_CACHE_DEPTH=0x100
|
|
TXCMPL_CACHE_BA=0x3ABE0000
|
|
TXCMPL_CACHE_DEPTH=0x440
|
|
}
|
|
|
|
general_dump() {
|
|
echo "NSS_PPE_EDMA_MAS_CTRL_REG 0x3AB00000 : " `devmem 0x3AB00000`
|
|
echo "NSS_PPE_EDMA_PORT_CTRL_REG 0x3AB00004 : " `devmem 0x3AB00004`
|
|
echo "NSS_PPE_EDMA_VLAN_CTRL_REG 0x3AB00008 : " `devmem 0x3AB00008`
|
|
echo "NSS_PPE_EDMA_RXDESC2FILL_MAP_REG_0 0x3AB00014 : " `devmem 0x3AB00014`
|
|
echo "NSS_PPE_EDMA_RXDESC2FILL_MAP_REG_1 0x3AB00018 : " `devmem 0x3AB00018`
|
|
echo "NSS_PPE_EDMA_TXQ_CTRL_REG 0x3AB00020 : " `devmem 0x3AB00020`
|
|
echo "NSS_PPE_EDMA_TXQ_CTRL_REG2 0x3AB00024 : " `devmem 0x3AB00024`
|
|
echo "NSS_PPE_EDMA_TXQ_FC_REG0 0x3AB00028 : " `devmem 0x3AB00028`
|
|
echo "NSS_PPE_EDMA_TXQ_FC_REG1 0x3AB00030 : " `devmem 0x3AB00030`
|
|
echo "NSS_PPE_EDMA_TXQ_FC_REG2 0x3AB00034 : " `devmem 0x3AB00034`
|
|
echo "NSS_PPE_EDMA_TXQ_FC_REG3 0x3AB00038 : " `devmem 0x3AB00038`
|
|
echo "NSS_PPE_EDMA_RXQ_CTRL_REG 0x3AB0003C : " `devmem 0x3AB0003C`
|
|
echo "NSS_PPE_EDMA_MISC_ERR_QID_REG1 0x3AB00040 : " `devmem 0x3AB00040`
|
|
echo "NSS_PPE_EDMA_RXQ_FC_THRE_REG 0x3AB00044 : " `devmem 0x3AB00044`
|
|
echo "NSS_PPE_EDMA_DMAR_CTRL_REG 0x3AB00048 : " `devmem 0x3AB00048`
|
|
echo "NSS_PPE_EDMA_AXIR_CTRL_REG 0x3AB0004C : " `devmem 0x3AB0004C`
|
|
echo "NSS_PPE_EDMA_AXIW_CTRL_REG 0x3AB00050 : " `devmem 0x3AB00050`
|
|
echo "NSS_PPE_EDMA_MIN_MSS_REG 0x3AB00054 : " `devmem 0x3AB00054`
|
|
echo "NSS_PPE_EDMA_LOOPBACK_CTRL_REG 0x3AB00058 : " `devmem 0x3AB00058`
|
|
echo "NSS_PPE_EDMA_MISC_INT_STAT_REG 0x3AB0005C : " `devmem 0x3AB0005C`
|
|
echo "NSS_PPE_EDMA_MISC_INT_MASK_REG 0x3AB00060 : " `devmem 0x3AB00060`
|
|
echo "NSS_PPE_EDMA_DBG_CTRL_REG 0x3AB00064 : " `devmem 0x3AB00064`
|
|
echo "NSS_PPE_EDMA_DBG_DATA_REG 0x3AB00068 : " `devmem 0x3AB00068`
|
|
echo "NSS_PPE_EDMA_TX_TIMEOUT_THRES 0x3AB0006C : " `devmem 0x3AB0006C`
|
|
echo "NSS_PPE_EDMA_REQ0_FIFO_THRES 0x3AB00080 : " `devmem 0x3AB00080`
|
|
echo "NSS_PPE_EDMA_WB_OS_THRES 0x3AB00084 : " `devmem 0x3AB00084`
|
|
echo "NSS_PPE_EDMA_MISC_ERR_QID_REG2 0x3AB00088 : " `devmem 0x3AB00088`
|
|
echo "NSS_PPE_EDMA_TXDESC2CMPL_MAP_REG_0 0x3AB0008C : " `devmem 0x3AB0008C`
|
|
echo "NSS_PPE_EDMA_TXDESC2CMPL_MAP_REG_1 0x3AB00090 : " `devmem 0x3AB00090`
|
|
echo "NSS_PPE_EDMA_TXDESC2CMPL_MAP_REG_2 0x3AB00094 : " `devmem 0x3AB00094`
|
|
echo "NSS_PPE_EDMA_TXDESC2CMPL_MAP_REG_3 0x3AB00098 : " `devmem 0x3AB00098`
|
|
echo "NSS_PPE_EDMA_MDIO_SLV_PASUE_MAP_REG_0 0x3AB000A4 : " `devmem 0x3AB000A4`
|
|
echo "NSS_PPE_EDMA_MDIO_SLV_PASUE_MAP_REG_1 0x3AB000A8 : " `devmem 0x3AB000A8`
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB01000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_BA_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB01004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_PROD_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB01008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_CONS_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB0100C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_RING_SIZE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB01010 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_CTRL_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB01014 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXDESC_BA2_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_BA_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_PROD_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_CONS_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB2900C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_RING_BUFFER0_SIZE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29010 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_BUFFER1_SIZE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29014 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_FC_THRE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29018 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_UGT_THRE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB2901C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_RING_EN_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29020 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_DISABLE_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB29024 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_DISABLE_DONE_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB31000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_INT_STAT_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB31004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXFILL_INT_MASK_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_BA_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_PROD_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_CONS_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB3900c + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_RING_SIZE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39010 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_THRE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39014 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_UGT_THRE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39018 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_CTRL_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB3901C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_BPC_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39020 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_DISABLE_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39024 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_DISABLE_DONE_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB39028 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_PH_BA_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB59000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_INT_STAT_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB59004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RXDESC_INT_MASK_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB59008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RX_MOD_TIMER_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB5900C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_RX_INT_CTRL_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_BA_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_PROD_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_CONS_IDX_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB7900C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_RING_SIZE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79010 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_UGT_THRE_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79014 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_CTRL_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB79018 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TXCMPL_BPC_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB99000 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TX_INT_STAT_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB99004 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TX_INT_MASK_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB99008 + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TX_MOD_TIMER_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
reg=$((0x3AB9900C + (0x1000*$i)))
|
|
echo "NSS_PPE_EDMA_TX_INT_CTRL_REG_$i 0x$(printf "%x" $reg): " `devmem $reg`
|
|
done
|
|
}
|
|
|
|
rxdesc_dump() {
|
|
ring_n=$1
|
|
|
|
echo "RXDESC DUMP: Ring: $ring_n"
|
|
|
|
#producer index
|
|
rxdesc_prod=$((0x3AB39004 + (0x1000*$ring_n)))
|
|
echo "rxdesc_prod[$ring_n] addr: 0x$(printf "%x" $rxdesc_prod) index: " `devmem $rxdesc_prod`
|
|
|
|
#consumer index
|
|
rxdesc_cons=$((0x3AB39008 + (0x1000*$ring_n)))
|
|
echo "rxdesc_cons[$ring_n] addr: 0x$(printf "%x" $rxdesc_cons) index: " `devmem $rxdesc_cons`
|
|
|
|
#base address
|
|
rxdesc_ba=$((0x3AB39000 + (0x1000*$ring_n)))
|
|
echo "rxdesc_ba[$ring_n] addr: 0x$(printf "%x" $rxdesc_ba) index: " `devmem $rxdesc_ba`
|
|
|
|
#ring size
|
|
rxdesc_sz=$((0x3AB3900C + (0x1000*$ring_n)))
|
|
count=`devmem $rxdesc_sz`
|
|
MAX=$(($count - 1))
|
|
|
|
reg=`devmem $rxdesc_ba`
|
|
for i in $(seq 0 $MAX)
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $RXDESC_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
|
|
if [ $2 -eq 1 ];then
|
|
echo "dumping cached descriptors"
|
|
NUM_CACHE_DESC_PER_RNG=$(($RXDESC_CACHE_DEPTH/$RXDESC_NUM_RNG))
|
|
RXDESC_SZ=$(($RXDESC_WORD*4))
|
|
RXDESC_CACHE_SZ=$(($NUM_CACHE_DESC_PER_RNG*$RXDESC_SZ))
|
|
reg=$(($RXDESC_CACHE_BA + $(($ring_n*$RXDESC_CACHE_SZ))))
|
|
for i in $(seq 0 $(($NUM_CACHE_DESC_PER_RNG - 1)))
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $RXDESC_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
fi
|
|
}
|
|
|
|
txdesc_dump() {
|
|
ring_n=$1
|
|
|
|
echo "TXDESC DUMP: Ring: $ring_n"
|
|
|
|
#producer index
|
|
txdesc_prod=$((0x3AB01004 + (0x1000*$ring_n)))
|
|
echo "txdesc_prod[$ring_n] addr: 0x$(printf "%x" $txdesc_prod) index: " `devmem $txdesc_prod`
|
|
|
|
#consumer index
|
|
txdesc_cons=$((0x3AB01008 + (0x1000*$ring_n)))
|
|
echo "txdesc_cons[$ring_n] addr: 0x$(printf "%x" $txdesc_cons) index: " `devmem $txdesc_cons`
|
|
|
|
#base address
|
|
txdesc_ba=$((0x3AB01000 + (0x1000*$ring_n)))
|
|
echo "txdesc_ba[$ring_n] addr: 0x$(printf "%x" $txdesc_ba) index: " `devmem $txdesc_ba`
|
|
|
|
#ring size
|
|
txdesc_sz=$((0x3AB0100C + (0x1000*$ring_n)))
|
|
count=`devmem $txdesc_sz`
|
|
MAX=$(($count - 1))
|
|
|
|
reg=`devmem $txdesc_ba`
|
|
for i in $(seq 0 $MAX)
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $TXDESC_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
|
|
if [ $2 -eq 1 ];then
|
|
echo "dumping cache descriptors"
|
|
NUM_CACHE_DESC_PER_RNG=$(($TXDESC_CACHE_DEPTH/$TXDESC_NUM_RNG))
|
|
TXDESC_SZ=$(($TXDESC_WORD*4))
|
|
TXDESC_CACHE_SZ=$(($NUM_CACHE_DESC_PER_RNG*$TXDESC_SZ))
|
|
reg=$(($TXDESC_CACHE_BA + $(($ring_n*$TXDESC_CACHE_SZ))))
|
|
for i in $(seq 0 $(($NUM_CACHE_DESC_PER_RNG - 1)))
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $TXDESC_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
fi
|
|
}
|
|
|
|
rxfill_dump() {
|
|
ring_n=$1
|
|
|
|
echo "RXFILL DUMP: Ring: $ring_n"
|
|
|
|
#producer index
|
|
rxfill_prod=$((0x3AB29004 + (0x1000*$ring_n)))
|
|
echo "rxfill_prod[$ring_n] addr: 0x$(printf "%x" $rxfill_prod) index: " `devmem $rxfill_prod`
|
|
|
|
#consumer index
|
|
rxfill_cons=$((0x3AB29008 + (0x1000*$ring_n)))
|
|
echo "rxfill_cons[$ring_n] addr: 0x$(printf "%x" $rxfill_cons) index: " `devmem $rxfill_cons`
|
|
|
|
#base address
|
|
rxfill_ba=$((0x3AB29000 + (0x1000*$ring_n)))
|
|
echo "rxfill_ba[$ring_n] addr: 0xi$(printf "%x" $rxfill_ba)ndex: " `devmem $rxfill_ba`
|
|
|
|
#ring size
|
|
rxfill_sz=$((0x3AB2900C + (0x1000*$ring_n)))
|
|
count=`devmem $rxfill_sz`
|
|
MAX=$(($count - 1))
|
|
|
|
reg=`devmem $rxfill_ba`
|
|
for i in $(seq 0 $MAX)
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $RXFILL_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
|
|
if [ $2 -eq 1 ];then
|
|
echo "dumping cache descriptors"
|
|
NUM_CACHE_DESC_PER_RNG=$(($RXFILL_CACHE_DEPTH/$RXFILL_NUM_RNG))
|
|
RXFILL_SZ=$(($RXFILL_WORD*4))
|
|
RXFILL_CACHE_SZ=$(($NUM_CACHE_DESC_PER_RNG*$RXFILL_SZ))
|
|
reg=$(($RXFILL_CACHE_BA + $(($ring_n*$RXFILL_CACHE_SZ))))
|
|
for i in $(seq 0 $(($NUM_CACHE_DESC_PER_RNG - 1)))
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $RXFILL_WORD)
|
|
do
|
|
echo "addr_$j:0x $(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
fi
|
|
}
|
|
|
|
txcmpl_dump() {
|
|
ring_n=$1
|
|
|
|
echo "TXCMPL DUMP: Ring: $ring_n"
|
|
|
|
#producer index
|
|
txcmpl_prod=$((0x3AB79004 + (0x1000*$ring_n)))
|
|
echo "txcmpl_prod[$ring_n] addr: 0x$(printf "%x" $txcmpl_prod) index: " `devmem $txcmpl_prod`
|
|
|
|
#consumer index
|
|
txcmpl_cons=$((0x3AB79008 + (0x1000*$ring_n)))
|
|
echo "txcmpl_cons[$ring_n] addr: 0x$(printf "%x" $txcmpl_cons) index: " `devmem $txcmpl_cons`
|
|
|
|
#base address
|
|
txcmpl_ba=$((0x3AB79000 + (0x1000*$ring_n)))
|
|
echo "txcmpl_ba[$ring_n] addr: 0x$(printf "%x" $txcmpl_ba) index: " `devmem $txcmpl_ba`
|
|
|
|
#ring size
|
|
txcmpl_sz=$((0x3AB7900C + (0x1000*$ring_n)))
|
|
count=`devmem $txcmpl_sz`
|
|
MAX=$(($count - 1))
|
|
|
|
reg=`devmem $txcmpl_ba`
|
|
for i in $(seq 0 $MAX)
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $TXCMPL_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
|
|
if [ $2 -eq 1 ];then
|
|
echo "dumping cache descriptors"
|
|
NUM_CACHE_DESC_PER_RNG=$(($TXCMPL_CACHE_DEPTH/$TXCMPL_NUM_RNG))
|
|
TXCMPL_SZ=$(($TXCMPL_WORD*4))
|
|
TXCMPL_CACHE_SZ=$(($NUM_CACHE_DESC_PER_RNG*$TXCMPL_SZ))
|
|
reg=$(($TXCMPL_CACHE_BA + $(($ring_n*$TXCMPL_CACHE_SZ))))
|
|
for i in $(seq 0 $(($NUM_CACHE_DESC_PER_RNG - 1)))
|
|
do
|
|
echo "desc: $i"
|
|
for j in $(seq 1 $TXCMPL_WORD)
|
|
do
|
|
echo "addr_$j:0x$(printf "%x" $reg) val_$j:" `devmem $reg`
|
|
reg=$(($reg + 4))
|
|
done
|
|
done
|
|
fi
|
|
}
|
|
|
|
full_dump() {
|
|
#general dump
|
|
general_dump
|
|
|
|
#rxdesc dump
|
|
for i in $(seq 0 $(($RXDESC_NUM_RNG - 1)))
|
|
do
|
|
rxdesc_dump $i $1
|
|
done
|
|
|
|
#rxfill dump
|
|
for i in $(seq 0 $(($RXFILL_NUM_RNG - 1)))
|
|
do
|
|
rxfill_dump $i $1
|
|
done
|
|
|
|
#txdesc dump
|
|
for i in $(seq 0 $(($TXDESC_NUM_RNG - 1)))
|
|
do
|
|
txdesc_dump $i $1
|
|
done
|
|
|
|
#txcmpl dump
|
|
for i in $(seq 0 $(($TXCMPL_NUM_RNG - 1)))
|
|
do
|
|
txcmpl_dump $i $1
|
|
done
|
|
}
|
|
|
|
case $4 in
|
|
cache)
|
|
cache_dump=1;
|
|
;;
|
|
*)
|
|
cache_dump=0;
|
|
;;
|
|
esac
|
|
|
|
case $1 in
|
|
miami)
|
|
load_miami
|
|
;;
|
|
alder)
|
|
load_alder
|
|
;;
|
|
*)
|
|
echo 'sh edma_dump.sh [miami|alder] [general|txdesc|txcmpl|rxdesc|rxfill|full] [ring_num] [cache]'
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
case $2 in
|
|
general)
|
|
echo "general dump"
|
|
general_dump
|
|
;;
|
|
txdesc)
|
|
echo "tx desc ring dump for ring: $3"
|
|
txdesc_dump $3 $cache_dump
|
|
;;
|
|
txcmpl)
|
|
echo "tx complete ring dump for ring: $3"
|
|
txcmpl_dump $3 $cache_dump
|
|
;;
|
|
rxdesc)
|
|
echo "rx desc ring dump for ring: $3"
|
|
rxdesc_dump $3 $cache_dump
|
|
;;
|
|
rxfill)
|
|
echo "rx fill ring dump for ring: $3"
|
|
rxfill_dump $3 $cache_dump
|
|
;;
|
|
full)
|
|
echo "complete dump"
|
|
full_dump $cache_dump
|
|
;;
|
|
*)
|
|
echo 'edma_dump [miami|alder] [general|txdesc|txcmpl|rxdesc|rxfill|full] [ring_num] [cache]'
|
|
exit 1
|
|
esac
|