1*4882a593Smuzhiyun============= 2*4882a593Smuzhiyunbtmrvl driver 3*4882a593Smuzhiyun============= 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunAll commands are used via debugfs interface. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSet/get driver configurations 8*4882a593Smuzhiyun============================= 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunPath: /debug/btmrvl/config/ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyungpiogap=[n], hscfgcmd 13*4882a593Smuzhiyun These commands are used to configure the host sleep parameters:: 14*4882a593Smuzhiyun bit 8:0 -- Gap 15*4882a593Smuzhiyun bit 16:8 -- GPIO 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun where GPIO is the pin number of GPIO used to wake up the host. 18*4882a593Smuzhiyun It could be any valid GPIO pin# (e.g. 0-7) or 0xff (SDIO interface 19*4882a593Smuzhiyun wakeup will be used instead). 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun where Gap is the gap in milli seconds between wakeup signal and 22*4882a593Smuzhiyun wakeup event, or 0xff for special host sleep setting. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun Usage:: 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun # Use SDIO interface to wake up the host and set GAP to 0x80: 27*4882a593Smuzhiyun echo 0xff80 > /debug/btmrvl/config/gpiogap 28*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/hscfgcmd 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun # Use GPIO pin #3 to wake up the host and set GAP to 0xff: 31*4882a593Smuzhiyun echo 0x03ff > /debug/btmrvl/config/gpiogap 32*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/hscfgcmd 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunpsmode=[n], pscmd 35*4882a593Smuzhiyun These commands are used to enable/disable auto sleep mode 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun where the option is:: 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun 1 -- Enable auto sleep mode 40*4882a593Smuzhiyun 0 -- Disable auto sleep mode 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun Usage:: 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun # Enable auto sleep mode 45*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/psmode 46*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/pscmd 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun # Disable auto sleep mode 49*4882a593Smuzhiyun echo 0 > /debug/btmrvl/config/psmode 50*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/pscmd 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunhsmode=[n], hscmd 54*4882a593Smuzhiyun These commands are used to enable host sleep or wake up firmware 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun where the option is:: 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun 1 -- Enable host sleep 59*4882a593Smuzhiyun 0 -- Wake up firmware 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun Usage:: 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun # Enable host sleep 64*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/hsmode 65*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/hscmd 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun # Wake up firmware 68*4882a593Smuzhiyun echo 0 > /debug/btmrvl/config/hsmode 69*4882a593Smuzhiyun echo 1 > /debug/btmrvl/config/hscmd 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunGet driver status 73*4882a593Smuzhiyun================= 74*4882a593Smuzhiyun 75*4882a593SmuzhiyunPath: /debug/btmrvl/status/ 76*4882a593Smuzhiyun 77*4882a593SmuzhiyunUsage:: 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun cat /debug/btmrvl/status/<args> 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunwhere the args are: 82*4882a593Smuzhiyun 83*4882a593Smuzhiyuncurpsmode 84*4882a593Smuzhiyun This command displays current auto sleep status. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunpsstate 87*4882a593Smuzhiyun This command display the power save state. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunhsstate 90*4882a593Smuzhiyun This command display the host sleep state. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyuntxdnldrdy 93*4882a593Smuzhiyun This command displays the value of Tx download ready flag. 94*4882a593Smuzhiyun 95*4882a593SmuzhiyunIssuing a raw hci command 96*4882a593Smuzhiyun========================= 97*4882a593Smuzhiyun 98*4882a593SmuzhiyunUse hcitool to issue raw hci command, refer to hcitool manual 99*4882a593Smuzhiyun 100*4882a593SmuzhiyunUsage:: 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun Hcitool cmd <ogf> <ocf> [Parameters] 103*4882a593Smuzhiyun 104*4882a593SmuzhiyunInterface Control Command:: 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x01 0x00 --Enable All interface 107*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x01 0x01 --Enable Wlan interface 108*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x01 0x02 --Enable BT interface 109*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x00 0x00 --Disable All interface 110*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x00 0x01 --Disable Wlan interface 111*4882a593Smuzhiyun hcitool cmd 0x3f 0x5b 0xf5 0x00 0x02 --Disable BT interface 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunSD8688 firmware 114*4882a593Smuzhiyun=============== 115*4882a593Smuzhiyun 116*4882a593SmuzhiyunImages: 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun- /lib/firmware/sd8688_helper.bin 119*4882a593Smuzhiyun- /lib/firmware/sd8688.bin 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun 122*4882a593SmuzhiyunThe images can be downloaded from: 123*4882a593Smuzhiyun 124*4882a593Smuzhiyungit.infradead.org/users/dwmw2/linux-firmware.git/libertas/ 125