Motorola LA-51XX Скачать руководство пользователя страница 15

SHoC Driver Design    

2-7

 

2.2.2.1 Flow Description

1. When the driver receives the request from the getoid application through Netlink Interface, it frames the 

request in the 

s_sm_conf

 format using 

sm_drv_get()

 function:

struct s_sm_conf

{

uint16_t flags;

uint16_t length;

uint32_t oid;

uint8_t *data;

};

2. The 

s_sm_conf

 structure is passed to 

sm_drv_conf()

, which sets the PIMFOR Header and reads the value 

of flags set and checks if the packet is for PIMFOR_OP_SET or PIMFOR_OP_GET

3. The structure is added into Tx Control queue after converting into fragment

4. Increments 

Driver_Current_fragment

 queue value. This queue pointer is used to maintain 

synchronization between device and host. Driver interrupts the device for the packet in the transmit 
control queue

5. The driver suspends the application until a response is received from the firmware:

a. Put on the sleep queue.

b. When response is received, need to distinguish whether it is a TRAP or a response to the GET 

operation.

c. If it is a response, wake up the sleeping process.

6. Pass the response to the application.

Содержание LA-51XX

Страница 1: ... LA 51XX Compact Flash Adapter Driver Programmer s Guide ...

Страница 2: ... reserved MOTOROLA and the Stylized M Logo are registered in the US Patent Trademark Office Symbol is a registered trademark of Symbol Technologies Inc All other product or service names are the property of their respective owners ...

Страница 3: ...re Upload 2 3 2 1 5 Firmware Upload Flow 2 4 2 2 Management Path 2 5 2 2 1 PIMFOR 2 5 2 2 2 Getoid 2 6 2 2 3 Setoid 2 8 2 3 Data Path 2 10 2 3 1 Tx Data Path 2 10 2 3 2 Rx Data Path 2 11 2 4 Important Data Structures 2 12 2 4 1 Data Path Structures 2 12 2 4 2 Management Path Structures 2 14 2 5 Driver API Definition 2 16 2 5 1 Data Path APIs 2 16 2 5 2 Management Path APIs 2 17 Chapter 3 Applicati...

Страница 4: ...TOC 2 LA 51XX Compact Flash Adapter Driver Programmer s Guide ...

Страница 5: ...mware runs from Internal Memory only and supports wireless client mode functionality only LAN Local Area Network Linux Linux Operating System MAC Medium Access Control NIC Network Interface Controller OID Object Identifier OS Operating System PCMCIA Personal Computer Memory Card International Association 16 Bit PIMFOR Proprietary Integrated Mechanism For Object Relay RAM Random Access Memory ROM R...

Страница 6: ... Firmware provides 802 11functionality It receives 802 3 data packets from the driver on host converts them into 802 11 data packets and sends them to the wireless media Similarly it receives 802 11 packets from wireless media converts them to 802 3 packet and passes them to the driver on host The SHoC architecture implements majority of the 802 11 functionality on the WLAN device In some MAC arch...

Страница 7: ...Introduction 1 3 SSN WPA with AES and TKIP ciphers and EAP and PSK authentication RSN WPA2 with AES and TKIP ciphers and EAP and PSK authentication ...

Страница 8: ...1 4 LA 51XX Compact Flash Adapter Driver Programmer s Guide ...

Страница 9: ...is larger it cannot be uploaded in a single step It is therefore necessary to split the firmware into a number of smaller blocks and to have a simple program on the device which accepts and disposes these firmware blocks The former is solved by the WRM file format the latter is solved by the Upload Helper 2 1 1 WRM file format The WRM format is an array of n blocks which must be parsed by the driv...

Страница 10: ...of readiness before it may conclude that the upload failed for some reason 2 1 2 Upload Helper Function The UH forms the content of the first WRM block and the Boot flag tells the driver to RAM boot after the block is uploaded This effectively boots the UH which installs itself at address 0 ITCM and starts communicating with the driver through the software defined READY interrupt mask 0x2000 as th...

Страница 11: ...ue with the regular PCI protocol initialization Please refer 1 for PCI protocol initialization procedure 2 1 4 Overview of Firmware Upload The firmware upload process entails the following 1 The driver copies UH into device AHB RAM memory 2 The driver issue a RAM Boot to boot the UH 3 On booting UH installs itself at address 0 ITCM and starts communicating with the driver using PCI interrupt Softw...

Страница 12: ...r Driver Programmer s Guide 2 1 5 Firmware Upload Flow This diagram depicts the complete initialization flow of the 802 11 SHoC device and shows the information flow between various procedures called during the initialization process ...

Страница 13: ...cts as a transport of management information PIMFOR peers may assume correctly formatted packets and mutual understanding of the MIB This design decision is justified by the assumption that PIMFOR is meant to be a management interface internal to a product for example between host driver and firmware It is not meant to be used by third party applications directly The generic packet interface of PI...

Страница 14: ...ost to a specific situation or change The OID and value contained in the Trap indicate to which variable the notification refers Reserved is not being used and reserved for future use OID The OID is a 32 bit value uniquely representing a variable or managed object in a system There is only one OID involved in a PIMFOR packet Value Length Value Length indicates the length of the value that follows ...

