Linux dts设备树gpio配置

给大伙分享下在DTS中如何配置GPIO口:

download_pin {

    sp_reset_gpio = <&pio PB 7 1 1 2 0>;

};

在上面例子dts片段例子中,这句话的解析是:

sp_reset_gpio :管脚名字,随便取,和driver代码对应即可。

&pio:指向哪个GPIO控制器

PB:哪组GPIO

7:pin bank(内偏移,就是PB组内的第7个IO口)

1:gpio功能类型(复用类型):0输入,1输出,6外部中断,7关闭功能(具体查手册)

1:驱动力,电流等级(0-3),级别越高,输出电流越大

2:上下拉:0关闭功能,1上啦,2下拉,3保留

0:表示有效电平,0低电平有效,1高电平有效

 

所以上面那句话的完整意思是:

配置sp_reset_gpio为PIO控制器的PB组的第7脚为 输出 功能,驱动电流等级为1,默认下拉,低电平有效。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Linux 中添加 gpio 设备树文件的步骤如下: 1. 打开设备树文件,一般在 `/arch/<架构名>/boot/dts/` 目录下,找到对应的设备树文件,如 `bcm2835-rpi-b.dts`。 2. 在设备树文件中添加 GPIO 节点。例如: ``` gpio { compatible = "gpio-gpio"; gpio-controller; #gpio-cells = <2>; gpio-ranges = <&pio 0 0 32>; }; ``` 其中,`compatible` 属性指定了该节点的兼容性,`gpio-controller` 表示这是一个 GPIO 控制器节点,`#gpio-cells` 指定了 GPIO 单元格的数量,`gpio-ranges` 定义了 GPIO 的范围和偏移量。 3. 在 `aliases` 节点中添加 GPIO 控制器别名,例如: ``` aliases { gpio0 = &gpio; }; ``` 其中,`gpio0` 是别名的名称,`&gpio` 是 GPIO 控制器节点的引用。 4. 编译设备树文件。在终端中进入设备树文件所在的目录,执行以下命令: ``` dtc -@ -I dts -O dtb -o bcm2835-rpi-b.dtb bcm2835-rpi-b.dts ``` 其中,`-@` 参数指定编译器使用默认的兼容性选项,`-I dts` 指定输入文件格式为设备树源文件,`-O dtb` 指定输出文件格式为设备树二进制文件,`-o bcm2835-rpi-b.dtb` 指定输出文件名为 `bcm2835-rpi-b.dtb`,最后的参数为输入文件名。 5. 将生成的设备树二进制文件复制到 `/boot/` 目录下,例如: ``` sudo cp bcm2835-rpi-b.dtb /boot/ ``` 6. 更新 boot 配置文件。编辑 `/boot/config.txt` 文件,在文件末尾添加以下内容: ``` device_tree=bcm2835-rpi-b.dtb ``` 其中,`device_tree` 指定了使用的设备树文件名。 7. 重启系统,使设备树生效。执行以下命令: ``` sudo reboot ``` 以上是在 Linux 中添加 GPIO 设备树文件的步骤。根据不同的硬件平台和设备树文件,具体的步骤可能会略有不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静默安装9339

希望本文章对你有一点点帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值