mirror of https://gitee.com/openkylin/linux.git
120 lines
2.9 KiB
Plaintext
120 lines
2.9 KiB
Plaintext
|
=======================================================================
|
||
|
README for btmrvl driver
|
||
|
=======================================================================
|
||
|
|
||
|
|
||
|
All commands are used via debugfs interface.
|
||
|
|
||
|
=====================
|
||
|
Set/get driver configurations:
|
||
|
|
||
|
Path: /debug/btmrvl/config/
|
||
|
|
||
|
gpiogap=[n]
|
||
|
hscfgcmd
|
||
|
These commands are used to configure the host sleep parameters.
|
||
|
bit 8:0 -- Gap
|
||
|
bit 16:8 -- GPIO
|
||
|
|
||
|
where GPIO is the pin number of GPIO used to wake up the host.
|
||
|
It could be any valid GPIO pin# (e.g. 0-7) or 0xff (SDIO interface
|
||
|
wakeup will be used instead).
|
||
|
|
||
|
where Gap is the gap in milli seconds between wakeup signal and
|
||
|
wakeup event, or 0xff for special host sleep setting.
|
||
|
|
||
|
Usage:
|
||
|
# Use SDIO interface to wake up the host and set GAP to 0x80:
|
||
|
echo 0xff80 > /debug/btmrvl/config/gpiogap
|
||
|
echo 1 > /debug/btmrvl/config/hscfgcmd
|
||
|
|
||
|
# Use GPIO pin #3 to wake up the host and set GAP to 0xff:
|
||
|
echo 0x03ff > /debug/btmrvl/config/gpiogap
|
||
|
echo 1 > /debug/btmrvl/config/hscfgcmd
|
||
|
|
||
|
psmode=[n]
|
||
|
pscmd
|
||
|
These commands are used to enable/disable auto sleep mode
|
||
|
|
||
|
where the option is:
|
||
|
1 -- Enable auto sleep mode
|
||
|
0 -- Disable auto sleep mode
|
||
|
|
||
|
Usage:
|
||
|
# Enable auto sleep mode
|
||
|
echo 1 > /debug/btmrvl/config/psmode
|
||
|
echo 1 > /debug/btmrvl/config/pscmd
|
||
|
|
||
|
# Disable auto sleep mode
|
||
|
echo 0 > /debug/btmrvl/config/psmode
|
||
|
echo 1 > /debug/btmrvl/config/pscmd
|
||
|
|
||
|
|
||
|
hsmode=[n]
|
||
|
hscmd
|
||
|
These commands are used to enable host sleep or wake up firmware
|
||
|
|
||
|
where the option is:
|
||
|
1 -- Enable host sleep
|
||
|
0 -- Wake up firmware
|
||
|
|
||
|
Usage:
|
||
|
# Enable host sleep
|
||
|
echo 1 > /debug/btmrvl/config/hsmode
|
||
|
echo 1 > /debug/btmrvl/config/hscmd
|
||
|
|
||
|
# Wake up firmware
|
||
|
echo 0 > /debug/btmrvl/config/hsmode
|
||
|
echo 1 > /debug/btmrvl/config/hscmd
|
||
|
|
||
|
|
||
|
======================
|
||
|
Get driver status:
|
||
|
|
||
|
Path: /debug/btmrvl/status/
|
||
|
|
||
|
Usage:
|
||
|
cat /debug/btmrvl/status/<args>
|
||
|
|
||
|
where the args are:
|
||
|
|
||
|
curpsmode
|
||
|
This command displays current auto sleep status.
|
||
|
|
||
|
psstate
|
||
|
This command display the power save state.
|
||
|
|
||
|
hsstate
|
||
|
This command display the host sleep state.
|
||
|
|
||
|
txdnldrdy
|
||
|
This command displays the value of Tx download ready flag.
|
||
|
|
||
|
|
||
|
=====================
|
||
|
|
||
|
Use hcitool to issue raw hci command, refer to hcitool manual
|
||
|
|
||
|
Usage: Hcitool cmd <ogf> <ocf> [Parameters]
|
||
|
|
||
|
Interface Control Command
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x01 0x00 --Enable All interface
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x01 0x01 --Enable Wlan interface
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x01 0x02 --Enable BT interface
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x00 --Disable All interface
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x01 --Disable Wlan interface
|
||
|
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x02 --Disable BT interface
|
||
|
|
||
|
=======================================================================
|
||
|
|
||
|
|
||
|
SD8688 firmware:
|
||
|
|
||
|
/lib/firmware/sd8688_helper.bin
|
||
|
/lib/firmware/sd8688.bin
|
||
|
|
||
|
|
||
|
The images can be downloaded from:
|
||
|
|
||
|
git.infradead.org/users/dwmw2/linux-firmware.git/libertas/
|