MIPSƽ̨suspend/resumeʱGPIO״̬¿ØÖÆ
ÕâÁ½ÌìÔÚµ÷Ò»¿î´¥ÃþÆÁµÄÇý¶¯£¬ÔÚµ÷ÊÔ¹ý³ÌÖз¢ÏÖ£¬ÔÚÐÝÃßµÄʱºò£¬ËùÓõ½µÄ¼¸¸öGPIOÒý½ÅµÄ״̬»á×Ô¶¯±äΪµÍµçƽ£¬ÔÚ»½ÐѺóÓÖ»á»Øµ½¸ßµçƽ¡£µ«ÊÇÔÚ´úÂëÀﲢûÓÐÏÔʽµØÈ¥ÀµÍ/À¸ß¡£ºÜÃ÷ÏÔÕâ²»ÊÇÎÒÃÇÏëÒªµÄ£¬Èç¹ûÕâÑùµÄ»°£¬GPIOµÄ״̬¶¼ÎÞ·¨×Ô¼º¿ØÖÆ£¬»¹Ôõôµ÷ÄØ£¿
ÎÊÁËϰå×ÓµÄFAE£¬GPIOµÄ״̬ÔÚÐÝÃßʱ£¬ÊÇÔ¤¶¨ÒåµÄ¡£´úÂëÔÚ
arch/mips/jz4770/boards/gps1/gps1-pm.c
ÆäÖÐgps1Êǰå×ÓÀàÐÍ
98 void jzsoc_do_sleep(unsigned long *ptr) 99 {100 unsigned char i;101 102 /* Print messages of GPIO registers for debug */103 print_gpio();104 /* Save GPIO registers */105 106 for(i = 0; i < GPIO_PORT_NUM; i++) {107 *ptr++ = REG_GPIO_PXINT(i);108 *ptr++ = REG_GPIO_PXMSK(i);109 *ptr++ = REG_GPIO_PXPAT1(i);110 *ptr++ = REG_GPIO_PXPAT0(i);111 *ptr++ = REG_GPIO_PXPEN(i);112 }113 114 for(i = 0; i < GPIO_PORT_NUM; i++) {115 __gpio_group_as_output_low(i, gpio_output_low[i]);116 __gpio_group_as_output_high(i, gpio_output_high[i]);117 __gpio_group_as_input_pull(i, gpio_intput_pull[i]);118 __gpio_group_as_input_nopull(i, gpio_intput_nopull[i]);119 }
Èç¹ûÎÒÃÇÏëÐèÒªÊÖ¶¯½øÐйÜÀíÐèÒªµÄGPIO¿Ú£¬Ö»ÐèÒª½«Ô¤ÉèµÄ״̬¸ÄΪGSS_IGNORE¼´¿É¡£