Fwd: Re: ath9k_htc firmware
Oleksij Rempel
linux at rempel-privat.de
Fri Jun 3 22:58:04 PDT 2016
Am 03.06.2016 um 19:26 schrieb bruce m beach:
> Hello All
>
> I am still working on cleaning up ath9k_htc firmware build tree for about 6
> months now ( and looks like I'll be doing this for all eternity**2 ) and am
> not clear myself what I'm looking for right now.
>
> I'm looking for some kind of simple request in the ath9k_htc driver, through
> the usb ep0, like a memory read on the card, where a urb is sent with
> the resulting chain of events. The simpler the better. The simplest.
For EP0 on drivers site:
static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev)
{
int transfer, err;
const void *data = hif_dev->fw_data;
size_t len = hif_dev->fw_size;
u32 addr = AR9271_FIRMWARE;
u8 *buf = kzalloc(4096, GFP_KERNEL);
u32 firm_offset;
if (!buf)
return -ENOMEM;
while (len) {
transfer = min_t(size_t, len, 4096);
memcpy(buf, data, transfer);
err = usb_control_msg(hif_dev->udev,
usb_sndctrlpipe(hif_dev->udev, 0),
FIRMWARE_DOWNLOAD, 0x40 | USB_DIR_OUT,
addr >> 8, 0, buf, transfer, HZ);
=============================================================================
On side of pre installed firmware, the code looks like this:
open-ath9k-htc-firmware/sboot/magpie_1_1/sboot/hif/usb/src/usb_api.c
LOCAL void VendorCommand(void)
{
#define cUSB_REQ_DOWNLOAD 0x30
#define cUSB_REQ_DOWNLOAD_COMP 0x31
#define cUSB_REQ_BOOT 0x32
#define cUSB_REQ_RESERVED_1 0x33
#define cUSB_REQ_RESERVED_2 0x34
#define cUSB_REQ_FLASH_READ 0x35
#define cUSB_REQ_FLASH_READ_COMP 0x36
//#define ZM_FIRMWARE_ADDR 0x200000
void (*funcPtr)(void);
uint16_t *text_addr = 0;
uint32_t ep0_data = 0x0;
...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/ath9k_htc_fw/attachments/20160604/2a073a8d/attachment.sig>
More information about the ath9k_htc_fw
mailing list