mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
add qca feed
This commit is contained in:
parent
d43ffd8720
commit
26ac03f3f6
451 changed files with 111139 additions and 12069 deletions
171
qaa/qca-platform-utils/gpio-debug/files/gpio-debug-ipq806x.sh
Normal file
171
qaa/qca-platform-utils/gpio-debug/files/gpio-debug-ipq806x.sh
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
: '
|
||||
/*
|
||||
* Copyright (c) 2017 Qualcomm Technologies, Inc.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
* Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
*/
|
||||
'
|
||||
|
||||
#!/bin/ash
|
||||
IO_MASK=$(( 0x00000200 ))
|
||||
BIAS_STATUS_MASK=$(( 0x00000003 ))
|
||||
FUNC_SEL_MASK=$(( 0x0000003c ))
|
||||
DRV_STRENGTH_MASK=$(( 0x000001c0 ))
|
||||
TLMM_GPIO_CFGn_Base_Address=$(( 0x00801000 ))
|
||||
OFFSET_MULTIPLIER=$(( 0x10 ))
|
||||
START_PIN=0
|
||||
END_PIN=68
|
||||
FUNCTION_SELECT_MAPPING=$(cat <<-END
|
||||
0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
2, gsbi5_spi_cs3, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA
|
||||
3, pcie1_rst, pcie1_prsnt, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
4, pcie1_pwren_n, pcie1_pwren, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
5, pcie1_clk_req, pcie1_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
6, gsbi7, usb_fs, gsbi5_spi_cs1, usb_fs_n, NA, NA, NA, NA, NA, NA
|
||||
7, gsbi7, usb_fs, gsbi5_spi_cs2, NA, NA, NA, NA, NA, NA, NA
|
||||
8, gsbi7, usb_fs, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
9, gsbi7, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
10, gsbi4, spdif, sata, ssbi, mdio, spmi, NA, NA, NA, NA
|
||||
11, gsbi4, pcie2_prsnt, pcie1_prsnt, pcie3_prsnt, ssbi, mdio, spmi, NA, NA, NA
|
||||
12, gsbi4, pcie2_pwren_n, pcie1_pwren_n, pcie3_pwren_n, pcie2_pwren, pcie1_pwren, pcie3_pwren, NA, NA, NA
|
||||
13, gsbi4, pcie2_pwrflt, pcie1_pwrflt, pcie3_pwrflt, NA, NA, NA, NA, NA, NA
|
||||
14, audio_pcm, nss_spi, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
15, audio_pcm, nss_spi, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
16, audio_pcm, nss_spi, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
17, audio_pcm, nss_spi, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
18, gsbi5, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
19, gsbi5, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
20, gsbi5, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
21, gsbi5, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
22, gsbi2, pdm, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
23, gsbi2, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
24, gsbi2, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
25, gsbi2, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
26, ps_hold, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
27, mi2s, rgmii2, gsbi6, NA, NA, NA, NA, NA, NA, NA
|
||||
28, mi2s, rgmii2, gsbi6, NA, NA, NA, NA, NA, NA, NA
|
||||
29, mi2s, rgmii2, gsbi6, NA, NA, NA, NA, NA, NA, NA
|
||||
30, mi2s, rgmii2, gsbi6, pdm, NA, NA, NA, NA, NA, NA
|
||||
31, mi2s, rgmii2, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
32, mi2s, rgmii2, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
33, mi2s, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
34, nand, pdm, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
35, nand, pdm, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
36, nand, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
37, nand, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
38, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
39, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
40, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
41, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
42, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
43, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
44, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
45, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
46, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
47, nand, sdc1, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
48, pcie2_rst, spdif, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
49, pcie2_pwren_n, pcie2_pwren, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
50, pcie2_clk_req, pcie2_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
51, gsbi1, rgmii2, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
52, gsbi1, rgmii2, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
53, gsbi1, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
54, gsbi1, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
55, tsif1, mi2s, gsbi6, pdm, nss_spi, NA, NA, NA, NA, NA
|
||||
56, tsif1, mi2s, gsbi6, pdm, nss_spi, NA, NA, NA, NA, NA
|
||||
57, tsif1, mi2s, gsbi6, nss_spi, NA, NA, NA, NA, NA, NA
|
||||
58, tsif1, mi2s, gsbi6, pdm, nss_spi, NA, NA, NA, NA, NA
|
||||
59, tsif2, rgmii2, pdm, NA, NA, NA, NA, NA, NA, NA
|
||||
60, tsif2, rgmii2, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
61, tsif2, rgmii2, gsbi5_spi_cs1, NA, NA, NA, NA, NA, NA, NA
|
||||
62, tsif2, rgmii2, gsbi5_spi_cs2, NA, NA, NA, NA, NA, NA, NA
|
||||
63, pcie3_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
65, pcie3_clk_req, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
66, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
67, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
68, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA
|
||||
END
|
||||
)
|
||||
|
||||
FUNCTION_SEL()
|
||||
{
|
||||
pin=$1
|
||||
pin=$( expr "$pin" + "1" )
|
||||
func_col=$2
|
||||
func_col=$( expr "$func_col" + "1" )
|
||||
FUNCTION_SEL_VALUE=`echo "$FUNCTION_SELECT_MAPPING" | sed -n "$pin"p`
|
||||
func_value=`echo "$FUNCTION_SEL_VALUE" | cut -d, -f$func_col`
|
||||
printf "\t"
|
||||
printf " $2 -$func_value"
|
||||
}
|
||||
|
||||
GPIO_DUMP()
|
||||
{
|
||||
printf $1
|
||||
PIN_OFFSET=$( expr "$OFFSET_MULTIPLIER" \* "$1" )
|
||||
STATUS_REGISTER_ADDRESS=$( expr "$TLMM_GPIO_CFGn_Base_Address" + "$PIN_OFFSET" )
|
||||
printf "\t\t"
|
||||
printf '0x%08x' $STATUS_REGISTER_ADDRESS
|
||||
STATUS_MUX=$( devmem $STATUS_REGISTER_ADDRESS )
|
||||
printf "\t\t"
|
||||
printf $STATUS_MUX
|
||||
BIAS_STATUS=$(( $STATUS_MUX & $BIAS_STATUS_MASK ))
|
||||
if [ "$BIAS_STATUS" == "0" ]
|
||||
then
|
||||
printf "\t\tNO PULL "
|
||||
elif [ "$BIAS_STATUS" == "1" ]
|
||||
then
|
||||
printf "\t\tPULL DOWN"
|
||||
elif [ "$BIAS_STATUS" == "2" ]
|
||||
then
|
||||
printf "\t\tKEEPER "
|
||||
elif [ "$BIAS_STATUS" == "3" ]
|
||||
then
|
||||
printf "\t\tPULL UP "
|
||||
else
|
||||
printf "\tCANNOT BE DETERMINED"
|
||||
fi
|
||||
FUNC_SEL=$(( $STATUS_MUX & $FUNC_SEL_MASK ))
|
||||
FUNC_SEL=$(( $FUNC_SEL >> 2 ))
|
||||
if [ "$FUNC_SEL" == "0" ]
|
||||
then
|
||||
IO_STATUS=$(( $STATUS_MUX & $IO_MASK ))
|
||||
IO_STATUS=$(( $IO_STATUS >> 9 ))
|
||||
if [ "$IO_STATUS" == "0" ]
|
||||
then
|
||||
printf "\t\tIP"
|
||||
else
|
||||
printf "\t\tOP"
|
||||
fi
|
||||
else
|
||||
printf "\t\tNA"
|
||||
fi
|
||||
DRV_STRENGTH=$(( $STATUS_MUX & $DRV_STRENGTH_MASK ))
|
||||
DRV_STRENGTH=$(( $DRV_STRENGTH >> 6 ))
|
||||
printf "\t\t$( expr "$DRV_STRENGTH" + "$DRV_STRENGTH" + "2" ) MA"
|
||||
if [ "$FUNC_SEL" == "0" ]
|
||||
then
|
||||
printf " General purpose"
|
||||
else
|
||||
FUNCTION_SEL "$1" "$FUNC_SEL"
|
||||
}
|
||||
|
||||
printf "PIN\t TLMM_GPIO_CFGn_REG_ADD TLMM_GPIO_CFGn\t BIAS_STATUS\t I/P or O/P\t DRV_STRENGTH\t FUNC_SEL\n\n"
|
||||
|
||||
if [ $1 == "all" ]
|
||||
then
|
||||
for i in `seq $START_PIN $END_PIN`
|
||||
do
|
||||
GPIO_DUMP "$i"
|
||||
printf "\n"
|
||||
done
|
||||
else
|
||||
for i in "$@"
|
||||
do
|
||||
GPIO_DUMP "$i"
|
||||
printf "\n"
|
||||
done
|
||||
fi
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue