Path: blob/main/sys/dev/ath/ath_hal/ar9001/ar9160.ini
39566 views
/*1* Copyright (c) 2002-2008 Sam Leffler, Errno Consulting2* Copyright (c) 2002-2009 Atheros Communications, Inc.3*4* Permission to use, copy, modify, and/or distribute this software for any5* purpose with or without fee is hereby granted, provided that the above6* copyright notice and this permission notice appear in all copies.7*8* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES9* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF10* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR11* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES12* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN13* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF14* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.15*/16/* Auto Generated PCI Register Writes. Created: 05/22/08 */1718static const uint32_t ar9160Modes[][6] = {19/* Address 5G-HT20 5G-HT40 2G-HT40 2G-HT20 Turbo */20{ 0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0 },21{ 0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0 },22{ 0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180 },23{ 0x000010f0, 0x0000a000, 0x00014000, 0x00016000, 0x0000b000, 0x00014008 },24{ 0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00, 0x06e006e0 },25{ 0x0000801c, 0x128d93a7, 0x128d93cf, 0x12e013d7, 0x12e013ab, 0x098813cf },26{ 0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, 0x00000303 },27{ 0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, 0x02020200 },28{ 0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e },29{ 0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001 },30{ 0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e },31{ 0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007 },32{ 0x00009844, 0x0372161e, 0x0372161e, 0x037216a0, 0x037216a0, 0x037216a0 },33{ 0x00009848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },34{ 0x0000a848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },35{ 0x0000b848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },36{ 0x00009850, 0x6c48b4e2, 0x6c48b4e2, 0x6c48b0e2, 0x6c48b0e2, 0x6c48b0e2 },37{ 0x00009858, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e },38{ 0x0000985c, 0x31395d5e, 0x31395d5e, 0x31395d5e, 0x31395d5e, 0x31395d5e },39{ 0x00009860, 0x00048d18, 0x00048d18, 0x00048d20, 0x00048d20, 0x00048d18 },40{ 0x00009864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 },41{ 0x0000c864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 },42{ 0x00009868, 0x409a40d0, 0x409a40d0, 0x409a40d0, 0x409a40d0, 0x409a40d0 },43{ 0x0000986c, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 },44{ 0x00009914, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898, 0x000007d0 },45{ 0x00009918, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b, 0x00000016 },46{ 0x00009924, 0xd00a8a07, 0xd00a8a07, 0xd00a8a0d, 0xd00a8a0d, 0xd00a8a0d },47{ 0x00009944, 0xffb81020, 0xffb81020, 0xffb81020, 0xffb81020, 0xffb81020 },48{ 0x00009960, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40 },49{ 0x0000a960, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40 },50{ 0x0000b960, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40 },51{ 0x00009964, 0x00001120, 0x00001120, 0x00001120, 0x00001120, 0x00001120 },52{ 0x0000c968, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce, 0x000003ce },53{ 0x000099bc, 0x001a0600, 0x001a0600, 0x001a0c00, 0x001a0c00, 0x001a0c00 },54{ 0x0000c9bc, 0x001a0600, 0x001a0600, 0x001a0c00, 0x001a0c00, 0x001a0c00 },55{ 0x000099c0, 0x038919be, 0x038919be, 0x038919be, 0x038919be, 0x038919be },56{ 0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77 },57{ 0x000099c8, 0x60f65329, 0x60f65329, 0x60f65329, 0x60f65329, 0x60f65329 },58{ 0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8 },59{ 0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, 0x00046384 },60{ 0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },61{ 0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },62{ 0x0000a204, 0x00000880, 0x00000880, 0x00000880, 0x00000880, 0x00000880 },63{ 0x0000a208, 0xd6be4788, 0xd6be4788, 0xd03e4788, 0xd03e4788, 0xd03e4788 },64{ 0x0000a20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 },65{ 0x0000b20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 },66{ 0x0000c20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 },67{ 0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a },68{ 0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000 },69{ 0x0000a274, 0x0a1a9caa, 0x0a1a9caa, 0x0a1a7caa, 0x0a1a7caa, 0x0a1a7caa },70{ 0x0000a300, 0x18010000, 0x18010000, 0x18010000, 0x18010000, 0x18010000 },71{ 0x0000a304, 0x30032602, 0x30032602, 0x2e032402, 0x2e032402, 0x2e032402 },72{ 0x0000a308, 0x48073e06, 0x48073e06, 0x4a0a3c06, 0x4a0a3c06, 0x4a0a3c06 },73{ 0x0000a30c, 0x560b4c0a, 0x560b4c0a, 0x621a540b, 0x621a540b, 0x621a540b },74{ 0x0000a310, 0x641a600f, 0x641a600f, 0x764f6c1b, 0x764f6c1b, 0x764f6c1b },75{ 0x0000a314, 0x7a4f6e1b, 0x7a4f6e1b, 0x845b7a5a, 0x845b7a5a, 0x845b7a5a },76{ 0x0000a318, 0x8c5b7e5a, 0x8c5b7e5a, 0x950f8ccf, 0x950f8ccf, 0x950f8ccf },77{ 0x0000a31c, 0x9d0f96cf, 0x9d0f96cf, 0xa5cf9b4f, 0xa5cf9b4f, 0xa5cf9b4f },78{ 0x0000a320, 0xb51fa69f, 0xb51fa69f, 0xbddfaf1f, 0xbddfaf1f, 0xbddfaf1f },79{ 0x0000a324, 0xcb3fbd07, 0xcb3fbcbf, 0xd1ffc93f, 0xd1ffc93f, 0xd1ffc93f },80{ 0x0000a328, 0x0000d7bf, 0x0000d7bf, 0x00000000, 0x00000000, 0x00000000 },81{ 0x0000a32c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },82{ 0x0000a330, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },83{ 0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },84};8586static const uint32_t ar9160Common[][2] = {87{ 0x0000000c, 0x00000000 },88{ 0x00000030, 0x00020015 },89{ 0x00000034, 0x00000005 },90{ 0x00000040, 0x00000000 },91{ 0x00000044, 0x00000008 },92{ 0x00000048, 0x00000008 },93{ 0x0000004c, 0x00000010 },94{ 0x00000050, 0x00000000 },95{ 0x00000054, 0x0000001f },96{ 0x00000800, 0x00000000 },97{ 0x00000804, 0x00000000 },98{ 0x00000808, 0x00000000 },99{ 0x0000080c, 0x00000000 },100{ 0x00000810, 0x00000000 },101{ 0x00000814, 0x00000000 },102{ 0x00000818, 0x00000000 },103{ 0x0000081c, 0x00000000 },104{ 0x00000820, 0x00000000 },105{ 0x00000824, 0x00000000 },106{ 0x00001040, 0x002ffc0f },107{ 0x00001044, 0x002ffc0f },108{ 0x00001048, 0x002ffc0f },109{ 0x0000104c, 0x002ffc0f },110{ 0x00001050, 0x002ffc0f },111{ 0x00001054, 0x002ffc0f },112{ 0x00001058, 0x002ffc0f },113{ 0x0000105c, 0x002ffc0f },114{ 0x00001060, 0x002ffc0f },115{ 0x00001064, 0x002ffc0f },116{ 0x00001230, 0x00000000 },117{ 0x00001270, 0x00000000 },118{ 0x00001038, 0x00000000 },119{ 0x00001078, 0x00000000 },120{ 0x000010b8, 0x00000000 },121{ 0x000010f8, 0x00000000 },122{ 0x00001138, 0x00000000 },123{ 0x00001178, 0x00000000 },124{ 0x000011b8, 0x00000000 },125{ 0x000011f8, 0x00000000 },126{ 0x00001238, 0x00000000 },127{ 0x00001278, 0x00000000 },128{ 0x000012b8, 0x00000000 },129{ 0x000012f8, 0x00000000 },130{ 0x00001338, 0x00000000 },131{ 0x00001378, 0x00000000 },132{ 0x000013b8, 0x00000000 },133{ 0x000013f8, 0x00000000 },134{ 0x00001438, 0x00000000 },135{ 0x00001478, 0x00000000 },136{ 0x000014b8, 0x00000000 },137{ 0x000014f8, 0x00000000 },138{ 0x00001538, 0x00000000 },139{ 0x00001578, 0x00000000 },140{ 0x000015b8, 0x00000000 },141{ 0x000015f8, 0x00000000 },142{ 0x00001638, 0x00000000 },143{ 0x00001678, 0x00000000 },144{ 0x000016b8, 0x00000000 },145{ 0x000016f8, 0x00000000 },146{ 0x00001738, 0x00000000 },147{ 0x00001778, 0x00000000 },148{ 0x000017b8, 0x00000000 },149{ 0x000017f8, 0x00000000 },150{ 0x0000103c, 0x00000000 },151{ 0x0000107c, 0x00000000 },152{ 0x000010bc, 0x00000000 },153{ 0x000010fc, 0x00000000 },154{ 0x0000113c, 0x00000000 },155{ 0x0000117c, 0x00000000 },156{ 0x000011bc, 0x00000000 },157{ 0x000011fc, 0x00000000 },158{ 0x0000123c, 0x00000000 },159{ 0x0000127c, 0x00000000 },160{ 0x000012bc, 0x00000000 },161{ 0x000012fc, 0x00000000 },162{ 0x0000133c, 0x00000000 },163{ 0x0000137c, 0x00000000 },164{ 0x000013bc, 0x00000000 },165{ 0x000013fc, 0x00000000 },166{ 0x0000143c, 0x00000000 },167{ 0x0000147c, 0x00000000 },168{ 0x00004030, 0x00000002 },169{ 0x0000403c, 0x00000002 },170{ 0x00007010, 0x00000020 },171{ 0x00007038, 0x000004c2 },172{ 0x00008004, 0x00000000 },173{ 0x00008008, 0x00000000 },174{ 0x0000800c, 0x00000000 },175{ 0x00008018, 0x00000700 },176{ 0x00008020, 0x00000000 },177{ 0x00008038, 0x00000000 },178{ 0x0000803c, 0x00000000 },179{ 0x00008048, 0x40000000 },180{ 0x00008054, 0x00000000 },181{ 0x00008058, 0x00000000 },182{ 0x0000805c, 0x000fc78f },183{ 0x00008060, 0x0000000f },184{ 0x00008064, 0x00000000 },185{ 0x000080c0, 0x2a82301a },186{ 0x000080c4, 0x05dc01e0 },187{ 0x000080c8, 0x1f402710 },188{ 0x000080cc, 0x01f40000 },189{ 0x000080d0, 0x00001e00 },190{ 0x000080d4, 0x00000000 },191{ 0x000080d8, 0x00400000 },192{ 0x000080e0, 0xffffffff },193{ 0x000080e4, 0x0000ffff },194{ 0x000080e8, 0x003f3f3f },195{ 0x000080ec, 0x00000000 },196{ 0x000080f0, 0x00000000 },197{ 0x000080f4, 0x00000000 },198{ 0x000080f8, 0x00000000 },199{ 0x000080fc, 0x00020000 },200{ 0x00008100, 0x00020000 },201{ 0x00008104, 0x00000001 },202{ 0x00008108, 0x00000052 },203{ 0x0000810c, 0x00000000 },204{ 0x00008110, 0x00000168 },205{ 0x00008118, 0x000100aa },206{ 0x0000811c, 0x00003210 },207{ 0x00008120, 0x08f04800 },208{ 0x00008124, 0x00000000 },209{ 0x00008128, 0x00000000 },210{ 0x0000812c, 0x00000000 },211{ 0x00008130, 0x00000000 },212{ 0x00008134, 0x00000000 },213{ 0x00008138, 0x00000000 },214{ 0x0000813c, 0x00000000 },215{ 0x00008144, 0xffffffff },216{ 0x00008168, 0x00000000 },217{ 0x0000816c, 0x00000000 },218{ 0x00008170, 0x32143320 },219{ 0x00008174, 0xfaa4fa50 },220{ 0x00008178, 0x00000100 },221{ 0x0000817c, 0x00000000 },222{ 0x000081c4, 0x00000000 },223{ 0x000081d0, 0x00003210 },224{ 0x000081ec, 0x00000000 },225{ 0x000081f0, 0x00000000 },226{ 0x000081f4, 0x00000000 },227{ 0x000081f8, 0x00000000 },228{ 0x000081fc, 0x00000000 },229{ 0x00008200, 0x00000000 },230{ 0x00008204, 0x00000000 },231{ 0x00008208, 0x00000000 },232{ 0x0000820c, 0x00000000 },233{ 0x00008210, 0x00000000 },234{ 0x00008214, 0x00000000 },235{ 0x00008218, 0x00000000 },236{ 0x0000821c, 0x00000000 },237{ 0x00008220, 0x00000000 },238{ 0x00008224, 0x00000000 },239{ 0x00008228, 0x00000000 },240{ 0x0000822c, 0x00000000 },241{ 0x00008230, 0x00000000 },242{ 0x00008234, 0x00000000 },243{ 0x00008238, 0x00000000 },244{ 0x0000823c, 0x00000000 },245{ 0x00008240, 0x00100000 },246{ 0x00008244, 0x0010f400 },247{ 0x00008248, 0x00000100 },248{ 0x0000824c, 0x0001e800 },249{ 0x00008250, 0x00000000 },250{ 0x00008254, 0x00000000 },251{ 0x00008258, 0x00000000 },252{ 0x0000825c, 0x400000ff },253{ 0x00008260, 0x00080922 },254{ 0x00008270, 0x00000000 },255{ 0x00008274, 0x40000000 },256{ 0x00008278, 0x003e4180 },257{ 0x0000827c, 0x00000000 },258{ 0x00008284, 0x0000002c },259{ 0x00008288, 0x0000002c },260{ 0x0000828c, 0x00000000 },261{ 0x00008294, 0x00000000 },262{ 0x00008298, 0x00000000 },263{ 0x00008300, 0x00000000 },264{ 0x00008304, 0x00000000 },265{ 0x00008308, 0x00000000 },266{ 0x0000830c, 0x00000000 },267{ 0x00008310, 0x00000000 },268{ 0x00008314, 0x00000000 },269{ 0x00008318, 0x00000000 },270{ 0x00008328, 0x00000000 },271{ 0x0000832c, 0x00000007 },272{ 0x00008330, 0x00000302 },273{ 0x00008334, 0x00000e00 },274{ 0x00008338, 0x00ff0000 },275{ 0x0000833c, 0x00000000 },276{ 0x00008340, 0x000107ff },277{ 0x00009808, 0x00000000 },278{ 0x0000980c, 0xad848e19 },279{ 0x00009810, 0x7d14e000 },280{ 0x00009814, 0x9c0a9f6b },281{ 0x0000981c, 0x00000000 },282{ 0x0000982c, 0x0000a000 },283{ 0x00009830, 0x00000000 },284{ 0x0000983c, 0x00200400 },285{ 0x00009840, 0x206a01ae },286{ 0x0000984c, 0x1284233c },287{ 0x00009854, 0x00000859 },288{ 0x00009900, 0x00000000 },289{ 0x00009904, 0x00000000 },290{ 0x00009908, 0x00000000 },291{ 0x0000990c, 0x00000000 },292{ 0x0000991c, 0x10000fff },293{ 0x00009920, 0x05100000 },294{ 0x0000a920, 0x05100000 },295{ 0x0000b920, 0x05100000 },296{ 0x00009928, 0x00000001 },297{ 0x0000992c, 0x00000004 },298{ 0x00009934, 0x1e1f2022 },299{ 0x00009938, 0x0a0b0c0d },300{ 0x0000993c, 0x00000000 },301{ 0x00009948, 0x9280b212 },302{ 0x0000994c, 0x00020028 },303{ 0x00009954, 0x5f3ca3de },304{ 0x00009958, 0x2108ecff },305{ 0x00009940, 0x00750604 },306{ 0x0000c95c, 0x004b6a8e },307{ 0x00009970, 0x190fb515 },308{ 0x00009974, 0x00000000 },309{ 0x00009978, 0x00000001 },310{ 0x0000997c, 0x00000000 },311{ 0x00009980, 0x00000000 },312{ 0x00009984, 0x00000000 },313{ 0x00009988, 0x00000000 },314{ 0x0000998c, 0x00000000 },315{ 0x00009990, 0x00000000 },316{ 0x00009994, 0x00000000 },317{ 0x00009998, 0x00000000 },318{ 0x0000999c, 0x00000000 },319{ 0x000099a0, 0x00000000 },320{ 0x000099a4, 0x00000001 },321{ 0x000099a8, 0x201fff00 },322{ 0x000099ac, 0x006f0000 },323{ 0x000099b0, 0x03051000 },324{ 0x000099dc, 0x00000000 },325{ 0x000099e0, 0x00000200 },326{ 0x000099e4, 0xaaaaaaaa },327{ 0x000099e8, 0x3c466478 },328{ 0x000099ec, 0x0cc80caa },329{ 0x000099f0, 0x00000000 }, /* XXX adrian's addition: AR_PHY_CALMODE == 0 */330{ 0x000099fc, 0x00001042 },331{ 0x00009b00, 0x00000000 },332{ 0x00009b04, 0x00000001 },333{ 0x00009b08, 0x00000002 },334{ 0x00009b0c, 0x00000003 },335{ 0x00009b10, 0x00000004 },336{ 0x00009b14, 0x00000005 },337{ 0x00009b18, 0x00000008 },338{ 0x00009b1c, 0x00000009 },339{ 0x00009b20, 0x0000000a },340{ 0x00009b24, 0x0000000b },341{ 0x00009b28, 0x0000000c },342{ 0x00009b2c, 0x0000000d },343{ 0x00009b30, 0x00000010 },344{ 0x00009b34, 0x00000011 },345{ 0x00009b38, 0x00000012 },346{ 0x00009b3c, 0x00000013 },347{ 0x00009b40, 0x00000014 },348{ 0x00009b44, 0x00000015 },349{ 0x00009b48, 0x00000018 },350{ 0x00009b4c, 0x00000019 },351{ 0x00009b50, 0x0000001a },352{ 0x00009b54, 0x0000001b },353{ 0x00009b58, 0x0000001c },354{ 0x00009b5c, 0x0000001d },355{ 0x00009b60, 0x00000020 },356{ 0x00009b64, 0x00000021 },357{ 0x00009b68, 0x00000022 },358{ 0x00009b6c, 0x00000023 },359{ 0x00009b70, 0x00000024 },360{ 0x00009b74, 0x00000025 },361{ 0x00009b78, 0x00000028 },362{ 0x00009b7c, 0x00000029 },363{ 0x00009b80, 0x0000002a },364{ 0x00009b84, 0x0000002b },365{ 0x00009b88, 0x0000002c },366{ 0x00009b8c, 0x0000002d },367{ 0x00009b90, 0x00000030 },368{ 0x00009b94, 0x00000031 },369{ 0x00009b98, 0x00000032 },370{ 0x00009b9c, 0x00000033 },371{ 0x00009ba0, 0x00000034 },372{ 0x00009ba4, 0x00000035 },373{ 0x00009ba8, 0x00000035 },374{ 0x00009bac, 0x00000035 },375{ 0x00009bb0, 0x00000035 },376{ 0x00009bb4, 0x00000035 },377{ 0x00009bb8, 0x00000035 },378{ 0x00009bbc, 0x00000035 },379{ 0x00009bc0, 0x00000035 },380{ 0x00009bc4, 0x00000035 },381{ 0x00009bc8, 0x00000035 },382{ 0x00009bcc, 0x00000035 },383{ 0x00009bd0, 0x00000035 },384{ 0x00009bd4, 0x00000035 },385{ 0x00009bd8, 0x00000035 },386{ 0x00009bdc, 0x00000035 },387{ 0x00009be0, 0x00000035 },388{ 0x00009be4, 0x00000035 },389{ 0x00009be8, 0x00000035 },390{ 0x00009bec, 0x00000035 },391{ 0x00009bf0, 0x00000035 },392{ 0x00009bf4, 0x00000035 },393{ 0x00009bf8, 0x00000010 },394{ 0x00009bfc, 0x0000001a },395{ 0x0000a210, 0x40806333 },396{ 0x0000a214, 0x00106c10 },397{ 0x0000a218, 0x009c4060 },398{ 0x0000a220, 0x018830c6 },399{ 0x0000a224, 0x00000400 },400{ 0x0000a228, 0x001a0bb5 },401{ 0x0000a22c, 0x00000000 },402{ 0x0000a234, 0x20202020 },403{ 0x0000a238, 0x20202020 },404{ 0x0000a23c, 0x13c889af },405{ 0x0000a240, 0x38490a20 },406{ 0x0000a244, 0x00007bb6 },407{ 0x0000a248, 0x0fff3ffc },408{ 0x0000a24c, 0x00000001 },409{ 0x0000a250, 0x0000e000 },410{ 0x0000a254, 0x00000000 },411{ 0x0000a258, 0x0cc75380 },412{ 0x0000a25c, 0x0f0f0f01 },413{ 0x0000a260, 0xdfa91f01 },414{ 0x0000a268, 0x00000001 },415{ 0x0000a26c, 0x0ebae9c6 },416{ 0x0000b26c, 0x0ebae9c6 },417{ 0x0000c26c, 0x0ebae9c6 },418{ 0x0000d270, 0x00820820 },419{ 0x0000a278, 0x1ce739ce },420{ 0x0000a27c, 0x050701ce },421{ 0x0000a338, 0x00000000 },422{ 0x0000a33c, 0x00000000 },423{ 0x0000a340, 0x00000000 },424{ 0x0000a344, 0x00000000 },425{ 0x0000a348, 0x3fffffff },426{ 0x0000a34c, 0x3fffffff },427{ 0x0000a350, 0x3fffffff },428{ 0x0000a354, 0x0003ffff },429{ 0x0000a358, 0x79bfaa03 },430{ 0x0000d35c, 0x07ffffef },431{ 0x0000d360, 0x0fffffe7 },432{ 0x0000d364, 0x17ffffe5 },433{ 0x0000d368, 0x1fffffe4 },434{ 0x0000d36c, 0x37ffffe3 },435{ 0x0000d370, 0x3fffffe3 },436{ 0x0000d374, 0x57ffffe3 },437{ 0x0000d378, 0x5fffffe2 },438{ 0x0000d37c, 0x7fffffe2 },439{ 0x0000d380, 0x7f3c7bba },440{ 0x0000d384, 0xf3307ff0 },441{ 0x0000a388, 0x0c000000 },442{ 0x0000a38c, 0x20202020 },443{ 0x0000a390, 0x20202020 },444{ 0x0000a394, 0x1ce739ce },445{ 0x0000a398, 0x000001ce },446{ 0x0000a39c, 0x00000001 },447{ 0x0000a3a0, 0x00000000 },448{ 0x0000a3a4, 0x00000000 },449{ 0x0000a3a8, 0x00000000 },450{ 0x0000a3ac, 0x00000000 },451{ 0x0000a3b0, 0x00000000 },452{ 0x0000a3b4, 0x00000000 },453{ 0x0000a3b8, 0x00000000 },454{ 0x0000a3bc, 0x00000000 },455{ 0x0000a3c0, 0x00000000 },456{ 0x0000a3c4, 0x00000000 },457{ 0x0000a3c8, 0x00000246 },458{ 0x0000a3cc, 0x20202020 },459{ 0x0000a3d0, 0x20202020 },460{ 0x0000a3d4, 0x20202020 },461{ 0x0000a3dc, 0x1ce739ce },462{ 0x0000a3e0, 0x000001ce },463};464465static const uint32_t ar9160Bank0[][2] = {466{ 0x000098b0, 0x1e5795e5 },467{ 0x000098e0, 0x02008020 },468};469470static const uint32_t ar9160BB_RfGain[][3] = {471{ 0x00009a00, 0x00000000, 0x00000000 },472{ 0x00009a04, 0x00000040, 0x00000040 },473{ 0x00009a08, 0x00000080, 0x00000080 },474{ 0x00009a0c, 0x000001a1, 0x00000141 },475{ 0x00009a10, 0x000001e1, 0x00000181 },476{ 0x00009a14, 0x00000021, 0x000001c1 },477{ 0x00009a18, 0x00000061, 0x00000001 },478{ 0x00009a1c, 0x00000168, 0x00000041 },479{ 0x00009a20, 0x000001a8, 0x000001a8 },480{ 0x00009a24, 0x000001e8, 0x000001e8 },481{ 0x00009a28, 0x00000028, 0x00000028 },482{ 0x00009a2c, 0x00000068, 0x00000068 },483{ 0x00009a30, 0x00000189, 0x000000a8 },484{ 0x00009a34, 0x000001c9, 0x00000169 },485{ 0x00009a38, 0x00000009, 0x000001a9 },486{ 0x00009a3c, 0x00000049, 0x000001e9 },487{ 0x00009a40, 0x00000089, 0x00000029 },488{ 0x00009a44, 0x00000170, 0x00000069 },489{ 0x00009a48, 0x000001b0, 0x00000190 },490{ 0x00009a4c, 0x000001f0, 0x000001d0 },491{ 0x00009a50, 0x00000030, 0x00000010 },492{ 0x00009a54, 0x00000070, 0x00000050 },493{ 0x00009a58, 0x00000191, 0x00000090 },494{ 0x00009a5c, 0x000001d1, 0x00000151 },495{ 0x00009a60, 0x00000011, 0x00000191 },496{ 0x00009a64, 0x00000051, 0x000001d1 },497{ 0x00009a68, 0x00000091, 0x00000011 },498{ 0x00009a6c, 0x000001b8, 0x00000051 },499{ 0x00009a70, 0x000001f8, 0x00000198 },500{ 0x00009a74, 0x00000038, 0x000001d8 },501{ 0x00009a78, 0x00000078, 0x00000018 },502{ 0x00009a7c, 0x00000199, 0x00000058 },503{ 0x00009a80, 0x000001d9, 0x00000098 },504{ 0x00009a84, 0x00000019, 0x00000159 },505{ 0x00009a88, 0x00000059, 0x00000199 },506{ 0x00009a8c, 0x00000099, 0x000001d9 },507{ 0x00009a90, 0x000000d9, 0x00000019 },508{ 0x00009a94, 0x000000f9, 0x00000059 },509{ 0x00009a98, 0x000000f9, 0x00000099 },510{ 0x00009a9c, 0x000000f9, 0x000000d9 },511{ 0x00009aa0, 0x000000f9, 0x000000f9 },512{ 0x00009aa4, 0x000000f9, 0x000000f9 },513{ 0x00009aa8, 0x000000f9, 0x000000f9 },514{ 0x00009aac, 0x000000f9, 0x000000f9 },515{ 0x00009ab0, 0x000000f9, 0x000000f9 },516{ 0x00009ab4, 0x000000f9, 0x000000f9 },517{ 0x00009ab8, 0x000000f9, 0x000000f9 },518{ 0x00009abc, 0x000000f9, 0x000000f9 },519{ 0x00009ac0, 0x000000f9, 0x000000f9 },520{ 0x00009ac4, 0x000000f9, 0x000000f9 },521{ 0x00009ac8, 0x000000f9, 0x000000f9 },522{ 0x00009acc, 0x000000f9, 0x000000f9 },523{ 0x00009ad0, 0x000000f9, 0x000000f9 },524{ 0x00009ad4, 0x000000f9, 0x000000f9 },525{ 0x00009ad8, 0x000000f9, 0x000000f9 },526{ 0x00009adc, 0x000000f9, 0x000000f9 },527{ 0x00009ae0, 0x000000f9, 0x000000f9 },528{ 0x00009ae4, 0x000000f9, 0x000000f9 },529{ 0x00009ae8, 0x000000f9, 0x000000f9 },530{ 0x00009aec, 0x000000f9, 0x000000f9 },531{ 0x00009af0, 0x000000f9, 0x000000f9 },532{ 0x00009af4, 0x000000f9, 0x000000f9 },533{ 0x00009af8, 0x000000f9, 0x000000f9 },534{ 0x00009afc, 0x000000f9, 0x000000f9 },535};536537static const uint32_t ar9160Bank1[][2] = {538{ 0x000098b0, 0x02108421 },539{ 0x000098ec, 0x00000008 },540};541542static const uint32_t ar9160Bank2[][2] = {543{ 0x000098b0, 0x0e73ff17 },544{ 0x000098e0, 0x00000420 },545};546547static const uint32_t ar9160Bank3[][3] = {548{ 0x000098f0, 0x01400018, 0x01c00018 },549};550551static const uint32_t ar9160Bank6[][3] = {552/* Reg A G */553{ 0x0000989c, 0x00000000, 0x00000000 },554{ 0x0000989c, 0x00000000, 0x00000000 },555{ 0x0000989c, 0x00000000, 0x00000000 },556{ 0x0000989c, 0x00e00000, 0x00e00000 },557{ 0x0000989c, 0x005e0000, 0x005e0000 },558{ 0x0000989c, 0x00120000, 0x00120000 },559{ 0x0000989c, 0x00620000, 0x00620000 },560{ 0x0000989c, 0x00020000, 0x00020000 },561{ 0x0000989c, 0x00ff0000, 0x00ff0000 },562{ 0x0000989c, 0x00ff0000, 0x00ff0000 },563{ 0x0000989c, 0x00ff0000, 0x00ff0000 },564{ 0x0000989c, 0x40ff0000, 0x40ff0000 },565{ 0x0000989c, 0x005f0000, 0x005f0000 },566{ 0x0000989c, 0x00870000, 0x00870000 },567{ 0x0000989c, 0x00f90000, 0x00f90000 },568{ 0x0000989c, 0x007b0000, 0x007b0000 },569{ 0x0000989c, 0x00ff0000, 0x00ff0000 },570{ 0x0000989c, 0x00f50000, 0x00f50000 },571{ 0x0000989c, 0x00dc0000, 0x00dc0000 },572{ 0x0000989c, 0x00110000, 0x00110000 },573{ 0x0000989c, 0x006100a8, 0x006100a8 },574{ 0x0000989c, 0x004210a2, 0x004210a2 },575{ 0x0000989c, 0x0014008f, 0x0014008f },576{ 0x0000989c, 0x00c40003, 0x00c40003 },577{ 0x0000989c, 0x003000f2, 0x003000f2 },578{ 0x0000989c, 0x00440016, 0x00440016 },579{ 0x0000989c, 0x00410040, 0x00410040 },580{ 0x0000989c, 0x0001805e, 0x0001805e },581{ 0x0000989c, 0x0000c0ab, 0x0000c0ab },582{ 0x0000989c, 0x000000f1, 0x000000f1 },583{ 0x0000989c, 0x00002081, 0x00002081 },584{ 0x0000989c, 0x000000d4, 0x000000d4 },585{ 0x000098d0, 0x0000000f, 0x0010000f },586};587588static const uint32_t ar9160Bank6TPC[][3] = {589{ 0x0000989c, 0x00000000, 0x00000000 },590{ 0x0000989c, 0x00000000, 0x00000000 },591{ 0x0000989c, 0x00000000, 0x00000000 },592{ 0x0000989c, 0x00e00000, 0x00e00000 },593{ 0x0000989c, 0x005e0000, 0x005e0000 },594{ 0x0000989c, 0x00120000, 0x00120000 },595{ 0x0000989c, 0x00620000, 0x00620000 },596{ 0x0000989c, 0x00020000, 0x00020000 },597{ 0x0000989c, 0x00ff0000, 0x00ff0000 },598{ 0x0000989c, 0x00ff0000, 0x00ff0000 },599{ 0x0000989c, 0x00ff0000, 0x00ff0000 },600{ 0x0000989c, 0x40ff0000, 0x40ff0000 },601{ 0x0000989c, 0x005f0000, 0x005f0000 },602{ 0x0000989c, 0x00870000, 0x00870000 },603{ 0x0000989c, 0x00f90000, 0x00f90000 },604{ 0x0000989c, 0x007b0000, 0x007b0000 },605{ 0x0000989c, 0x00ff0000, 0x00ff0000 },606{ 0x0000989c, 0x00f50000, 0x00f50000 },607{ 0x0000989c, 0x00dc0000, 0x00dc0000 },608{ 0x0000989c, 0x00110000, 0x00110000 },609{ 0x0000989c, 0x006100a8, 0x006100a8 },610{ 0x0000989c, 0x00423022, 0x00423022 },611{ 0x0000989c, 0x2014008f, 0x2014008f },612{ 0x0000989c, 0x00c40002, 0x00c40002 },613{ 0x0000989c, 0x003000f2, 0x003000f2 },614{ 0x0000989c, 0x00440016, 0x00440016 },615{ 0x0000989c, 0x00410040, 0x00410040 },616{ 0x0000989c, 0x0001805e, 0x0001805e },617{ 0x0000989c, 0x0000c0ab, 0x0000c0ab },618{ 0x0000989c, 0x000000e1, 0x000000e1 },619{ 0x0000989c, 0x00007080, 0x00007080 },620{ 0x0000989c, 0x000000d4, 0x000000d4 },621{ 0x000098d0, 0x0000000f, 0x0010000f },622};623624static const uint32_t ar9160Bank7[][2] = {625{ 0x0000989c, 0x00000500 },626{ 0x0000989c, 0x00000800 },627{ 0x000098cc, 0x0000000e },628};629630/* Auto generated PCI Register Writes for SOWL1.0 ADDAC Shift Chain */631static const uint32_t ar9160Addac[][2] = {632{0x0000989c, 0x00000000 },633{0x0000989c, 0x00000000 },634{0x0000989c, 0x00000000 },635{0x0000989c, 0x00000000 },636{0x0000989c, 0x00000000 },637{0x0000989c, 0x00000000 },638{0x0000989c, 0x000000c0 },639{0x0000989c, 0x00000018 },640{0x0000989c, 0x00000004 },641{0x0000989c, 0x00000000 },642{0x0000989c, 0x00000000 },643{0x0000989c, 0x00000000 },644{0x0000989c, 0x00000000 },645{0x0000989c, 0x00000000 },646{0x0000989c, 0x00000000 },647{0x0000989c, 0x00000000 },648{0x0000989c, 0x00000000 },649{0x0000989c, 0x00000000 },650{0x0000989c, 0x00000000 },651{0x0000989c, 0x00000000 },652{0x0000989c, 0x00000000 },653{0x0000989c, 0x000000c0 },654{0x0000989c, 0x00000019 },655{0x0000989c, 0x00000004 },656{0x0000989c, 0x00000000 },657{0x0000989c, 0x00000000 },658{0x0000989c, 0x00000000 },659{0x0000989c, 0x00000004 },660{0x0000989c, 0x00000003 },661{0x0000989c, 0x00000008 },662{0x0000989c, 0x00000000 },663{0x000098cc, 0x00000000 },664};665666/* Auto generated PCI Register Writes for SOWL1.1 ADDAC Shift Chain */667static const uint32_t ar9160Addac_1_1[][2] = {668{0x0000989c, 0x00000000 },669{0x0000989c, 0x00000000 },670{0x0000989c, 0x00000000 },671{0x0000989c, 0x00000000 },672{0x0000989c, 0x00000000 },673{0x0000989c, 0x00000000 },674{0x0000989c, 0x000000c0 },675{0x0000989c, 0x00000018 },676{0x0000989c, 0x00000004 },677{0x0000989c, 0x00000000 },678{0x0000989c, 0x00000000 },679{0x0000989c, 0x00000000 },680{0x0000989c, 0x00000000 },681{0x0000989c, 0x00000000 },682{0x0000989c, 0x00000000 },683{0x0000989c, 0x00000000 },684{0x0000989c, 0x00000000 },685{0x0000989c, 0x00000000 },686{0x0000989c, 0x00000000 },687{0x0000989c, 0x00000000 },688{0x0000989c, 0x00000000 },689{0x0000989c, 0x000000c0 },690{0x0000989c, 0x00000019 },691{0x0000989c, 0x00000004 },692{0x0000989c, 0x00000000 },693{0x0000989c, 0x00000000 },694{0x0000989c, 0x00000000 },695{0x0000989c, 0x00000000 },696{0x0000989c, 0x00000000 },697{0x0000989c, 0x00000000 },698{0x0000989c, 0x00000000 },699{0x000098cc, 0x00000000 },700};701702/* hand-crafted from code that does explicit register writes */703static const uint32_t ar9160PciePhy[][2] = {704{ AR_PCIE_SERDES, 0x9248fc00 },705{ AR_PCIE_SERDES, 0x24924924 },706{ AR_PCIE_SERDES, 0x28000039 },707{ AR_PCIE_SERDES, 0x53160824 },708{ AR_PCIE_SERDES, 0xe5980579 },709{ AR_PCIE_SERDES, 0x001defff },710{ AR_PCIE_SERDES, 0x1aaabe40 },711{ AR_PCIE_SERDES, 0xbe105554 },712{ AR_PCIE_SERDES, 0x000e3007 },713{ AR_PCIE_SERDES2, 0x00000000 },714};715716717