Changeset 56c0930 in mainline for uspace/drv/bus/usb/ar9271/ar9271.h


Ignore:
Timestamp:
2015-02-20T14:33:29Z (9 years ago)
Author:
Jan Kolarik <kolarik@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4cb0148
Parents:
ab365c4
Message:

Started writing TX and RX handlers, VIF init, setting RX filter, PLL init and calibration, some corrections. Added HW values array initialization, registered diagnostic polling fibril. But still not receiving any packets…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ar9271/ar9271.h

    rab365c4 r56c0930  
    4040#include "htc.h"
    4141
    42 /** Max supported channel frequency. */
    43 #define AR9271_MAX_CHANNEL 2472
    44 
    45 /** Number of transmisson queues */
     42/** Number of transmission queues */
    4643#define AR9271_QUEUES_COUNT 10
    4744
     
    8380        AR9271_RTC_RC_MAC_COLD = 0x00000002,
    8481        AR9271_RTC_RC_MASK = 0x00000003,
     82        AR9271_RTC_PLL_CONTROL = 0x7014,
    8583        AR9271_RTC_RESET = 0x7040,
    8684        AR9271_RTC_STATUS = 0x7044,
     
    9290        AR9271_RTC_FORCE_WAKE_ON_INT = 0x00000002,
    9391               
     92        /* MAC Registers */
     93        AR9271_STATION_ID0 = 0x8000,    /**< STA Address Lower 32 Bits */
     94        AR9271_STATION_ID1 = 0x8004,    /**< STA Address Upper 16 Bits */
     95        AR9271_BSSID0 = 0x8008,                 /**< BSSID Lower 32 Bits */
     96        AR9271_BSSID1 = 0x800C,                 /**< BSSID Upper 16 Bits */
     97        AR9271_BSSID_MASK0 = 0x80E0,            /**< BSSID Mask Lower 32 Bits */
     98        AR9271_BSSID_MASK1 = 0x80E4,            /**< BSSID Mask Upper 16 Bits */
     99        AR9271_STATION_ID1_MASK = 0x0000FFFF,
     100               
     101        /* RX filtering register */
    94102        AR9271_RX_FILTER = 0x803C,
    95103        AR9271_RX_FILTER_UNI = 0x00000001,
     
    100108        AR9271_RX_FILTER_PROMISCUOUS = 0x00000020,
    101109        AR9271_RX_FILTER_PROBEREQ = 0x00000080,
    102                
     110        AR9271_RX_FILTER_MYBEACON = 0x00000200,
     111               
     112        /* Physical layer registers */
    103113        AR9271_PHY_BASE = 0x9800,
    104         AR9271_PHY_ACTIVE = 0x981C,     
     114        AR9271_PHY_ACTIVE = 0x981C,
     115        AR9271_ADC_CONTROL = 0x982C,
     116        AR9271_AGC_CONTROL = 0x9860,
    105117        AR9271_PHY_MODE = 0xA200,
     118        AR9271_PHY_CCK_TX_CTRL = 0xA204,
     119        AR9271_PHY_TPCRG1 = 0xA258,
     120        AR9271_CARRIER_LEAK_CONTROL = 0xA358,
     121        AR9271_ADC_CONTROL_OFF_PWDADC = 0x00008000,
     122        AR9271_AGC_CONTROL_CALIB = 0x00000001,
     123        AR9271_AGC_CONTROL_TX_CALIB = 0x00010000,
    106124        AR9271_PHY_MODE_2G = 0x02,
    107125        AR9271_PHY_MODE_DYNAMIC = 0x04,
    108         AR9271_PHY_CCK_TX_CTRL = 0xA204,
    109126        AR9271_PHY_CCK_TX_CTRL_JAPAN = 0x00000010,
     127        AR9271_PHY_TPCRG1_PD_CALIB = 0x00400000,
     128        AR9271_CARRIER_LEAK_CALIB = 0x00000002,
    110129               
    111130        AR9271_OPMODE_STATION_AP_MASK = 0x00010000,
    112131        AR9271_OPMODE_ADHOC_MASK = 0x00020000,
     132               
     133        AR9271_CLOCK_CONTROL = 0x50040,
     134        AR9271_MAX_CPU_CLOCK = 0x304,
    113135               
    114136        AR9271_RESET_POWER_DOWN_CONTROL = 0x50044,
     
    117139   
    118140        /* FW Addresses */
    119         AR9271_FW_ADDRESS =     0x501000,
    120         AR9271_FW_OFFSET =      0x903000,
    121        
    122         /* MAC Registers */
    123         AR9271_STATION_ID0 = 0x8000, /**< STA Address Lower 32 Bits */
    124         AR9271_STATION_ID1 = 0x8004, /**< STA Address Upper 16 Bits */
    125         AR9271_STATION_BSSID0 = 0x8008, /**< BSSID Lower 32 Bits */
    126         AR9271_STATION_BSSID1 = 0x800C, /**< BSSID Upper 16 Bits */
     141        AR9271_FW_ADDRESS = 0x501000,
     142        AR9271_FW_OFFSET = 0x903000,
    127143} ar9271_registers_t;
    128144
     
    151167} ar9271_t;
    152168
     169/**
     170 * AR9271 hardware init values.
     171 *
     172 * Taken from Linux sources, some values omitted.
     173 */
     174static const uint32_t ar9271_init_array[][2] = {
     175        {0x0000000c, 0x00000000},
     176        {0x00000030, 0x00020045},
     177        {0x00000034, 0x00000005},
     178        {0x00000040, 0x00000000},
     179        {0x00000044, 0x00000008},
     180        {0x00000048, 0x00000008},
     181        {0x0000004c, 0x00000010},
     182        {0x00000050, 0x00000000},
     183        {0x00000054, 0x0000001f},
     184        {0x00000800, 0x00000000},
     185        {0x00000804, 0x00000000},
     186        {0x00000808, 0x00000000},
     187        {0x0000080c, 0x00000000},
     188        {0x00000810, 0x00000000},
     189        {0x00000814, 0x00000000},
     190        {0x00000818, 0x00000000},
     191        {0x0000081c, 0x00000000},
     192        {0x00000820, 0x00000000},
     193        {0x00000824, 0x00000000},
     194        {0x00001040, 0x002ffc0f},
     195        {0x00001044, 0x002ffc0f},
     196        {0x00001048, 0x002ffc0f},
     197        {0x0000104c, 0x002ffc0f},
     198        {0x00001050, 0x002ffc0f},
     199        {0x00001054, 0x002ffc0f},
     200        {0x00001058, 0x002ffc0f},
     201        {0x0000105c, 0x002ffc0f},
     202        {0x00001060, 0x002ffc0f},
     203        {0x00001064, 0x002ffc0f},
     204        {0x00001230, 0x00000000},
     205        {0x00001270, 0x00000000},
     206        {0x00001038, 0x00000000},
     207        {0x00001078, 0x00000000},
     208        {0x000010b8, 0x00000000},
     209        {0x000010f8, 0x00000000},
     210        {0x00001138, 0x00000000},
     211        {0x00001178, 0x00000000},
     212        {0x000011b8, 0x00000000},
     213        {0x000011f8, 0x00000000},
     214        {0x00001238, 0x00000000},
     215        {0x00001278, 0x00000000},
     216        {0x000012b8, 0x00000000},
     217        {0x000012f8, 0x00000000},
     218        {0x00001338, 0x00000000},
     219        {0x00001378, 0x00000000},
     220        {0x000013b8, 0x00000000},
     221        {0x000013f8, 0x00000000},
     222        {0x00001438, 0x00000000},
     223        {0x00001478, 0x00000000},
     224        {0x000014b8, 0x00000000},
     225        {0x000014f8, 0x00000000},
     226        {0x00001538, 0x00000000},
     227        {0x00001578, 0x00000000},
     228        {0x000015b8, 0x00000000},
     229        {0x000015f8, 0x00000000},
     230        {0x00001638, 0x00000000},
     231        {0x00001678, 0x00000000},
     232        {0x000016b8, 0x00000000},
     233        {0x000016f8, 0x00000000},
     234        {0x00001738, 0x00000000},
     235        {0x00001778, 0x00000000},
     236        {0x000017b8, 0x00000000},
     237        {0x000017f8, 0x00000000},
     238        {0x0000103c, 0x00000000},
     239        {0x0000107c, 0x00000000},
     240        {0x000010bc, 0x00000000},
     241        {0x000010fc, 0x00000000},
     242        {0x0000113c, 0x00000000},
     243        {0x0000117c, 0x00000000},
     244        {0x000011bc, 0x00000000},
     245        {0x000011fc, 0x00000000},
     246        {0x0000123c, 0x00000000},
     247        {0x0000127c, 0x00000000},
     248        {0x000012bc, 0x00000000},
     249        {0x000012fc, 0x00000000},
     250        {0x0000133c, 0x00000000},
     251        {0x0000137c, 0x00000000},
     252        {0x000013bc, 0x00000000},
     253        {0x000013fc, 0x00000000},
     254        {0x0000143c, 0x00000000},
     255        {0x0000147c, 0x00000000},
     256        {0x00004030, 0x00000002},
     257        {0x0000403c, 0x00000002},
     258        {0x00004024, 0x0000001f},
     259        {0x00004060, 0x00000000},
     260        {0x00004064, 0x00000000},
     261        {0x00008018, 0x00000700},
     262        {0x00008020, 0x00000000},
     263        {0x00008038, 0x00000000},
     264        {0x00008048, 0x00000000},
     265        {0x00008054, 0x00000000},
     266        {0x00008058, 0x00000000},
     267        {0x0000805c, 0x000fc78f},
     268        {0x00008060, 0x0000000f},
     269        {0x00008064, 0x00000000},
     270        {0x00008070, 0x00000000},
     271        {0x000080b0, 0x00000000},
     272        {0x000080b4, 0x00000000},
     273        {0x000080b8, 0x00000000},
     274        {0x000080bc, 0x00000000},
     275        {0x000080c0, 0x2a80001a},
     276        {0x000080c4, 0x05dc01e0},
     277        {0x000080c8, 0x1f402710},
     278        {0x000080cc, 0x01f40000},
     279        {0x000080d0, 0x00001e00},
     280        {0x000080d4, 0x00000000},
     281        {0x000080d8, 0x00400000},
     282        {0x000080e0, 0xffffffff},
     283        {0x000080e4, 0x0000ffff},
     284        {0x000080e8, 0x003f3f3f},
     285        {0x000080ec, 0x00000000},
     286        {0x000080f0, 0x00000000},
     287        {0x000080f4, 0x00000000},
     288        {0x000080f8, 0x00000000},
     289        {0x000080fc, 0x00020000},
     290        {0x00008100, 0x00020000},
     291        {0x00008104, 0x00000001},
     292        {0x00008108, 0x00000052},
     293        {0x0000810c, 0x00000000},
     294        {0x00008110, 0x00000168},
     295        {0x00008118, 0x000100aa},
     296        {0x0000811c, 0x00003210},
     297        {0x00008120, 0x08f04810},
     298        {0x00008124, 0x00000000},
     299        {0x00008128, 0x00000000},
     300        {0x0000812c, 0x00000000},
     301        {0x00008130, 0x00000000},
     302        {0x00008134, 0x00000000},
     303        {0x00008138, 0x00000000},
     304        {0x0000813c, 0x00000000},
     305        {0x00008144, 0xffffffff},
     306        {0x00008168, 0x00000000},
     307        {0x0000816c, 0x00000000},
     308        {0x00008170, 0x32143320},
     309        {0x00008174, 0xfaa4fa50},
     310        {0x00008178, 0x00000100},
     311        {0x0000817c, 0x00000000},
     312        {0x000081c0, 0x00000000},
     313        {0x000081d0, 0x0000320a},
     314        {0x000081ec, 0x00000000},
     315        {0x000081f0, 0x00000000},
     316        {0x000081f4, 0x00000000},
     317        {0x000081f8, 0x00000000},
     318        {0x000081fc, 0x00000000},
     319        {0x00008200, 0x00000000},
     320        {0x00008204, 0x00000000},
     321        {0x00008208, 0x00000000},
     322        {0x0000820c, 0x00000000},
     323        {0x00008210, 0x00000000},
     324        {0x00008214, 0x00000000},
     325        {0x00008218, 0x00000000},
     326        {0x0000821c, 0x00000000},
     327        {0x00008220, 0x00000000},
     328        {0x00008224, 0x00000000},
     329        {0x00008228, 0x00000000},
     330        {0x0000822c, 0x00000000},
     331        {0x00008230, 0x00000000},
     332        {0x00008234, 0x00000000},
     333        {0x00008238, 0x00000000},
     334        {0x0000823c, 0x00000000},
     335        {0x00008240, 0x00100000},
     336        {0x00008244, 0x0010f400},
     337        {0x00008248, 0x00000100},
     338        {0x0000824c, 0x0001e800},
     339        {0x00008250, 0x00000000},
     340        {0x00008254, 0x00000000},
     341        {0x00008258, 0x00000000},
     342        {0x0000825c, 0x400000ff},
     343        {0x00008260, 0x00080922},
     344        {0x00008264, 0x88a00010},
     345        {0x00008270, 0x00000000},
     346        {0x00008274, 0x40000000},
     347        {0x00008278, 0x003e4180},
     348        {0x0000827c, 0x00000000},
     349        {0x00008284, 0x0000002c},
     350        {0x00008288, 0x0000002c},
     351        {0x0000828c, 0x00000000},
     352        {0x00008294, 0x00000000},
     353        {0x00008298, 0x00000000},
     354        {0x0000829c, 0x00000000},
     355        {0x00008300, 0x00000040},
     356        {0x00008314, 0x00000000},
     357        {0x00008328, 0x00000000},
     358        {0x0000832c, 0x00000001},
     359        {0x00008330, 0x00000302},
     360        {0x00008334, 0x00000e00},
     361        {0x00008338, 0x00ff0000},
     362        {0x0000833c, 0x00000000},
     363        {0x00008340, 0x00010380},
     364        {0x00008344, 0x00581043},
     365        {0x00007010, 0x00000030},
     366        {0x00009808, 0x00000000},
     367        {0x0000980c, 0xafe68e30},
     368        {0x00009810, 0xfd14e000},
     369        {0x00009814, 0x9c0a9f6b},
     370        {0x0000981c, 0x00000000},
     371        {0x0000982c, 0x0000a000},
     372        {0x00009830, 0x00000000},
     373        {0x0000983c, 0x00200400},
     374        {0x0000984c, 0x0040233c},
     375        {0x00009854, 0x00000044},
     376        {0x00009900, 0x00000000},
     377        {0x00009904, 0x00000000},
     378        {0x00009908, 0x00000000},
     379        {0x0000990c, 0x00000000},
     380        {0x0000991c, 0x10000fff},
     381        {0x00009920, 0x04900000},
     382        {0x00009928, 0x00000001},
     383        {0x0000992c, 0x00000004},
     384        {0x00009934, 0x1e1f2022},
     385        {0x00009938, 0x0a0b0c0d},
     386        {0x0000993c, 0x00000000},
     387        {0x00009940, 0x14750604},
     388        {0x00009948, 0x9280c00a},
     389        {0x0000994c, 0x00020028},
     390        {0x00009954, 0x5f3ca3de},
     391        {0x00009958, 0x0108ecff},
     392        {0x00009968, 0x000003ce},
     393        {0x00009970, 0x192bb514},
     394        {0x00009974, 0x00000000},
     395        {0x00009978, 0x00000001},
     396        {0x0000997c, 0x00000000},
     397        {0x00009980, 0x00000000},
     398        {0x00009984, 0x00000000},
     399        {0x00009988, 0x00000000},
     400        {0x0000998c, 0x00000000},
     401        {0x00009990, 0x00000000},
     402        {0x00009994, 0x00000000},
     403        {0x00009998, 0x00000000},
     404        {0x0000999c, 0x00000000},
     405        {0x000099a0, 0x00000000},
     406        {0x000099a4, 0x00000001},
     407        {0x000099a8, 0x201fff00},
     408        {0x000099ac, 0x2def0400},
     409        {0x000099b0, 0x03051000},
     410        {0x000099b4, 0x00000820},
     411        {0x000099dc, 0x00000000},
     412        {0x000099e0, 0x00000000},
     413        {0x000099e4, 0xaaaaaaaa},
     414        {0x000099e8, 0x3c466478},
     415        {0x000099ec, 0x0cc80caa},
     416        {0x000099f0, 0x00000000},
     417        {0x0000a208, 0x803e68c8},
     418        {0x0000a210, 0x4080a333},
     419        {0x0000a214, 0x00206c10},
     420        {0x0000a218, 0x009c4060},
     421        {0x0000a220, 0x01834061},
     422        {0x0000a224, 0x00000400},
     423        {0x0000a228, 0x000003b5},
     424        {0x0000a22c, 0x00000000},
     425        {0x0000a234, 0x20202020},
     426        {0x0000a238, 0x20202020},
     427        {0x0000a244, 0x00000000},
     428        {0x0000a248, 0xfffffffc},
     429        {0x0000a24c, 0x00000000},
     430        {0x0000a254, 0x00000000},
     431        {0x0000a258, 0x0ccb5380},
     432        {0x0000a25c, 0x15151501},
     433        {0x0000a260, 0xdfa90f01},
     434        {0x0000a268, 0x00000000},
     435        {0x0000a26c, 0x0ebae9e6},
     436        {0x0000a388, 0x0c000000},
     437        {0x0000a38c, 0x20202020},
     438        {0x0000a390, 0x20202020},
     439        {0x0000a39c, 0x00000001},
     440        {0x0000a3a0, 0x00000000},
     441        {0x0000a3a4, 0x00000000},
     442        {0x0000a3a8, 0x00000000},
     443        {0x0000a3ac, 0x00000000},
     444        {0x0000a3b0, 0x00000000},
     445        {0x0000a3b4, 0x00000000},
     446        {0x0000a3b8, 0x00000000},
     447        {0x0000a3bc, 0x00000000},
     448        {0x0000a3c0, 0x00000000},
     449        {0x0000a3c4, 0x00000000},
     450        {0x0000a3cc, 0x20202020},
     451        {0x0000a3d0, 0x20202020},
     452        {0x0000a3d4, 0x20202020},
     453        {0x0000a3e4, 0x00000000},
     454        {0x0000a3e8, 0x18c43433},
     455        {0x0000a3ec, 0x00f70081},
     456        {0x0000a3f0, 0x01036a2f},
     457        {0x0000a3f4, 0x00000000},
     458        {0x0000d270, 0x0d820820},
     459        {0x0000d35c, 0x07ffffef},
     460        {0x0000d360, 0x0fffffe7},
     461        {0x0000d364, 0x17ffffe5},
     462        {0x0000d368, 0x1fffffe4},
     463        {0x0000d36c, 0x37ffffe3},
     464        {0x0000d370, 0x3fffffe3},
     465        {0x0000d374, 0x57ffffe3},
     466        {0x0000d378, 0x5fffffe2},
     467        {0x0000d37c, 0x7fffffe2},
     468        {0x0000d380, 0x7f3c7bba},
     469        {0x0000d384, 0xf3307ff0}
     470};
     471
    153472#endif
Note: See TracChangeset for help on using the changeset viewer.