Страница 15: ...et is for PIMFOR_OP_SET or PIMFOR_OP_GET 3 The structure is added into Tx Control queue after converting into fragment 4 Increments Driver_Current_fragment queue value This queue pointer is used to maintain synchronization between device and host Driver interrupts the device for the packet in the transmit control queue 5 The driver suspends the application until a response is received from the fir...

Страница 16: ...rogrammer s Guide 2 2 2 2 Flow Diagram 2 2 3 Setoid This section depicts the flow of management control information when a setoid is called from the application running on host to set the configurable parameters on the firmware running on host ...

Страница 17: ...length uint32_t oid uint8_t data 2 The s_sm_conf structure is passed to sm_drv_conf which sets the Pimfor Header and reads the value of flags set and checks if the packet is for PIMFOR_OP_SET or PIMFOR_OP_GET 3 The structure is added into Tx Control queue after converting into fragment Driver interrupts the device for the packet in the transmit control queue 4 Increments Driver_Current_fragment qu...

Страница 18: ...gram 2 3 1 2 Flow Description 1 The Network Stack delivers an 802 3 data frame for transmission to the Wireless Card by calling the driver transmit function The transmit function verifies whether the data frame can be transmitted or not by assessing the queue availability 2 It then converts the socket buffer to be transmitted into frame format having ic_msg and s_sm_frame header and adds it to the...

Страница 19: ...ion such that the data is returned in one of these frames Then it replenishes these frames periodically 2 The device DMAs the received data frame through the PCI Bus interface to the host Please refer 1 for PCI host interface description 3 The device informs the driver a frame has been placed in the receive queue by generating an Update IRQ after updating the receive data queue device counter 4 Th...

Страница 20: ...16_t size uint16_t flags define CB_QCOUNT 4 define CB_RX_DATA_QSIZE 8 define CB_TX_DATA_QSIZE 32 define CB_RX_CTRL_QSIZE 4 define CB_TX_CTRL_QSIZE 4 struct control_block uint32_t driver_curr_frag CB_QCOUNT uint32_t device_curr_frag CB_QCOUNT struct fragment rx_data CB_RX_DATA_QSIZE struct fragment tx_data CB_TX_DATA_QSIZE struct fragment rx_high_data CB_RX_DATA_QSIZE struct fragment tx_high_data C...

Страница 21: ... struct s_fragq_hdl tx_high_data_hdl CB_TX_DATA_QSIZE struct s_fragq_hdl rx_control_hdl CB_RX_CTRL_QSIZE struct s_fragq_hdl tx_control_hdl CB_TX_CTRL_QSIZE struct pci_hif_local_data struct pci_dev pci_device spinlock_t cb_lock struct control_block control_block uint32_t fragment_c CB_QCOUNT struct local_control_block local_cb_handle uint32_t generate_update_interrupt void remapped_device_base dma_...

Страница 22: ... s_sm_conf uint16_t flags uint16_t length uint32_t oid uint8_t data typedef struct uint8_t dest_mac 6 uint8_t src_mac 6 uint16_t ether_type uint8_t version uint8_t operation uint32_t oid uint8_t reserved 2 uint16_t length PimforHeader For more information on the PimforHeader refer PIMFOR Header Format ...

Страница 23: ...SHoC Driver Design 2 15 struct s_ic_msg uint8_t channel uint8_t flags uint16_t length uint32_t address struct s_sm_frame frame struct s_ic_link void next void prev link void data ...

Страница 24: ...rface to the operating system running on host and the firmware running on device to handle ingress and egress calls of data transfer These packets are Ethernet 802 3 packets Management APIs are the function s which provide an interface to the operating system running on host and the firmware running on device to handle ingress and egress calls of control information These packets are formatted wit...

Страница 25: ...SHoC Driver Design 2 17 2 5 2 Management Path APIs ...

Страница 26: ...2 18 LA 51XX Compact Flash Adapter Driver Programmer s Guide ...

Страница 27: ...is used to set any OID on the firmware Usage setoid device oid data type parameters Supported data types mac long string ssid vdcf key stakey mlme frequencies mt sta attachment ss ssmckey statsc stasetss binary seq double tspecdesc debug short ...

Страница 28: ...s Guide 3 2 getoid This application is used to get any OID value from the firmware Usage getoid device oid type size Supported data types mac long string ssid vdcf key stakey mlme frequencies sta bss bssex bsslist ss stats ssmckey stasc binary seq double ...

Страница 29: ... irrespective of the interface used To obtain a fully functional driver an interface dependent file should be included For example if PC 16 interface is used an additional file which contains PC 16 specific APIs should be included sm_drv_pc16 c This file contains all APIs specific to the PC 16 subsystem sm_drv_netlink c This file contains all APIs required to provide Netlink Interface ...

Страница 30: ...4 2 LA 51XX Compact Flash Adapter Driver Programmer s Guide ...

Страница 31: ......

Страница 32: ...MOTOROLA INC 1303 E ALGONQUIN ROAD SCHAUMBURG IL 60196 http www motorola com 72E 104392 01 Revision A August 2007 ...

Отзывы: