|
发表于 2015-1-24 13:47:20
只看该作者
5#
HI,
zhansb,
我现在忽然发现了一个问题, 就是好像我无法控制到我的GPIO的电平,比如说像上图的GPIO7_A3_D,我是把它当作复位引脚来用的,今天我尝试着用gpio_direction_output去控制它的电压,发现他的电压根本无法让我受控啊,fpc1020@00 {
compatible = "fpc,fpc1020";
reg = <0>;
spi-max-frequency = <24000000>;
// spi-cpha;
// spi-cpol;
fpc,gpio_irq = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW >;
fpc,gpio_reset = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
fpc,gpio_cs = <>;
//fpc,vddtx_mv =<1>;
//fpc,txout_boost_enable = <1>;
poll_mode = <0>;
type = <0>;
enable_dma = <0>;
};
fpc,gpio_reset = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;,这个是我对复位IO的定义
我的程序代码片段是这样的,static int __devinit fpc1020_reset_init(fpc1020_data_t *fpc1020,
struct fpc1020_platform_data *pdata)
{
int error = 0;
if (gpio_is_valid(pdata->reset_gpio)) {
dev_info(&fpc1020->spi->dev,
"Assign HW reset -> GPIO%d\n", pdata->reset_gpio);
fpc1020->soft_reset_enabled = false;
error = gpio_request(pdata->reset_gpio, "fpc1020_reset");
if (error) {
dev_err(&fpc1020->spi->dev,
"gpio_request (reset) failed.\n");
return error;
}
fpc1020->reset_gpio = pdata->reset_gpio;
printk("has already begin to input a high voltage================================================\n");
while(1){
//error = gpio_direction_output(fpc1020->reset_gpio, 1);
error = gpio_direction_output(fpc1020->reset_gpio, 1);
}
我现在是不断的输出高电平,但是发现根本就没有高电平出来,
fpc1020 spi0.0: Assign HW reset -> GPIO143
就这个复位引脚,GPIO分配为143,这对吗,
我现在实在不知道什么情况呢,我居然去输出高电平它也不受控,到底是我GPIO引脚定义有问题还是怎么回事,你能不能给一点好的建议等
|
|