📄 lcd2.lst
字号:
227:/mnt/hgfs/boot/booter/source/lcd2.c **** 228:/mnt/hgfs/boot/booter/source/lcd2.c **** int lcd_irq_enable(int irq, void (*handler)(int, void *), void* arg, BOOL enable) 229:/mnt/hgfs/boot/booter/source/lcd2.c **** { 692 .loc 1 229 0 693 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 694 .mask 0x00000000,0 695 .fmask 0x00000000,0 696 .set noreorder 697 .set nomacro 698 230:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("irq: %d, handler: %X, arg: %x, %s\n", irq, handler, arg, enable == TRUE ? "TRUE" : "FALSE 231:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->intenable = (lcd->intenable & ~(1<<irq)) 699 .loc 1 231 0 700 0504 0000023C lui $2,%hi(lcd) 701 0508 0000498C lw $9,%lo(lcd)($2) 702 050c 01000224 li $2,1 # 0x1 703 0510 04108200 sll $2,$2,$4 704 0514 4C00288D lw $8,76($9) 705 0518 27180200 nor $3,$0,$2 706 051c 0100EA38 xori $10,$7,0x1 707 0520 24400301 and $8,$8,$3 708 0524 25100201 or $2,$8,$2 709 0528 0A404A00 movz $8,$2,$10 710 052c 4C0028AD sw $8,76($9) 232:/mnt/hgfs/boot/booter/source/lcd2.c **** | ((enable == TRUE) ? (1<<irq) : 0); 233:/mnt/hgfs/boot/booter/source/lcd2.c **** 234:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[irq].enabled = enable; 711 .loc 1 234 0 712 0530 40180400 sll $3,$4,1 713 0534 21186400 addu $3,$3,$4 714 0538 0000023C lui $2,%hi(lcd_irqs) 235:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[irq].handler = (enable == TRUE) ? handler : NULL; 236:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[irq].arg = arg; 237:/mnt/hgfs/boot/booter/source/lcd2.c **** 238:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->intstatus = lcd->intstatus; //Clear pending interrupts 715 .loc 1 238 0 716 053c 4800248D lw $4,72($9) 717 .loc 1 234 0 718 0540 04004224 addiu $2,$2,%lo(lcd_irqs)GAS LISTING /tmp/ccwryrah.s page 18 719 0544 80180300 sll $3,$3,2 720 0548 21186200 addu $3,$3,$2 721 .loc 1 235 0 722 054c 0B280A00 movn $5,$0,$10 723 .loc 1 236 0 724 0550 080066AC sw $6,8($3) 725 .loc 1 238 0 726 0554 480024AD sw $4,72($9) 727 .loc 1 234 0 728 0558 000067AC sw $7,0($3) 729 .loc 1 235 0 239:/mnt/hgfs/boot/booter/source/lcd2.c **** } 730 .loc 1 239 0 731 055c 0800E003 j $31 732 0560 040065AC sw $5,4($3) 733 734 .set macro 735 .set reorder 736 $LFE8: 737 .end lcd_irq_enable 738 .align 2 739 .globl panel_init 740 .ent panel_init 741 .type panel_init, @function 742 panel_init: 743 $LFB9: 240:/mnt/hgfs/boot/booter/source/lcd2.c **** 241:/mnt/hgfs/boot/booter/source/lcd2.c **** int panel_init() 242:/mnt/hgfs/boot/booter/source/lcd2.c **** { 744 .loc 1 242 0 745 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 746 .mask 0x80000000,-8 747 .fmask 0x00000000,0 748 .set noreorder 749 .set nomacro 750 751 0564 E8FFBD27 addiu $sp,$sp,-24 752 $LCFI14: 243:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("\n"); 244:/mnt/hgfs/boot/booter/source/lcd2.c **** //Enable LCD power & backlight 245:/mnt/hgfs/boot/booter/source/lcd2.c **** #if defined(PB1200) 246:/mnt/hgfs/boot/booter/source/lcd2.c **** bcsr->board |= (BCSR_BOARD_LCDVDD | BCSR_BOARD_LCDVEE | BCSR_BOARD_LCDBL); 247:/mnt/hgfs/boot/booter/source/lcd2.c **** #elif defined(FICMMP) 248:/mnt/hgfs/boot/booter/source/lcd2.c **** platformClearConfigBits(FICMMP_CONFIG_LCMDATAOUT); //Enable data buffers 249:/mnt/hgfs/boot/booter/source/lcd2.c **** platformSetConfigBits(FICMMP_CONFIG_LCMPWREN | FICMMP_CONFIG_LCMEN); //Take LCD out of reset 250:/mnt/hgfs/boot/booter/source/lcd2.c **** #elif defined(DB1200) 251:/mnt/hgfs/boot/booter/source/lcd2.c **** gpioWrite(LCD_PWR, LCD_PWR_ACTIVE); 753 .loc 1 251 0 754 0568 0F000424 li $4,15 # 0xf 755 .loc 1 242 0 756 056c 1000BFAF sw $31,16($sp) 757 $LCFI15: 758 .loc 1 251 0 759 0570 0000000C jal gpioWrite 760 0574 01000524 li $5,1 # 0x1 761 252:/mnt/hgfs/boot/booter/source/lcd2.c **** gpioWrite(LCD_BL_PWR, LCD_BL_PWR_ACTIVE);GAS LISTING /tmp/ccwryrah.s page 19 762 .loc 1 252 0 763 0578 10000424 li $4,16 # 0x10 764 057c 0000000C jal gpioWrite 765 0580 01000524 li $5,1 # 0x1 766 253:/mnt/hgfs/boot/booter/source/lcd2.c **** msdelay(100); 254:/mnt/hgfs/boot/booter/source/lcd2.c **** #endif 255:/mnt/hgfs/boot/booter/source/lcd2.c **** } 767 .loc 1 255 0 768 0584 1000BF8F lw $31,16($sp) 769 .loc 1 253 0 770 0588 64000424 li $4,100 # 0x64 771 .loc 1 255 0 772 .loc 1 253 0 773 058c 00000008 j msdelay 774 0590 1800BD27 addiu $sp,$sp,24 775 776 .set macro 777 .set reorder 778 $LFE9: 779 .end panel_init 780 .align 2 781 .globl panel_shutdown 782 .ent panel_shutdown 783 .type panel_shutdown, @function 784 panel_shutdown: 785 $LFB10: 256:/mnt/hgfs/boot/booter/source/lcd2.c **** 257:/mnt/hgfs/boot/booter/source/lcd2.c **** int panel_shutdown() 258:/mnt/hgfs/boot/booter/source/lcd2.c **** { 786 .loc 1 258 0 787 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 788 .mask 0x80000000,-8 789 .fmask 0x00000000,0 790 .set noreorder 791 .set nomacro 792 793 0594 E8FFBD27 addiu $sp,$sp,-24 794 $LCFI16: 259:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("\n"); 260:/mnt/hgfs/boot/booter/source/lcd2.c **** //Disable LCD power & backlight 261:/mnt/hgfs/boot/booter/source/lcd2.c **** #if defined(PB1200) 262:/mnt/hgfs/boot/booter/source/lcd2.c **** bcsr->board &= ~(BCSR_BOARD_LCDVDD | BCSR_BOARD_LCDVEE | BCSR_BOARD_LCDBL); 263:/mnt/hgfs/boot/booter/source/lcd2.c **** #elif defined(FICMMP) 264:/mnt/hgfs/boot/booter/source/lcd2.c **** platformSetConfigBits(FICMMP_CONFIG_LCMDATAOUT); //Disable data buffers 265:/mnt/hgfs/boot/booter/source/lcd2.c **** platformClearConfigBits(FICMMP_CONFIG_LCMEN | FICMMP_CONFIG_LCMPWREN); //Put LCD in reset, remove 266:/mnt/hgfs/boot/booter/source/lcd2.c **** #elif defined(DB1200) 267:/mnt/hgfs/boot/booter/source/lcd2.c **** gpioWrite(LCD_BL_PWR, !LCD_BL_PWR_ACTIVE); 795 .loc 1 267 0 796 0598 10000424 li $4,16 # 0x10 797 .loc 1 258 0 798 059c 1000BFAF sw $31,16($sp) 799 $LCFI17: 800 .loc 1 267 0 801 05a0 0000000C jal gpioWrite 802 05a4 21280000 move $5,$0 803 GAS LISTING /tmp/ccwryrah.s page 20 268:/mnt/hgfs/boot/booter/source/lcd2.c **** gpioWrite(LCD_PWR, !LCD_PWR_ACTIVE); 269:/mnt/hgfs/boot/booter/source/lcd2.c **** #endif 270:/mnt/hgfs/boot/booter/source/lcd2.c **** } 804 .loc 1 270 0 805 05a8 1000BF8F lw $31,16($sp) 806 .loc 1 268 0 807 05ac 0F000424 li $4,15 # 0xf 808 05b0 21280000 move $5,$0 809 .loc 1 270 0 810 .loc 1 268 0 811 05b4 00000008 j gpioWrite 812 05b8 1800BD27 addiu $sp,$sp,24 813 814 .set macro 815 .set reorder 816 $LFE10: 817 .end panel_shutdown 818 .align 2 819 .globl lcd_set_background_color 820 .ent lcd_set_background_color 821 .type lcd_set_background_color, @function 822 lcd_set_background_color: 823 $LFB11: 271:/mnt/hgfs/boot/booter/source/lcd2.c **** 272:/mnt/hgfs/boot/booter/source/lcd2.c **** void lcd_set_background_color(uint8 r, uint8 g, uint8 b) 273:/mnt/hgfs/boot/booter/source/lcd2.c **** { 824 .loc 1 273 0 825 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 826 .mask 0x00000000,0 827 .fmask 0x00000000,0 828 .set noreorder 829 .set nomacro 830 831 .loc 1 273 0 832 05bc FF008430 andi $4,$4,0x00ff 833 05c0 FF00A530 andi $5,$5,0x00ff 274:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("RGB(%d, %d, %d): %X\n", r, g, b, LCD_BACKCOLOR_SBGR_N(r) | LCD_BACKCOLOR_SBGG_N(g) | LCD_ 275:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->backcolor = LCD_BACKCOLOR_SBGR_N(r) | LCD_BACKCOLOR_SBGG_N(g) | LCD_BACKCOLOR_SBGB_N(b); 834 .loc 1 275 0 835 05c4 0000023C lui $2,%hi(lcd) 836 05c8 0000438C lw $3,%lo(lcd)($2) 837 05cc 00240400 sll $4,$4,16 838 05d0 002A0500 sll $5,$5,8 839 05d4 25208500 or $4,$4,$5 840 .loc 1 273 0 841 05d8 FF00C630 andi $6,$6,0x00ff 842 .loc 1 275 0 843 05dc 25208600 or $4,$4,$6 844 05e0 080064AC sw $4,8($3) 845 05e4 0800E003 j $31 846 05e8 00000000 nop 847 848 .set macro 849 .set reorder 850 $LFE11: 851 .end lcd_set_background_color 852 .align 2GAS LISTING /tmp/ccwryrah.s page 21 853 .globl lcd_get_screen_width 854 .ent lcd_get_screen_width 855 .type lcd_get_screen_width, @function 856 lcd_get_screen_width: 857 $LFB12: 276:/mnt/hgfs/boot/booter/source/lcd2.c **** } 277:/mnt/hgfs/boot/booter/source/lcd2.c **** 278:/mnt/hgfs/boot/booter/source/lcd2.c **** int lcd_get_screen_width() 279:/mnt/hgfs/boot/booter/source/lcd2.c **** { 858 .loc 1 279 0 859 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 860 .mask 0x00000000,0 861 .fmask 0x00000000,0 862 .set noreorder 863 .set nomacro 864 280:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("%d\n", panels[panel].Xres); 281:/mnt/hgfs/boot/booter/source/lcd2.c **** return panels[panel].Xres; 865 .loc 1 281 0 866 05ec 0000023C lui $2,%hi(panel) 867 05f0 0000448C lw $4,%lo(panel)($2) 868 05f4 0000023C lui $2,%hi(panels) 869 05f8 00004224 addiu $2,$2,%lo(panels) 870 05fc 40190400 sll $3,$4,5 871 0600 23186400 subu $3,$3,$4 872 0604 80180300 sll $3,$3,2 873 0608 21186200 addu $3,$3,$2 282:/mnt/hgfs/boot/booter/source/lcd2.c **** } 874 .loc 1 282 0 875 060c 0800E003 j $31 876 0610 4000628C lw $2,64($3) 877 878 .set macro 879 .set reorder 880 $LFE12: 881 .end lcd_get_screen_width 882 .align 2 883 .globl lcd_get_screen_height 884 .ent lcd_get_screen_height 885 .type lcd_get_screen_height, @function 886 lcd_get_screen_height: 887 $LFB13: 283:/mnt/hgfs/boot/booter/source/lcd2.c **** 284:/mnt/hgfs/boot/booter/source/lcd2.c **** int lcd_get_screen_height() 285:/mnt/hgfs/boot/booter/source/lcd2.c **** { 888 .loc 1 285 0 889 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 890 .mask 0x00000000,0 891 .fmask 0x00000000,0 892 .set noreorder 893 .set nomacro 894 286:/mnt/hgfs/boot/booter/source/lcd2.c **** DPRINTF("%d\n", panels[panel].Yres); 287:/mnt/hgfs/boot/booter/source/lcd2.c **** return panels[panel].Yres; 895 .loc 1 287 0 896 0614 0000023C lui $2,%hi(panel) 897 0618 0000448C lw $4,%lo(panel)($2)GAS LISTING /tmp/ccwryrah.s page 22 898 061c 0000023C lui $2,%hi(panels) 899 0620 00004224 addiu $2,$2,%lo(panels) 900 0624 40190400 sll $3,$4,5 901 0628 23186400 subu $3,$3,$4 902 062c 80180300 sll $3,$3,2 903 0630 21186200 addu $3,$3,$2 288:/mnt/hgfs/boot/booter/source/lcd2.c **** } 904 .loc 1 288 0 905 0634 0800E003 j $31 906 0638 4400628C lw $2,68($3) 907 908 .set macro 909 .set reorder 910 $LFE13: 911 .end lcd_get_screen_height 912 .local lcd_irqs 913 .comm lcd_irqs,216,4 914 .section .debug_frame,"",@progbits 915 $Lframe0: 916 0000 0C000000 .4byte $LECIE0-$LSCIE0 917 $LSCIE0: 918 0004 FFFFFFFF .4byte 0xffffffff 919 0008 01 .byte 0x1 920 0009 00 .ascii "\000" 921 000a 01 .uleb128 0x1 922 000b 04 .sleb128 4 923 000c 1F .byte 0x1f 924 000d 0C .byte 0xc 925 000e 1D .uleb128 0x1d 926 000f 00 .uleb128 0x0 927 .align 2 928 $LECIE0: 929 $LSFDE0: 930 0010 0C000000 .4byte $LEFDE0-$LASFDE0 931 $LASFDE0: 932 0014 00000000 .4byte $Lframe0 933 0018 00000000 .4byte $LFB2 934 001c 4C000000 .4byte $LFE2-$LFB2 935 .align 2 936 $LEFDE0: 937 $LSFDE2: 938 0020 24000000 .4byte $LEFDE2-$LASFDE2 939 $LASFDE2: 940 0024 00000000 .4byte $Lframe0 941 0028 4C000000 .4byte $LFB5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -