⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psc_i2c.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 498              	 499              		.set	macro 500              		.set	reorder 501              	$LFE7: 502              		.end	i2cOpen 503              		.align	2 504              		.globl	i2cClose 505              		.ent	i2cClose 506              		.type	i2cClose, @function 507              	i2cClose: 508              	$LFB8: 171:/mnt/hgfs/boot/booter/source/psc_i2c.c **** GAS LISTING /tmp/ccmjNVoP.s 			page 13 172:/mnt/hgfs/boot/booter/source/psc_i2c.c **** int i2cClose() 173:/mnt/hgfs/boot/booter/source/psc_i2c.c **** { 509              		.loc 1 173 0 510              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 511              		.mask	0x00000000,0 512              		.fmask	0x00000000,0 513              		.set	noreorder 514              		.set	nomacro 515              		 174:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	// shut down PSCs 175:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	smb->psc.ctl = 0; 516              		.loc 1 175 0 517 03d8 0000023C 		lui	$2,%hi(smb) 518 03dc 0000438C 		lw	$3,%lo(smb)($2) 176:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	return 1; 177:/mnt/hgfs/boot/booter/source/psc_i2c.c **** } 519              		.loc 1 177 0 520 03e0 01000224 		li	$2,1			# 0x1 521              		.loc 1 175 0 522 03e4 040060AC 		sw	$0,4($3) 523              		.loc 1 177 0 524 03e8 0800E003 		j	$31 525 03ec 00000000 		nop 526              	 527              		.set	macro 528              		.set	reorder 529              	$LFE8: 530              		.end	i2cClose 531              		.align	2 532              		.globl	i2c_write 533              		.ent	i2c_write 534              		.type	i2c_write, @function 535              	i2c_write: 536              	$LFB9: 178:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  179:/mnt/hgfs/boot/booter/source/psc_i2c.c **** int i2c_write(uint8 chipaddr, uint8* buf, int len) 180:/mnt/hgfs/boot/booter/source/psc_i2c.c **** { 537              		.loc 1 180 0 538              		.frame	$sp,32,$31		# vars= 0, regs= 3/0, args= 16, gp= 0 539              		.mask	0x80030000,-8 540              		.fmask	0x00000000,0 541              		.set	noreorder 542              		.set	nomacro 543              		 544 03f0 E0FFBD27 		addiu	$sp,$sp,-32 545              	$LCFI23: 546 03f4 1400B1AF 		sw	$17,20($sp) 547              	$LCFI24: 548 03f8 1000B0AF 		sw	$16,16($sp) 549              	$LCFI25: 550 03fc 2000A4A3 		sb	$4,32($sp) 551 0400 2180A000 		move	$16,$5 552 0404 1800BFAF 		sw	$31,24($sp) 553              	$LCFI26: 554              		.loc 1 180 0 181:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_start()) 555              		.loc 1 181 0GAS LISTING /tmp/ccmjNVoP.s 			page 14 556 0408 3C00000C 		jal	i2c_start 557 040c 2188C000 		move	$17,$6 558              	 182:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 183:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  184:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	chipaddr <<= 1; 185:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_write_data(&chipaddr, 1, 0)) 559              		.loc 1 185 0 560 0410 2000A427 		addiu	$4,$sp,32 561 0414 01000524 		li	$5,1			# 0x1 562 0418 21300000 		move	$6,$0 563              		.loc 1 182 0 564              		.loc 1 181 0 565 041c 07004014 		bne	$2,$0,$L50 566 0420 21180000 		move	$3,$0 567              	 568              	$L46: 186:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 187:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  188:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_write_data(buf, len, 1)) 189:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 190:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  191:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	return 1; 192:/mnt/hgfs/boot/booter/source/psc_i2c.c **** } 569              		.loc 1 192 0 570 0424 1800BF8F 		lw	$31,24($sp) 571 0428 1400B18F 		lw	$17,20($sp) 572 042c 1000B08F 		lw	$16,16($sp) 573 0430 21106000 		move	$2,$3 574 0434 0800E003 		j	$31 575 0438 2000BD27 		addiu	$sp,$sp,32 576              	 577              	$L50: 578              		.loc 1 184 0 579 043c 2000A293 		lbu	$2,32($sp) 580 0440 40100200 		sll	$2,$2,1 581              		.loc 1 185 0 582 0444 5200000C 		jal	i2c_write_data 583 0448 2000A2A3 		sb	$2,32($sp) 584              	 585              		.loc 1 188 0 586 044c 21200002 		move	$4,$16 587 0450 21282002 		move	$5,$17 588 0454 01000624 		li	$6,1			# 0x1 589              		.loc 1 186 0 590              		.loc 1 185 0 591 0458 F2FF4010 		beq	$2,$0,$L46 592 045c 21180000 		move	$3,$0 593              	 594              		.loc 1 188 0 595 0460 5200000C 		jal	i2c_write_data 596 0464 00000000 		nop 597              	 598              		.loc 1 189 0 599 0468 09010008 		j	$L46 600 046c 2B180200 		sltu	$3,$0,$2 601              	GAS LISTING /tmp/ccmjNVoP.s 			page 15 602              		.set	macro 603              		.set	reorder 604              	$LFE9: 605              		.end	i2c_write 606              		.align	2 607              		.globl	i2c_read 608              		.ent	i2c_read 609              		.type	i2c_read, @function 610              	i2c_read: 611              	$LFB10: 193:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  194:/mnt/hgfs/boot/booter/source/psc_i2c.c **** int i2c_read(uint8 chipaddr, uint8* buf, int reglen, int datalen) 195:/mnt/hgfs/boot/booter/source/psc_i2c.c **** { 612              		.loc 1 195 0 613              		.frame	$sp,48,$31		# vars= 0, regs= 7/0, args= 16, gp= 0 614              		.mask	0x803f0000,-8 615              		.fmask	0x00000000,0 616              		.set	noreorder 617              		.set	nomacro 618              		 619 0470 D0FFBD27 		addiu	$sp,$sp,-48 620              	$LCFI27: 621 0474 1800B2AF 		sw	$18,24($sp) 622              	$LCFI28: 623 0478 1400B1AF 		sw	$17,20($sp) 624              	$LCFI29: 625 047c 1000B0AF 		sw	$16,16($sp) 626              	$LCFI30: 627 0480 2800BFAF 		sw	$31,40($sp) 628              	$LCFI31: 629 0484 2400B5AF 		sw	$21,36($sp) 630              	$LCFI32: 631 0488 2000B4AF 		sw	$20,32($sp) 632              	$LCFI33: 633 048c 1C00B3AF 		sw	$19,28($sp) 634              	$LCFI34: 635              		.loc 1 195 0 636 0490 3000A4A3 		sb	$4,48($sp) 637 0494 2190A000 		move	$18,$5 638 0498 2180C000 		move	$16,$6 196:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_start()) 639              		.loc 1 196 0 640 049c 3C00000C 		jal	i2c_start 641 04a0 2188E000 		move	$17,$7 642              	 197:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 643              		.loc 1 197 0 644              		.loc 1 196 0 645 04a4 0B004014 		bne	$2,$0,$L69 646 04a8 21180000 		move	$3,$0 647              	 648              	$L51: 198:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  199:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	chipaddr <<= 1; 200:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_write_data(&chipaddr, 1, 0)) 201:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 202:/mnt/hgfs/boot/booter/source/psc_i2c.c **** GAS LISTING /tmp/ccmjNVoP.s 			page 16 203:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_write_data(buf, reglen, 2)) 204:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 205:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  206:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	chipaddr |= 1; 207:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_write_data(&chipaddr, 1, 0)) 208:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 209:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  210:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	if(!i2c_read_data(buf, datalen)) 211:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 		return 0; 212:/mnt/hgfs/boot/booter/source/psc_i2c.c ****  213:/mnt/hgfs/boot/booter/source/psc_i2c.c **** 	return 1; 214:/mnt/hgfs/boot/booter/source/psc_i2c.c **** } 649              		.loc 1 214 0 650 04ac 2800BF8F 		lw	$31,40($sp) 651 04b0 2400B58F 		lw	$21,36($sp) 652 04b4 2000B48F 		lw	$20,32($sp) 653 04b8 1C00B38F 		lw	$19,28($sp) 654 04bc 1800B28F 		lw	$18,24($sp) 655 04c0 1400B18F 		lw	$17,20($sp) 656 04c4 1000B08F 		lw	$16,16($sp) 657 04c8 21106000 		move	$2,$3 658 04cc 0800E003 		j	$31 659 04d0 3000BD27 		addiu	$sp,$sp,48 660              	 661              	$L69: 662              		.loc 1 199 0 663 04d4 3000A293 		lbu	$2,48($sp) 664              		.loc 1 200 0 665 04d8 3000A427 		addiu	$4,$sp,48 666 04dc 01000524 		li	$5,1			# 0x1 667              		.loc 1 199 0 668 04e0 40100200 		sll	$2,$2,1 669              		.loc 1 200 0 670 04e4 21300000 		move	$6,$0 671              		.loc 1 199 0 672              		.loc 1 200 0 673 04e8 5200000C 		jal	i2c_write_data 674 04ec 3000A2A3 		sb	$2,48($sp) 675              	 676              		.loc 1 201 0 677              		.loc 1 200 0 678 04f0 EEFF4010 		beq	$2,$0,$L51 679 04f4 21180000 		move	$3,$0 680              	 681              		.loc 1 203 0 682 04f8 21280002 		move	$5,$16 683 04fc 21204002 		move	$4,$18 684 0500 5200000C 		jal	i2c_write_data 685 0504 02000624 		li	$6,2			# 0x2 686              	 687              		.loc 1 204 0 688              		.loc 1 203 0 689 0508 E8FF4010 		beq	$2,$0,$L51 690 050c 21180000 		move	$3,$0 691              	 692              		.loc 1 206 0 693 0510 3000A293 		lbu	$2,48($sp)GAS LISTING /tmp/ccmjNVoP.s 			page 17 694              		.loc 1 207 0 695 0514 3000A427 		addiu	$4,$sp,48 696 0518 01000524 		li	$5,1			# 0x1 697              		.loc 1 206 0 698 051c 01004234 		ori	$2,$2,0x1 699              		.loc 1 207 0 700 0520 21300000 		move	$6,$0 701              		.loc 1 206 0 702              		.loc 1 207 0 703 0524 5200000C 		jal	i2c_write_data 704 0528 3000A2A3 		sb	$2,48($sp) 705              	 706              		.loc 1 208 0 707              		.loc 1 207 0 708 052c DFFF4010 		beq	$2,$0,$L51 709 0530 21180000 		move	$3,$0 710              	 711              	$LBB2: 712              		.loc 1 99 0 713 0534 21804002 		move	$16,$18 714              	$LBB3: 715              		.loc 1 102 0 716 0538 1700201A 		blez	$17,$L66 717 053c 21900000 		move	$18,$0 718              	 719 0540 FFFF3426 		addiu	$20,$17,-1 720 0544 0000133C 		lui	$19,%hi(smb) 721 0548 61010008 		j	$L64 722 054c 0020153C 		li	$21,536870912			# 0x20000000 723              	 724              	$L60: 725              		.loc 1 108 0 726 0550 1C0040AC 		sw	$0,28($2) 727              		.loc 1 111 0 728 0554 00100424 		li	$4,4096			# 0x1000 729              	$L70: 730 0558 21280000 		move	$5,$0 731 055c 64000624 		li	$6,100			# 0x64 732              		.loc 1 102 0 733              		.loc 1 111 0 734 0560 0000000C 		jal	i2c_wait_status 735 0564 01005226 		addiu	$18,$18,1 736              	 737              		.loc 1 102 0 738              		.loc 1 111 0 739 0568 0D004010 		beq	$2,$0,$L67 740 056c 2A205102 		slt	$4,$18,$17 741              	 742              		.loc 1 115 0 743 0570 0000628E 		lw	$2,%lo(smb)($19) 744 0574 1C00438C 		lw	$3,28($2) 745 0578 000003A2 		sb	$3,0($16) 746              		.loc 1 102 0 747 057c 06008010 		beq	$4,$0,$L66 748 0580 01001026 		addiu	$16,$16,1 749              	 750              	$L64:GAS LISTING /tmp/ccmjNVoP.s 			page 18 751              		.loc 1 108 0 752              		.loc 1 105 0 753 0584 F2FF9216 		bne	$20,$18,$L60 754 0588 0000628E 		lw	$2,%lo(smb)($19) 755              	 756              		.loc 1 106 0 757 058c 1C0055AC 		sw	$21,28($2) 758              		.loc 1 111 0 759 0590 56010008 		j	$L70 760 0594 00100424 		li	$4,4096			# 0x1000 761              	 762              	$L66: 763              		.loc 1 213 0 764 0598 2B010008 		j	$L51 765 059c 01000324 		li	$3,1			# 0x1 766              	 767              	$L67: 768              		.loc 1 211 0 769 05a0 2B010008 		j	$L51 770 05a4 21180000 		move	$3,$0 771              	 772              	$LBE3: 773              	$LBE2: 774              		.set	macro 775              		.set	reorder 776              	$LFE10: 777              		.end	i2c_read 778              		.section	.debug_frame,"",@progbits 779              	$Lframe0: 780 0000 0C000000 		.4byte	$LECIE0-$LSCIE0 781              	$LSCIE0: 782 0004 FFFFFFFF 		.4byte	0xffffffff 783 0008 01       		.byte	0x1 784 0009 00       		.ascii	"\000" 785 000a 01       		.uleb128 0x1 786 000b 04       		.sleb128 4 787 000c 1F       		.byte	0x1f 788 000d 0C       		.byte	0xc 789 000e 1D       		.uleb128 0x1d

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -