/* SPDX-License-Identifier: MIT */
static uint32_t gm107_grhub_data[] = {
/* 0x0000: hub_mmio_list_head */
	0x00000300,
/* 0x0004: hub_mmio_list_tail */
	0x00000304,
/* 0x0008: gpc_count */
	0x00000000,
/* 0x000c: rop_count */
	0x00000000,
/* 0x0010: cmd_queue */
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
/* 0x0058: ctx_current */
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
/* 0x0100: chan_data */
/* 0x0100: chan_mmio_count */
	0x00000000,
/* 0x0104: chan_mmio_address */
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
/* 0x0200: xfer_data */
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
/* 0x0300: hub_mmio_list_base */
	0x0417e91c,
};

static uint32_t gm107_grhub_code[] = {
	0x030e0ef5,
/* 0x0004: queue_put */
	0x9800d898,
	0x86f001d9,
	0xf489a408,
	0x020f0b1b,
	0x0002f87e,
/* 0x001a: queue_put_next */
	0x98c400f8,
	0x0384b607,
	0xb6008dbb,
	0x8eb50880,
	0x018fb500,
	0xf00190b6,
	0xd9b50f94,
/* 0x0037: queue_get */
	0xf400f801,
	0xd8980131,
	0x01d99800,
	0x0bf489a4,
	0x0789c421,
	0xbb0394b6,
	0x90b6009d,
	0x009e9808,
	0xb6019f98,
	0x84f00180,
	0x00d8b50f,
/* 0x0063: queue_get_done */
	0xf80132f4,
/* 0x0065: nv_rd32 */
	0xf0ecb200,
	0x00801fc9,
	0x0cf601ca,
/* 0x0073: nv_rd32_wait */
	0x8c04bd00,
	0xcf01ca00,
	0xccc800cc,
	0xf61bf41f,
	0xec7e060a,
	0x008f0000,
	0xffcf01cb,
/* 0x008f: nv_wr32 */
	0x8000f800,
	0xf601cc00,
	0x04bd000f,
	0xc9f0ecb2,
	0x1ec9f01f,
	0x01ca0080,
	0xbd000cf6,
/* 0x00a9: nv_wr32_wait */
	0xca008c04,
	0x00cccf01,
	0xf41fccc8,
	0x00f8f61b,
/* 0x00b8: wait_donez */
	0x99f094bd,
	0x37008000,
	0x0009f602,
	0x008004bd,
	0x0af60206,
/* 0x00cf: wait_donez_ne */
	0x8804bd00,
	0xcf010000,
	0x8aff0088,
	0xf61bf488,
	0x99f094bd,
	0x17008000,
	0x0009f602,
	0x00f804bd,
/* 0x00ec: wait_doneo */
	0x99f094bd,
	0x37008000,
	0x0009f602,
	0x008004bd,
	0x0af60206,
/* 0x0103: wait_doneo_e */
	0x8804bd00,
	0xcf010000,
	0x8aff0088,
	0xf60bf488,
	0x99f094bd,
	0x17008000,
	0x0009f602,
	0x00f804bd,
/* 0x0120: mmctx_size */
/* 0x0122: nv_mmctx_size_loop */
	0xe89894bd,
	0x1a85b600,
	0xb60180b6,
	0x98bb0284,
	0x04e0b600,
	0x1bf4efa4,
	0xf89fb2ec,
/* 0x013d: mmctx_xfer */
	0xf094bd00,
	0x00800199,
	0x09f60237,
	0xbd04bd00,
	0x05bbfd94,
	0x800f0bf4,
	0xf601c400,
	0x04bd000b,
/* 0x015f: mmctx_base_disabled */
	0xfd0099f0,
	0x0bf405ee,
	0xc6008018,
	0x000ef601,
	0x008004bd,
	0x0ff601c7,
	0xf004bd00,
/* 0x017a: mmctx_multi_disabled */
	0xabc80199,
	0x10b4b600,
	0xc80cb9f0,
	0xe4b601ae,
	0x05befd11,
	0x01c50080,
	0xbd000bf6,
/* 0x0195: mmctx_exec_loop */
/* 0x0195: mmctx_wait_free */
	0xc5008e04,
	0x00eecf01,
	0xf41fe4f0,
	0xce98f60b,
	0x05e9fd00,
	0x01c80080,
	0xbd000ef6,
	0x04c0b604,
	0x1bf4cda4,
	0x02abc8df,
/* 0x01bf: mmctx_fini_wait */
	0x8b1c1bf4,
	0xcf01c500,
	0xb4f000bb,
	0x10b4b01f,
	0x0af31bf4,
	0x00b87e05,
	0x250ef400,
/* 0x01d8: mmctx_stop */
	0xb600abc8,
	0xb9f010b4,
	0x12b9f00c,
	0x01c50080,
	0xbd000bf6,
/* 0x01ed: mmctx_stop_wait */
	0xc5008b04,
	0x00bbcf01,
	0xf412bbc8,
/* 0x01fa: mmctx_done */
	0x94bdf61b,
	0x800199f0,
	0xf6021700,
	0x04bd0009,
/* 0x020a: strand_wait */
	0xa0f900f8,
	0xb87e020a,
	0xa0fc0000,
/* 0x0216: strand_pre */
	0x0c0900f8,
	0x024afc80,
	0xbd0009f6,
	0x020a7e04,
/* 0x0227: strand_post */
	0x0900f800,
	0x4afc800d,
	0x0009f602,
	0x0a7e04bd,
	0x00f80002,
/* 0x0238: strand_set */
	0xfc800f0c,
	0x0cf6024f,
	0x0c04bd00,
	0x4afc800b,
	0x000cf602,
	0xfc8004bd,
	0x0ef6024f,
	0x0c04bd00,
	0x4afc800a,
	0x000cf602,
	0x0a7e04bd,
	0x00f80002,
/* 0x0268: strand_ctx_init */
	0x99f094bd,
	0x37008003,
	0x0009f602,
	0x167e04bd,
	0x030e0002,
	0x0002387e,
	0xfc80c4bd,
	0x0cf60247,
	0x0c04bd00,
	0x4afc8001,
	0x000cf602,
	0x0a7e04bd,
	0x0c920002,
	0x46fc8001,
	0x000cf602,
	0x020c04bd,
	0x024afc80,
	0xbd000cf6,
	0x020a7e04,
	0x02277e00,
	0x42008800,
	0x20008902,
	0x0099cf02,
/* 0x02c7: ctx_init_strand_loop */
	0xf608fe95,
	0x8ef6008e,
	0x808acf40,
	0xb606a5b6,
	0xeabb01a0,
	0x0480b600,
	0xf40192b6,
	0xe4b6e81b,
	0xf2efbc08,
	0x99f094bd,
	0x17008003,
	0x0009f602,
	0x00f804bd,
/* 0x02f8: error */
	0x02050080,
	0xbd000ff6,
	0x80010f04,
	0xf6030700,
	0x04bd000f,
/* 0x030e: init */
	0x04bd00f8,
	0x410007fe,
	0x11cf4200,
	0x0911e700,
	0x0814b601,
	0x020014fe,
	0x12004002,
	0xbd0002f6,
	0x05ca4104,
	0xbd0010fe,
	0x07004024,
	0xbd0002f6,
	0x20034204,
	0x01010080,
	0xbd0002f6,
	0x20044204,
	0x01010480,
	0xbd0002f6,
	0x200b4204,
	0x01010880,
	0xbd0002f6,
	0x200c4204,
	0x01011c80,
	0xbd0002f6,
	0x01039204,
	0x03090080,
	0xbd0003f6,
	0x87048204,
	0x04004000,
	0xbd0002f6,
	0x40040204,
	0x02f60300,
	0xf404bd00,
	0x048e1031,
	0x657e4096,
	0xfeb20000,
	0xb590f1c7,
	0xf4f00301,
	0x020fb51f,
	0x1fbb0101,
	0x0112b604,
	0x01030080,
	0xbd0001f6,
	0x04008004,
	0x0001f601,
	0x004104bd,
	0x7e020f01,
	0x7e0006ad,
	0x0f0006bc,
	0x06fe7e10,
	0x000e9800,
	0x7e010f98,
	0x95000120,
	0x00800814,
	0x04f601c0,
	0x8004bd00,
	0xf601c100,
	0x04bd0004,
	0x130030b7,
	0xb6001fbb,
	0x008002f5,
	0x0ff601d3,
	0xb604bd00,
	0x10b60815,
	0x0814b601,
	0x687e1fb2,
	0x1fbb0002,
	0x02039800,
	0x50200084,
/* 0x0420: init_gpc */
	0x08044eb8,
	0x7e1fb200,
	0xb800008f,
	0x00010c4e,
	0x8f7ef4bd,
	0x4eb80000,
	0x7e000104,
	0xb800008f,
	0x0001004e,
	0x8f7e020f,
	0x4eb80000,
/* 0x044f: init_gpc_wait */
	0x7e000800,
	0xc8000065,
	0x0bf41fff,
	0x044eb8f9,
	0x657e0008,
	0x1fbb0000,
	0x0040b700,
	0x0132b680,
	0x0fb41bf4,
	0x06fe7e00,
	0x7e000f00,
	0x800006ad,
	0xf6020100,
	0x04bd0001,
	0x19f014bd,
	0x3000801f,
	0x0001f602,
/* 0x0492: wait */
	0x28f404bd,
	0x0031f400,
/* 0x0498: main */
	0x377e100d,
	0x01f40000,
	0x01e4b1f4,
	0xc71bf540,
	0xf094bd00,
	0x00800499,
	0x09f60237,
	0x8104bd00,
	0xcf02c000,
	0x00820011,
	0x22cf02c1,
	0x1f13c800,
	0xc8770bf4,
	0x0bf41f23,
	0xb220f955,
	0xf094bd12,
	0x00800799,
	0x09f60237,
	0xf404bd00,
	0x31f40132,
	0x08817e02,
	0xf094bd00,
	0x00800799,
	0x09f60217,
	0xfc04bd00,
	0xf094bd20,
	0x00800699,
	0x09f60237,
	0xf404bd00,
	0x817e0131,
	0x94bd0008,
	0x800699f0,
	0xf6021700,
	0x04bd0009,
/* 0x0523: chsw_prev_no_next */
	0xf92f0ef4,
	0xf412b220,
	0x32f40132,
	0x08817e02,
	0x8020fc00,
	0xf602c000,
	0x04bd0002,
/* 0x053f: chsw_no_prev */
	0xc8130ef4,
	0x0bf41f23,
	0x0131f40d,
	0x7e0232f4,
/* 0x054f: chsw_done */
	0x02000881,
	0xc3008001,
	0x0002f602,
	0x94bd04bd,
	0x800499f0,
	0xf6021700,
	0x04bd0009,
	0xff300ef5,
/* 0x056c: main_not_ctx_switch */
	0xf401e4b0,
	0xf2b20c1b,
	0x0008217e,
/* 0x057b: main_not_ctx_chan */
	0xb0400ef4,
	0x1bf402e4,
	0xf094bd2c,
	0x00800799,
	0x09f60237,
	0xf404bd00,
	0x32f40132,
	0x08817e02,
	0xf094bd00,
	0x00800799,
	0x09f60217,
	0xf404bd00,
/* 0x05aa: main_not_ctx_save */
	0xef94110e,
	0x01f5f010,
	0x0002f87e,
	0xfee40ef5,
/* 0x05b8: main_done */
	0x29f024bd,
	0x3000801f,
	0x0002f602,
	0x0ef504bd,
/* 0x05ca: ih */
	0x00f9fed2,
	0x88fe80f9,
	0xf980f901,
	0xf9a0f990,
	0xf9d0f9b0,
	0xbdf0f9e0,
	0x02004a04,
	0xc400aacf,
	0x0bf404ab,
	0x4e100d23,
	0xeecf1a00,
	0x19004f00,
	0x7e00ffcf,
	0xb7000004,
	0x0e0400b0,
	0x1d004001,
	0xbd000ef6,
/* 0x060d: ih_no_fifo */
	0x00abe404,
	0x0c0bf401,
	0x014e100d,
	0x00047e40,
/* 0x061d: ih_no_ctxsw */
	0x00abe400,
	0x560bf404,
	0x4007088e,
	0x0000657e,
	0x0080ffb2,
	0x0ff60204,
	0x8e04bd00,
	0x7e400704,
	0xb2000065,
	0x030080ff,
	0x000ff602,
	0xfec704bd,
	0x02ee9450,
	0x4007008f,
	0x7e00efbb,
	0x80000065,
	0xf6020200,
	0x04bd000f,
	0xf87e030f,
	0x004b0002,
	0x8ebfb201,
	0x7e400144,
/* 0x0677: ih_no_fwmthd */
	0x4b00008f,
	0xb0bd0504,
	0xf4b4abff,
	0x00800c0b,
	0x0bf60307,
/* 0x068b: ih_no_other */
	0x4004bd00,
	0x0af60100,
	0xfc04bd00,
	0xfce0fcf0,
	0xfcb0fcd0,
	0xfc90fca0,
	0x0088fe80,
	0x00fc80fc,
	0xf80032f4,
/* 0x06ad: ctx_4170s */
	0x10f5f001,
	0x708effb2,
	0x8f7e4041,
	0x00f80000,
/* 0x06bc: ctx_4170w */
	0x4041708e,
	0x0000657e,
	0xf4f0ffb2,
	0xf31bf410,
/* 0x06ce: ctx_redswitch */
	0x004e00f8,
	0x40e5f002,
	0xf020e5f0,
	0x008010e5,
	0x0ef60185,
	0x0f04bd00,
/* 0x06e5: ctx_redswitch_delay */
	0x01f2b608,
	0xf1fd1bf4,
	0xf10400e5,
	0x800100e5,
	0xf6018500,
	0x04bd000e,
/* 0x06fe: ctx_86c */
	0x008000f8,
	0x0ff60223,
	0xb204bd00,
	0x8a148eff,
	0x008f7e40,
	0x8effb200,
	0x7e41a88c,
	0xf800008f,
/* 0x071d: ctx_mem */
	0x84008000,
	0x000ff602,
/* 0x0726: ctx_mem_wait */
	0x008f04bd,
	0xffcf0284,
	0x05fffd00,
	0xf8f61bf4,
/* 0x0735: ctx_load */
	0xf094bd00,
	0x00800599,
	0x09f60237,
	0x0a04bd00,
	0x00b87e0c,
	0x80f4bd00,
	0xf6028900,
	0x04bd000f,
	0x02c10080,
	0xbd0002f6,
	0x83008004,
	0x0002f602,
	0x070f04bd,
	0x00071d7e,
	0x02c00080,
	0xbd0002f6,
	0x000bfe04,
	0xb61f2af0,
	0x20b60424,
	0xf094bd02,
	0x00800899,
	0x09f60237,
	0x8004bd00,
	0xf6028100,
	0x04bd0002,
	0x000000d2,
	0x0225f080,
	0x02880080,
	0xbd0002f6,
	0x42100104,
	0x23f00200,
	0x0512fa02,
	0x94bd03f8,
	0x800899f0,
	0xf6021700,
	0x04bd0009,
	0xb6810198,
	0x02981814,
	0x0825b680,
	0xb50512fd,
	0x94bd1601,
	0x800999f0,
	0xf6023700,
	0x04bd0009,
	0x02810080,
	0xbd0001f6,
	0x80010204,
	0xf6028800,
	0x04bd0002,
	0xf0010041,
	0x01fa0613,
	0xbd03f805,
	0x0999f094,
	0x02170080,
	0xbd0009f6,
	0xf094bd04,
	0x00800599,
	0x09f60217,
	0xf804bd00,
/* 0x0821: ctx_chan */
	0x07357e00,
	0x7e0c0a00,
	0x0f0000b8,
	0x071d7e05,
/* 0x0833: ctx_mmio_exec */
	0x9800f800,
	0x00804103,
	0x03f60281,
	0xbd04bd00,
/* 0x0841: ctx_mmio_loop */
	0xff34c434,
	0x450e1bf4,
	0x53f00200,
	0x0535fa06,
/* 0x0852: ctx_mmio_pull */
	0x4e9803f8,
	0x814f9880,
	0x00008f7e,
	0xb60830b6,
	0x1bf40112,
/* 0x0865: ctx_mmio_done */
	0x160398df,
	0x02810080,
	0xbd0003f6,
	0x4000b504,
	0xf0010041,
	0x01fa0613,
	0xf803f806,
/* 0x0881: ctx_xfer */
	0x80040e00,
	0xf6030200,
	0x04bd000e,
/* 0x088c: ctx_xfer_idle */
	0x0300008e,
	0xf100eecf,
	0xf42000e4,
	0x11f4f51b,
	0x0c02f406,
/* 0x08a0: ctx_xfer_pre */
	0xfe7e100f,
	0x11f40006,
/* 0x08a9: ctx_xfer_pre_load */
	0x7e020f1b,
	0x7e0006ad,
	0x7e0006bc,
	0xbd0006ce,
	0x06ad7ef4,
	0x07357e00,
/* 0x08c1: ctx_xfer_exec */
	0x16019800,
	0x008024bd,
	0x02f60105,
	0xb204bd00,
	0xa5008e1f,
	0x008f7e41,
	0x01fcf000,
	0xb6022cf0,
	0xf2fd0124,
	0x8effb205,
	0x7e41a504,
	0x7e00008f,
	0xbd000216,
	0x47fc8024,
	0x0002f602,
	0x2cf004bd,
	0x0320b601,
	0x024afc80,
	0xbd0002f6,
	0x01acf004,
	0x0b06a5f0,
	0x000c9800,
	0x0e010d98,
	0x013d7e00,
	0x7e080a00,
	0x7e0000ec,
	0xf400020a,
	0x0c0a1201,
	0x0000b87e,
	0x1d7e050f,
	0x02f40007,
/* 0x093d: ctx_xfer_post */
	0x7e020f2d,
	0xbd0006ad,
	0x06fe7ef4,
	0x02277e00,
	0x06bc7e00,
	0x7ef4bd00,
	0xf40006ad,
	0x01981011,
	0x0511fd40,
	0x7e070bf4,
/* 0x0967: ctx_xfer_no_post_mmio */
/* 0x0967: ctx_xfer_done */
	0xf8000833,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
}