Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright 2007 Advanced Micro Devices, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * Permission is hereby granted, free of charge, to any person obtaining a
  6.  * copy of this software and associated documentation files (the "Software"),
  7.  * to deal in the Software without restriction, including without limitation
  8.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  9.  * and/or sell copies of the Software, and to permit persons to whom the
  10.  * Software is furnished to do so, subject to the following conditions:
  11.  *
  12.  * The above copyright notice and this permission notice (including the next
  13.  * paragraph) shall be included in all copies or substantial portions of the
  14.  * Software.
  15.  *
  16.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  19.  * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  20.  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  21.  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  22.  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  23.  *
  24.  */
  25.  
  26. #ifndef RADEON_MICROCODE_H
  27. #define RADEON_MICROCODE_H
  28.  
  29. /* production radeon ucode r1xx-r6xx */
  30. static const u32 R100_cp_microcode[][2] = {
  31.     { 0x21007000, 0000000000 },
  32.     { 0x20007000, 0000000000 },
  33.     { 0x000000b4, 0x00000004 },
  34.     { 0x000000b8, 0x00000004 },
  35.     { 0x6f5b4d4c, 0000000000 },
  36.     { 0x4c4c427f, 0000000000 },
  37.     { 0x5b568a92, 0000000000 },
  38.     { 0x4ca09c6d, 0000000000 },
  39.     { 0xad4c4c4c, 0000000000 },
  40.     { 0x4ce1af3d, 0000000000 },
  41.     { 0xd8afafaf, 0000000000 },
  42.     { 0xd64c4cdc, 0000000000 },
  43.     { 0x4cd10d10, 0000000000 },
  44.     { 0x000f0000, 0x00000016 },
  45.     { 0x362f242d, 0000000000 },
  46.     { 0x00000012, 0x00000004 },
  47.     { 0x000f0000, 0x00000016 },
  48.     { 0x362f282d, 0000000000 },
  49.     { 0x000380e7, 0x00000002 },
  50.     { 0x04002c97, 0x00000002 },
  51.     { 0x000f0001, 0x00000016 },
  52.     { 0x333a3730, 0000000000 },
  53.     { 0x000077ef, 0x00000002 },
  54.     { 0x00061000, 0x00000002 },
  55.     { 0x00000021, 0x0000001a },
  56.     { 0x00004000, 0x0000001e },
  57.     { 0x00061000, 0x00000002 },
  58.     { 0x00000021, 0x0000001a },
  59.     { 0x00004000, 0x0000001e },
  60.     { 0x00061000, 0x00000002 },
  61.     { 0x00000021, 0x0000001a },
  62.     { 0x00004000, 0x0000001e },
  63.     { 0x00000017, 0x00000004 },
  64.     { 0x0003802b, 0x00000002 },
  65.     { 0x040067e0, 0x00000002 },
  66.     { 0x00000017, 0x00000004 },
  67.     { 0x000077e0, 0x00000002 },
  68.     { 0x00065000, 0x00000002 },
  69.     { 0x000037e1, 0x00000002 },
  70.     { 0x040067e1, 0x00000006 },
  71.     { 0x000077e0, 0x00000002 },
  72.     { 0x000077e1, 0x00000002 },
  73.     { 0x000077e1, 0x00000006 },
  74.     { 0xffffffff, 0000000000 },
  75.     { 0x10000000, 0000000000 },
  76.     { 0x0003802b, 0x00000002 },
  77.     { 0x040067e0, 0x00000006 },
  78.     { 0x00007675, 0x00000002 },
  79.     { 0x00007676, 0x00000002 },
  80.     { 0x00007677, 0x00000002 },
  81.     { 0x00007678, 0x00000006 },
  82.     { 0x0003802c, 0x00000002 },
  83.     { 0x04002676, 0x00000002 },
  84.     { 0x00007677, 0x00000002 },
  85.     { 0x00007678, 0x00000006 },
  86.     { 0x0000002f, 0x00000018 },
  87.     { 0x0000002f, 0x00000018 },
  88.     { 0000000000, 0x00000006 },
  89.     { 0x00000030, 0x00000018 },
  90.     { 0x00000030, 0x00000018 },
  91.     { 0000000000, 0x00000006 },
  92.     { 0x01605000, 0x00000002 },
  93.     { 0x00065000, 0x00000002 },
  94.     { 0x00098000, 0x00000002 },
  95.     { 0x00061000, 0x00000002 },
  96.     { 0x64c0603e, 0x00000004 },
  97.     { 0x000380e6, 0x00000002 },
  98.     { 0x040025c5, 0x00000002 },
  99.     { 0x00080000, 0x00000016 },
  100.     { 0000000000, 0000000000 },
  101.     { 0x0400251d, 0x00000002 },
  102.     { 0x00007580, 0x00000002 },
  103.     { 0x00067581, 0x00000002 },
  104.     { 0x04002580, 0x00000002 },
  105.     { 0x00067581, 0x00000002 },
  106.     { 0x00000049, 0x00000004 },
  107.     { 0x00005000, 0000000000 },
  108.     { 0x000380e6, 0x00000002 },
  109.     { 0x040025c5, 0x00000002 },
  110.     { 0x00061000, 0x00000002 },
  111.     { 0x0000750e, 0x00000002 },
  112.     { 0x00019000, 0x00000002 },
  113.     { 0x00011055, 0x00000014 },
  114.     { 0x00000055, 0x00000012 },
  115.     { 0x0400250f, 0x00000002 },
  116.     { 0x0000504f, 0x00000004 },
  117.     { 0x000380e6, 0x00000002 },
  118.     { 0x040025c5, 0x00000002 },
  119.     { 0x00007565, 0x00000002 },
  120.     { 0x00007566, 0x00000002 },
  121.     { 0x00000058, 0x00000004 },
  122.     { 0x000380e6, 0x00000002 },
  123.     { 0x040025c5, 0x00000002 },
  124.     { 0x01e655b4, 0x00000002 },
  125.     { 0x4401b0e4, 0x00000002 },
  126.     { 0x01c110e4, 0x00000002 },
  127.     { 0x26667066, 0x00000018 },
  128.     { 0x040c2565, 0x00000002 },
  129.     { 0x00000066, 0x00000018 },
  130.     { 0x04002564, 0x00000002 },
  131.     { 0x00007566, 0x00000002 },
  132.     { 0x0000005d, 0x00000004 },
  133.     { 0x00401069, 0x00000008 },
  134.     { 0x00101000, 0x00000002 },
  135.     { 0x000d80ff, 0x00000002 },
  136.     { 0x0080006c, 0x00000008 },
  137.     { 0x000f9000, 0x00000002 },
  138.     { 0x000e00ff, 0x00000002 },
  139.     { 0000000000, 0x00000006 },
  140.     { 0x0000008f, 0x00000018 },
  141.     { 0x0000005b, 0x00000004 },
  142.     { 0x000380e6, 0x00000002 },
  143.     { 0x040025c5, 0x00000002 },
  144.     { 0x00007576, 0x00000002 },
  145.     { 0x00065000, 0x00000002 },
  146.     { 0x00009000, 0x00000002 },
  147.     { 0x00041000, 0x00000002 },
  148.     { 0x0c00350e, 0x00000002 },
  149.     { 0x00049000, 0x00000002 },
  150.     { 0x00051000, 0x00000002 },
  151.     { 0x01e785f8, 0x00000002 },
  152.     { 0x00200000, 0x00000002 },
  153.     { 0x0060007e, 0x0000000c },
  154.     { 0x00007563, 0x00000002 },
  155.     { 0x006075f0, 0x00000021 },
  156.     { 0x20007073, 0x00000004 },
  157.     { 0x00005073, 0x00000004 },
  158.     { 0x000380e6, 0x00000002 },
  159.     { 0x040025c5, 0x00000002 },
  160.     { 0x00007576, 0x00000002 },
  161.     { 0x00007577, 0x00000002 },
  162.     { 0x0000750e, 0x00000002 },
  163.     { 0x0000750f, 0x00000002 },
  164.     { 0x00a05000, 0x00000002 },
  165.     { 0x00600083, 0x0000000c },
  166.     { 0x006075f0, 0x00000021 },
  167.     { 0x000075f8, 0x00000002 },
  168.     { 0x00000083, 0x00000004 },
  169.     { 0x000a750e, 0x00000002 },
  170.     { 0x000380e6, 0x00000002 },
  171.     { 0x040025c5, 0x00000002 },
  172.     { 0x0020750f, 0x00000002 },
  173.     { 0x00600086, 0x00000004 },
  174.     { 0x00007570, 0x00000002 },
  175.     { 0x00007571, 0x00000002 },
  176.     { 0x00007572, 0x00000006 },
  177.     { 0x000380e6, 0x00000002 },
  178.     { 0x040025c5, 0x00000002 },
  179.     { 0x00005000, 0x00000002 },
  180.     { 0x00a05000, 0x00000002 },
  181.     { 0x00007568, 0x00000002 },
  182.     { 0x00061000, 0x00000002 },
  183.     { 0x00000095, 0x0000000c },
  184.     { 0x00058000, 0x00000002 },
  185.     { 0x0c607562, 0x00000002 },
  186.     { 0x00000097, 0x00000004 },
  187.     { 0x000380e6, 0x00000002 },
  188.     { 0x040025c5, 0x00000002 },
  189.     { 0x00600096, 0x00000004 },
  190.     { 0x400070e5, 0000000000 },
  191.     { 0x000380e6, 0x00000002 },
  192.     { 0x040025c5, 0x00000002 },
  193.     { 0x000380e5, 0x00000002 },
  194.     { 0x000000a8, 0x0000001c },
  195.     { 0x000650aa, 0x00000018 },
  196.     { 0x040025bb, 0x00000002 },
  197.     { 0x000610ab, 0x00000018 },
  198.     { 0x040075bc, 0000000000 },
  199.     { 0x000075bb, 0x00000002 },
  200.     { 0x000075bc, 0000000000 },
  201.     { 0x00090000, 0x00000006 },
  202.     { 0x00090000, 0x00000002 },
  203.     { 0x000d8002, 0x00000006 },
  204.     { 0x00007832, 0x00000002 },
  205.     { 0x00005000, 0x00000002 },
  206.     { 0x000380e7, 0x00000002 },
  207.     { 0x04002c97, 0x00000002 },
  208.     { 0x00007820, 0x00000002 },
  209.     { 0x00007821, 0x00000002 },
  210.     { 0x00007800, 0000000000 },
  211.     { 0x01200000, 0x00000002 },
  212.     { 0x20077000, 0x00000002 },
  213.     { 0x01200000, 0x00000002 },
  214.     { 0x20007000, 0x00000002 },
  215.     { 0x00061000, 0x00000002 },
  216.     { 0x0120751b, 0x00000002 },
  217.     { 0x8040750a, 0x00000002 },
  218.     { 0x8040750b, 0x00000002 },
  219.     { 0x00110000, 0x00000002 },
  220.     { 0x000380e5, 0x00000002 },
  221.     { 0x000000c6, 0x0000001c },
  222.     { 0x000610ab, 0x00000018 },
  223.     { 0x844075bd, 0x00000002 },
  224.     { 0x000610aa, 0x00000018 },
  225.     { 0x840075bb, 0x00000002 },
  226.     { 0x000610ab, 0x00000018 },
  227.     { 0x844075bc, 0x00000002 },
  228.     { 0x000000c9, 0x00000004 },
  229.     { 0x804075bd, 0x00000002 },
  230.     { 0x800075bb, 0x00000002 },
  231.     { 0x804075bc, 0x00000002 },
  232.     { 0x00108000, 0x00000002 },
  233.     { 0x01400000, 0x00000002 },
  234.     { 0x006000cd, 0x0000000c },
  235.     { 0x20c07000, 0x00000020 },
  236.     { 0x000000cf, 0x00000012 },
  237.     { 0x00800000, 0x00000006 },
  238.     { 0x0080751d, 0x00000006 },
  239.     { 0000000000, 0000000000 },
  240.     { 0x0000775c, 0x00000002 },
  241.     { 0x00a05000, 0x00000002 },
  242.     { 0x00661000, 0x00000002 },
  243.     { 0x0460275d, 0x00000020 },
  244.     { 0x00004000, 0000000000 },
  245.     { 0x01e00830, 0x00000002 },
  246.     { 0x21007000, 0000000000 },
  247.     { 0x6464614d, 0000000000 },
  248.     { 0x69687420, 0000000000 },
  249.     { 0x00000073, 0000000000 },
  250.     { 0000000000, 0000000000 },
  251.     { 0x00005000, 0x00000002 },
  252.     { 0x000380d0, 0x00000002 },
  253.     { 0x040025e0, 0x00000002 },
  254.     { 0x000075e1, 0000000000 },
  255.     { 0x00000001, 0000000000 },
  256.     { 0x000380e0, 0x00000002 },
  257.     { 0x04002394, 0x00000002 },
  258.     { 0x00005000, 0000000000 },
  259.     { 0000000000, 0000000000 },
  260.     { 0000000000, 0000000000 },
  261.     { 0x00000008, 0000000000 },
  262.     { 0x00000004, 0000000000 },
  263.     { 0000000000, 0000000000 },
  264.     { 0000000000, 0000000000 },
  265.     { 0000000000, 0000000000 },
  266.     { 0000000000, 0000000000 },
  267.     { 0000000000, 0000000000 },
  268.     { 0000000000, 0000000000 },
  269.     { 0000000000, 0000000000 },
  270.     { 0000000000, 0000000000 },
  271.     { 0000000000, 0000000000 },
  272.     { 0000000000, 0000000000 },
  273.     { 0000000000, 0000000000 },
  274.     { 0000000000, 0000000000 },
  275.     { 0000000000, 0000000000 },
  276.     { 0000000000, 0000000000 },
  277.     { 0000000000, 0000000000 },
  278.     { 0000000000, 0000000000 },
  279.     { 0000000000, 0000000000 },
  280.     { 0000000000, 0000000000 },
  281.     { 0000000000, 0000000000 },
  282.     { 0000000000, 0000000000 },
  283.     { 0000000000, 0000000000 },
  284.     { 0000000000, 0000000000 },
  285.     { 0000000000, 0000000000 },
  286.     { 0000000000, 0000000000 },
  287. };
  288.  
  289. static const u32 R200_cp_microcode[][2] = {
  290.     { 0x21007000, 0000000000 },
  291.     { 0x20007000, 0000000000 },
  292.     { 0x000000bf, 0x00000004 },
  293.     { 0x000000c3, 0x00000004 },
  294.     { 0x7a685e5d, 0000000000 },
  295.     { 0x5d5d5588, 0000000000 },
  296.     { 0x68659197, 0000000000 },
  297.     { 0x5da19f78, 0000000000 },
  298.     { 0x5d5d5d5d, 0000000000 },
  299.     { 0x5dee5d50, 0000000000 },
  300.     { 0xf2acacac, 0000000000 },
  301.     { 0xe75df9e9, 0000000000 },
  302.     { 0xb1dd0e11, 0000000000 },
  303.     { 0xe2afafaf, 0000000000 },
  304.     { 0x000f0000, 0x00000016 },
  305.     { 0x452f232d, 0000000000 },
  306.     { 0x00000013, 0x00000004 },
  307.     { 0x000f0000, 0x00000016 },
  308.     { 0x452f272d, 0000000000 },
  309.     { 0x000f0001, 0x00000016 },
  310.     { 0x3e4d4a37, 0000000000 },
  311.     { 0x000077ef, 0x00000002 },
  312.     { 0x00061000, 0x00000002 },
  313.     { 0x00000020, 0x0000001a },
  314.     { 0x00004000, 0x0000001e },
  315.     { 0x00061000, 0x00000002 },
  316.     { 0x00000020, 0x0000001a },
  317.     { 0x00004000, 0x0000001e },
  318.     { 0x00061000, 0x00000002 },
  319.     { 0x00000020, 0x0000001a },
  320.     { 0x00004000, 0x0000001e },
  321.     { 0x00000016, 0x00000004 },
  322.     { 0x0003802a, 0x00000002 },
  323.     { 0x040067e0, 0x00000002 },
  324.     { 0x00000016, 0x00000004 },
  325.     { 0x000077e0, 0x00000002 },
  326.     { 0x00065000, 0x00000002 },
  327.     { 0x000037e1, 0x00000002 },
  328.     { 0x040067e1, 0x00000006 },
  329.     { 0x000077e0, 0x00000002 },
  330.     { 0x000077e1, 0x00000002 },
  331.     { 0x000077e1, 0x00000006 },
  332.     { 0xffffffff, 0000000000 },
  333.     { 0x10000000, 0000000000 },
  334.     { 0x07f007f0, 0000000000 },
  335.     { 0x0003802a, 0x00000002 },
  336.     { 0x040067e0, 0x00000006 },
  337.     { 0x0003802c, 0x00000002 },
  338.     { 0x04002741, 0x00000002 },
  339.     { 0x04002741, 0x00000002 },
  340.     { 0x04002743, 0x00000002 },
  341.     { 0x00007675, 0x00000002 },
  342.     { 0x00007676, 0x00000002 },
  343.     { 0x00007677, 0x00000002 },
  344.     { 0x00007678, 0x00000006 },
  345.     { 0x0003802c, 0x00000002 },
  346.     { 0x04002741, 0x00000002 },
  347.     { 0x04002741, 0x00000002 },
  348.     { 0x04002743, 0x00000002 },
  349.     { 0x00007676, 0x00000002 },
  350.     { 0x00007677, 0x00000002 },
  351.     { 0x00007678, 0x00000006 },
  352.     { 0x0003802b, 0x00000002 },
  353.     { 0x04002676, 0x00000002 },
  354.     { 0x00007677, 0x00000002 },
  355.     { 0x0003802c, 0x00000002 },
  356.     { 0x04002741, 0x00000002 },
  357.     { 0x04002743, 0x00000002 },
  358.     { 0x00007678, 0x00000006 },
  359.     { 0x0003802c, 0x00000002 },
  360.     { 0x04002741, 0x00000002 },
  361.     { 0x04002741, 0x00000002 },
  362.     { 0x04002743, 0x00000002 },
  363.     { 0x00007678, 0x00000006 },
  364.     { 0x0000002f, 0x00000018 },
  365.     { 0x0000002f, 0x00000018 },
  366.     { 0000000000, 0x00000006 },
  367.     { 0x00000037, 0x00000018 },
  368.     { 0x00000037, 0x00000018 },
  369.     { 0000000000, 0x00000006 },
  370.     { 0x01605000, 0x00000002 },
  371.     { 0x00065000, 0x00000002 },
  372.     { 0x00098000, 0x00000002 },
  373.     { 0x00061000, 0x00000002 },
  374.     { 0x64c06051, 0x00000004 },
  375.     { 0x00080000, 0x00000016 },
  376.     { 0000000000, 0000000000 },
  377.     { 0x0400251d, 0x00000002 },
  378.     { 0x00007580, 0x00000002 },
  379.     { 0x00067581, 0x00000002 },
  380.     { 0x04002580, 0x00000002 },
  381.     { 0x00067581, 0x00000002 },
  382.     { 0x0000005a, 0x00000004 },
  383.     { 0x00005000, 0000000000 },
  384.     { 0x00061000, 0x00000002 },
  385.     { 0x0000750e, 0x00000002 },
  386.     { 0x00019000, 0x00000002 },
  387.     { 0x00011064, 0x00000014 },
  388.     { 0x00000064, 0x00000012 },
  389.     { 0x0400250f, 0x00000002 },
  390.     { 0x0000505e, 0x00000004 },
  391.     { 0x00007565, 0x00000002 },
  392.     { 0x00007566, 0x00000002 },
  393.     { 0x00000065, 0x00000004 },
  394.     { 0x01e655b4, 0x00000002 },
  395.     { 0x4401b0f0, 0x00000002 },
  396.     { 0x01c110f0, 0x00000002 },
  397.     { 0x26667071, 0x00000018 },
  398.     { 0x040c2565, 0x00000002 },
  399.     { 0x00000071, 0x00000018 },
  400.     { 0x04002564, 0x00000002 },
  401.     { 0x00007566, 0x00000002 },
  402.     { 0x00000068, 0x00000004 },
  403.     { 0x00401074, 0x00000008 },
  404.     { 0x00101000, 0x00000002 },
  405.     { 0x000d80ff, 0x00000002 },
  406.     { 0x00800077, 0x00000008 },
  407.     { 0x000f9000, 0x00000002 },
  408.     { 0x000e00ff, 0x00000002 },
  409.     { 0000000000, 0x00000006 },
  410.     { 0x00000094, 0x00000018 },
  411.     { 0x00000068, 0x00000004 },
  412.     { 0x00007576, 0x00000002 },
  413.     { 0x00065000, 0x00000002 },
  414.     { 0x00009000, 0x00000002 },
  415.     { 0x00041000, 0x00000002 },
  416.     { 0x0c00350e, 0x00000002 },
  417.     { 0x00049000, 0x00000002 },
  418.     { 0x00051000, 0x00000002 },
  419.     { 0x01e785f8, 0x00000002 },
  420.     { 0x00200000, 0x00000002 },
  421.     { 0x00600087, 0x0000000c },
  422.     { 0x00007563, 0x00000002 },
  423.     { 0x006075f0, 0x00000021 },
  424.     { 0x2000707c, 0x00000004 },
  425.     { 0x0000507c, 0x00000004 },
  426.     { 0x00007576, 0x00000002 },
  427.     { 0x00007577, 0x00000002 },
  428.     { 0x0000750e, 0x00000002 },
  429.     { 0x0000750f, 0x00000002 },
  430.     { 0x00a05000, 0x00000002 },
  431.     { 0x0060008a, 0x0000000c },
  432.     { 0x006075f0, 0x00000021 },
  433.     { 0x000075f8, 0x00000002 },
  434.     { 0x0000008a, 0x00000004 },
  435.     { 0x000a750e, 0x00000002 },
  436.     { 0x0020750f, 0x00000002 },
  437.     { 0x0060008d, 0x00000004 },
  438.     { 0x00007570, 0x00000002 },
  439.     { 0x00007571, 0x00000002 },
  440.     { 0x00007572, 0x00000006 },
  441.     { 0x00005000, 0x00000002 },
  442.     { 0x00a05000, 0x00000002 },
  443.     { 0x00007568, 0x00000002 },
  444.     { 0x00061000, 0x00000002 },
  445.     { 0x00000098, 0x0000000c },
  446.     { 0x00058000, 0x00000002 },
  447.     { 0x0c607562, 0x00000002 },
  448.     { 0x0000009a, 0x00000004 },
  449.     { 0x00600099, 0x00000004 },
  450.     { 0x400070f1, 0000000000 },
  451.     { 0x000380f1, 0x00000002 },
  452.     { 0x000000a7, 0x0000001c },
  453.     { 0x000650a9, 0x00000018 },
  454.     { 0x040025bb, 0x00000002 },
  455.     { 0x000610aa, 0x00000018 },
  456.     { 0x040075bc, 0000000000 },
  457.     { 0x000075bb, 0x00000002 },
  458.     { 0x000075bc, 0000000000 },
  459.     { 0x00090000, 0x00000006 },
  460.     { 0x00090000, 0x00000002 },
  461.     { 0x000d8002, 0x00000006 },
  462.     { 0x00005000, 0x00000002 },
  463.     { 0x00007821, 0x00000002 },
  464.     { 0x00007800, 0000000000 },
  465.     { 0x00007821, 0x00000002 },
  466.     { 0x00007800, 0000000000 },
  467.     { 0x01665000, 0x00000002 },
  468.     { 0x000a0000, 0x00000002 },
  469.     { 0x000671cc, 0x00000002 },
  470.     { 0x0286f1cd, 0x00000002 },
  471.     { 0x000000b7, 0x00000010 },
  472.     { 0x21007000, 0000000000 },
  473.     { 0x000000be, 0x0000001c },
  474.     { 0x00065000, 0x00000002 },
  475.     { 0x000a0000, 0x00000002 },
  476.     { 0x00061000, 0x00000002 },
  477.     { 0x000b0000, 0x00000002 },
  478.     { 0x38067000, 0x00000002 },
  479.     { 0x000a00ba, 0x00000004 },
  480.     { 0x20007000, 0000000000 },
  481.     { 0x01200000, 0x00000002 },
  482.     { 0x20077000, 0x00000002 },
  483.     { 0x01200000, 0x00000002 },
  484.     { 0x20007000, 0000000000 },
  485.     { 0x00061000, 0x00000002 },
  486.     { 0x0120751b, 0x00000002 },
  487.     { 0x8040750a, 0x00000002 },
  488.     { 0x8040750b, 0x00000002 },
  489.     { 0x00110000, 0x00000002 },
  490.     { 0x000380f1, 0x00000002 },
  491.     { 0x000000d1, 0x0000001c },
  492.     { 0x000610aa, 0x00000018 },
  493.     { 0x844075bd, 0x00000002 },
  494.     { 0x000610a9, 0x00000018 },
  495.     { 0x840075bb, 0x00000002 },
  496.     { 0x000610aa, 0x00000018 },
  497.     { 0x844075bc, 0x00000002 },
  498.     { 0x000000d4, 0x00000004 },
  499.     { 0x804075bd, 0x00000002 },
  500.     { 0x800075bb, 0x00000002 },
  501.     { 0x804075bc, 0x00000002 },
  502.     { 0x00108000, 0x00000002 },
  503.     { 0x01400000, 0x00000002 },
  504.     { 0x006000d8, 0x0000000c },
  505.     { 0x20c07000, 0x00000020 },
  506.     { 0x000000da, 0x00000012 },
  507.     { 0x00800000, 0x00000006 },
  508.     { 0x0080751d, 0x00000006 },
  509.     { 0x000025bb, 0x00000002 },
  510.     { 0x000040d4, 0x00000004 },
  511.     { 0x0000775c, 0x00000002 },
  512.     { 0x00a05000, 0x00000002 },
  513.     { 0x00661000, 0x00000002 },
  514.     { 0x0460275d, 0x00000020 },
  515.     { 0x00004000, 0000000000 },
  516.     { 0x00007999, 0x00000002 },
  517.     { 0x00a05000, 0x00000002 },
  518.     { 0x00661000, 0x00000002 },
  519.     { 0x0460299b, 0x00000020 },
  520.     { 0x00004000, 0000000000 },
  521.     { 0x01e00830, 0x00000002 },
  522.     { 0x21007000, 0000000000 },
  523.     { 0x00005000, 0x00000002 },
  524.     { 0x00038056, 0x00000002 },
  525.     { 0x040025e0, 0x00000002 },
  526.     { 0x000075e1, 0000000000 },
  527.     { 0x00000001, 0000000000 },
  528.     { 0x000380ed, 0x00000002 },
  529.     { 0x04007394, 0000000000 },
  530.     { 0000000000, 0000000000 },
  531.     { 0000000000, 0000000000 },
  532.     { 0x000078c4, 0x00000002 },
  533.     { 0x000078c5, 0x00000002 },
  534.     { 0x000078c6, 0x00000002 },
  535.     { 0x00007924, 0x00000002 },
  536.     { 0x00007925, 0x00000002 },
  537.     { 0x00007926, 0x00000002 },
  538.     { 0x000000f2, 0x00000004 },
  539.     { 0x00007924, 0x00000002 },
  540.     { 0x00007925, 0x00000002 },
  541.     { 0x00007926, 0x00000002 },
  542.     { 0x000000f9, 0x00000004 },
  543.     { 0000000000, 0000000000 },
  544.     { 0000000000, 0000000000 },
  545.     { 0000000000, 0000000000 },
  546. };
  547.  
  548. static const u32 R300_cp_microcode[][2] = {
  549.     { 0x4200e000, 0000000000 },
  550.     { 0x4000e000, 0000000000 },
  551.     { 0x000000ae, 0x00000008 },
  552.     { 0x000000b2, 0x00000008 },
  553.     { 0x67554b4a, 0000000000 },
  554.     { 0x4a4a4475, 0000000000 },
  555.     { 0x55527d83, 0000000000 },
  556.     { 0x4a8c8b65, 0000000000 },
  557.     { 0x4aef4af6, 0000000000 },
  558.     { 0x4ae14a4a, 0000000000 },
  559.     { 0xe4979797, 0000000000 },
  560.     { 0xdb4aebdd, 0000000000 },
  561.     { 0x9ccc4a4a, 0000000000 },
  562.     { 0xd1989898, 0000000000 },
  563.     { 0x4a0f9ad6, 0000000000 },
  564.     { 0x000ca000, 0x00000004 },
  565.     { 0x000d0012, 0x00000038 },
  566.     { 0x0000e8b4, 0x00000004 },
  567.     { 0x000d0014, 0x00000038 },
  568.     { 0x0000e8b6, 0x00000004 },
  569.     { 0x000d0016, 0x00000038 },
  570.     { 0x0000e854, 0x00000004 },
  571.     { 0x000d0018, 0x00000038 },
  572.     { 0x0000e855, 0x00000004 },
  573.     { 0x000d001a, 0x00000038 },
  574.     { 0x0000e856, 0x00000004 },
  575.     { 0x000d001c, 0x00000038 },
  576.     { 0x0000e857, 0x00000004 },
  577.     { 0x000d001e, 0x00000038 },
  578.     { 0x0000e824, 0x00000004 },
  579.     { 0x000d0020, 0x00000038 },
  580.     { 0x0000e825, 0x00000004 },
  581.     { 0x000d0022, 0x00000038 },
  582.     { 0x0000e830, 0x00000004 },
  583.     { 0x000d0024, 0x00000038 },
  584.     { 0x0000f0c0, 0x00000004 },
  585.     { 0x000d0026, 0x00000038 },
  586.     { 0x0000f0c1, 0x00000004 },
  587.     { 0x000d0028, 0x00000038 },
  588.     { 0x0000f041, 0x00000004 },
  589.     { 0x000d002a, 0x00000038 },
  590.     { 0x0000f184, 0x00000004 },
  591.     { 0x000d002c, 0x00000038 },
  592.     { 0x0000f185, 0x00000004 },
  593.     { 0x000d002e, 0x00000038 },
  594.     { 0x0000f186, 0x00000004 },
  595.     { 0x000d0030, 0x00000038 },
  596.     { 0x0000f187, 0x00000004 },
  597.     { 0x000d0032, 0x00000038 },
  598.     { 0x0000f180, 0x00000004 },
  599.     { 0x000d0034, 0x00000038 },
  600.     { 0x0000f393, 0x00000004 },
  601.     { 0x000d0036, 0x00000038 },
  602.     { 0x0000f38a, 0x00000004 },
  603.     { 0x000d0038, 0x00000038 },
  604.     { 0x0000f38e, 0x00000004 },
  605.     { 0x0000e821, 0x00000004 },
  606.     { 0x0140a000, 0x00000004 },
  607.     { 0x00000043, 0x00000018 },
  608.     { 0x00cce800, 0x00000004 },
  609.     { 0x001b0001, 0x00000004 },
  610.     { 0x08004800, 0x00000004 },
  611.     { 0x001b0001, 0x00000004 },
  612.     { 0x08004800, 0x00000004 },
  613.     { 0x001b0001, 0x00000004 },
  614.     { 0x08004800, 0x00000004 },
  615.     { 0x0000003a, 0x00000008 },
  616.     { 0x0000a000, 0000000000 },
  617.     { 0x2000451d, 0x00000004 },
  618.     { 0x0000e580, 0x00000004 },
  619.     { 0x000ce581, 0x00000004 },
  620.     { 0x08004580, 0x00000004 },
  621.     { 0x000ce581, 0x00000004 },
  622.     { 0x00000047, 0x00000008 },
  623.     { 0x0000a000, 0000000000 },
  624.     { 0x000c2000, 0x00000004 },
  625.     { 0x0000e50e, 0x00000004 },
  626.     { 0x00032000, 0x00000004 },
  627.     { 0x00022051, 0x00000028 },
  628.     { 0x00000051, 0x00000024 },
  629.     { 0x0800450f, 0x00000004 },
  630.     { 0x0000a04b, 0x00000008 },
  631.     { 0x0000e565, 0x00000004 },
  632.     { 0x0000e566, 0x00000004 },
  633.     { 0x00000052, 0x00000008 },
  634.     { 0x03cca5b4, 0x00000004 },
  635.     { 0x05432000, 0x00000004 },
  636.     { 0x00022000, 0x00000004 },
  637.     { 0x4ccce05e, 0x00000030 },
  638.     { 0x08274565, 0x00000004 },
  639.     { 0x0000005e, 0x00000030 },
  640.     { 0x08004564, 0x00000004 },
  641.     { 0x0000e566, 0x00000004 },
  642.     { 0x00000055, 0x00000008 },
  643.     { 0x00802061, 0x00000010 },
  644.     { 0x00202000, 0x00000004 },
  645.     { 0x001b00ff, 0x00000004 },
  646.     { 0x01000064, 0x00000010 },
  647.     { 0x001f2000, 0x00000004 },
  648.     { 0x001c00ff, 0x00000004 },
  649.     { 0000000000, 0x0000000c },
  650.     { 0x00000080, 0x00000030 },
  651.     { 0x00000055, 0x00000008 },
  652.     { 0x0000e576, 0x00000004 },
  653.     { 0x000ca000, 0x00000004 },
  654.     { 0x00012000, 0x00000004 },
  655.     { 0x00082000, 0x00000004 },
  656.     { 0x1800650e, 0x00000004 },
  657.     { 0x00092000, 0x00000004 },
  658.     { 0x000a2000, 0x00000004 },
  659.     { 0x000f0000, 0x00000004 },
  660.     { 0x00400000, 0x00000004 },
  661.     { 0x00000074, 0x00000018 },
  662.     { 0x0000e563, 0x00000004 },
  663.     { 0x00c0e5f9, 0x000000c2 },
  664.     { 0x00000069, 0x00000008 },
  665.     { 0x0000a069, 0x00000008 },
  666.     { 0x0000e576, 0x00000004 },
  667.     { 0x0000e577, 0x00000004 },
  668.     { 0x0000e50e, 0x00000004 },
  669.     { 0x0000e50f, 0x00000004 },
  670.     { 0x0140a000, 0x00000004 },
  671.     { 0x00000077, 0x00000018 },
  672.     { 0x00c0e5f9, 0x000000c2 },
  673.     { 0x00000077, 0x00000008 },
  674.     { 0x0014e50e, 0x00000004 },
  675.     { 0x0040e50f, 0x00000004 },
  676.     { 0x00c0007a, 0x00000008 },
  677.     { 0x0000e570, 0x00000004 },
  678.     { 0x0000e571, 0x00000004 },
  679.     { 0x0000e572, 0x0000000c },
  680.     { 0x0000a000, 0x00000004 },
  681.     { 0x0140a000, 0x00000004 },
  682.     { 0x0000e568, 0x00000004 },
  683.     { 0x000c2000, 0x00000004 },
  684.     { 0x00000084, 0x00000018 },
  685.     { 0x000b0000, 0x00000004 },
  686.     { 0x18c0e562, 0x00000004 },
  687.     { 0x00000086, 0x00000008 },
  688.     { 0x00c00085, 0x00000008 },
  689.     { 0x000700e3, 0x00000004 },
  690.     { 0x00000092, 0x00000038 },
  691.     { 0x000ca094, 0x00000030 },
  692.     { 0x080045bb, 0x00000004 },
  693.     { 0x000c2095, 0x00000030 },
  694.     { 0x0800e5bc, 0000000000 },
  695.     { 0x0000e5bb, 0x00000004 },
  696.     { 0x0000e5bc, 0000000000 },
  697.     { 0x00120000, 0x0000000c },
  698.     { 0x00120000, 0x00000004 },
  699.     { 0x001b0002, 0x0000000c },
  700.     { 0x0000a000, 0x00000004 },
  701.     { 0x0000e821, 0x00000004 },
  702.     { 0x0000e800, 0000000000 },
  703.     { 0x0000e821, 0x00000004 },
  704.     { 0x0000e82e, 0000000000 },
  705.     { 0x02cca000, 0x00000004 },
  706.     { 0x00140000, 0x00000004 },
  707.     { 0x000ce1cc, 0x00000004 },
  708.     { 0x050de1cd, 0x00000004 },
  709.     { 0x00400000, 0x00000004 },
  710.     { 0x000000a4, 0x00000018 },
  711.     { 0x00c0a000, 0x00000004 },
  712.     { 0x000000a1, 0x00000008 },
  713.     { 0x000000a6, 0x00000020 },
  714.     { 0x4200e000, 0000000000 },
  715.     { 0x000000ad, 0x00000038 },
  716.     { 0x000ca000, 0x00000004 },
  717.     { 0x00140000, 0x00000004 },
  718.     { 0x000c2000, 0x00000004 },
  719.     { 0x00160000, 0x00000004 },
  720.     { 0x700ce000, 0x00000004 },
  721.     { 0x001400a9, 0x00000008 },
  722.     { 0x4000e000, 0000000000 },
  723.     { 0x02400000, 0x00000004 },
  724.     { 0x400ee000, 0x00000004 },
  725.     { 0x02400000, 0x00000004 },
  726.     { 0x4000e000, 0000000000 },
  727.     { 0x000c2000, 0x00000004 },
  728.     { 0x0240e51b, 0x00000004 },
  729.     { 0x0080e50a, 0x00000005 },
  730.     { 0x0080e50b, 0x00000005 },
  731.     { 0x00220000, 0x00000004 },
  732.     { 0x000700e3, 0x00000004 },
  733.     { 0x000000c0, 0x00000038 },
  734.     { 0x000c2095, 0x00000030 },
  735.     { 0x0880e5bd, 0x00000005 },
  736.     { 0x000c2094, 0x00000030 },
  737.     { 0x0800e5bb, 0x00000005 },
  738.     { 0x000c2095, 0x00000030 },
  739.     { 0x0880e5bc, 0x00000005 },
  740.     { 0x000000c3, 0x00000008 },
  741.     { 0x0080e5bd, 0x00000005 },
  742.     { 0x0000e5bb, 0x00000005 },
  743.     { 0x0080e5bc, 0x00000005 },
  744.     { 0x00210000, 0x00000004 },
  745.     { 0x02800000, 0x00000004 },
  746.     { 0x00c000c7, 0x00000018 },
  747.     { 0x4180e000, 0x00000040 },
  748.     { 0x000000c9, 0x00000024 },
  749.     { 0x01000000, 0x0000000c },
  750.     { 0x0100e51d, 0x0000000c },
  751.     { 0x000045bb, 0x00000004 },
  752.     { 0x000080c3, 0x00000008 },
  753.     { 0x0000f3ce, 0x00000004 },
  754.     { 0x0140a000, 0x00000004 },
  755.     { 0x00cc2000, 0x00000004 },
  756.     { 0x08c053cf, 0x00000040 },
  757.     { 0x00008000, 0000000000 },
  758.     { 0x0000f3d2, 0x00000004 },
  759.     { 0x0140a000, 0x00000004 },
  760.     { 0x00cc2000, 0x00000004 },
  761.     { 0x08c053d3, 0x00000040 },
  762.     { 0x00008000, 0000000000 },
  763.     { 0x0000f39d, 0x00000004 },
  764.     { 0x0140a000, 0x00000004 },
  765.     { 0x00cc2000, 0x00000004 },
  766.     { 0x08c0539e, 0x00000040 },
  767.     { 0x00008000, 0000000000 },
  768.     { 0x03c00830, 0x00000004 },
  769.     { 0x4200e000, 0000000000 },
  770.     { 0x0000a000, 0x00000004 },
  771.     { 0x200045e0, 0x00000004 },
  772.     { 0x0000e5e1, 0000000000 },
  773.     { 0x00000001, 0000000000 },
  774.     { 0x000700e0, 0x00000004 },
  775.     { 0x0800e394, 0000000000 },
  776.     { 0000000000, 0000000000 },
  777.     { 0x0000e8c4, 0x00000004 },
  778.     { 0x0000e8c5, 0x00000004 },
  779.     { 0x0000e8c6, 0x00000004 },
  780.     { 0x0000e928, 0x00000004 },
  781.     { 0x0000e929, 0x00000004 },
  782.     { 0x0000e92a, 0x00000004 },
  783.     { 0x000000e4, 0x00000008 },
  784.     { 0x0000e928, 0x00000004 },
  785.     { 0x0000e929, 0x00000004 },
  786.     { 0x0000e92a, 0x00000004 },
  787.     { 0x000000eb, 0x00000008 },
  788.     { 0x02c02000, 0x00000004 },
  789.     { 0x00060000, 0x00000004 },
  790.     { 0x000000f3, 0x00000034 },
  791.     { 0x000000f0, 0x00000008 },
  792.     { 0x00008000, 0x00000004 },
  793.     { 0xc000e000, 0000000000 },
  794.     { 0000000000, 0000000000 },
  795.     { 0x000c2000, 0x00000004 },
  796.     { 0x001d0018, 0x00000004 },
  797.     { 0x001a0001, 0x00000004 },
  798.     { 0x000000fb, 0x00000034 },
  799.     { 0x0000004a, 0x00000008 },
  800.     { 0x0500a04a, 0x00000008 },
  801.     { 0000000000, 0000000000 },
  802.     { 0000000000, 0000000000 },
  803.     { 0000000000, 0000000000 },
  804.     { 0000000000, 0000000000 },
  805. };
  806.  
  807. static const u32 R420_cp_microcode[][2] = {
  808.     { 0x4200e000, 0000000000 },
  809.     { 0x4000e000, 0000000000 },
  810.     { 0x00000099, 0x00000008 },
  811.     { 0x0000009d, 0x00000008 },
  812.     { 0x4a554b4a, 0000000000 },
  813.     { 0x4a4a4467, 0000000000 },
  814.     { 0x55526f75, 0000000000 },
  815.     { 0x4a7e7d65, 0000000000 },
  816.     { 0xd9d3dff6, 0000000000 },
  817.     { 0x4ac54a4a, 0000000000 },
  818.     { 0xc8828282, 0000000000 },
  819.     { 0xbf4acfc1, 0000000000 },
  820.     { 0x87b04a4a, 0000000000 },
  821.     { 0xb5838383, 0000000000 },
  822.     { 0x4a0f85ba, 0000000000 },
  823.     { 0x000ca000, 0x00000004 },
  824.     { 0x000d0012, 0x00000038 },
  825.     { 0x0000e8b4, 0x00000004 },
  826.     { 0x000d0014, 0x00000038 },
  827.     { 0x0000e8b6, 0x00000004 },
  828.     { 0x000d0016, 0x00000038 },
  829.     { 0x0000e854, 0x00000004 },
  830.     { 0x000d0018, 0x00000038 },
  831.     { 0x0000e855, 0x00000004 },
  832.     { 0x000d001a, 0x00000038 },
  833.     { 0x0000e856, 0x00000004 },
  834.     { 0x000d001c, 0x00000038 },
  835.     { 0x0000e857, 0x00000004 },
  836.     { 0x000d001e, 0x00000038 },
  837.     { 0x0000e824, 0x00000004 },
  838.     { 0x000d0020, 0x00000038 },
  839.     { 0x0000e825, 0x00000004 },
  840.     { 0x000d0022, 0x00000038 },
  841.     { 0x0000e830, 0x00000004 },
  842.     { 0x000d0024, 0x00000038 },
  843.     { 0x0000f0c0, 0x00000004 },
  844.     { 0x000d0026, 0x00000038 },
  845.     { 0x0000f0c1, 0x00000004 },
  846.     { 0x000d0028, 0x00000038 },
  847.     { 0x0000f041, 0x00000004 },
  848.     { 0x000d002a, 0x00000038 },
  849.     { 0x0000f184, 0x00000004 },
  850.     { 0x000d002c, 0x00000038 },
  851.     { 0x0000f185, 0x00000004 },
  852.     { 0x000d002e, 0x00000038 },
  853.     { 0x0000f186, 0x00000004 },
  854.     { 0x000d0030, 0x00000038 },
  855.     { 0x0000f187, 0x00000004 },
  856.     { 0x000d0032, 0x00000038 },
  857.     { 0x0000f180, 0x00000004 },
  858.     { 0x000d0034, 0x00000038 },
  859.     { 0x0000f393, 0x00000004 },
  860.     { 0x000d0036, 0x00000038 },
  861.     { 0x0000f38a, 0x00000004 },
  862.     { 0x000d0038, 0x00000038 },
  863.     { 0x0000f38e, 0x00000004 },
  864.     { 0x0000e821, 0x00000004 },
  865.     { 0x0140a000, 0x00000004 },
  866.     { 0x00000043, 0x00000018 },
  867.     { 0x00cce800, 0x00000004 },
  868.     { 0x001b0001, 0x00000004 },
  869.     { 0x08004800, 0x00000004 },
  870.     { 0x001b0001, 0x00000004 },
  871.     { 0x08004800, 0x00000004 },
  872.     { 0x001b0001, 0x00000004 },
  873.     { 0x08004800, 0x00000004 },
  874.     { 0x0000003a, 0x00000008 },
  875.     { 0x0000a000, 0000000000 },
  876.     { 0x2000451d, 0x00000004 },
  877.     { 0x0000e580, 0x00000004 },
  878.     { 0x000ce581, 0x00000004 },
  879.     { 0x08004580, 0x00000004 },
  880.     { 0x000ce581, 0x00000004 },
  881.     { 0x00000047, 0x00000008 },
  882.     { 0x0000a000, 0000000000 },
  883.     { 0x000c2000, 0x00000004 },
  884.     { 0x0000e50e, 0x00000004 },
  885.     { 0x00032000, 0x00000004 },
  886.     { 0x00022051, 0x00000028 },
  887.     { 0x00000051, 0x00000024 },
  888.     { 0x0800450f, 0x00000004 },
  889.     { 0x0000a04b, 0x00000008 },
  890.     { 0x0000e565, 0x00000004 },
  891.     { 0x0000e566, 0x00000004 },
  892.     { 0x00000052, 0x00000008 },
  893.     { 0x03cca5b4, 0x00000004 },
  894.     { 0x05432000, 0x00000004 },
  895.     { 0x00022000, 0x00000004 },
  896.     { 0x4ccce05e, 0x00000030 },
  897.     { 0x08274565, 0x00000004 },
  898.     { 0x0000005e, 0x00000030 },
  899.     { 0x08004564, 0x00000004 },
  900.     { 0x0000e566, 0x00000004 },
  901.     { 0x00000055, 0x00000008 },
  902.     { 0x00802061, 0x00000010 },
  903.     { 0x00202000, 0x00000004 },
  904.     { 0x001b00ff, 0x00000004 },
  905.     { 0x01000064, 0x00000010 },
  906.     { 0x001f2000, 0x00000004 },
  907.     { 0x001c00ff, 0x00000004 },
  908.     { 0000000000, 0x0000000c },
  909.     { 0x00000072, 0x00000030 },
  910.     { 0x00000055, 0x00000008 },
  911.     { 0x0000e576, 0x00000004 },
  912.     { 0x0000e577, 0x00000004 },
  913.     { 0x0000e50e, 0x00000004 },
  914.     { 0x0000e50f, 0x00000004 },
  915.     { 0x0140a000, 0x00000004 },
  916.     { 0x00000069, 0x00000018 },
  917.     { 0x00c0e5f9, 0x000000c2 },
  918.     { 0x00000069, 0x00000008 },
  919.     { 0x0014e50e, 0x00000004 },
  920.     { 0x0040e50f, 0x00000004 },
  921.     { 0x00c0006c, 0x00000008 },
  922.     { 0x0000e570, 0x00000004 },
  923.     { 0x0000e571, 0x00000004 },
  924.     { 0x0000e572, 0x0000000c },
  925.     { 0x0000a000, 0x00000004 },
  926.     { 0x0140a000, 0x00000004 },
  927.     { 0x0000e568, 0x00000004 },
  928.     { 0x000c2000, 0x00000004 },
  929.     { 0x00000076, 0x00000018 },
  930.     { 0x000b0000, 0x00000004 },
  931.     { 0x18c0e562, 0x00000004 },
  932.     { 0x00000078, 0x00000008 },
  933.     { 0x00c00077, 0x00000008 },
  934.     { 0x000700c7, 0x00000004 },
  935.     { 0x00000080, 0x00000038 },
  936.     { 0x0000e5bb, 0x00000004 },
  937.     { 0x0000e5bc, 0000000000 },
  938.     { 0x0000a000, 0x00000004 },
  939.     { 0x0000e821, 0x00000004 },
  940.     { 0x0000e800, 0000000000 },
  941.     { 0x0000e821, 0x00000004 },
  942.     { 0x0000e82e, 0000000000 },
  943.     { 0x02cca000, 0x00000004 },
  944.     { 0x00140000, 0x00000004 },
  945.     { 0x000ce1cc, 0x00000004 },
  946.     { 0x050de1cd, 0x00000004 },
  947.     { 0x00400000, 0x00000004 },
  948.     { 0x0000008f, 0x00000018 },
  949.     { 0x00c0a000, 0x00000004 },
  950.     { 0x0000008c, 0x00000008 },
  951.     { 0x00000091, 0x00000020 },
  952.     { 0x4200e000, 0000000000 },
  953.     { 0x00000098, 0x00000038 },
  954.     { 0x000ca000, 0x00000004 },
  955.     { 0x00140000, 0x00000004 },
  956.     { 0x000c2000, 0x00000004 },
  957.     { 0x00160000, 0x00000004 },
  958.     { 0x700ce000, 0x00000004 },
  959.     { 0x00140094, 0x00000008 },
  960.     { 0x4000e000, 0000000000 },
  961.     { 0x02400000, 0x00000004 },
  962.     { 0x400ee000, 0x00000004 },
  963.     { 0x02400000, 0x00000004 },
  964.     { 0x4000e000, 0000000000 },
  965.     { 0x000c2000, 0x00000004 },
  966.     { 0x0240e51b, 0x00000004 },
  967.     { 0x0080e50a, 0x00000005 },
  968.     { 0x0080e50b, 0x00000005 },
  969.     { 0x00220000, 0x00000004 },
  970.     { 0x000700c7, 0x00000004 },
  971.     { 0x000000a4, 0x00000038 },
  972.     { 0x0080e5bd, 0x00000005 },
  973.     { 0x0000e5bb, 0x00000005 },
  974.     { 0x0080e5bc, 0x00000005 },
  975.     { 0x00210000, 0x00000004 },
  976.     { 0x02800000, 0x00000004 },
  977.     { 0x00c000ab, 0x00000018 },
  978.     { 0x4180e000, 0x00000040 },
  979.     { 0x000000ad, 0x00000024 },
  980.     { 0x01000000, 0x0000000c },
  981.     { 0x0100e51d, 0x0000000c },
  982.     { 0x000045bb, 0x00000004 },
  983.     { 0x000080a7, 0x00000008 },
  984.     { 0x0000f3ce, 0x00000004 },
  985.     { 0x0140a000, 0x00000004 },
  986.     { 0x00cc2000, 0x00000004 },
  987.     { 0x08c053cf, 0x00000040 },
  988.     { 0x00008000, 0000000000 },
  989.     { 0x0000f3d2, 0x00000004 },
  990.     { 0x0140a000, 0x00000004 },
  991.     { 0x00cc2000, 0x00000004 },
  992.     { 0x08c053d3, 0x00000040 },
  993.     { 0x00008000, 0000000000 },
  994.     { 0x0000f39d, 0x00000004 },
  995.     { 0x0140a000, 0x00000004 },
  996.     { 0x00cc2000, 0x00000004 },
  997.     { 0x08c0539e, 0x00000040 },
  998.     { 0x00008000, 0000000000 },
  999.     { 0x03c00830, 0x00000004 },
  1000.     { 0x4200e000, 0000000000 },
  1001.     { 0x0000a000, 0x00000004 },
  1002.     { 0x200045e0, 0x00000004 },
  1003.     { 0x0000e5e1, 0000000000 },
  1004.     { 0x00000001, 0000000000 },
  1005.     { 0x000700c4, 0x00000004 },
  1006.     { 0x0800e394, 0000000000 },
  1007.     { 0000000000, 0000000000 },
  1008.     { 0x0000e8c4, 0x00000004 },
  1009.     { 0x0000e8c5, 0x00000004 },
  1010.     { 0x0000e8c6, 0x00000004 },
  1011.     { 0x0000e928, 0x00000004 },
  1012.     { 0x0000e929, 0x00000004 },
  1013.     { 0x0000e92a, 0x00000004 },
  1014.     { 0x000000c8, 0x00000008 },
  1015.     { 0x0000e928, 0x00000004 },
  1016.     { 0x0000e929, 0x00000004 },
  1017.     { 0x0000e92a, 0x00000004 },
  1018.     { 0x000000cf, 0x00000008 },
  1019.     { 0x02c02000, 0x00000004 },
  1020.     { 0x00060000, 0x00000004 },
  1021.     { 0x000000d7, 0x00000034 },
  1022.     { 0x000000d4, 0x00000008 },
  1023.     { 0x00008000, 0x00000004 },
  1024.     { 0xc000e000, 0000000000 },
  1025.     { 0x0000e1cc, 0x00000004 },
  1026.     { 0x0500e1cd, 0x00000004 },
  1027.     { 0x000ca000, 0x00000004 },
  1028.     { 0x000000de, 0x00000034 },
  1029.     { 0x000000da, 0x00000008 },
  1030.     { 0x0000a000, 0000000000 },
  1031.     { 0x0019e1cc, 0x00000004 },
  1032.     { 0x001b0001, 0x00000004 },
  1033.     { 0x0500a000, 0x00000004 },
  1034.     { 0x080041cd, 0x00000004 },
  1035.     { 0x000ca000, 0x00000004 },
  1036.     { 0x000000fb, 0x00000034 },
  1037.     { 0x0000004a, 0x00000008 },
  1038.     { 0000000000, 0000000000 },
  1039.     { 0000000000, 0000000000 },
  1040.     { 0000000000, 0000000000 },
  1041.     { 0000000000, 0000000000 },
  1042.     { 0000000000, 0000000000 },
  1043.     { 0000000000, 0000000000 },
  1044.     { 0000000000, 0000000000 },
  1045.     { 0000000000, 0000000000 },
  1046.     { 0000000000, 0000000000 },
  1047.     { 0000000000, 0000000000 },
  1048.     { 0000000000, 0000000000 },
  1049.     { 0000000000, 0000000000 },
  1050.     { 0000000000, 0000000000 },
  1051.     { 0000000000, 0000000000 },
  1052.     { 0000000000, 0000000000 },
  1053.     { 0000000000, 0000000000 },
  1054.     { 0x000c2000, 0x00000004 },
  1055.     { 0x001d0018, 0x00000004 },
  1056.     { 0x001a0001, 0x00000004 },
  1057.     { 0x000000fb, 0x00000034 },
  1058.     { 0x0000004a, 0x00000008 },
  1059.     { 0x0500a04a, 0x00000008 },
  1060.     { 0000000000, 0000000000 },
  1061.     { 0000000000, 0000000000 },
  1062.     { 0000000000, 0000000000 },
  1063.     { 0000000000, 0000000000 },
  1064. };
  1065.  
  1066. static const u32 RS600_cp_microcode[][2] = {
  1067.     { 0x4200e000, 0000000000 },
  1068.     { 0x4000e000, 0000000000 },
  1069.     { 0x000000a0, 0x00000008 },
  1070.     { 0x000000a4, 0x00000008 },
  1071.     { 0x4a554b4a, 0000000000 },
  1072.     { 0x4a4a4467, 0000000000 },
  1073.     { 0x55526f75, 0000000000 },
  1074.     { 0x4a7e7d65, 0000000000 },
  1075.     { 0x4ae74af6, 0000000000 },
  1076.     { 0x4ad34a4a, 0000000000 },
  1077.     { 0xd6898989, 0000000000 },
  1078.     { 0xcd4addcf, 0000000000 },
  1079.     { 0x8ebe4ae2, 0000000000 },
  1080.     { 0xc38a8a8a, 0000000000 },
  1081.     { 0x4a0f8cc8, 0000000000 },
  1082.     { 0x000ca000, 0x00000004 },
  1083.     { 0x000d0012, 0x00000038 },
  1084.     { 0x0000e8b4, 0x00000004 },
  1085.     { 0x000d0014, 0x00000038 },
  1086.     { 0x0000e8b6, 0x00000004 },
  1087.     { 0x000d0016, 0x00000038 },
  1088.     { 0x0000e854, 0x00000004 },
  1089.     { 0x000d0018, 0x00000038 },
  1090.     { 0x0000e855, 0x00000004 },
  1091.     { 0x000d001a, 0x00000038 },
  1092.     { 0x0000e856, 0x00000004 },
  1093.     { 0x000d001c, 0x00000038 },
  1094.     { 0x0000e857, 0x00000004 },
  1095.     { 0x000d001e, 0x00000038 },
  1096.     { 0x0000e824, 0x00000004 },
  1097.     { 0x000d0020, 0x00000038 },
  1098.     { 0x0000e825, 0x00000004 },
  1099.     { 0x000d0022, 0x00000038 },
  1100.     { 0x0000e830, 0x00000004 },
  1101.     { 0x000d0024, 0x00000038 },
  1102.     { 0x0000f0c0, 0x00000004 },
  1103.     { 0x000d0026, 0x00000038 },
  1104.     { 0x0000f0c1, 0x00000004 },
  1105.     { 0x000d0028, 0x00000038 },
  1106.     { 0x0000f041, 0x00000004 },
  1107.     { 0x000d002a, 0x00000038 },
  1108.     { 0x0000f184, 0x00000004 },
  1109.     { 0x000d002c, 0x00000038 },
  1110.     { 0x0000f185, 0x00000004 },
  1111.     { 0x000d002e, 0x00000038 },
  1112.     { 0x0000f186, 0x00000004 },
  1113.     { 0x000d0030, 0x00000038 },
  1114.     { 0x0000f187, 0x00000004 },
  1115.     { 0x000d0032, 0x00000038 },
  1116.     { 0x0000f180, 0x00000004 },
  1117.     { 0x000d0034, 0x00000038 },
  1118.     { 0x0000f393, 0x00000004 },
  1119.     { 0x000d0036, 0x00000038 },
  1120.     { 0x0000f38a, 0x00000004 },
  1121.     { 0x000d0038, 0x00000038 },
  1122.     { 0x0000f38e, 0x00000004 },
  1123.     { 0x0000e821, 0x00000004 },
  1124.     { 0x0140a000, 0x00000004 },
  1125.     { 0x00000043, 0x00000018 },
  1126.     { 0x00cce800, 0x00000004 },
  1127.     { 0x001b0001, 0x00000004 },
  1128.     { 0x08004800, 0x00000004 },
  1129.     { 0x001b0001, 0x00000004 },
  1130.     { 0x08004800, 0x00000004 },
  1131.     { 0x001b0001, 0x00000004 },
  1132.     { 0x08004800, 0x00000004 },
  1133.     { 0x0000003a, 0x00000008 },
  1134.     { 0x0000a000, 0000000000 },
  1135.     { 0x2000451d, 0x00000004 },
  1136.     { 0x0000e580, 0x00000004 },
  1137.     { 0x000ce581, 0x00000004 },
  1138.     { 0x08004580, 0x00000004 },
  1139.     { 0x000ce581, 0x00000004 },
  1140.     { 0x00000047, 0x00000008 },
  1141.     { 0x0000a000, 0000000000 },
  1142.     { 0x000c2000, 0x00000004 },
  1143.     { 0x0000e50e, 0x00000004 },
  1144.     { 0x00032000, 0x00000004 },
  1145.     { 0x00022051, 0x00000028 },
  1146.     { 0x00000051, 0x00000024 },
  1147.     { 0x0800450f, 0x00000004 },
  1148.     { 0x0000a04b, 0x00000008 },
  1149.     { 0x0000e565, 0x00000004 },
  1150.     { 0x0000e566, 0x00000004 },
  1151.     { 0x00000052, 0x00000008 },
  1152.     { 0x03cca5b4, 0x00000004 },
  1153.     { 0x05432000, 0x00000004 },
  1154.     { 0x00022000, 0x00000004 },
  1155.     { 0x4ccce05e, 0x00000030 },
  1156.     { 0x08274565, 0x00000004 },
  1157.     { 0x0000005e, 0x00000030 },
  1158.     { 0x08004564, 0x00000004 },
  1159.     { 0x0000e566, 0x00000004 },
  1160.     { 0x00000055, 0x00000008 },
  1161.     { 0x00802061, 0x00000010 },
  1162.     { 0x00202000, 0x00000004 },
  1163.     { 0x001b00ff, 0x00000004 },
  1164.     { 0x01000064, 0x00000010 },
  1165.     { 0x001f2000, 0x00000004 },
  1166.     { 0x001c00ff, 0x00000004 },
  1167.     { 0000000000, 0x0000000c },
  1168.     { 0x00000072, 0x00000030 },
  1169.     { 0x00000055, 0x00000008 },
  1170.     { 0x0000e576, 0x00000004 },
  1171.     { 0x0000e577, 0x00000004 },
  1172.     { 0x0000e50e, 0x00000004 },
  1173.     { 0x0000e50f, 0x00000004 },
  1174.     { 0x0140a000, 0x00000004 },
  1175.     { 0x00000069, 0x00000018 },
  1176.     { 0x00c0e5f9, 0x000000c2 },
  1177.     { 0x00000069, 0x00000008 },
  1178.     { 0x0014e50e, 0x00000004 },
  1179.     { 0x0040e50f, 0x00000004 },
  1180.     { 0x00c0006c, 0x00000008 },
  1181.     { 0x0000e570, 0x00000004 },
  1182.     { 0x0000e571, 0x00000004 },
  1183.     { 0x0000e572, 0x0000000c },
  1184.     { 0x0000a000, 0x00000004 },
  1185.     { 0x0140a000, 0x00000004 },
  1186.     { 0x0000e568, 0x00000004 },
  1187.     { 0x000c2000, 0x00000004 },
  1188.     { 0x00000076, 0x00000018 },
  1189.     { 0x000b0000, 0x00000004 },
  1190.     { 0x18c0e562, 0x00000004 },
  1191.     { 0x00000078, 0x00000008 },
  1192.     { 0x00c00077, 0x00000008 },
  1193.     { 0x000700d5, 0x00000004 },
  1194.     { 0x00000084, 0x00000038 },
  1195.     { 0x000ca086, 0x00000030 },
  1196.     { 0x080045bb, 0x00000004 },
  1197.     { 0x000c2087, 0x00000030 },
  1198.     { 0x0800e5bc, 0000000000 },
  1199.     { 0x0000e5bb, 0x00000004 },
  1200.     { 0x0000e5bc, 0000000000 },
  1201.     { 0x00120000, 0x0000000c },
  1202.     { 0x00120000, 0x00000004 },
  1203.     { 0x001b0002, 0x0000000c },
  1204.     { 0x0000a000, 0x00000004 },
  1205.     { 0x0000e821, 0x00000004 },
  1206.     { 0x0000e800, 0000000000 },
  1207.     { 0x0000e821, 0x00000004 },
  1208.     { 0x0000e82e, 0000000000 },
  1209.     { 0x02cca000, 0x00000004 },
  1210.     { 0x00140000, 0x00000004 },
  1211.     { 0x000ce1cc, 0x00000004 },
  1212.     { 0x050de1cd, 0x00000004 },
  1213.     { 0x00400000, 0x00000004 },
  1214.     { 0x00000096, 0x00000018 },
  1215.     { 0x00c0a000, 0x00000004 },
  1216.     { 0x00000093, 0x00000008 },
  1217.     { 0x00000098, 0x00000020 },
  1218.     { 0x4200e000, 0000000000 },
  1219.     { 0x0000009f, 0x00000038 },
  1220.     { 0x000ca000, 0x00000004 },
  1221.     { 0x00140000, 0x00000004 },
  1222.     { 0x000c2000, 0x00000004 },
  1223.     { 0x00160000, 0x00000004 },
  1224.     { 0x700ce000, 0x00000004 },
  1225.     { 0x0014009b, 0x00000008 },
  1226.     { 0x4000e000, 0000000000 },
  1227.     { 0x02400000, 0x00000004 },
  1228.     { 0x400ee000, 0x00000004 },
  1229.     { 0x02400000, 0x00000004 },
  1230.     { 0x4000e000, 0000000000 },
  1231.     { 0x000c2000, 0x00000004 },
  1232.     { 0x0240e51b, 0x00000004 },
  1233.     { 0x0080e50a, 0x00000005 },
  1234.     { 0x0080e50b, 0x00000005 },
  1235.     { 0x00220000, 0x00000004 },
  1236.     { 0x000700d5, 0x00000004 },
  1237.     { 0x000000b2, 0x00000038 },
  1238.     { 0x000c2087, 0x00000030 },
  1239.     { 0x0880e5bd, 0x00000005 },
  1240.     { 0x000c2086, 0x00000030 },
  1241.     { 0x0800e5bb, 0x00000005 },
  1242.     { 0x000c2087, 0x00000030 },
  1243.     { 0x0880e5bc, 0x00000005 },
  1244.     { 0x000000b5, 0x00000008 },
  1245.     { 0x0080e5bd, 0x00000005 },
  1246.     { 0x0000e5bb, 0x00000005 },
  1247.     { 0x0080e5bc, 0x00000005 },
  1248.     { 0x00210000, 0x00000004 },
  1249.     { 0x02800000, 0x00000004 },
  1250.     { 0x00c000b9, 0x00000018 },
  1251.     { 0x4180e000, 0x00000040 },
  1252.     { 0x000000bb, 0x00000024 },
  1253.     { 0x01000000, 0x0000000c },
  1254.     { 0x0100e51d, 0x0000000c },
  1255.     { 0x000045bb, 0x00000004 },
  1256.     { 0x000080b5, 0x00000008 },
  1257.     { 0x0000f3ce, 0x00000004 },
  1258.     { 0x0140a000, 0x00000004 },
  1259.     { 0x00cc2000, 0x00000004 },
  1260.     { 0x08c053cf, 0x00000040 },
  1261.     { 0x00008000, 0000000000 },
  1262.     { 0x0000f3d2, 0x00000004 },
  1263.     { 0x0140a000, 0x00000004 },
  1264.     { 0x00cc2000, 0x00000004 },
  1265.     { 0x08c053d3, 0x00000040 },
  1266.     { 0x00008000, 0000000000 },
  1267.     { 0x0000f39d, 0x00000004 },
  1268.     { 0x0140a000, 0x00000004 },
  1269.     { 0x00cc2000, 0x00000004 },
  1270.     { 0x08c0539e, 0x00000040 },
  1271.     { 0x00008000, 0000000000 },
  1272.     { 0x03c00830, 0x00000004 },
  1273.     { 0x4200e000, 0000000000 },
  1274.     { 0x0000a000, 0x00000004 },
  1275.     { 0x200045e0, 0x00000004 },
  1276.     { 0x0000e5e1, 0000000000 },
  1277.     { 0x00000001, 0000000000 },
  1278.     { 0x000700d2, 0x00000004 },
  1279.     { 0x0800e394, 0000000000 },
  1280.     { 0000000000, 0000000000 },
  1281.     { 0x0000e8c4, 0x00000004 },
  1282.     { 0x0000e8c5, 0x00000004 },
  1283.     { 0x0000e8c6, 0x00000004 },
  1284.     { 0x0000e928, 0x00000004 },
  1285.     { 0x0000e929, 0x00000004 },
  1286.     { 0x0000e92a, 0x00000004 },
  1287.     { 0x000000d6, 0x00000008 },
  1288.     { 0x0000e928, 0x00000004 },
  1289.     { 0x0000e929, 0x00000004 },
  1290.     { 0x0000e92a, 0x00000004 },
  1291.     { 0x000000dd, 0x00000008 },
  1292.     { 0x00e00116, 0000000000 },
  1293.     { 0x000700e1, 0x00000004 },
  1294.     { 0x0800401c, 0x00000004 },
  1295.     { 0x200050e7, 0x00000004 },
  1296.     { 0x0000e01d, 0x00000004 },
  1297.     { 0x000000e4, 0x00000008 },
  1298.     { 0x02c02000, 0x00000004 },
  1299.     { 0x00060000, 0x00000004 },
  1300.     { 0x000000eb, 0x00000034 },
  1301.     { 0x000000e8, 0x00000008 },
  1302.     { 0x00008000, 0x00000004 },
  1303.     { 0xc000e000, 0000000000 },
  1304.     { 0000000000, 0000000000 },
  1305.     { 0000000000, 0000000000 },
  1306.     { 0000000000, 0000000000 },
  1307.     { 0000000000, 0000000000 },
  1308.     { 0000000000, 0000000000 },
  1309.     { 0000000000, 0000000000 },
  1310.     { 0000000000, 0000000000 },
  1311.     { 0000000000, 0000000000 },
  1312.     { 0000000000, 0000000000 },
  1313.     { 0x000c2000, 0x00000004 },
  1314.     { 0x001d0018, 0x00000004 },
  1315.     { 0x001a0001, 0x00000004 },
  1316.     { 0x000000fb, 0x00000034 },
  1317.     { 0x0000004a, 0x00000008 },
  1318.     { 0x0500a04a, 0x00000008 },
  1319.     { 0000000000, 0000000000 },
  1320.     { 0000000000, 0000000000 },
  1321.     { 0000000000, 0000000000 },
  1322.     { 0000000000, 0000000000 },
  1323. };
  1324.  
  1325. static const u32 RS690_cp_microcode[][2] = {
  1326.     { 0x000000dd, 0x00000008 },
  1327.     { 0x000000df, 0x00000008 },
  1328.     { 0x000000a0, 0x00000008 },
  1329.     { 0x000000a4, 0x00000008 },
  1330.     { 0x4a554b4a, 0000000000 },
  1331.     { 0x4a4a4467, 0000000000 },
  1332.     { 0x55526f75, 0000000000 },
  1333.     { 0x4a7e7d65, 0000000000 },
  1334.     { 0x4ad74af6, 0000000000 },
  1335.     { 0x4ac94a4a, 0000000000 },
  1336.     { 0xcc898989, 0000000000 },
  1337.     { 0xc34ad3c5, 0000000000 },
  1338.     { 0x8e4a4a4a, 0000000000 },
  1339.     { 0x4a8a8a8a, 0000000000 },
  1340.     { 0x4a0f8c4a, 0000000000 },
  1341.     { 0x000ca000, 0x00000004 },
  1342.     { 0x000d0012, 0x00000038 },
  1343.     { 0x0000e8b4, 0x00000004 },
  1344.     { 0x000d0014, 0x00000038 },
  1345.     { 0x0000e8b6, 0x00000004 },
  1346.     { 0x000d0016, 0x00000038 },
  1347.     { 0x0000e854, 0x00000004 },
  1348.     { 0x000d0018, 0x00000038 },
  1349.     { 0x0000e855, 0x00000004 },
  1350.     { 0x000d001a, 0x00000038 },
  1351.     { 0x0000e856, 0x00000004 },
  1352.     { 0x000d001c, 0x00000038 },
  1353.     { 0x0000e857, 0x00000004 },
  1354.     { 0x000d001e, 0x00000038 },
  1355.     { 0x0000e824, 0x00000004 },
  1356.     { 0x000d0020, 0x00000038 },
  1357.     { 0x0000e825, 0x00000004 },
  1358.     { 0x000d0022, 0x00000038 },
  1359.     { 0x0000e830, 0x00000004 },
  1360.     { 0x000d0024, 0x00000038 },
  1361.     { 0x0000f0c0, 0x00000004 },
  1362.     { 0x000d0026, 0x00000038 },
  1363.     { 0x0000f0c1, 0x00000004 },
  1364.     { 0x000d0028, 0x00000038 },
  1365.     { 0x0000f041, 0x00000004 },
  1366.     { 0x000d002a, 0x00000038 },
  1367.     { 0x0000f184, 0x00000004 },
  1368.     { 0x000d002c, 0x00000038 },
  1369.     { 0x0000f185, 0x00000004 },
  1370.     { 0x000d002e, 0x00000038 },
  1371.     { 0x0000f186, 0x00000004 },
  1372.     { 0x000d0030, 0x00000038 },
  1373.     { 0x0000f187, 0x00000004 },
  1374.     { 0x000d0032, 0x00000038 },
  1375.     { 0x0000f180, 0x00000004 },
  1376.     { 0x000d0034, 0x00000038 },
  1377.     { 0x0000f393, 0x00000004 },
  1378.     { 0x000d0036, 0x00000038 },
  1379.     { 0x0000f38a, 0x00000004 },
  1380.     { 0x000d0038, 0x00000038 },
  1381.     { 0x0000f38e, 0x00000004 },
  1382.     { 0x0000e821, 0x00000004 },
  1383.     { 0x0140a000, 0x00000004 },
  1384.     { 0x00000043, 0x00000018 },
  1385.     { 0x00cce800, 0x00000004 },
  1386.     { 0x001b0001, 0x00000004 },
  1387.     { 0x08004800, 0x00000004 },
  1388.     { 0x001b0001, 0x00000004 },
  1389.     { 0x08004800, 0x00000004 },
  1390.     { 0x001b0001, 0x00000004 },
  1391.     { 0x08004800, 0x00000004 },
  1392.     { 0x0000003a, 0x00000008 },
  1393.     { 0x0000a000, 0000000000 },
  1394.     { 0x2000451d, 0x00000004 },
  1395.     { 0x0000e580, 0x00000004 },
  1396.     { 0x000ce581, 0x00000004 },
  1397.     { 0x08004580, 0x00000004 },
  1398.     { 0x000ce581, 0x00000004 },
  1399.     { 0x00000047, 0x00000008 },
  1400.     { 0x0000a000, 0000000000 },
  1401.     { 0x000c2000, 0x00000004 },
  1402.     { 0x0000e50e, 0x00000004 },
  1403.     { 0x00032000, 0x00000004 },
  1404.     { 0x00022051, 0x00000028 },
  1405.     { 0x00000051, 0x00000024 },
  1406.     { 0x0800450f, 0x00000004 },
  1407.     { 0x0000a04b, 0x00000008 },
  1408.     { 0x0000e565, 0x00000004 },
  1409.     { 0x0000e566, 0x00000004 },
  1410.     { 0x00000052, 0x00000008 },
  1411.     { 0x03cca5b4, 0x00000004 },
  1412.     { 0x05432000, 0x00000004 },
  1413.     { 0x00022000, 0x00000004 },
  1414.     { 0x4ccce05e, 0x00000030 },
  1415.     { 0x08274565, 0x00000004 },
  1416.     { 0x0000005e, 0x00000030 },
  1417.     { 0x08004564, 0x00000004 },
  1418.     { 0x0000e566, 0x00000004 },
  1419.     { 0x00000055, 0x00000008 },
  1420.     { 0x00802061, 0x00000010 },
  1421.     { 0x00202000, 0x00000004 },
  1422.     { 0x001b00ff, 0x00000004 },
  1423.     { 0x01000064, 0x00000010 },
  1424.     { 0x001f2000, 0x00000004 },
  1425.     { 0x001c00ff, 0x00000004 },
  1426.     { 0000000000, 0x0000000c },
  1427.     { 0x00000072, 0x00000030 },
  1428.     { 0x00000055, 0x00000008 },
  1429.     { 0x0000e576, 0x00000004 },
  1430.     { 0x0000e577, 0x00000004 },
  1431.     { 0x0000e50e, 0x00000004 },
  1432.     { 0x0000e50f, 0x00000004 },
  1433.     { 0x0140a000, 0x00000004 },
  1434.     { 0x00000069, 0x00000018 },
  1435.     { 0x00c0e5f9, 0x000000c2 },
  1436.     { 0x00000069, 0x00000008 },
  1437.     { 0x0014e50e, 0x00000004 },
  1438.     { 0x0040e50f, 0x00000004 },
  1439.     { 0x00c0006c, 0x00000008 },
  1440.     { 0x0000e570, 0x00000004 },
  1441.     { 0x0000e571, 0x00000004 },
  1442.     { 0x0000e572, 0x0000000c },
  1443.     { 0x0000a000, 0x00000004 },
  1444.     { 0x0140a000, 0x00000004 },
  1445.     { 0x0000e568, 0x00000004 },
  1446.     { 0x000c2000, 0x00000004 },
  1447.     { 0x00000076, 0x00000018 },
  1448.     { 0x000b0000, 0x00000004 },
  1449.     { 0x18c0e562, 0x00000004 },
  1450.     { 0x00000078, 0x00000008 },
  1451.     { 0x00c00077, 0x00000008 },
  1452.     { 0x000700cb, 0x00000004 },
  1453.     { 0x00000084, 0x00000038 },
  1454.     { 0x000ca086, 0x00000030 },
  1455.     { 0x080045bb, 0x00000004 },
  1456.     { 0x000c2087, 0x00000030 },
  1457.     { 0x0800e5bc, 0000000000 },
  1458.     { 0x0000e5bb, 0x00000004 },
  1459.     { 0x0000e5bc, 0000000000 },
  1460.     { 0x00120000, 0x0000000c },
  1461.     { 0x00120000, 0x00000004 },
  1462.     { 0x001b0002, 0x0000000c },
  1463.     { 0x0000a000, 0x00000004 },
  1464.     { 0x0000e821, 0x00000004 },
  1465.     { 0x0000e800, 0000000000 },
  1466.     { 0x0000e821, 0x00000004 },
  1467.     { 0x0000e82e, 0000000000 },
  1468.     { 0x02cca000, 0x00000004 },
  1469.     { 0x00140000, 0x00000004 },
  1470.     { 0x000ce1cc, 0x00000004 },
  1471.     { 0x050de1cd, 0x00000004 },
  1472.     { 0x00400000, 0x00000004 },
  1473.     { 0x00000096, 0x00000018 },
  1474.     { 0x00c0a000, 0x00000004 },
  1475.     { 0x00000093, 0x00000008 },
  1476.     { 0x00000098, 0x00000020 },
  1477.     { 0x4200e000, 0000000000 },
  1478.     { 0x0000009f, 0x00000038 },
  1479.     { 0x000ca000, 0x00000004 },
  1480.     { 0x00140000, 0x00000004 },
  1481.     { 0x000c2000, 0x00000004 },
  1482.     { 0x00160000, 0x00000004 },
  1483.     { 0x700ce000, 0x00000004 },
  1484.     { 0x0014009b, 0x00000008 },
  1485.     { 0x4000e000, 0000000000 },
  1486.     { 0x02400000, 0x00000004 },
  1487.     { 0x400ee000, 0x00000004 },
  1488.     { 0x02400000, 0x00000004 },
  1489.     { 0x4000e000, 0000000000 },
  1490.     { 0x00100000, 0x0000002c },
  1491.     { 0x00004000, 0000000000 },
  1492.     { 0x080045c8, 0x00000004 },
  1493.     { 0x00240005, 0x00000004 },
  1494.     { 0x08004d0b, 0x00000004 },
  1495.     { 0x000c2000, 0x00000004 },
  1496.     { 0x0240e51b, 0x00000004 },
  1497.     { 0x0080e50a, 0x00000005 },
  1498.     { 0x0080e50b, 0x00000005 },
  1499.     { 0x00220000, 0x00000004 },
  1500.     { 0x000700cb, 0x00000004 },
  1501.     { 0x000000b7, 0x00000038 },
  1502.     { 0x000c2087, 0x00000030 },
  1503.     { 0x0880e5bd, 0x00000005 },
  1504.     { 0x000c2086, 0x00000030 },
  1505.     { 0x0800e5bb, 0x00000005 },
  1506.     { 0x000c2087, 0x00000030 },
  1507.     { 0x0880e5bc, 0x00000005 },
  1508.     { 0x000000ba, 0x00000008 },
  1509.     { 0x0080e5bd, 0x00000005 },
  1510.     { 0x0000e5bb, 0x00000005 },
  1511.     { 0x0080e5bc, 0x00000005 },
  1512.     { 0x00210000, 0x00000004 },
  1513.     { 0x02800000, 0x00000004 },
  1514.     { 0x00c000be, 0x00000018 },
  1515.     { 0x4180e000, 0x00000040 },
  1516.     { 0x000000c0, 0x00000024 },
  1517.     { 0x01000000, 0x0000000c },
  1518.     { 0x0100e51d, 0x0000000c },
  1519.     { 0x000045bb, 0x00000004 },
  1520.     { 0x000080ba, 0x00000008 },
  1521.     { 0x03c00830, 0x00000004 },
  1522.     { 0x4200e000, 0000000000 },
  1523.     { 0x0000a000, 0x00000004 },
  1524.     { 0x200045e0, 0x00000004 },
  1525.     { 0x0000e5e1, 0000000000 },
  1526.     { 0x00000001, 0000000000 },
  1527.     { 0x000700c8, 0x00000004 },
  1528.     { 0x0800e394, 0000000000 },
  1529.     { 0000000000, 0000000000 },
  1530.     { 0x0000e8c4, 0x00000004 },
  1531.     { 0x0000e8c5, 0x00000004 },
  1532.     { 0x0000e8c6, 0x00000004 },
  1533.     { 0x0000e928, 0x00000004 },
  1534.     { 0x0000e929, 0x00000004 },
  1535.     { 0x0000e92a, 0x00000004 },
  1536.     { 0x000000cc, 0x00000008 },
  1537.     { 0x0000e928, 0x00000004 },
  1538.     { 0x0000e929, 0x00000004 },
  1539.     { 0x0000e92a, 0x00000004 },
  1540.     { 0x000000d3, 0x00000008 },
  1541.     { 0x02c02000, 0x00000004 },
  1542.     { 0x00060000, 0x00000004 },
  1543.     { 0x000000db, 0x00000034 },
  1544.     { 0x000000d8, 0x00000008 },
  1545.     { 0x00008000, 0x00000004 },
  1546.     { 0xc000e000, 0000000000 },
  1547.     { 0x000000e1, 0x00000030 },
  1548.     { 0x4200e000, 0000000000 },
  1549.     { 0x000000e1, 0x00000030 },
  1550.     { 0x4000e000, 0000000000 },
  1551.     { 0x0025001b, 0x00000004 },
  1552.     { 0x00230000, 0x00000004 },
  1553.     { 0x00250005, 0x00000004 },
  1554.     { 0x000000e6, 0x00000034 },
  1555.     { 0000000000, 0x0000000c },
  1556.     { 0x00244000, 0x00000004 },
  1557.     { 0x080045c8, 0x00000004 },
  1558.     { 0x00240005, 0x00000004 },
  1559.     { 0x08004d0b, 0x0000000c },
  1560.     { 0000000000, 0000000000 },
  1561.     { 0000000000, 0000000000 },
  1562.     { 0000000000, 0000000000 },
  1563.     { 0000000000, 0000000000 },
  1564.     { 0000000000, 0000000000 },
  1565.     { 0000000000, 0000000000 },
  1566.     { 0000000000, 0000000000 },
  1567.     { 0000000000, 0000000000 },
  1568.     { 0000000000, 0000000000 },
  1569.     { 0000000000, 0000000000 },
  1570.     { 0000000000, 0000000000 },
  1571.     { 0000000000, 0000000000 },
  1572.     { 0x000c2000, 0x00000004 },
  1573.     { 0x001d0018, 0x00000004 },
  1574.     { 0x001a0001, 0x00000004 },
  1575.     { 0x000000fb, 0x00000034 },
  1576.     { 0x0000004a, 0x00000008 },
  1577.     { 0x0500a04a, 0x00000008 },
  1578.     { 0000000000, 0000000000 },
  1579.     { 0000000000, 0000000000 },
  1580.     { 0000000000, 0000000000 },
  1581.     { 0000000000, 0000000000 },
  1582. };
  1583.  
  1584. static const u32 R520_cp_microcode[][2] = {
  1585.     { 0x4200e000, 0000000000 },
  1586.     { 0x4000e000, 0000000000 },
  1587.     { 0x00000099, 0x00000008 },
  1588.     { 0x0000009d, 0x00000008 },
  1589.     { 0x4a554b4a, 0000000000 },
  1590.     { 0x4a4a4467, 0000000000 },
  1591.     { 0x55526f75, 0000000000 },
  1592.     { 0x4a7e7d65, 0000000000 },
  1593.     { 0xe0dae6f6, 0000000000 },
  1594.     { 0x4ac54a4a, 0000000000 },
  1595.     { 0xc8828282, 0000000000 },
  1596.     { 0xbf4acfc1, 0000000000 },
  1597.     { 0x87b04ad5, 0000000000 },
  1598.     { 0xb5838383, 0000000000 },
  1599.     { 0x4a0f85ba, 0000000000 },
  1600.     { 0x000ca000, 0x00000004 },
  1601.     { 0x000d0012, 0x00000038 },
  1602.     { 0x0000e8b4, 0x00000004 },
  1603.     { 0x000d0014, 0x00000038 },
  1604.     { 0x0000e8b6, 0x00000004 },
  1605.     { 0x000d0016, 0x00000038 },
  1606.     { 0x0000e854, 0x00000004 },
  1607.     { 0x000d0018, 0x00000038 },
  1608.     { 0x0000e855, 0x00000004 },
  1609.     { 0x000d001a, 0x00000038 },
  1610.     { 0x0000e856, 0x00000004 },
  1611.     { 0x000d001c, 0x00000038 },
  1612.     { 0x0000e857, 0x00000004 },
  1613.     { 0x000d001e, 0x00000038 },
  1614.     { 0x0000e824, 0x00000004 },
  1615.     { 0x000d0020, 0x00000038 },
  1616.     { 0x0000e825, 0x00000004 },
  1617.     { 0x000d0022, 0x00000038 },
  1618.     { 0x0000e830, 0x00000004 },
  1619.     { 0x000d0024, 0x00000038 },
  1620.     { 0x0000f0c0, 0x00000004 },
  1621.     { 0x000d0026, 0x00000038 },
  1622.     { 0x0000f0c1, 0x00000004 },
  1623.     { 0x000d0028, 0x00000038 },
  1624.     { 0x0000e000, 0x00000004 },
  1625.     { 0x000d002a, 0x00000038 },
  1626.     { 0x0000e000, 0x00000004 },
  1627.     { 0x000d002c, 0x00000038 },
  1628.     { 0x0000e000, 0x00000004 },
  1629.     { 0x000d002e, 0x00000038 },
  1630.     { 0x0000e000, 0x00000004 },
  1631.     { 0x000d0030, 0x00000038 },
  1632.     { 0x0000e000, 0x00000004 },
  1633.     { 0x000d0032, 0x00000038 },
  1634.     { 0x0000f180, 0x00000004 },
  1635.     { 0x000d0034, 0x00000038 },
  1636.     { 0x0000f393, 0x00000004 },
  1637.     { 0x000d0036, 0x00000038 },
  1638.     { 0x0000f38a, 0x00000004 },
  1639.     { 0x000d0038, 0x00000038 },
  1640.     { 0x0000f38e, 0x00000004 },
  1641.     { 0x0000e821, 0x00000004 },
  1642.     { 0x0140a000, 0x00000004 },
  1643.     { 0x00000043, 0x00000018 },
  1644.     { 0x00cce800, 0x00000004 },
  1645.     { 0x001b0001, 0x00000004 },
  1646.     { 0x08004800, 0x00000004 },
  1647.     { 0x001b0001, 0x00000004 },
  1648.     { 0x08004800, 0x00000004 },
  1649.     { 0x001b0001, 0x00000004 },
  1650.     { 0x08004800, 0x00000004 },
  1651.     { 0x0000003a, 0x00000008 },
  1652.     { 0x0000a000, 0000000000 },
  1653.     { 0x2000451d, 0x00000004 },
  1654.     { 0x0000e580, 0x00000004 },
  1655.     { 0x000ce581, 0x00000004 },
  1656.     { 0x08004580, 0x00000004 },
  1657.     { 0x000ce581, 0x00000004 },
  1658.     { 0x00000047, 0x00000008 },
  1659.     { 0x0000a000, 0000000000 },
  1660.     { 0x000c2000, 0x00000004 },
  1661.     { 0x0000e50e, 0x00000004 },
  1662.     { 0x00032000, 0x00000004 },
  1663.     { 0x00022051, 0x00000028 },
  1664.     { 0x00000051, 0x00000024 },
  1665.     { 0x0800450f, 0x00000004 },
  1666.     { 0x0000a04b, 0x00000008 },
  1667.     { 0x0000e565, 0x00000004 },
  1668.     { 0x0000e566, 0x00000004 },
  1669.     { 0x00000052, 0x00000008 },
  1670.     { 0x03cca5b4, 0x00000004 },
  1671.     { 0x05432000, 0x00000004 },
  1672.     { 0x00022000, 0x00000004 },
  1673.     { 0x4ccce05e, 0x00000030 },
  1674.     { 0x08274565, 0x00000004 },
  1675.     { 0x0000005e, 0x00000030 },
  1676.     { 0x08004564, 0x00000004 },
  1677.     { 0x0000e566, 0x00000004 },
  1678.     { 0x00000055, 0x00000008 },
  1679.     { 0x00802061, 0x00000010 },
  1680.     { 0x00202000, 0x00000004 },
  1681.     { 0x001b00ff, 0x00000004 },
  1682.     { 0x01000064, 0x00000010 },
  1683.     { 0x001f2000, 0x00000004 },
  1684.     { 0x001c00ff, 0x00000004 },
  1685.     { 0000000000, 0x0000000c },
  1686.     { 0x00000072, 0x00000030 },
  1687.     { 0x00000055, 0x00000008 },
  1688.     { 0x0000e576, 0x00000004 },
  1689.     { 0x0000e577, 0x00000004 },
  1690.     { 0x0000e50e, 0x00000004 },
  1691.     { 0x0000e50f, 0x00000004 },
  1692.     { 0x0140a000, 0x00000004 },
  1693.     { 0x00000069, 0x00000018 },
  1694.     { 0x00c0e5f9, 0x000000c2 },
  1695.     { 0x00000069, 0x00000008 },
  1696.     { 0x0014e50e, 0x00000004 },
  1697.     { 0x0040e50f, 0x00000004 },
  1698.     { 0x00c0006c, 0x00000008 },
  1699.     { 0x0000e570, 0x00000004 },
  1700.     { 0x0000e571, 0x00000004 },
  1701.     { 0x0000e572, 0x0000000c },
  1702.     { 0x0000a000, 0x00000004 },
  1703.     { 0x0140a000, 0x00000004 },
  1704.     { 0x0000e568, 0x00000004 },
  1705.     { 0x000c2000, 0x00000004 },
  1706.     { 0x00000076, 0x00000018 },
  1707.     { 0x000b0000, 0x00000004 },
  1708.     { 0x18c0e562, 0x00000004 },
  1709.     { 0x00000078, 0x00000008 },
  1710.     { 0x00c00077, 0x00000008 },
  1711.     { 0x000700c7, 0x00000004 },
  1712.     { 0x00000080, 0x00000038 },
  1713.     { 0x0000e5bb, 0x00000004 },
  1714.     { 0x0000e5bc, 0000000000 },
  1715.     { 0x0000a000, 0x00000004 },
  1716.     { 0x0000e821, 0x00000004 },
  1717.     { 0x0000e800, 0000000000 },
  1718.     { 0x0000e821, 0x00000004 },
  1719.     { 0x0000e82e, 0000000000 },
  1720.     { 0x02cca000, 0x00000004 },
  1721.     { 0x00140000, 0x00000004 },
  1722.     { 0x000ce1cc, 0x00000004 },
  1723.     { 0x050de1cd, 0x00000004 },
  1724.     { 0x00400000, 0x00000004 },
  1725.     { 0x0000008f, 0x00000018 },
  1726.     { 0x00c0a000, 0x00000004 },
  1727.     { 0x0000008c, 0x00000008 },
  1728.     { 0x00000091, 0x00000020 },
  1729.     { 0x4200e000, 0000000000 },
  1730.     { 0x00000098, 0x00000038 },
  1731.     { 0x000ca000, 0x00000004 },
  1732.     { 0x00140000, 0x00000004 },
  1733.     { 0x000c2000, 0x00000004 },
  1734.     { 0x00160000, 0x00000004 },
  1735.     { 0x700ce000, 0x00000004 },
  1736.     { 0x00140094, 0x00000008 },
  1737.     { 0x4000e000, 0000000000 },
  1738.     { 0x02400000, 0x00000004 },
  1739.     { 0x400ee000, 0x00000004 },
  1740.     { 0x02400000, 0x00000004 },
  1741.     { 0x4000e000, 0000000000 },
  1742.     { 0x000c2000, 0x00000004 },
  1743.     { 0x0240e51b, 0x00000004 },
  1744.     { 0x0080e50a, 0x00000005 },
  1745.     { 0x0080e50b, 0x00000005 },
  1746.     { 0x00220000, 0x00000004 },
  1747.     { 0x000700c7, 0x00000004 },
  1748.     { 0x000000a4, 0x00000038 },
  1749.     { 0x0080e5bd, 0x00000005 },
  1750.     { 0x0000e5bb, 0x00000005 },
  1751.     { 0x0080e5bc, 0x00000005 },
  1752.     { 0x00210000, 0x00000004 },
  1753.     { 0x02800000, 0x00000004 },
  1754.     { 0x00c000ab, 0x00000018 },
  1755.     { 0x4180e000, 0x00000040 },
  1756.     { 0x000000ad, 0x00000024 },
  1757.     { 0x01000000, 0x0000000c },
  1758.     { 0x0100e51d, 0x0000000c },
  1759.     { 0x000045bb, 0x00000004 },
  1760.     { 0x000080a7, 0x00000008 },
  1761.     { 0x0000f3ce, 0x00000004 },
  1762.     { 0x0140a000, 0x00000004 },
  1763.     { 0x00cc2000, 0x00000004 },
  1764.     { 0x08c053cf, 0x00000040 },
  1765.     { 0x00008000, 0000000000 },
  1766.     { 0x0000f3d2, 0x00000004 },
  1767.     { 0x0140a000, 0x00000004 },
  1768.     { 0x00cc2000, 0x00000004 },
  1769.     { 0x08c053d3, 0x00000040 },
  1770.     { 0x00008000, 0000000000 },
  1771.     { 0x0000f39d, 0x00000004 },
  1772.     { 0x0140a000, 0x00000004 },
  1773.     { 0x00cc2000, 0x00000004 },
  1774.     { 0x08c0539e, 0x00000040 },
  1775.     { 0x00008000, 0000000000 },
  1776.     { 0x03c00830, 0x00000004 },
  1777.     { 0x4200e000, 0000000000 },
  1778.     { 0x0000a000, 0x00000004 },
  1779.     { 0x200045e0, 0x00000004 },
  1780.     { 0x0000e5e1, 0000000000 },
  1781.     { 0x00000001, 0000000000 },
  1782.     { 0x000700c4, 0x00000004 },
  1783.     { 0x0800e394, 0000000000 },
  1784.     { 0000000000, 0000000000 },
  1785.     { 0x0000e8c4, 0x00000004 },
  1786.     { 0x0000e8c5, 0x00000004 },
  1787.     { 0x0000e8c6, 0x00000004 },
  1788.     { 0x0000e928, 0x00000004 },
  1789.     { 0x0000e929, 0x00000004 },
  1790.     { 0x0000e92a, 0x00000004 },
  1791.     { 0x000000c8, 0x00000008 },
  1792.     { 0x0000e928, 0x00000004 },
  1793.     { 0x0000e929, 0x00000004 },
  1794.     { 0x0000e92a, 0x00000004 },
  1795.     { 0x000000cf, 0x00000008 },
  1796.     { 0xdeadbeef, 0000000000 },
  1797.     { 0x00000116, 0000000000 },
  1798.     { 0x000700d3, 0x00000004 },
  1799.     { 0x080050e7, 0x00000004 },
  1800.     { 0x000700d4, 0x00000004 },
  1801.     { 0x0800401c, 0x00000004 },
  1802.     { 0x0000e01d, 0000000000 },
  1803.     { 0x02c02000, 0x00000004 },
  1804.     { 0x00060000, 0x00000004 },
  1805.     { 0x000000de, 0x00000034 },
  1806.     { 0x000000db, 0x00000008 },
  1807.     { 0x00008000, 0x00000004 },
  1808.     { 0xc000e000, 0000000000 },
  1809.     { 0x0000e1cc, 0x00000004 },
  1810.     { 0x0500e1cd, 0x00000004 },
  1811.     { 0x000ca000, 0x00000004 },
  1812.     { 0x000000e5, 0x00000034 },
  1813.     { 0x000000e1, 0x00000008 },
  1814.     { 0x0000a000, 0000000000 },
  1815.     { 0x0019e1cc, 0x00000004 },
  1816.     { 0x001b0001, 0x00000004 },
  1817.     { 0x0500a000, 0x00000004 },
  1818.     { 0x080041cd, 0x00000004 },
  1819.     { 0x000ca000, 0x00000004 },
  1820.     { 0x000000fb, 0x00000034 },
  1821.     { 0x0000004a, 0x00000008 },
  1822.     { 0000000000, 0000000000 },
  1823.     { 0000000000, 0000000000 },
  1824.     { 0000000000, 0000000000 },
  1825.     { 0000000000, 0000000000 },
  1826.     { 0000000000, 0000000000 },
  1827.     { 0000000000, 0000000000 },
  1828.     { 0000000000, 0000000000 },
  1829.     { 0000000000, 0000000000 },
  1830.     { 0000000000, 0000000000 },
  1831.     { 0x000c2000, 0x00000004 },
  1832.     { 0x001d0018, 0x00000004 },
  1833.     { 0x001a0001, 0x00000004 },
  1834.     { 0x000000fb, 0x00000034 },
  1835.     { 0x0000004a, 0x00000008 },
  1836.     { 0x0500a04a, 0x00000008 },
  1837.     { 0000000000, 0000000000 },
  1838.     { 0000000000, 0000000000 },
  1839.     { 0000000000, 0000000000 },
  1840.     { 0000000000, 0000000000 },
  1841. };
  1842.  
  1843.  
  1844. #endif
  1845.