芯弛V9 GPIO配置

参考文档
        《SemiDrive_基于Domain的资源分配指南》第二章Domain 资源划分示例
        《SemiDrive_9_Series_GPIO使用手册》

以AP域GPIO配置为例:

打开SDToolBox,SDConfigTool为GPIO配置的工具

 以V9M为例简单讲解使用方法

1.创建工程 

2.查找配置文件

代码中找到system_config.bin文件,该文件为开发板认使用的GPIO配置文件

3.加载配置文件到工程

4.配置GPIO

5.保存配置文件

保存后替换代码中的配置文件

 6.配置设备树

v9156_ms_native_linux_serdes.dts

irq-gpios = <&port4d 28 0>;

124在96-127之间(124-32*3=28),被GPIO CONTROLLER 4的PORT D控制,PORT D的第(124-32*3=28)28个引脚

7.代码中引用

static irqreturn_t deser_irq_handler(int irqno, void *dev_id)
{
     deser_dev_t *sensor = dev_id;
     int level = gpiod_get_value(sensor->irq_gpio);
     printk("deser_irq_handler gpio level %d \n", level);
     return IRQ_HANDLED;
}
static int deser_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
/****************/
    gpiod = devm_gpiod_get_optional(&client->dev, "irq", GPIOD_IN);
    if (IS_ERR(gpiod)) {
            ret = PTR_ERR(gpiod);
            if (ret != -EPROBE_DEFER)
                    dev_err(&client->dev, "Failed to get %s GPIO: %d\n",
                                    "irq", ret);
    } else {
            sensor->irq_gpio = gpiod;
    }
    ret = gpiod_to_irq(sensor->irq_gpio);
    if (ret < 0) {
            dev_err(&client->dev, "%s(): fail to get irq (%d)\n", __func__, ret);
    //        return ret;
    }else{
           sensor->irq = ret;
   }

   ret = devm_request_irq(&client->dev, sensor->irq,
                   deser_irq_handler, IRQF_TRIGGER_RISING|IRQF_TRIGGER_FALLING, "max9286-irq", sensor);
    if (ret < 0) {
            dev_err(&client->dev, "%s(): fail to request irq (%d)\n", __func__, ret);
            //return ret;
    }
/****************/

8.快速验证方法

在linux下快速验证gpio:
        1.首先通过sdconfigtool配置引脚到AP域
        2.配置GPIO设备节点(这里要用index这个值,例如index:124  在sdconfigtool里面可以根据引脚的封装标号Y7找到对应的index=124)
        3.不要设备树下声明

echo 124 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio124/direction
cat /sys/class/gpio/gpio124/value

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...