switch (nv_device(priv)->chipset) {
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
        switch (nv_device(priv)->chipset) {
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x404174, 0x00000000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x405800, 0x078000bf);
                nv_wr32(priv, 0x405830, 0x02180000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                break;
        }
        switch (nv_device(priv)->chipset) {
        case 0xc0:
        case 0xc3:
+       case 0xc4:
                nv_wr32(priv, 0x408808, 0x0003e00d);
                nv_wr32(priv, 0x408900, 0x3080b801);
                nv_wr32(priv, 0x408904, 0x02000001);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x418408, 0x00000000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x418414, 0x00200fff);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x41870c, 0x07c80000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x418800, 0x0006860a);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x418830, 0x00000001);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x4188fc, 0x00100000);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x418b00, 0x00000000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                break;
        }
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x419864, 0x0000012a);
                break;
        case 0xc0:
                break;
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x419a1c, 0x00000000);
                nv_wr32(priv, 0x00419ac4, 0x0017f440);
                break;
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x00419ac4, 0x0007f440);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x419be0, 0x00000001);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x419c00, 0x00000002);
        nv_wr32(priv, 0x419c20, 0x00000000);
        switch (nv_device(priv)->chipset) {
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xce:
        case 0xcf:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x419d20, 0x02180000);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                break;
        }
                nv_wr32(priv, 0x419ee0, 0x00010110);
                break;
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x419ee0, 0x00011110);
                nv_wr32(priv, 0x419f54, 0x00000000);
                break;
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
                break;
        default:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                break;
        }
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
        switch (nv_device(priv)->chipset) {
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
                nv_mthd(priv, 0x902d, 0x3410, 0x00000000);
                break;
 
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
        nv_wr32(priv, 0x405850, 0x00000000);
        switch (nv_device(priv)->chipset) {
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x418714, 0x80000000);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x4188c8, 0x80000000);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x418e00, 0x00000050);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
        nv_wr32(priv, 0x419ab0, 0x00000000);
        switch (nv_device(priv)->chipset) {
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x41980c, 0x00000000);
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        default:
                nv_wr32(priv, 0x419814, 0x00000000);
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x41984c, 0x00005bc5);
        nv_wr32(priv, 0x41985c, 0x00000000);
        switch (nv_device(priv)->chipset) {
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                break;
                break;
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        default:
                nv_wr32(priv, 0x419ea8, 0x00001100);
        nv_wr32(priv, 0x419ec0, 0x00000000);
        switch (nv_device(priv)->chipset) {
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7:
        switch (nv_device(priv)->chipset) {
        case 0xc0:
        case 0xc3:
+       case 0xc4:
        case 0xc1:
        case 0xd9:
        case 0xd7: