diff options
author | Martin Peres <martin.peres@labri.fr> | 2014-04-14 02:46:30 +0200 |
---|---|---|
committer | Martin Peres <martin.peres@labri.fr> | 2014-06-15 21:35:51 +0200 |
commit | b0bbe7dc6aefb68c7e305ca160f452db053633e7 (patch) | |
tree | f77e9da2dee724c37d2f0dc478f7c70f20e00449 | |
parent | 6cf5acb21642a77c472c879374c99309627d2bcc (diff) |
pwr: fix the timers implementation with concurent processes
The problem with the current implementation is that adding a timer improperly
checked which process would time up first by not taking into account how much
time elapsed since their timer got scheduled. Rework the re-scheduling
decision t fix this.
The catch with this fix is that we are limited to scheduling timers of up to
2^31 ticks to avoid any potential overflow. Since we are unlikely to need to
wait for more than a second, this won't be a problem :)
Another possible fix would be to decrement the timeouts of all processes but
it would duplicate a lot of code and dealing with edge cases wasn't pretty
last time I checked.
Signed-off-by: Martin Peres <martin.peres@free.fr>
-rw-r--r-- | nvkm/subdev/pwr/fuc/kernel.fuc | 35 | ||||
-rw-r--r-- | nvkm/subdev/pwr/fuc/nv108.fuc.h | 310 | ||||
-rw-r--r-- | nvkm/subdev/pwr/fuc/nva3.fuc.h | 364 | ||||
-rw-r--r-- | nvkm/subdev/pwr/fuc/nvc0.fuc.h | 364 | ||||
-rw-r--r-- | nvkm/subdev/pwr/fuc/nvd0.fuc.h | 1058 |
5 files changed, 1137 insertions, 994 deletions
diff --git a/nvkm/subdev/pwr/fuc/kernel.fuc b/nvkm/subdev/pwr/fuc/kernel.fuc index 8f29badd..dd86439e 100644 --- a/nvkm/subdev/pwr/fuc/kernel.fuc +++ b/nvkm/subdev/pwr/fuc/kernel.fuc @@ -245,9 +245,12 @@ intr: // request the current process be sent a message after a timeout expires // // $r15 - current -// $r14 - ticks +// $r14 - ticks (make sure it is < 2^31 to avoid any possible overflow) // $r0 - zero timer: + push $r9 + push $r8 + // interrupts off to prevent racing with timer isr bclr $flags ie0 @@ -255,13 +258,22 @@ timer: ld b32 $r8 D[$r15 + #proc_time] cmp b32 $r8 0 bra g #timer_done - st b32 D[$r15 + #proc_time] $r14 - // halt watchdog timer temporarily and check for a pending - // interrupt. if there's one already pending, we can just - // bail since the timer isr will queue the next soonest - // right after it's done + // halt watchdog timer temporarily + clear b32 $r8 nv_iowr(NV_PPWR_WATCHDOG_ENABLE, $r8) + + // find out how much time elapsed since the last update + // of the watchdog and add this time to the wanted ticks + nv_iord($r8, NV_PPWR_WATCHDOG_TIME) + ld b32 $r9 D[$r0 + #time_prev] + sub b32 $r9 $r8 + add b32 $r14 $r9 + st b32 D[$r15 + #proc_time] $r14 + + // check for a pending interrupt. if there's one already + // pending, we can just bail since the timer isr will + // queue the next soonest right after it's done nv_iord($r8, NV_PPWR_INTR) and $r8 NV_PPWR_INTR_WATCHDOG bra nz #timer_enable @@ -272,10 +284,10 @@ timer: cmp b32 $r14 $r0 bra e #timer_reset cmp b32 $r14 $r8 - bra l #timer_done - timer_reset: - nv_iowr(NV_PPWR_WATCHDOG_TIME, $r14) - st b32 D[$r0 + #time_prev] $r14 + bra g #timer_enable + timer_reset: + nv_iowr(NV_PPWR_WATCHDOG_TIME, $r14) + st b32 D[$r0 + #time_prev] $r14 // re-enable the watchdog timer timer_enable: @@ -285,6 +297,9 @@ timer: // interrupts back on timer_done: bset $flags ie0 + + pop $r8 + pop $r9 ret // send message to another process diff --git a/nvkm/subdev/pwr/fuc/nv108.fuc.h b/nvkm/subdev/pwr/fuc/nv108.fuc.h index 4bd43a99..35f6334f 100644 --- a/nvkm/subdev/pwr/fuc/nv108.fuc.h +++ b/nvkm/subdev/pwr/fuc/nv108.fuc.h @@ -24,8 +24,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x00000379, - 0x0000032a, + 0x00000391, + 0x00000342, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000046f, - 0x00000461, + 0x00000487, + 0x00000479, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000473, - 0x00000471, + 0x0000048b, + 0x00000489, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000877, - 0x0000071e, + 0x0000088f, + 0x00000736, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000898, - 0x00000879, + 0x000008b0, + 0x00000891, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x000008a3, - 0x000008a1, + 0x000008bb, + 0x000008b9, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nv108_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x000003a9, + 0x000003c1, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x000003c7, + 0x000003df, 0x00000002, 0x00000002, - 0x000003df, + 0x000003f7, 0x00040003, 0x00000000, - 0x00000407, + 0x0000041f, 0x00010004, 0x00000000, - 0x00000421, + 0x00000439, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -784,7 +784,7 @@ uint32_t nv108_pwr_data[] = { }; uint32_t nv108_pwr_code[] = { - 0x02910ef5, + 0x02a90ef5, /* 0x0004: rd32 */ 0xf607a040, 0x04bd000e, @@ -836,7 +836,7 @@ uint32_t nv108_pwr_code[] = { 0x0a98280b, 0x029abb9a, 0x0d0e1cf4, - 0x01de7e01, + 0x01f67e01, 0xf494bd00, /* 0x00b2: intr_watchdog_next_time */ 0x0a98140e, @@ -881,7 +881,7 @@ uint32_t nv108_pwr_code[] = { 0xc0f900cc, 0xf14f484e, 0x0d5453e3, - 0x023f7e00, + 0x02577e00, 0x40c0fc00, 0x0cf604c0, /* 0x0157: intr_subintr_skip_fifo */ @@ -905,28 +905,34 @@ uint32_t nv108_pwr_code[] = { 0xfc80fc90, 0x0032f400, /* 0x0196: timer */ - 0x32f401f8, + 0x90f901f8, + 0x32f480f9, 0x03f89810, 0xf40086b0, - 0xfeb53a1c, - 0xf6380003, - 0x04bd0008, + 0x84bd4a1c, + 0x08f63800, + 0x0804bd00, + 0x0088cf34, + 0xbb9a0998, + 0xe9bb0298, + 0x03feb500, 0x88cf0808, 0x0284f000, 0x081c1bf4, 0x0088cf34, 0x0bf4e0a6, 0xf4e8a608, -/* 0x01c6: timer_reset */ - 0x3400161e, +/* 0x01da: timer_reset */ + 0x34000d1c, 0xbd000ef6, 0x9a0eb504, -/* 0x01d0: timer_enable */ +/* 0x01e4: timer_enable */ 0x38000108, 0xbd0008f6, -/* 0x01d9: timer_done */ +/* 0x01ed: timer_done */ 0x1031f404, -/* 0x01de: send_proc */ + 0x90fc80fc, +/* 0x01f6: send_proc */ 0x80f900f8, 0xe89890f9, 0x04e99805, @@ -941,25 +947,25 @@ uint32_t nv108_pwr_code[] = { 0xb6038bb5, 0x94f00190, 0x04e9b507, -/* 0x0217: send_done */ +/* 0x022f: send_done */ 0xfc0231f4, 0xf880fc90, -/* 0x021d: find */ +/* 0x0235: find */ 0x0880f900, 0x0131f458, -/* 0x0224: find_loop */ +/* 0x023c: find_loop */ 0xa6008a98, 0x100bf4ae, 0xb15880b6, 0xf4026886, 0x32f4f11b, -/* 0x0239: find_done */ +/* 0x0251: find_done */ 0xfc8eb201, -/* 0x023f: send */ +/* 0x0257: send */ 0x7e00f880, - 0xf400021d, + 0xf4000235, 0x00f89b01, -/* 0x0248: recv */ +/* 0x0260: recv */ 0x9805e898, 0x32f404e9, 0xf489a601, @@ -977,9 +983,9 @@ uint32_t nv108_pwr_code[] = { 0xf900ee98, 0xfef0fca5, 0x31f400f8, -/* 0x028f: recv_done */ +/* 0x02a7: recv_done */ 0xf8f0fc01, -/* 0x0291: init */ +/* 0x02a9: init */ 0x01084100, 0xe70011cf, 0xb6010911, @@ -998,13 +1004,13 @@ uint32_t nv108_pwr_code[] = { 0x1031f400, 0x38000101, 0xbd0001f6, -/* 0x02db: init_proc */ +/* 0x02f3: init_proc */ 0x98580f04, 0x16b001f1, 0xfa0bf400, 0xf0b615f9, 0xf20ef458, -/* 0x02ec: host_send */ +/* 0x0304: host_send */ 0xcf04b041, 0xa0420011, 0x0022cf04, @@ -1015,17 +1021,17 @@ uint32_t nv108_pwr_code[] = { 0xec9803eb, 0x01ed9802, 0x7e00ee98, - 0xb600023f, + 0xb6000257, 0x1ec40110, 0x04b0400f, 0xbd0001f6, 0xc70ef404, -/* 0x0328: host_send_done */ -/* 0x032a: host_recv */ +/* 0x0340: host_send_done */ +/* 0x0342: host_recv */ 0x494100f8, 0x5413f14e, 0xf4e1a652, -/* 0x0336: host_recv_wait */ +/* 0x034e: host_recv_wait */ 0xcc41b90b, 0x0011cf04, 0xcf04c842, @@ -1043,7 +1049,7 @@ uint32_t nv108_pwr_code[] = { 0x400204bd, 0x02f60000, 0xf804bd00, -/* 0x0379: host_init */ +/* 0x0391: host_init */ 0x00804100, 0xf11014b6, 0x40027015, @@ -1056,24 +1062,24 @@ uint32_t nv108_pwr_code[] = { 0x40010104, 0x01f604c4, 0xf804bd00, -/* 0x03a9: memx_func_enter */ +/* 0x03c1: memx_func_enter */ 0x40040600, 0x06f607e0, -/* 0x03b3: memx_func_enter_wait */ +/* 0x03cb: memx_func_enter_wait */ 0x4604bd00, 0x66cf07c0, 0x0464f000, 0x98f70bf4, 0x10b60016, -/* 0x03c7: memx_func_leave */ +/* 0x03df: memx_func_leave */ 0x0600f804, 0x07e44004, 0xbd0006f6, -/* 0x03d1: memx_func_leave_wait */ +/* 0x03e9: memx_func_leave_wait */ 0x07c04604, 0xf00066cf, 0x1bf40464, -/* 0x03df: memx_func_wr32 */ +/* 0x03f7: memx_func_wr32 */ 0x9800f8f7, 0x15980016, 0x0810b601, @@ -1084,7 +1090,7 @@ uint32_t nv108_pwr_code[] = { 0xa00506fd, 0xb604bd05, 0x1bf40242, -/* 0x0407: memx_func_wait */ +/* 0x041f: memx_func_wait */ 0x0800f8dd, 0x0088cf2c, 0x98001e98, @@ -1092,14 +1098,14 @@ uint32_t nv108_pwr_code[] = { 0x031b9802, 0x7e1010b6, 0xf8000071, -/* 0x0421: memx_func_delay */ +/* 0x0439: memx_func_delay */ 0x001e9800, 0x7e0410b6, 0xf800005d, -/* 0x042d: memx_exec */ +/* 0x0445: memx_exec */ 0xf9e0f900, 0xb2c1b2d0, -/* 0x0435: memx_exec_next */ +/* 0x044d: memx_exec_next */ 0x001398b2, 0x950410b6, 0x30f01034, @@ -1107,104 +1113,104 @@ uint32_t nv108_pwr_code[] = { 0x12a655f9, 0xfced1ef4, 0x7ee0fcd0, - 0xf800023f, -/* 0x0455: memx_info */ + 0xf8000257, +/* 0x046d: memx_info */ 0x03ac4c00, 0x7e08004b, - 0xf800023f, -/* 0x0461: memx_recv */ + 0xf8000257, +/* 0x0479: memx_recv */ 0x01d6b000, 0xb0c90bf4, 0x0bf400d6, -/* 0x046f: memx_init */ +/* 0x0487: memx_init */ 0xf800f8eb, -/* 0x0471: perf_recv */ -/* 0x0473: perf_init */ +/* 0x0489: perf_recv */ +/* 0x048b: perf_init */ 0xf800f800, -/* 0x0475: i2c_drive_scl */ +/* 0x048d: i2c_drive_scl */ 0x0036b000, 0x400d0bf4, 0x01f607e0, 0xf804bd00, -/* 0x0485: i2c_drive_scl_lo */ +/* 0x049d: i2c_drive_scl_lo */ 0x07e44000, 0xbd0001f6, -/* 0x048f: i2c_drive_sda */ +/* 0x04a7: i2c_drive_sda */ 0xb000f804, 0x0bf40036, 0x07e0400d, 0xbd0002f6, -/* 0x049f: i2c_drive_sda_lo */ +/* 0x04b7: i2c_drive_sda_lo */ 0x4000f804, 0x02f607e4, 0xf804bd00, -/* 0x04a9: i2c_sense_scl */ +/* 0x04c1: i2c_sense_scl */ 0x0132f400, 0xcf07c443, 0x31fd0033, 0x060bf404, -/* 0x04bb: i2c_sense_scl_done */ +/* 0x04d3: i2c_sense_scl_done */ 0xf80131f4, -/* 0x04bd: i2c_sense_sda */ +/* 0x04d5: i2c_sense_sda */ 0x0132f400, 0xcf07c443, 0x32fd0033, 0x060bf404, -/* 0x04cf: i2c_sense_sda_done */ +/* 0x04e7: i2c_sense_sda_done */ 0xf80131f4, -/* 0x04d1: i2c_raise_scl */ +/* 0x04e9: i2c_raise_scl */ 0x4440f900, 0x01030898, - 0x0004757e, -/* 0x04dc: i2c_raise_scl_wait */ + 0x00048d7e, +/* 0x04f4: i2c_raise_scl_wait */ 0x7e03e84e, 0x7e00005d, - 0xf40004a9, + 0xf40004c1, 0x42b60901, 0xef1bf401, -/* 0x04f0: i2c_raise_scl_done */ +/* 0x0508: i2c_raise_scl_done */ 0x00f840fc, -/* 0x04f4: i2c_start */ - 0x0004a97e, +/* 0x050c: i2c_start */ + 0x0004c17e, 0x7e0d11f4, - 0xf40004bd, + 0xf40004d5, 0x0ef40611, -/* 0x0505: i2c_start_rep */ +/* 0x051d: i2c_start_rep */ 0x7e00032e, - 0x03000475, - 0x048f7e01, + 0x0300048d, + 0x04a77e01, 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xd17e50fc, + 0xe97e50fc, 0x64b60004, 0x1d11f404, -/* 0x0530: i2c_start_send */ - 0x8f7e0003, +/* 0x0548: i2c_start_send */ + 0xa77e0003, 0x884e0004, 0x005d7e13, 0x7e000300, - 0x4e000475, + 0x4e00048d, 0x5d7e1388, -/* 0x054a: i2c_start_out */ +/* 0x0562: i2c_start_out */ 0x00f80000, -/* 0x054c: i2c_stop */ - 0x757e0003, +/* 0x0564: i2c_stop */ + 0x8d7e0003, 0x00030004, - 0x00048f7e, + 0x0004a77e, 0x7e03e84e, 0x0300005d, - 0x04757e01, + 0x048d7e01, 0x13884e00, 0x00005d7e, - 0x8f7e0103, + 0xa77e0103, 0x884e0004, 0x005d7e13, -/* 0x057b: i2c_bitw */ +/* 0x0593: i2c_bitw */ 0x7e00f800, - 0x4e00048f, + 0x4e0004a7, 0x5d7e03e8, 0x76bb0000, 0x0465b600, @@ -1212,17 +1218,17 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb60004d1, + 0xb60004e9, 0x11f40464, 0x13884e17, 0x00005d7e, - 0x757e0003, + 0x8d7e0003, 0x884e0004, 0x005d7e13, -/* 0x05b9: i2c_bitw_out */ -/* 0x05bb: i2c_bitr */ +/* 0x05d1: i2c_bitw_out */ +/* 0x05d3: i2c_bitr */ 0x0300f800, - 0x048f7e01, + 0x04a77e01, 0x03e84e00, 0x00005d7e, 0xb60076bb, @@ -1230,26 +1236,26 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x04d17e50, + 0x04e97e50, 0x0464b600, 0x7e1a11f4, - 0x030004bd, - 0x04757e00, + 0x030004d5, + 0x048d7e00, 0x13884e00, 0x00005d7e, 0xf4013cf0, -/* 0x05fe: i2c_bitr_done */ +/* 0x0616: i2c_bitr_done */ 0x00f80131, -/* 0x0600: i2c_get_byte */ +/* 0x0618: i2c_get_byte */ 0x08040005, -/* 0x0604: i2c_get_byte_next */ +/* 0x061c: i2c_get_byte_next */ 0xbb0154b6, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0005bb7e, + 0x0005d37e, 0xf40464b6, 0x53fd2a11, 0x0142b605, @@ -1259,12 +1265,12 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x7b7e50fc, + 0x937e50fc, 0x64b60005, -/* 0x064d: i2c_get_byte_done */ -/* 0x064f: i2c_put_byte */ +/* 0x0665: i2c_get_byte_done */ +/* 0x0667: i2c_put_byte */ 0x0400f804, -/* 0x0651: i2c_put_byte_next */ +/* 0x0669: i2c_put_byte_next */ 0x0142b608, 0xbb3854ff, 0x65b60076, @@ -1272,7 +1278,7 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x00057b7e, + 0x0005937e, 0xf40464b6, 0x46b03411, 0xd81bf400, @@ -1281,21 +1287,21 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x05bb7e50, + 0x05d37e50, 0x0464b600, 0xbb0f11f4, 0x36b00076, 0x061bf401, -/* 0x06a7: i2c_put_byte_done */ +/* 0x06bf: i2c_put_byte_done */ 0xf80132f4, -/* 0x06a9: i2c_addr */ +/* 0x06c1: i2c_addr */ 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xf47e50fc, - 0x64b60004, + 0x0c7e50fc, + 0x64b60005, 0x2911f404, 0x012ec3e7, 0xfd0134b6, @@ -1305,24 +1311,24 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb600064f, -/* 0x06ee: i2c_addr_done */ + 0xb6000667, +/* 0x0706: i2c_addr_done */ 0x00f80464, -/* 0x06f0: i2c_acquire_addr */ +/* 0x0708: i2c_acquire_addr */ 0xb6f8cec7, 0xe0b705e4, 0x00f8d014, -/* 0x06fc: i2c_acquire */ - 0x0006f07e, +/* 0x0714: i2c_acquire */ + 0x0007087e, 0x0000047e, 0x7e03d9f0, 0xf800002e, -/* 0x070d: i2c_release */ - 0x06f07e00, +/* 0x0725: i2c_release */ + 0x07087e00, 0x00047e00, 0x03daf000, 0x00002e7e, -/* 0x071e: i2c_recv */ +/* 0x0736: i2c_recv */ 0x32f400f8, 0xf8c1c701, 0xb00214b6, @@ -1342,7 +1348,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb60006fc, + 0xb6000714, 0xd0fc0464, 0xf500d6b0, 0x0500b01b, @@ -1351,7 +1357,7 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xa97e50fc, + 0xc17e50fc, 0x64b60006, 0xcc11f504, 0xe0c5c700, @@ -1360,7 +1366,7 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x064f7e50, + 0x06677e50, 0x0464b600, 0x00a911f5, 0x76bb0105, @@ -1369,7 +1375,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb60006a9, + 0xb60006c1, 0x11f50464, 0x76bb0087, 0x0465b600, @@ -1377,7 +1383,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb6000600, + 0xb6000618, 0x11f40464, 0xe05bcb67, 0xb60076bb, @@ -1385,37 +1391,37 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x054c7e50, + 0x05647e50, 0x0464b600, 0x74bd5bb2, -/* 0x0823: i2c_recv_not_rd08 */ +/* 0x083b: i2c_recv_not_rd08 */ 0xb0410ef4, 0x1bf401d6, 0x7e00053b, - 0xf40006a9, + 0xf40006c1, 0xc5c73211, - 0x064f7ee0, + 0x06677ee0, 0x2811f400, - 0xa97e0005, + 0xc17e0005, 0x11f40006, 0xe0b5c71f, - 0x00064f7e, + 0x0006677e, 0x7e1511f4, - 0xbd00054c, + 0xbd000564, 0x08c5c774, 0xf4091bf4, 0x0ef40232, -/* 0x0861: i2c_recv_not_wr08 */ -/* 0x0861: i2c_recv_done */ +/* 0x0879: i2c_recv_not_wr08 */ +/* 0x0879: i2c_recv_done */ 0xf8cec703, - 0x00070d7e, + 0x0007257e, 0xd0fce0fc, 0xb20912f4, - 0x023f7e7c, -/* 0x0875: i2c_recv_exit */ -/* 0x0877: i2c_init */ + 0x02577e7c, +/* 0x088d: i2c_recv_exit */ +/* 0x088f: i2c_init */ 0xf800f800, -/* 0x0879: test_recv */ +/* 0x0891: test_recv */ 0x04584100, 0xb60011cf, 0x58400110, @@ -1424,26 +1430,26 @@ uint32_t nv108_pwr_code[] = { 0xe3f1d900, 0x967e134f, 0x00f80001, -/* 0x0898: test_init */ +/* 0x08b0: test_init */ 0x7e08004e, 0xf8000196, -/* 0x08a1: idle_recv */ -/* 0x08a3: idle */ +/* 0x08b9: idle_recv */ +/* 0x08bb: idle */ 0xf400f800, 0x54410031, 0x0011cf04, 0x400110b6, 0x01f60454, -/* 0x08b7: idle_loop */ +/* 0x08cf: idle_loop */ 0x0104bd00, 0x0232f458, -/* 0x08bc: idle_proc */ -/* 0x08bc: idle_proc_exec */ +/* 0x08d4: idle_proc */ +/* 0x08d4: idle_proc_exec */ 0x1eb210f9, - 0x0002487e, + 0x0002607e, 0x11f410fc, 0x0231f409, -/* 0x08cf: idle_proc_next */ +/* 0x08e7: idle_proc_next */ 0xb6f00ef4, 0x1fa65810, 0xf4e81bf4, @@ -1451,10 +1457,4 @@ uint32_t nv108_pwr_code[] = { 0xc60ef400, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, }; diff --git a/nvkm/subdev/pwr/fuc/nva3.fuc.h b/nvkm/subdev/pwr/fuc/nva3.fuc.h index 5a73fa62..8e9e2439 100644 --- a/nvkm/subdev/pwr/fuc/nva3.fuc.h +++ b/nvkm/subdev/pwr/fuc/nva3.fuc.h @@ -24,8 +24,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x00000430, - 0x000003cd, + 0x0000044c, + 0x000003e9, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000054e, - 0x00000540, + 0x0000056a, + 0x0000055c, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000552, - 0x00000550, + 0x0000056e, + 0x0000056c, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000982, - 0x00000825, + 0x0000099e, + 0x00000841, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x000009ab, - 0x00000984, + 0x000009c7, + 0x000009a0, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x000009b7, - 0x000009b5, + 0x000009d3, + 0x000009d1, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nva3_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x0000046f, + 0x0000048b, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000496, + 0x000004b2, 0x00000002, 0x00000002, - 0x000004b7, + 0x000004d3, 0x00040003, 0x00000000, - 0x000004df, + 0x000004fb, 0x00010004, 0x00000000, - 0x000004fc, + 0x00000518, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -849,7 +849,7 @@ uint32_t nva3_pwr_data[] = { }; uint32_t nva3_pwr_code[] = { - 0x030d0ef5, + 0x03290ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xd00604b6, @@ -915,7 +915,7 @@ uint32_t nva3_pwr_code[] = { 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x025421f5, + 0x027021f5, 0x0ef494bd, /* 0x00e9: intr_watchdog_next_time */ 0x9b0a9815, @@ -967,7 +967,7 @@ uint32_t nva3_pwr_code[] = { 0x48e7f1c0, 0x53e3f14f, 0x00d7f054, - 0x02b921f5, + 0x02d521f5, 0x07f1c0fc, 0x04b604c0, 0x000cd006, @@ -994,13 +994,19 @@ uint32_t nva3_pwr_code[] = { 0x00fc80fc, 0xf80032f4, /* 0x01f5: timer */ - 0x1032f401, + 0xf990f901, + 0x1032f480, 0xb003f898, 0x1cf40086, - 0x03fe8051, - 0xb63807f0, - 0x08d00604, - 0xf004bd00, + 0xf084bd65, + 0x04b63807, + 0x0008d006, + 0x87f004bd, + 0x0684b634, + 0x980088cf, + 0x98bb9a09, + 0x00e9bb02, + 0xf003fe80, 0x84b60887, 0x0088cf06, 0xf40284f0, @@ -1009,19 +1015,20 @@ uint32_t nva3_pwr_code[] = { 0xb80088cf, 0x0bf406e0, 0x06e8b809, -/* 0x0233: timer_reset */ - 0xf01f1ef4, +/* 0x024b: timer_reset */ + 0xf0111cf4, 0x04b63407, 0x000ed006, 0x0e8004bd, -/* 0x0241: timer_enable */ +/* 0x0259: timer_enable */ 0x0187f09a, 0xb63807f0, 0x08d00604, -/* 0x024f: timer_done */ +/* 0x0267: timer_done */ 0xf404bd00, - 0x00f81031, -/* 0x0254: send_proc */ + 0x80fc1031, + 0x00f890fc, +/* 0x0270: send_proc */ 0x90f980f9, 0x9805e898, 0x86f004e9, @@ -1036,25 +1043,25 @@ uint32_t nva3_pwr_code[] = { 0x90b6038b, 0x0794f001, 0xf404e980, -/* 0x028e: send_done */ +/* 0x02aa: send_done */ 0x90fc0231, 0x00f880fc, -/* 0x0294: find */ +/* 0x02b0: find */ 0x87f080f9, 0x0131f458, -/* 0x029c: find_loop */ +/* 0x02b8: find_loop */ 0xb8008a98, 0x0bf406ae, 0x5880b610, 0x026886b1, 0xf4f01bf4, -/* 0x02b2: find_done */ +/* 0x02ce: find_done */ 0x8eb90132, 0xf880fc02, -/* 0x02b9: send */ - 0x9421f500, +/* 0x02d5: send */ + 0xb021f500, 0x9701f402, -/* 0x02c2: recv */ +/* 0x02de: recv */ 0xe89800f8, 0x04e99805, 0xb80132f4, @@ -1073,9 +1080,9 @@ uint32_t nva3_pwr_code[] = { 0xf900ee98, 0xfef0fca5, 0x31f400f8, -/* 0x030b: recv_done */ +/* 0x0327: recv_done */ 0xf8f0fc01, -/* 0x030d: init */ +/* 0x0329: init */ 0x0817f100, 0x0614b601, 0xe70011cf, @@ -1101,12 +1108,12 @@ uint32_t nva3_pwr_code[] = { 0x04b63807, 0x0001d006, 0xf7f004bd, -/* 0x0371: init_proc */ +/* 0x038d: init_proc */ 0x01f19858, 0xf40016b0, 0x15f9fa0b, 0xf458f0b6, -/* 0x0382: host_send */ +/* 0x039e: host_send */ 0x17f1f20e, 0x14b604b0, 0x0011cf06, @@ -1120,18 +1127,18 @@ uint32_t nva3_pwr_code[] = { 0x02ec9803, 0x9801ed98, 0x21f500ee, - 0x10b602b9, + 0x10b602d5, 0x0f1ec401, 0x04b007f1, 0xd00604b6, 0x04bd0001, -/* 0x03cb: host_send_done */ +/* 0x03e7: host_send_done */ 0xf8ba0ef4, -/* 0x03cd: host_recv */ +/* 0x03e9: host_recv */ 0x4917f100, 0x5413f14e, 0x06e1b852, -/* 0x03db: host_recv_wait */ +/* 0x03f7: host_recv_wait */ 0xf1aa0bf4, 0xb604cc17, 0x11cf0614, @@ -1154,7 +1161,7 @@ uint32_t nva3_pwr_code[] = { 0x04b60007, 0x0002d006, 0x00f804bd, -/* 0x0430: host_init */ +/* 0x044c: host_init */ 0x008017f1, 0xf11014b6, 0xf1027015, @@ -1170,29 +1177,29 @@ uint32_t nva3_pwr_code[] = { 0xc407f101, 0x0604b604, 0xbd0001d0, -/* 0x046f: memx_func_enter */ +/* 0x048b: memx_func_enter */ 0xf000f804, 0x07f10467, 0x04b607e0, 0x0006d006, -/* 0x047e: memx_func_enter_wait */ +/* 0x049a: memx_func_enter_wait */ 0x67f104bd, 0x64b607c0, 0x0066cf06, 0xf40464f0, 0x1698f30b, 0x0410b600, -/* 0x0496: memx_func_leave */ +/* 0x04b2: memx_func_leave */ 0x67f000f8, 0xe407f104, 0x0604b607, 0xbd0006d0, -/* 0x04a5: memx_func_leave_wait */ +/* 0x04c1: memx_func_leave_wait */ 0xc067f104, 0x0664b607, 0xf00066cf, 0x1bf40464, -/* 0x04b7: memx_func_wr32 */ +/* 0x04d3: memx_func_wr32 */ 0x9800f8f3, 0x15980016, 0x0810b601, @@ -1203,7 +1210,7 @@ uint32_t nva3_pwr_code[] = { 0x05800506, 0xb604bd00, 0x1bf40242, -/* 0x04df: memx_func_wait */ +/* 0x04fb: memx_func_wait */ 0xf000f8dd, 0x84b62c87, 0x0088cf06, @@ -1212,14 +1219,14 @@ uint32_t nva3_pwr_code[] = { 0x031b9802, 0xf41010b6, 0x00f89c21, -/* 0x04fc: memx_func_delay */ +/* 0x0518: memx_func_delay */ 0xb6001e98, 0x21f40410, -/* 0x0507: memx_exec */ +/* 0x0523: memx_exec */ 0xf900f87f, 0xb9d0f9e0, 0xb2b902c1, -/* 0x0511: memx_exec_next */ +/* 0x052d: memx_exec_next */ 0x00139802, 0x950410b6, 0x30f01034, @@ -1227,113 +1234,113 @@ uint32_t nva3_pwr_code[] = { 0x12b855f9, 0xec1ef406, 0xe0fcd0fc, - 0x02b921f5, -/* 0x0532: memx_info */ + 0x02d521f5, +/* 0x054e: memx_info */ 0xc7f100f8, 0xb7f103ac, 0x21f50800, - 0x00f802b9, -/* 0x0540: memx_recv */ + 0x00f802d5, +/* 0x055c: memx_recv */ 0xf401d6b0, 0xd6b0c40b, 0xe90bf400, -/* 0x054e: memx_init */ +/* 0x056a: memx_init */ 0x00f800f8, -/* 0x0550: perf_recv */ -/* 0x0552: perf_init */ +/* 0x056c: perf_recv */ +/* 0x056e: perf_init */ 0x00f800f8, -/* 0x0554: i2c_drive_scl */ +/* 0x0570: i2c_drive_scl */ 0xf40036b0, 0x07f1110b, 0x04b607e0, 0x0001d006, 0x00f804bd, -/* 0x0568: i2c_drive_scl_lo */ +/* 0x0584: i2c_drive_scl_lo */ 0x07e407f1, 0xd00604b6, 0x04bd0001, -/* 0x0576: i2c_drive_sda */ +/* 0x0592: i2c_drive_sda */ 0x36b000f8, 0x110bf400, 0x07e007f1, 0xd00604b6, 0x04bd0002, -/* 0x058a: i2c_drive_sda_lo */ +/* 0x05a6: i2c_drive_sda_lo */ 0x07f100f8, 0x04b607e4, 0x0002d006, 0x00f804bd, -/* 0x0598: i2c_sense_scl */ +/* 0x05b4: i2c_sense_scl */ 0xf10132f4, 0xb607c437, 0x33cf0634, 0x0431fd00, 0xf4060bf4, -/* 0x05ae: i2c_sense_scl_done */ +/* 0x05ca: i2c_sense_scl_done */ 0x00f80131, -/* 0x05b0: i2c_sense_sda */ +/* 0x05cc: i2c_sense_sda */ 0xf10132f4, 0xb607c437, 0x33cf0634, 0x0432fd00, 0xf4060bf4, -/* 0x05c6: i2c_sense_sda_done */ +/* 0x05e2: i2c_sense_sda_done */ 0x00f80131, -/* 0x05c8: i2c_raise_scl */ +/* 0x05e4: i2c_raise_scl */ 0x47f140f9, 0x37f00898, - 0x5421f501, -/* 0x05d5: i2c_raise_scl_wait */ + 0x7021f501, +/* 0x05f1: i2c_raise_scl_wait */ 0xe8e7f105, 0x7f21f403, - 0x059821f5, + 0x05b421f5, 0xb60901f4, 0x1bf40142, -/* 0x05e9: i2c_raise_scl_done */ +/* 0x0605: i2c_raise_scl_done */ 0xf840fcef, -/* 0x05ed: i2c_start */ - 0x9821f500, +/* 0x0609: i2c_start */ + 0xb421f500, 0x0d11f405, - 0x05b021f5, + 0x05cc21f5, 0xf40611f4, -/* 0x05fe: i2c_start_rep */ +/* 0x061a: i2c_start_rep */ 0x37f0300e, - 0x5421f500, + 0x7021f500, 0x0137f005, - 0x057621f5, + 0x059221f5, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xc821f550, + 0xe421f550, 0x0464b605, -/* 0x062b: i2c_start_send */ +/* 0x0647: i2c_start_send */ 0xf01f11f4, 0x21f50037, - 0xe7f10576, + 0xe7f10592, 0x21f41388, 0x0037f07f, - 0x055421f5, + 0x057021f5, 0x1388e7f1, -/* 0x0647: i2c_start_out */ +/* 0x0663: i2c_start_out */ 0xf87f21f4, -/* 0x0649: i2c_stop */ +/* 0x0665: i2c_stop */ 0x0037f000, - 0x055421f5, + 0x057021f5, 0xf50037f0, - 0xf1057621, + 0xf1059221, 0xf403e8e7, 0x37f07f21, - 0x5421f501, + 0x7021f501, 0x88e7f105, 0x7f21f413, 0xf50137f0, - 0xf1057621, + 0xf1059221, 0xf41388e7, 0x00f87f21, -/* 0x067c: i2c_bitw */ - 0x057621f5, +/* 0x0698: i2c_bitw */ + 0x059221f5, 0x03e8e7f1, 0xbb7f21f4, 0x65b60076, @@ -1341,18 +1348,18 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x05c821f5, + 0x05e421f5, 0xf40464b6, 0xe7f11811, 0x21f41388, 0x0037f07f, - 0x055421f5, + 0x057021f5, 0x1388e7f1, -/* 0x06bb: i2c_bitw_out */ +/* 0x06d7: i2c_bitw_out */ 0xf87f21f4, -/* 0x06bd: i2c_bitr */ +/* 0x06d9: i2c_bitr */ 0x0137f000, - 0x057621f5, + 0x059221f5, 0x03e8e7f1, 0xbb7f21f4, 0x65b60076, @@ -1360,19 +1367,19 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x05c821f5, + 0x05e421f5, 0xf40464b6, 0x21f51b11, - 0x37f005b0, - 0x5421f500, + 0x37f005cc, + 0x7021f500, 0x88e7f105, 0x7f21f413, 0xf4013cf0, -/* 0x0702: i2c_bitr_done */ +/* 0x071e: i2c_bitr_done */ 0x00f80131, -/* 0x0704: i2c_get_byte */ +/* 0x0720: i2c_get_byte */ 0xf00057f0, -/* 0x070a: i2c_get_byte_next */ +/* 0x0726: i2c_get_byte_next */ 0x54b60847, 0x0076bb01, 0xf90465b6, @@ -1380,7 +1387,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b606bd, + 0x64b606d9, 0x2b11f404, 0xb60553fd, 0x1bf40142, @@ -1390,12 +1397,12 @@ uint32_t nva3_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x7c21f550, + 0x9821f550, 0x0464b606, -/* 0x0754: i2c_get_byte_done */ -/* 0x0756: i2c_put_byte */ +/* 0x0770: i2c_get_byte_done */ +/* 0x0772: i2c_put_byte */ 0x47f000f8, -/* 0x0759: i2c_put_byte_next */ +/* 0x0775: i2c_put_byte_next */ 0x0142b608, 0xbb3854ff, 0x65b60076, @@ -1403,7 +1410,7 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x067c21f5, + 0x069821f5, 0xf40464b6, 0x46b03411, 0xd81bf400, @@ -1412,21 +1419,21 @@ uint32_t nva3_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xbd21f550, + 0xd921f550, 0x0464b606, 0xbb0f11f4, 0x36b00076, 0x061bf401, -/* 0x07af: i2c_put_byte_done */ +/* 0x07cb: i2c_put_byte_done */ 0xf80132f4, -/* 0x07b1: i2c_addr */ +/* 0x07cd: i2c_addr */ 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b605ed, + 0x64b60609, 0x2911f404, 0x012ec3e7, 0xfd0134b6, @@ -1436,24 +1443,24 @@ uint32_t nva3_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6075621, -/* 0x07f6: i2c_addr_done */ + 0xb6077221, +/* 0x0812: i2c_addr_done */ 0x00f80464, -/* 0x07f8: i2c_acquire_addr */ +/* 0x0814: i2c_acquire_addr */ 0xb6f8cec7, 0xe0b702e4, 0xee980bfc, -/* 0x0807: i2c_acquire */ +/* 0x0823: i2c_acquire */ 0xf500f800, - 0xf407f821, + 0xf4081421, 0xd9f00421, 0x3f21f403, -/* 0x0816: i2c_release */ +/* 0x0832: i2c_release */ 0x21f500f8, - 0x21f407f8, + 0x21f40814, 0x03daf004, 0xf83f21f4, -/* 0x0825: i2c_recv */ +/* 0x0841: i2c_recv */ 0x0132f400, 0xb6f8c1c7, 0x16b00214, @@ -1472,7 +1479,7 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x080721f5, + 0x082321f5, 0xfc0464b6, 0x00d6b0d0, 0x00b31bf5, @@ -1482,7 +1489,7 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07b121f5, + 0x07cd21f5, 0xf50464b6, 0xc700d011, 0x76bbe0c5, @@ -1491,7 +1498,7 @@ uint32_t nva3_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6075621, + 0xb6077221, 0x11f50464, 0x57f000ad, 0x0076bb01, @@ -1500,7 +1507,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b607b1, + 0x64b607cd, 0x8a11f504, 0x0076bb00, 0xf90465b6, @@ -1508,7 +1515,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60704, + 0x64b60720, 0x6a11f404, 0xbbe05bcb, 0x65b60076, @@ -1516,38 +1523,38 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x064921f5, + 0x066521f5, 0xb90464b6, 0x74bd025b, -/* 0x092b: i2c_recv_not_rd08 */ +/* 0x0947: i2c_recv_not_rd08 */ 0xb0430ef4, 0x1bf401d6, 0x0057f03d, - 0x07b121f5, + 0x07cd21f5, 0xc73311f4, 0x21f5e0c5, - 0x11f40756, + 0x11f40772, 0x0057f029, - 0x07b121f5, + 0x07cd21f5, 0xc71f11f4, 0x21f5e0b5, - 0x11f40756, - 0x4921f515, + 0x11f40772, + 0x6521f515, 0xc774bd06, 0x1bf408c5, 0x0232f409, -/* 0x096b: i2c_recv_not_wr08 */ -/* 0x096b: i2c_recv_done */ +/* 0x0987: i2c_recv_not_wr08 */ +/* 0x0987: i2c_recv_done */ 0xc7030ef4, 0x21f5f8ce, - 0xe0fc0816, + 0xe0fc0832, 0x12f4d0fc, 0x027cb90a, - 0x02b921f5, -/* 0x0980: i2c_recv_exit */ -/* 0x0982: i2c_init */ + 0x02d521f5, +/* 0x099c: i2c_recv_exit */ +/* 0x099e: i2c_init */ 0x00f800f8, -/* 0x0984: test_recv */ +/* 0x09a0: test_recv */ 0x05d817f1, 0xcf0614b6, 0x10b60011, @@ -1557,12 +1564,12 @@ uint32_t nva3_pwr_code[] = { 0x00e7f104, 0x4fe3f1d9, 0xf521f513, -/* 0x09ab: test_init */ +/* 0x09c7: test_init */ 0xf100f801, 0xf50800e7, 0xf801f521, -/* 0x09b5: idle_recv */ -/* 0x09b7: idle */ +/* 0x09d1: idle_recv */ +/* 0x09d3: idle */ 0xf400f800, 0x17f10031, 0x14b605d4, @@ -1570,20 +1577,77 @@ uint32_t nva3_pwr_code[] = { 0xf10110b6, 0xb605d407, 0x01d00604, -/* 0x09d3: idle_loop */ +/* 0x09ef: idle_loop */ 0xf004bd00, 0x32f45817, -/* 0x09d9: idle_proc */ -/* 0x09d9: idle_proc_exec */ +/* 0x09f5: idle_proc */ +/* 0x09f5: idle_proc_exec */ 0xb910f902, 0x21f5021e, - 0x10fc02c2, + 0x10fc02de, 0xf40911f4, 0x0ef40231, -/* 0x09ed: idle_proc_next */ +/* 0x0a09: idle_proc_next */ 0x5810b6ef, 0xf4061fb8, 0x02f4e61b, 0x0028f4dd, 0x00bb0ef4, + 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, }; diff --git a/nvkm/subdev/pwr/fuc/nvc0.fuc.h b/nvkm/subdev/pwr/fuc/nvc0.fuc.h index 4dba00d2..1149307e 100644 --- a/nvkm/subdev/pwr/fuc/nvc0.fuc.h +++ b/nvkm/subdev/pwr/fuc/nvc0.fuc.h @@ -24,8 +24,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x00000430, - 0x000003cd, + 0x0000044c, + 0x000003e9, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000054e, - 0x00000540, + 0x0000056a, + 0x0000055c, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000552, - 0x00000550, + 0x0000056e, + 0x0000056c, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000982, - 0x00000825, + 0x0000099e, + 0x00000841, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x000009ab, - 0x00000984, + 0x000009c7, + 0x000009a0, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x000009b7, - 0x000009b5, + 0x000009d3, + 0x000009d1, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nvc0_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x0000046f, + 0x0000048b, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000496, + 0x000004b2, 0x00000002, 0x00000002, - 0x000004b7, + 0x000004d3, 0x00040003, 0x00000000, - 0x000004df, + 0x000004fb, 0x00010004, 0x00000000, - 0x000004fc, + 0x00000518, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -849,7 +849,7 @@ uint32_t nvc0_pwr_data[] = { }; uint32_t nvc0_pwr_code[] = { - 0x030d0ef5, + 0x03290ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xd00604b6, @@ -915,7 +915,7 @@ uint32_t nvc0_pwr_code[] = { 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x025421f5, + 0x027021f5, 0x0ef494bd, /* 0x00e9: intr_watchdog_next_time */ 0x9b0a9815, @@ -967,7 +967,7 @@ uint32_t nvc0_pwr_code[] = { 0x48e7f1c0, 0x53e3f14f, 0x00d7f054, - 0x02b921f5, + 0x02d521f5, 0x07f1c0fc, 0x04b604c0, 0x000cd006, @@ -994,13 +994,19 @@ uint32_t nvc0_pwr_code[] = { 0x00fc80fc, 0xf80032f4, /* 0x01f5: timer */ - 0x1032f401, + 0xf990f901, + 0x1032f480, 0xb003f898, 0x1cf40086, - 0x03fe8051, - 0xb63807f0, - 0x08d00604, - 0xf004bd00, + 0xf084bd65, + 0x04b63807, + 0x0008d006, + 0x87f004bd, + 0x0684b634, + 0x980088cf, + 0x98bb9a09, + 0x00e9bb02, + 0xf003fe80, 0x84b60887, 0x0088cf06, 0xf40284f0, @@ -1009,19 +1015,20 @@ uint32_t nvc0_pwr_code[] = { 0xb80088cf, 0x0bf406e0, 0x06e8b809, -/* 0x0233: timer_reset */ - 0xf01f1ef4, +/* 0x024b: timer_reset */ + 0xf0111cf4, 0x04b63407, 0x000ed006, 0x0e8004bd, -/* 0x0241: timer_enable */ +/* 0x0259: timer_enable */ 0x0187f09a, 0xb63807f0, 0x08d00604, -/* 0x024f: timer_done */ +/* 0x0267: timer_done */ 0xf404bd00, - 0x00f81031, -/* 0x0254: send_proc */ + 0x80fc1031, + 0x00f890fc, +/* 0x0270: send_proc */ 0x90f980f9, 0x9805e898, 0x86f004e9, @@ -1036,25 +1043,25 @@ uint32_t nvc0_pwr_code[] = { 0x90b6038b, 0x0794f001, 0xf404e980, -/* 0x028e: send_done */ +/* 0x02aa: send_done */ 0x90fc0231, 0x00f880fc, -/* 0x0294: find */ +/* 0x02b0: find */ 0x87f080f9, 0x0131f458, -/* 0x029c: find_loop */ +/* 0x02b8: find_loop */ 0xb8008a98, 0x0bf406ae, 0x5880b610, 0x026886b1, 0xf4f01bf4, -/* 0x02b2: find_done */ +/* 0x02ce: find_done */ 0x8eb90132, 0xf880fc02, -/* 0x02b9: send */ - 0x9421f500, +/* 0x02d5: send */ + 0xb021f500, 0x9701f402, -/* 0x02c2: recv */ +/* 0x02de: recv */ 0xe89800f8, 0x04e99805, 0xb80132f4, @@ -1073,9 +1080,9 @@ uint32_t nvc0_pwr_code[] = { 0xf900ee98, 0xfef0fca5, 0x31f400f8, -/* 0x030b: recv_done */ +/* 0x0327: recv_done */ 0xf8f0fc01, -/* 0x030d: init */ +/* 0x0329: init */ 0x0817f100, 0x0614b601, 0xe70011cf, @@ -1101,12 +1108,12 @@ uint32_t nvc0_pwr_code[] = { 0x04b63807, 0x0001d006, 0xf7f004bd, -/* 0x0371: init_proc */ +/* 0x038d: init_proc */ 0x01f19858, 0xf40016b0, 0x15f9fa0b, 0xf458f0b6, -/* 0x0382: host_send */ +/* 0x039e: host_send */ 0x17f1f20e, 0x14b604b0, 0x0011cf06, @@ -1120,18 +1127,18 @@ uint32_t nvc0_pwr_code[] = { 0x02ec9803, 0x9801ed98, 0x21f500ee, - 0x10b602b9, + 0x10b602d5, 0x0f1ec401, 0x04b007f1, 0xd00604b6, 0x04bd0001, -/* 0x03cb: host_send_done */ +/* 0x03e7: host_send_done */ 0xf8ba0ef4, -/* 0x03cd: host_recv */ +/* 0x03e9: host_recv */ 0x4917f100, 0x5413f14e, 0x06e1b852, -/* 0x03db: host_recv_wait */ +/* 0x03f7: host_recv_wait */ 0xf1aa0bf4, 0xb604cc17, 0x11cf0614, @@ -1154,7 +1161,7 @@ uint32_t nvc0_pwr_code[] = { 0x04b60007, 0x0002d006, 0x00f804bd, -/* 0x0430: host_init */ +/* 0x044c: host_init */ 0x008017f1, 0xf11014b6, 0xf1027015, @@ -1170,29 +1177,29 @@ uint32_t nvc0_pwr_code[] = { 0xc407f101, 0x0604b604, 0xbd0001d0, -/* 0x046f: memx_func_enter */ +/* 0x048b: memx_func_enter */ 0xf000f804, 0x07f10467, 0x04b607e0, 0x0006d006, -/* 0x047e: memx_func_enter_wait */ +/* 0x049a: memx_func_enter_wait */ 0x67f104bd, 0x64b607c0, 0x0066cf06, 0xf40464f0, 0x1698f30b, 0x0410b600, -/* 0x0496: memx_func_leave */ +/* 0x04b2: memx_func_leave */ 0x67f000f8, 0xe407f104, 0x0604b607, 0xbd0006d0, -/* 0x04a5: memx_func_leave_wait */ +/* 0x04c1: memx_func_leave_wait */ 0xc067f104, 0x0664b607, 0xf00066cf, 0x1bf40464, -/* 0x04b7: memx_func_wr32 */ +/* 0x04d3: memx_func_wr32 */ 0x9800f8f3, 0x15980016, 0x0810b601, @@ -1203,7 +1210,7 @@ uint32_t nvc0_pwr_code[] = { 0x05800506, 0xb604bd00, 0x1bf40242, -/* 0x04df: memx_func_wait */ +/* 0x04fb: memx_func_wait */ 0xf000f8dd, 0x84b62c87, 0x0088cf06, @@ -1212,14 +1219,14 @@ uint32_t nvc0_pwr_code[] = { 0x031b9802, 0xf41010b6, 0x00f89c21, -/* 0x04fc: memx_func_delay */ +/* 0x0518: memx_func_delay */ 0xb6001e98, 0x21f40410, -/* 0x0507: memx_exec */ +/* 0x0523: memx_exec */ 0xf900f87f, 0xb9d0f9e0, 0xb2b902c1, -/* 0x0511: memx_exec_next */ +/* 0x052d: memx_exec_next */ 0x00139802, 0x950410b6, 0x30f01034, @@ -1227,113 +1234,113 @@ uint32_t nvc0_pwr_code[] = { 0x12b855f9, 0xec1ef406, 0xe0fcd0fc, - 0x02b921f5, -/* 0x0532: memx_info */ + 0x02d521f5, +/* 0x054e: memx_info */ 0xc7f100f8, 0xb7f103ac, 0x21f50800, - 0x00f802b9, -/* 0x0540: memx_recv */ + 0x00f802d5, +/* 0x055c: memx_recv */ 0xf401d6b0, 0xd6b0c40b, 0xe90bf400, -/* 0x054e: memx_init */ +/* 0x056a: memx_init */ 0x00f800f8, -/* 0x0550: perf_recv */ -/* 0x0552: perf_init */ +/* 0x056c: perf_recv */ +/* 0x056e: perf_init */ 0x00f800f8, -/* 0x0554: i2c_drive_scl */ +/* 0x0570: i2c_drive_scl */ 0xf40036b0, 0x07f1110b, 0x04b607e0, 0x0001d006, 0x00f804bd, -/* 0x0568: i2c_drive_scl_lo */ +/* 0x0584: i2c_drive_scl_lo */ 0x07e407f1, 0xd00604b6, 0x04bd0001, -/* 0x0576: i2c_drive_sda */ +/* 0x0592: i2c_drive_sda */ 0x36b000f8, 0x110bf400, 0x07e007f1, 0xd00604b6, 0x04bd0002, -/* 0x058a: i2c_drive_sda_lo */ +/* 0x05a6: i2c_drive_sda_lo */ 0x07f100f8, 0x04b607e4, 0x0002d006, 0x00f804bd, -/* 0x0598: i2c_sense_scl */ +/* 0x05b4: i2c_sense_scl */ 0xf10132f4, 0xb607c437, 0x33cf0634, 0x0431fd00, 0xf4060bf4, -/* 0x05ae: i2c_sense_scl_done */ +/* 0x05ca: i2c_sense_scl_done */ 0x00f80131, -/* 0x05b0: i2c_sense_sda */ +/* 0x05cc: i2c_sense_sda */ 0xf10132f4, 0xb607c437, 0x33cf0634, 0x0432fd00, 0xf4060bf4, -/* 0x05c6: i2c_sense_sda_done */ +/* 0x05e2: i2c_sense_sda_done */ 0x00f80131, -/* 0x05c8: i2c_raise_scl */ +/* 0x05e4: i2c_raise_scl */ 0x47f140f9, 0x37f00898, - 0x5421f501, -/* 0x05d5: i2c_raise_scl_wait */ + 0x7021f501, +/* 0x05f1: i2c_raise_scl_wait */ 0xe8e7f105, 0x7f21f403, - 0x059821f5, + 0x05b421f5, 0xb60901f4, 0x1bf40142, -/* 0x05e9: i2c_raise_scl_done */ +/* 0x0605: i2c_raise_scl_done */ 0xf840fcef, -/* 0x05ed: i2c_start */ - 0x9821f500, +/* 0x0609: i2c_start */ + 0xb421f500, 0x0d11f405, - 0x05b021f5, + 0x05cc21f5, 0xf40611f4, -/* 0x05fe: i2c_start_rep */ +/* 0x061a: i2c_start_rep */ 0x37f0300e, - 0x5421f500, + 0x7021f500, 0x0137f005, - 0x057621f5, + 0x059221f5, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xc821f550, + 0xe421f550, 0x0464b605, -/* 0x062b: i2c_start_send */ +/* 0x0647: i2c_start_send */ 0xf01f11f4, 0x21f50037, - 0xe7f10576, + 0xe7f10592, 0x21f41388, 0x0037f07f, - 0x055421f5, + 0x057021f5, 0x1388e7f1, -/* 0x0647: i2c_start_out */ +/* 0x0663: i2c_start_out */ 0xf87f21f4, -/* 0x0649: i2c_stop */ +/* 0x0665: i2c_stop */ 0x0037f000, - 0x055421f5, + 0x057021f5, 0xf50037f0, - 0xf1057621, + 0xf1059221, 0xf403e8e7, 0x37f07f21, - 0x5421f501, + 0x7021f501, 0x88e7f105, 0x7f21f413, 0xf50137f0, - 0xf1057621, + 0xf1059221, 0xf41388e7, 0x00f87f21, -/* 0x067c: i2c_bitw */ - 0x057621f5, +/* 0x0698: i2c_bitw */ + 0x059221f5, 0x03e8e7f1, 0xbb7f21f4, 0x65b60076, @@ -1341,18 +1348,18 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x05c821f5, + 0x05e421f5, 0xf40464b6, 0xe7f11811, 0x21f41388, 0x0037f07f, - 0x055421f5, + 0x057021f5, 0x1388e7f1, -/* 0x06bb: i2c_bitw_out */ +/* 0x06d7: i2c_bitw_out */ 0xf87f21f4, -/* 0x06bd: i2c_bitr */ +/* 0x06d9: i2c_bitr */ 0x0137f000, - 0x057621f5, + 0x059221f5, 0x03e8e7f1, 0xbb7f21f4, 0x65b60076, @@ -1360,19 +1367,19 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x05c821f5, + 0x05e421f5, 0xf40464b6, 0x21f51b11, - 0x37f005b0, - 0x5421f500, + 0x37f005cc, + 0x7021f500, 0x88e7f105, 0x7f21f413, 0xf4013cf0, -/* 0x0702: i2c_bitr_done */ +/* 0x071e: i2c_bitr_done */ 0x00f80131, -/* 0x0704: i2c_get_byte */ +/* 0x0720: i2c_get_byte */ 0xf00057f0, -/* 0x070a: i2c_get_byte_next */ +/* 0x0726: i2c_get_byte_next */ 0x54b60847, 0x0076bb01, 0xf90465b6, @@ -1380,7 +1387,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b606bd, + 0x64b606d9, 0x2b11f404, 0xb60553fd, 0x1bf40142, @@ -1390,12 +1397,12 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x7c21f550, + 0x9821f550, 0x0464b606, -/* 0x0754: i2c_get_byte_done */ -/* 0x0756: i2c_put_byte */ +/* 0x0770: i2c_get_byte_done */ +/* 0x0772: i2c_put_byte */ 0x47f000f8, -/* 0x0759: i2c_put_byte_next */ +/* 0x0775: i2c_put_byte_next */ 0x0142b608, 0xbb3854ff, 0x65b60076, @@ -1403,7 +1410,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x067c21f5, + 0x069821f5, 0xf40464b6, 0x46b03411, 0xd81bf400, @@ -1412,21 +1419,21 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xbd21f550, + 0xd921f550, 0x0464b606, 0xbb0f11f4, 0x36b00076, 0x061bf401, -/* 0x07af: i2c_put_byte_done */ +/* 0x07cb: i2c_put_byte_done */ 0xf80132f4, -/* 0x07b1: i2c_addr */ +/* 0x07cd: i2c_addr */ 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b605ed, + 0x64b60609, 0x2911f404, 0x012ec3e7, 0xfd0134b6, @@ -1436,24 +1443,24 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6075621, -/* 0x07f6: i2c_addr_done */ + 0xb6077221, +/* 0x0812: i2c_addr_done */ 0x00f80464, -/* 0x07f8: i2c_acquire_addr */ +/* 0x0814: i2c_acquire_addr */ 0xb6f8cec7, 0xe0b702e4, 0xee980bfc, -/* 0x0807: i2c_acquire */ +/* 0x0823: i2c_acquire */ 0xf500f800, - 0xf407f821, + 0xf4081421, 0xd9f00421, 0x3f21f403, -/* 0x0816: i2c_release */ +/* 0x0832: i2c_release */ 0x21f500f8, - 0x21f407f8, + 0x21f40814, 0x03daf004, 0xf83f21f4, -/* 0x0825: i2c_recv */ +/* 0x0841: i2c_recv */ 0x0132f400, 0xb6f8c1c7, 0x16b00214, @@ -1472,7 +1479,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x080721f5, + 0x082321f5, 0xfc0464b6, 0x00d6b0d0, 0x00b31bf5, @@ -1482,7 +1489,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07b121f5, + 0x07cd21f5, 0xf50464b6, 0xc700d011, 0x76bbe0c5, @@ -1491,7 +1498,7 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6075621, + 0xb6077221, 0x11f50464, 0x57f000ad, 0x0076bb01, @@ -1500,7 +1507,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b607b1, + 0x64b607cd, 0x8a11f504, 0x0076bb00, 0xf90465b6, @@ -1508,7 +1515,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60704, + 0x64b60720, 0x6a11f404, 0xbbe05bcb, 0x65b60076, @@ -1516,38 +1523,38 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x064921f5, + 0x066521f5, 0xb90464b6, 0x74bd025b, -/* 0x092b: i2c_recv_not_rd08 */ +/* 0x0947: i2c_recv_not_rd08 */ 0xb0430ef4, 0x1bf401d6, 0x0057f03d, - 0x07b121f5, + 0x07cd21f5, 0xc73311f4, 0x21f5e0c5, - 0x11f40756, + 0x11f40772, 0x0057f029, - 0x07b121f5, + 0x07cd21f5, 0xc71f11f4, 0x21f5e0b5, - 0x11f40756, - 0x4921f515, + 0x11f40772, + 0x6521f515, 0xc774bd06, 0x1bf408c5, 0x0232f409, -/* 0x096b: i2c_recv_not_wr08 */ -/* 0x096b: i2c_recv_done */ +/* 0x0987: i2c_recv_not_wr08 */ +/* 0x0987: i2c_recv_done */ 0xc7030ef4, 0x21f5f8ce, - 0xe0fc0816, + 0xe0fc0832, 0x12f4d0fc, 0x027cb90a, - 0x02b921f5, -/* 0x0980: i2c_recv_exit */ -/* 0x0982: i2c_init */ + 0x02d521f5, +/* 0x099c: i2c_recv_exit */ +/* 0x099e: i2c_init */ 0x00f800f8, -/* 0x0984: test_recv */ +/* 0x09a0: test_recv */ 0x05d817f1, 0xcf0614b6, 0x10b60011, @@ -1557,12 +1564,12 @@ uint32_t nvc0_pwr_code[] = { 0x00e7f104, 0x4fe3f1d9, 0xf521f513, -/* 0x09ab: test_init */ +/* 0x09c7: test_init */ 0xf100f801, 0xf50800e7, 0xf801f521, -/* 0x09b5: idle_recv */ -/* 0x09b7: idle */ +/* 0x09d1: idle_recv */ +/* 0x09d3: idle */ 0xf400f800, 0x17f10031, 0x14b605d4, @@ -1570,20 +1577,77 @@ uint32_t nvc0_pwr_code[] = { 0xf10110b6, 0xb605d407, 0x01d00604, -/* 0x09d3: idle_loop */ +/* 0x09ef: idle_loop */ 0xf004bd00, 0x32f45817, -/* 0x09d9: idle_proc */ -/* 0x09d9: idle_proc_exec */ +/* 0x09f5: idle_proc */ +/* 0x09f5: idle_proc_exec */ 0xb910f902, 0x21f5021e, - 0x10fc02c2, + 0x10fc02de, 0xf40911f4, 0x0ef40231, -/* 0x09ed: idle_proc_next */ +/* 0x0a09: idle_proc_next */ 0x5810b6ef, 0xf4061fb8, 0x02f4e61b, 0x0028f4dd, 0x00bb0ef4, + 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, }; diff --git a/nvkm/subdev/pwr/fuc/nvd0.fuc.h b/nvkm/subdev/pwr/fuc/nvd0.fuc.h index 5e24c6bc..d3685e36 100644 --- a/nvkm/subdev/pwr/fuc/nvd0.fuc.h +++ b/nvkm/subdev/pwr/fuc/nvd0.fuc.h @@ -24,8 +24,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x000003be, - 0x00000367, + 0x000003d7, + 0x00000380, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x000004c4, - 0x000004b6, + 0x000004dd, + 0x000004cf, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x000004c8, - 0x000004c6, + 0x000004e1, + 0x000004df, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x000008e3, - 0x00000786, + 0x000008fc, + 0x0000079f, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000906, - 0x000008e5, + 0x0000091f, + 0x000008fe, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000912, - 0x00000910, + 0x0000092b, + 0x00000929, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nvd0_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x000003f4, + 0x0000040d, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000415, + 0x0000042e, 0x00000002, 0x00000002, - 0x00000430, + 0x00000449, 0x00040003, 0x00000000, - 0x00000458, + 0x00000471, 0x00010004, 0x00000000, - 0x00000472, + 0x0000048b, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -784,7 +784,7 @@ uint32_t nvd0_pwr_data[] = { }; uint32_t nvd0_pwr_code[] = { - 0x02bf0ef5, + 0x02d80ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xbd000ed0, @@ -841,7 +841,7 @@ uint32_t nvd0_pwr_code[] = { 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x020621f5, + 0x021f21f5, 0x0ef494bd, /* 0x00c5: intr_watchdog_next_time */ 0x9b0a9815, @@ -889,7 +889,7 @@ uint32_t nvd0_pwr_code[] = { 0xf14f48e7, 0xf05453e3, 0x21f500d7, - 0xc0fc026b, + 0xc0fc0284, 0x04c007f1, 0xbd000cd0, /* 0x0175: intr_subintr_skip_fifo */ @@ -913,578 +913,578 @@ uint32_t nvd0_pwr_code[] = { 0xfc80fc90, 0x0032f400, /* 0x01b6: timer */ - 0x32f401f8, + 0x90f901f8, + 0x32f480f9, 0x03f89810, 0xf40086b0, - 0xfe80421c, - 0x3807f003, - 0xbd0008d0, - 0x0887f004, - 0xf00088cf, - 0x1bf40284, - 0x3487f020, - 0xb80088cf, - 0x0bf406e0, - 0x06e8b809, -/* 0x01eb: timer_reset */ - 0xf0191ef4, - 0x0ed03407, - 0x8004bd00, -/* 0x01f6: timer_enable */ - 0x87f09a0e, - 0x3807f001, - 0xbd0008d0, -/* 0x0201: timer_done */ - 0x1031f404, -/* 0x0206: send_proc */ - 0x80f900f8, - 0xe89890f9, - 0x04e99805, - 0xb80486f0, - 0x0bf40689, - 0x0398c42a, - 0xb6048894, - 0x8ebb1880, - 0x00fa9800, - 0x80008a80, - 0x8c80018d, - 0x038b8002, - 0xf00190b6, - 0xe9800794, - 0x0231f404, -/* 0x0240: send_done */ - 0x80fc90fc, -/* 0x0246: find */ - 0x80f900f8, - 0xf45887f0, -/* 0x024e: find_loop */ - 0x8a980131, - 0x06aeb800, - 0xb6100bf4, - 0x86b15880, - 0x1bf40268, - 0x0132f4f0, -/* 0x0264: find_done */ - 0xfc028eb9, -/* 0x026b: send */ - 0xf500f880, - 0xf4024621, - 0x00f89701, -/* 0x0274: recv */ - 0x9805e898, - 0x32f404e9, - 0x0689b801, - 0xc43d0bf4, - 0x80b60389, - 0x0784f001, - 0x9805e880, - 0xf0f902ea, - 0xf9018ffe, - 0x02efb9f0, - 0xbb049994, - 0xe0b600e9, - 0x03eb9818, - 0x9802ec98, - 0xee9801ed, - 0xfca5f900, - 0x00f8fef0, - 0xfc0131f4, -/* 0x02bd: recv_done */ -/* 0x02bf: init */ - 0xf100f8f0, - 0xcf010817, - 0x11e70011, - 0x14b60109, - 0x0014fe08, - 0x00e017f1, - 0xf00013f0, - 0x01d01c07, - 0xf004bd00, - 0x07f0ff17, - 0x0001d014, - 0x17f004bd, - 0x0015f102, - 0x1007f008, - 0xbd0001d0, - 0xe617f104, + 0x84bd531c, + 0xd03807f0, + 0x04bd0008, + 0xcf3487f0, + 0x09980088, + 0x0298bb9a, + 0x8000e9bb, + 0x87f003fe, + 0x0088cf08, + 0xf40284f0, + 0x87f0201b, + 0x0088cf34, + 0xf406e0b8, + 0xe8b8090b, + 0x0e1cf406, +/* 0x0200: timer_reset */ + 0xd03407f0, + 0x04bd000e, +/* 0x020b: timer_enable */ + 0xf09a0e80, + 0x07f00187, + 0x0008d038, +/* 0x0216: timer_done */ + 0x31f404bd, + 0xfc80fc10, +/* 0x021f: send_proc */ + 0xf900f890, + 0x9890f980, + 0xe99805e8, + 0x0486f004, + 0xf40689b8, + 0x98c42a0b, + 0x04889403, + 0xbb1880b6, + 0xfa98008e, + 0x008a8000, + 0x80018d80, + 0x8b80028c, + 0x0190b603, + 0x800794f0, + 0x31f404e9, +/* 0x0259: send_done */ + 0xfc90fc02, +/* 0x025f: find */ + 0xf900f880, + 0x5887f080, +/* 0x0267: find_loop */ + 0x980131f4, + 0xaeb8008a, + 0x100bf406, + 0xb15880b6, + 0xf4026886, + 0x32f4f01b, +/* 0x027d: find_done */ + 0x028eb901, + 0x00f880fc, +/* 0x0284: send */ + 0x025f21f5, + 0xf89701f4, +/* 0x028d: recv */ + 0x05e89800, + 0xf404e998, + 0x89b80132, + 0x3d0bf406, + 0xb60389c4, + 0x84f00180, + 0x05e88007, + 0xf902ea98, + 0x018ffef0, + 0xefb9f0f9, + 0x04999402, + 0xb600e9bb, + 0xeb9818e0, + 0x02ec9803, + 0x9801ed98, + 0xa5f900ee, + 0xf8fef0fc, + 0x0131f400, +/* 0x02d6: recv_done */ + 0x00f8f0fc, +/* 0x02d8: init */ + 0x010817f1, + 0xe70011cf, + 0xb6010911, + 0x14fe0814, + 0xe017f100, 0x0013f000, - 0xf40010fe, - 0x17f01031, - 0x3807f001, - 0xbd0001d0, - 0x58f7f004, -/* 0x0314: init_proc */ - 0xb001f198, - 0x0bf40016, - 0xb615f9fa, - 0x0ef458f0, -/* 0x0325: host_send */ - 0xb017f1f2, - 0x0011cf04, - 0x04a027f1, - 0xb80022cf, + 0xd01c07f0, + 0x04bd0001, + 0xf0ff17f0, + 0x01d01407, + 0xf004bd00, + 0x15f10217, + 0x07f00800, + 0x0001d010, + 0x17f104bd, + 0x13f000e6, + 0x0010fe00, + 0xf01031f4, + 0x07f00117, + 0x0001d038, + 0xf7f004bd, +/* 0x032d: init_proc */ + 0x01f19858, + 0xf40016b0, + 0x15f9fa0b, + 0xf458f0b6, +/* 0x033e: host_send */ + 0x17f1f20e, + 0x11cf04b0, + 0xa027f100, + 0x0022cf04, + 0xf40612b8, + 0x1ec42f0b, + 0x04ee9407, + 0x0270e0b7, + 0x9803eb98, + 0xed9802ec, + 0x00ee9801, + 0x028421f5, + 0xc40110b6, + 0x07f10f1e, + 0x01d004b0, + 0xf404bd00, +/* 0x037e: host_send_done */ + 0x00f8c30e, +/* 0x0380: host_recv */ + 0x4e4917f1, + 0x525413f1, + 0xf406e1b8, +/* 0x038e: host_recv_wait */ + 0x17f1b30b, + 0x11cf04cc, + 0xc827f100, + 0x0022cf04, + 0xb80816f0, 0x0bf40612, - 0x071ec42f, - 0xb704ee94, - 0x980270e0, - 0xec9803eb, - 0x01ed9802, - 0xf500ee98, - 0xb6026b21, - 0x1ec40110, - 0xb007f10f, - 0x0001d004, - 0x0ef404bd, -/* 0x0365: host_send_done */ -/* 0x0367: host_recv */ - 0xf100f8c3, - 0xf14e4917, - 0xb8525413, - 0x0bf406e1, -/* 0x0375: host_recv_wait */ - 0xcc17f1b3, - 0x0011cf04, - 0x04c827f1, - 0xf00022cf, - 0x12b80816, - 0xec0bf406, - 0xb60723c4, - 0x30b70434, - 0x3b8002f0, - 0x023c8003, - 0x80013d80, - 0x20b6003e, - 0x0f24f001, - 0x04c807f1, + 0x0723c4ec, + 0xb70434b6, + 0x8002f030, + 0x3c80033b, + 0x013d8002, + 0xb6003e80, + 0x24f00120, + 0xc807f10f, + 0x0002d004, + 0x27f004bd, + 0x0007f040, 0xbd0002d0, - 0x4027f004, - 0xd00007f0, - 0x04bd0002, -/* 0x03be: host_init */ - 0x17f100f8, - 0x14b60080, - 0x7015f110, - 0xd007f102, - 0x0001d004, - 0x17f104bd, - 0x14b60080, - 0xf015f110, - 0xdc07f102, - 0x0001d004, - 0x17f004bd, - 0xc407f101, - 0x0001d004, - 0x00f804bd, -/* 0x03f4: memx_func_enter */ - 0xf10467f0, - 0xd007e007, - 0x04bd0006, -/* 0x0400: memx_func_enter_wait */ - 0x07c067f1, - 0xf00066cf, - 0x0bf40464, - 0x001698f6, - 0xf80410b6, -/* 0x0415: memx_func_leave */ +/* 0x03d7: host_init */ + 0xf100f804, + 0xb6008017, + 0x15f11014, + 0x07f10270, + 0x01d004d0, + 0xf104bd00, + 0xb6008017, + 0x15f11014, + 0x07f102f0, + 0x01d004dc, + 0xf004bd00, + 0x07f10117, + 0x01d004c4, + 0xf804bd00, +/* 0x040d: memx_func_enter */ 0x0467f000, - 0x07e407f1, + 0x07e007f1, 0xbd0006d0, -/* 0x0421: memx_func_leave_wait */ +/* 0x0419: memx_func_enter_wait */ 0xc067f104, 0x0066cf07, 0xf40464f0, - 0x00f8f61b, -/* 0x0430: memx_func_wr32 */ - 0x98001698, - 0x10b60115, - 0xf960f908, - 0xfcd0fc50, - 0x3321f4e0, - 0x140003f1, - 0x800506fd, - 0x04bd0005, - 0xf40242b6, - 0x00f8dd1b, -/* 0x0458: memx_func_wait */ - 0xcf2c87f0, - 0x1e980088, - 0x011d9800, - 0x98021c98, - 0x10b6031b, - 0x7e21f410, -/* 0x0472: memx_func_delay */ - 0x1e9800f8, + 0x1698f60b, 0x0410b600, - 0xf86721f4, -/* 0x047d: memx_exec */ - 0xf9e0f900, - 0x02c1b9d0, -/* 0x0487: memx_exec_next */ - 0x9802b2b9, - 0x10b60013, - 0x10349504, - 0x980c30f0, - 0x55f9de35, - 0xf40612b8, - 0xd0fcec1e, - 0x21f5e0fc, - 0x00f8026b, -/* 0x04a8: memx_info */ - 0x03acc7f1, - 0x0800b7f1, - 0x026b21f5, -/* 0x04b6: memx_recv */ - 0xd6b000f8, - 0xc40bf401, - 0xf400d6b0, - 0x00f8e90b, -/* 0x04c4: memx_init */ -/* 0x04c6: perf_recv */ - 0x00f800f8, -/* 0x04c8: perf_init */ -/* 0x04ca: i2c_drive_scl */ - 0x36b000f8, - 0x0e0bf400, - 0x07e007f1, +/* 0x042e: memx_func_leave */ + 0x67f000f8, + 0xe407f104, + 0x0006d007, +/* 0x043a: memx_func_leave_wait */ + 0x67f104bd, + 0x66cf07c0, + 0x0464f000, + 0xf8f61bf4, +/* 0x0449: memx_func_wr32 */ + 0x00169800, + 0xb6011598, + 0x60f90810, + 0xd0fc50f9, + 0x21f4e0fc, + 0x0003f133, + 0x0506fd14, + 0xbd000580, + 0x0242b604, + 0xf8dd1bf4, +/* 0x0471: memx_func_wait */ + 0x2c87f000, + 0x980088cf, + 0x1d98001e, + 0x021c9801, + 0xb6031b98, + 0x21f41010, +/* 0x048b: memx_func_delay */ + 0x9800f87e, + 0x10b6001e, + 0x6721f404, +/* 0x0496: memx_exec */ + 0xe0f900f8, + 0xc1b9d0f9, + 0x02b2b902, +/* 0x04a0: memx_exec_next */ + 0xb6001398, + 0x34950410, + 0x0c30f010, + 0xf9de3598, + 0x0612b855, + 0xfcec1ef4, + 0xf5e0fcd0, + 0xf8028421, +/* 0x04c1: memx_info */ + 0xacc7f100, + 0x00b7f103, + 0x8421f508, +/* 0x04cf: memx_recv */ + 0xb000f802, + 0x0bf401d6, + 0x00d6b0c4, + 0xf8e90bf4, +/* 0x04dd: memx_init */ +/* 0x04df: perf_recv */ + 0xf800f800, +/* 0x04e1: perf_init */ +/* 0x04e3: i2c_drive_scl */ + 0xb000f800, + 0x0bf40036, + 0xe007f10e, + 0x0001d007, + 0x00f804bd, +/* 0x04f4: i2c_drive_scl_lo */ + 0x07e407f1, 0xbd0001d0, -/* 0x04db: i2c_drive_scl_lo */ - 0xf100f804, - 0xd007e407, - 0x04bd0001, -/* 0x04e6: i2c_drive_sda */ - 0x36b000f8, - 0x0e0bf400, - 0x07e007f1, +/* 0x04ff: i2c_drive_sda */ + 0xb000f804, + 0x0bf40036, + 0xe007f10e, + 0x0002d007, + 0x00f804bd, +/* 0x0510: i2c_drive_sda_lo */ + 0x07e407f1, 0xbd0002d0, -/* 0x04f7: i2c_drive_sda_lo */ - 0xf100f804, - 0xd007e407, - 0x04bd0002, -/* 0x0502: i2c_sense_scl */ - 0x32f400f8, - 0xc437f101, - 0x0033cf07, - 0xf40431fd, - 0x31f4060b, -/* 0x0515: i2c_sense_scl_done */ -/* 0x0517: i2c_sense_sda */ - 0xf400f801, +/* 0x051b: i2c_sense_scl */ + 0xf400f804, 0x37f10132, 0x33cf07c4, - 0x0432fd00, + 0x0431fd00, 0xf4060bf4, -/* 0x052a: i2c_sense_sda_done */ +/* 0x052e: i2c_sense_scl_done */ 0x00f80131, -/* 0x052c: i2c_raise_scl */ - 0x47f140f9, - 0x37f00898, - 0xca21f501, -/* 0x0539: i2c_raise_scl_wait */ +/* 0x0530: i2c_sense_sda */ + 0xf10132f4, + 0xcf07c437, + 0x32fd0033, + 0x060bf404, +/* 0x0543: i2c_sense_sda_done */ + 0xf80131f4, +/* 0x0545: i2c_raise_scl */ + 0xf140f900, + 0xf0089847, + 0x21f50137, +/* 0x0552: i2c_raise_scl_wait */ + 0xe7f104e3, + 0x21f403e8, + 0x1b21f567, + 0x0901f405, + 0xf40142b6, +/* 0x0566: i2c_raise_scl_done */ + 0x40fcef1b, +/* 0x056a: i2c_start */ + 0x21f500f8, + 0x11f4051b, + 0x3021f50d, + 0x0611f405, +/* 0x057b: i2c_start_rep */ + 0xf0300ef4, + 0x21f50037, + 0x37f004e3, + 0xff21f501, + 0x0076bb04, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b60545, + 0x1f11f404, +/* 0x05a8: i2c_start_send */ + 0xf50037f0, + 0xf104ff21, + 0xf41388e7, + 0x37f06721, + 0xe321f500, + 0x88e7f104, + 0x6721f413, +/* 0x05c4: i2c_start_out */ +/* 0x05c6: i2c_stop */ + 0x37f000f8, + 0xe321f500, + 0x0037f004, + 0x04ff21f5, + 0x03e8e7f1, + 0xf06721f4, + 0x21f50137, + 0xe7f104e3, + 0x21f41388, + 0x0137f067, + 0x04ff21f5, + 0x1388e7f1, + 0xf86721f4, +/* 0x05f9: i2c_bitw */ + 0xff21f500, 0xe8e7f104, 0x6721f403, - 0x050221f5, - 0xb60901f4, - 0x1bf40142, -/* 0x054d: i2c_raise_scl_done */ - 0xf840fcef, -/* 0x0551: i2c_start */ - 0x0221f500, - 0x0d11f405, - 0x051721f5, - 0xf40611f4, -/* 0x0562: i2c_start_rep */ - 0x37f0300e, - 0xca21f500, - 0x0137f004, - 0x04e621f5, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x2c21f550, + 0x4521f550, 0x0464b605, -/* 0x058f: i2c_start_send */ - 0xf01f11f4, - 0x21f50037, - 0xe7f104e6, - 0x21f41388, - 0x0037f067, - 0x04ca21f5, - 0x1388e7f1, -/* 0x05ab: i2c_start_out */ - 0xf86721f4, -/* 0x05ad: i2c_stop */ - 0x0037f000, - 0x04ca21f5, - 0xf50037f0, - 0xf104e621, - 0xf403e8e7, + 0xf11811f4, + 0xf41388e7, 0x37f06721, - 0xca21f501, + 0xe321f500, 0x88e7f104, 0x6721f413, - 0xf50137f0, - 0xf104e621, - 0xf41388e7, - 0x00f86721, -/* 0x05e0: i2c_bitw */ - 0x04e621f5, - 0x03e8e7f1, - 0xbb6721f4, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x052c21f5, - 0xf40464b6, - 0xe7f11811, +/* 0x0638: i2c_bitw_out */ +/* 0x063a: i2c_bitr */ + 0x37f000f8, + 0xff21f501, + 0xe8e7f104, + 0x6721f403, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x4521f550, + 0x0464b605, + 0xf51b11f4, + 0xf0053021, + 0x21f50037, + 0xe7f104e3, 0x21f41388, - 0x0037f067, - 0x04ca21f5, - 0x1388e7f1, -/* 0x061f: i2c_bitw_out */ - 0xf86721f4, -/* 0x0621: i2c_bitr */ - 0x0137f000, - 0x04e621f5, - 0x03e8e7f1, - 0xbb6721f4, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x052c21f5, - 0xf40464b6, - 0x21f51b11, - 0x37f00517, - 0xca21f500, - 0x88e7f104, - 0x6721f413, - 0xf4013cf0, -/* 0x0666: i2c_bitr_done */ - 0x00f80131, -/* 0x0668: i2c_get_byte */ - 0xf00057f0, -/* 0x066e: i2c_get_byte_next */ - 0x54b60847, + 0x013cf067, +/* 0x067f: i2c_bitr_done */ + 0xf80131f4, +/* 0x0681: i2c_get_byte */ + 0x0057f000, +/* 0x0687: i2c_get_byte_next */ + 0xb60847f0, + 0x76bb0154, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb6063a21, + 0x11f40464, + 0x0553fd2b, + 0xf40142b6, + 0x37f0d81b, 0x0076bb01, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60621, - 0x2b11f404, - 0xb60553fd, - 0x1bf40142, - 0x0137f0d8, + 0x64b605f9, +/* 0x06d1: i2c_get_byte_done */ +/* 0x06d3: i2c_put_byte */ + 0xf000f804, +/* 0x06d6: i2c_put_byte_next */ + 0x42b60847, + 0x3854ff01, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xe021f550, + 0xf921f550, 0x0464b605, -/* 0x06b8: i2c_get_byte_done */ -/* 0x06ba: i2c_put_byte */ - 0x47f000f8, -/* 0x06bd: i2c_put_byte_next */ - 0x0142b608, - 0xbb3854ff, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x05e021f5, - 0xf40464b6, - 0x46b03411, - 0xd81bf400, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x2121f550, - 0x0464b606, - 0xbb0f11f4, - 0x36b00076, - 0x061bf401, -/* 0x0713: i2c_put_byte_done */ - 0xf80132f4, -/* 0x0715: i2c_addr */ - 0x0076bb00, + 0xb03411f4, + 0x1bf40046, + 0x0076bbd8, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60551, - 0x2911f404, - 0x012ec3e7, - 0xfd0134b6, - 0x76bb0553, + 0x64b6063a, + 0x0f11f404, + 0xb00076bb, + 0x1bf40136, + 0x0132f406, +/* 0x072c: i2c_put_byte_done */ +/* 0x072e: i2c_addr */ + 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb606ba21, -/* 0x075a: i2c_addr_done */ - 0x00f80464, -/* 0x075c: i2c_acquire_addr */ - 0xb6f8cec7, - 0xe0b705e4, - 0x00f8d014, -/* 0x0768: i2c_acquire */ - 0x075c21f5, + 0xb6056a21, + 0x11f40464, + 0x2ec3e729, + 0x0134b601, + 0xbb0553fd, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x06d321f5, +/* 0x0773: i2c_addr_done */ + 0xf80464b6, +/* 0x0775: i2c_acquire_addr */ + 0xf8cec700, + 0xb705e4b6, + 0xf8d014e0, +/* 0x0781: i2c_acquire */ + 0x7521f500, + 0x0421f407, + 0xf403d9f0, + 0x00f83321, +/* 0x0790: i2c_release */ + 0x077521f5, 0xf00421f4, - 0x21f403d9, -/* 0x0777: i2c_release */ - 0xf500f833, - 0xf4075c21, - 0xdaf00421, - 0x3321f403, -/* 0x0786: i2c_recv */ - 0x32f400f8, - 0xf8c1c701, - 0xb00214b6, - 0x1ff52816, - 0x13a0013a, - 0x32980bd4, - 0xac13a000, - 0x0031980b, - 0xf90231f4, - 0xf9e0f9d0, - 0x0067f1d0, - 0x0063f100, - 0x01679210, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x6821f550, - 0x0464b607, - 0xd6b0d0fc, - 0xb31bf500, - 0x0057f000, + 0x21f403da, +/* 0x079f: i2c_recv */ + 0xf400f833, + 0xc1c70132, + 0x0214b6f8, + 0xf52816b0, + 0xa0013a1f, + 0x980bd413, + 0x13a00032, + 0x31980bac, + 0x0231f400, + 0xe0f9d0f9, + 0x67f1d0f9, + 0x63f10000, + 0x67921000, + 0x0076bb01, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b60781, + 0xb0d0fc04, + 0x1bf500d6, + 0x57f000b3, + 0x0076bb00, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b6072e, + 0xd011f504, + 0xe0c5c700, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1521f550, - 0x0464b607, - 0x00d011f5, - 0xbbe0c5c7, + 0xd321f550, + 0x0464b606, + 0x00ad11f5, + 0xbb0157f0, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06ba21f5, + 0x072e21f5, 0xf50464b6, - 0xf000ad11, - 0x76bb0157, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb6071521, - 0x11f50464, - 0x76bb008a, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb6066821, - 0x11f40464, - 0xe05bcb6a, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0xad21f550, - 0x0464b605, - 0xbd025bb9, - 0x430ef474, -/* 0x088c: i2c_recv_not_rd08 */ - 0xf401d6b0, - 0x57f03d1b, - 0x1521f500, - 0x3311f407, - 0xf5e0c5c7, - 0xf406ba21, - 0x57f02911, - 0x1521f500, - 0x1f11f407, - 0xf5e0b5c7, - 0xf406ba21, - 0x21f51511, - 0x74bd05ad, - 0xf408c5c7, - 0x32f4091b, - 0x030ef402, -/* 0x08cc: i2c_recv_not_wr08 */ -/* 0x08cc: i2c_recv_done */ - 0xf5f8cec7, - 0xfc077721, - 0xf4d0fce0, - 0x7cb90a12, - 0x6b21f502, -/* 0x08e1: i2c_recv_exit */ -/* 0x08e3: i2c_init */ - 0xf800f802, -/* 0x08e5: test_recv */ - 0xd817f100, - 0x0011cf05, - 0xf10110b6, - 0xd005d807, - 0x04bd0001, - 0xd900e7f1, - 0x134fe3f1, - 0x01b621f5, -/* 0x0906: test_init */ - 0xe7f100f8, - 0x21f50800, - 0x00f801b6, -/* 0x0910: idle_recv */ -/* 0x0912: idle */ - 0x31f400f8, - 0xd417f100, - 0x0011cf05, - 0xf10110b6, - 0xd005d407, - 0x04bd0001, -/* 0x0928: idle_loop */ - 0xf45817f0, -/* 0x092e: idle_proc */ -/* 0x092e: idle_proc_exec */ - 0x10f90232, - 0xf5021eb9, - 0xfc027421, - 0x0911f410, - 0xf40231f4, -/* 0x0942: idle_proc_next */ - 0x10b6ef0e, - 0x061fb858, - 0xf4e61bf4, - 0x28f4dd02, - 0xc10ef400, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0xbb008a11, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x068121f5, + 0xf40464b6, + 0x5bcb6a11, + 0x0076bbe0, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b605c6, + 0x025bb904, + 0x0ef474bd, +/* 0x08a5: i2c_recv_not_rd08 */ + 0x01d6b043, + 0xf03d1bf4, + 0x21f50057, + 0x11f4072e, + 0xe0c5c733, + 0x06d321f5, + 0xf02911f4, + 0x21f50057, + 0x11f4072e, + 0xe0b5c71f, + 0x06d321f5, + 0xf51511f4, + 0xbd05c621, + 0x08c5c774, + 0xf4091bf4, + 0x0ef40232, +/* 0x08e5: i2c_recv_not_wr08 */ +/* 0x08e5: i2c_recv_done */ + 0xf8cec703, + 0x079021f5, + 0xd0fce0fc, + 0xb90a12f4, + 0x21f5027c, +/* 0x08fa: i2c_recv_exit */ + 0x00f80284, +/* 0x08fc: i2c_init */ +/* 0x08fe: test_recv */ + 0x17f100f8, + 0x11cf05d8, + 0x0110b600, + 0x05d807f1, + 0xbd0001d0, + 0x00e7f104, + 0x4fe3f1d9, + 0xb621f513, +/* 0x091f: test_init */ + 0xf100f801, + 0xf50800e7, + 0xf801b621, +/* 0x0929: idle_recv */ +/* 0x092b: idle */ + 0xf400f800, + 0x17f10031, + 0x11cf05d4, + 0x0110b600, + 0x05d407f1, + 0xbd0001d0, +/* 0x0941: idle_loop */ + 0x5817f004, +/* 0x0947: idle_proc */ +/* 0x0947: idle_proc_exec */ + 0xf90232f4, + 0x021eb910, + 0x028d21f5, + 0x11f410fc, + 0x0231f409, +/* 0x095b: idle_proc_next */ + 0xb6ef0ef4, + 0x1fb85810, + 0xe61bf406, + 0xf4dd02f4, + 0x0ef40028, + 0x000000c1, 0x00000000, 0x00000000, 0x00000000, |