Lcd reset 针脚修改

 

mx3_3stack.c中有关于reset的内容,包括lcd数据结构定义以及其中的lcdreset成员的具体函数体的定义。

关于lcd数据结构的定义,

static struct mxc_lcd_platform_data lcd_data = {

       .io_reg = "VGEN",

#ifdef CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL

       .core_reg = "GPO1",

#else

       .core_reg = "VMMC1",

#endif

       .reset = lcd_reset,

};

 

mx3_3stack.c中关于reset的具体代码,

static void lcd_reset(void)

{

       /* ensure that LCDIO(1.8V) has been turn on */

       /* active reset line GPIO */

       mxc_request_iomux(MX31_PIN_LCS1, OUTPUTCONFIG_GPIO, INPUTCONFIG_NONE);

       mxc_set_gpio_dataout(MX31_PIN_LCS1, 0);

       mxc_set_gpio_direction(MX31_PIN_LCS1, 0);

       /* do reset */

       msleep(10);           /* tRES >= 100us */

       mxc_set_gpio_dataout(MX31_PIN_LCS1, 1);

       msleep(60);

#ifdef CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL

       mxc_set_gpio_dataout(MX31_PIN_LCS1, 0);

#endif

}

 

其中上边是用的几个定义函数如mxc_request_iomux在文件iomux.c

int mxc_request_iomux(iomux_pin_name_t pin, iomux_pin_cfg_t cfg)

{

       int ret = iomux_config_mux(pin, cfg);

       if (GPIO_TO_PORT(IOMUX_TO_GPIO(pin)) < GPIO_PORT_NUM) {

              if (((cfg & (~MUX_CONFIG_SION)) == MUX_CONFIG_GPIO) ||

                  (((cfg & (~MUX_CONFIG_SION)) == MUX_CONFIG_FUNC) &&

                   ((pin == MX35_PIN_GPIO1_0) || (pin == MX35_PIN_GPIO1_1) ||

                    (pin == MX35_PIN_GPIO2_0) || (pin == MX35_PIN_GPIO3_0))))

                     ret |= mxc_request_gpio(pin);

       }

       return ret;

}

由函数可以看出来,调用函数mxc_request_iomux,只要输入pin的名称和所要设置的pin的状态,该函数会自动的把状态设置完成。

pin的定义在mx31_pins.h中,如下,

typedef enum iomux_pins {

       MX31_PIN_CSPI3_MISO = _MXC_BUILD_NON_GPIO_PIN(0, 3, 1, 2),

       MX31_PIN_CSPI3_SCLK = _MXC_BUILD_NON_GPIO_PIN(0, 2, 1, 1),

       。。。。。。。。。。。。。。。。。。。。。。太多了,省略。。。。

       MX31_PIN_GPIO1_0 = _MXC_BUILD_GPIO_PIN(0, 0, 80, 3, 108, 1),

       MX31_PIN_GPIO1_1 = _MXC_BUILD_GPIO_PIN(0, 1, 80, 2, 108, 0),

       MX31_PIN_GPIO1_2 = _MXC_BUILD_GPIO_PIN(0, 2, 80, 1, 107, 2),

       MX31_PIN_GPIO1_3 = _MXC_BUILD_GPIO_PIN(0, 3, 80, 0, 107, 1),

       MX31_PIN_CAPTURE = _MXC_BUILD_GPIO_PIN(0, 7, 81, 3, 109, 2),

       MX31_PIN_COMPARE = _MXC_BUILD_GPIO_PIN(0, 8, 81, 2, 109, 1),

       MX31_PIN_WATCHDOG_RST = _MXC_BUILD_NON_GPIO_PIN(81, 1, 109, 0),

       MX31_PIN_PWMO = _MXC_BUILD_GPIO_PIN(0, 9, 81, 0, 108, 2),

} iomux_pin_name_t;

 

pin的输入输出的定义在iomux.h中,如下:

enum iomux_output_config {

       OUTPUTCONFIG_GPIO = 0,      /*!< used as GPIO */

       OUTPUTCONFIG_FUNC,    /*!< used as function */

       OUTPUTCONFIG_ALT1,     /*!< used as alternate function 1 */

       OUTPUTCONFIG_ALT2,     /*!< used as alternate function 2 */

       OUTPUTCONFIG_ALT3,     /*!< used as alternate function 3 */

       OUTPUTCONFIG_ALT4,     /*!< used as alternate function 4 */

       OUTPUTCONFIG_ALT5,     /*!< used as alternate function 5 */

       OUTPUTCONFIG_ALT6      /*!< used as alternate function 6 */

};

 

/*!

 * various IOMUX input functions

 */

enum iomux_input_config {

       INPUTCONFIG_NONE = 0, /*!< not configured for input */

       INPUTCONFIG_GPIO = 1 << 0, /*!< used as GPIO */

       INPUTCONFIG_FUNC = 1 << 1, /*!< used as function */

       INPUTCONFIG_ALT1 = 1 << 2,  /*!< used as alternate function 1 */

       INPUTCONFIG_ALT2 = 1 << 3   /*!< used as alternate function 2 */

};

 

这样可知,换不同的针脚进行reset控制时,只需要,把lcd_reset(void)函数中的

MX31_PIN_LCS1换为typedef enum iomux_pins中定义的pin的名字就可以了。

 

另外讲一点,关于液晶屏处的模拟和数字电压可以修改如下。

mxcfb_epson_vga.c   中修改如下:

regulator_set_voltage(io_reg, 1800000);应改为regulator_set_voltage(io_reg, 2800000)

有以上可以知道,只需修改上边函数中的数值就可以了。

 

       一点我不知道的常识如下:

millisecond毫秒

microsecond微妙

typedef unsigned char u8;

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
通过使用git reset命令可以撤销未暂存的修改。如果文件在工作区被修改但没有被放入暂存区,可以使用git checkout -- 文件名命令来撤销工作区的改动,将文件恢复到最近一次提交时的状态。如果文件已经放入暂存区但没有再次修改,可以先使用git reset 文件名命令撤销git add操作,然后再使用git checkout -- 文件名命令清除工作区的改动。如果文件已经放入暂存区并且再次修改,可以先使用git checkout -- 文件名命令撤销工作区的改动,然后再使用git reset 文件名命令撤销git add操作,最后再次使用git checkout -- 文件名命令清除工作区的改动。需要注意的是,如果对文件执行过git commit或者git add操作,上述命令将无法达到撤销修改的目的。在这种情况下,可以通过重新拉取代码并替换本地文件的方式来重置本地代码。具体步骤包括在其他文件夹里重新拉取代码,删除本地的文件,然后将原来拉取到的代码复制过来。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [git 学习之暂存区撤销和修改](https://blog.csdn.net/coole_true/article/details/131412464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Git基本操作之 修改提交信息 取消暂存文件 撤销文件修改](https://blog.csdn.net/int_t/article/details/127248325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值