| ======================================================================= |
| 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/ |