工具/软件:Linux
我们是基于 BeagleBone Black 的定制板、具有256MB RAM 和512MB DDR。
我们使用的是 Linux 内核3.12。
我尝试将三个 GPIO 配置为 devicetree 中的输入。
我想实现两个目标。
1.将(mux) GPIO 配置为具有从 devicetree 上拉的输入
2.在 sysfs 中获取这些 GPIO 的 sysfs 文件,因此无需导出 GPIO,只需直接读取值。
在 devicetree snnipet 下、我曾用于配置引脚多路复用、
am33xx_pinmux:pinmux@44e10800{
pinctrl-names ="默认值";
--- 剪切--------------------------------
product_id_pins:product_id_pins{
pinctrl-single、pins =<
0x028 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_AD10.GPIO0_26、(ZCE)*
0x034 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_AD13.GPIO1_13、(ZCE)*
0x024 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_AD12.GPIO1_12、(ZCE)、*
>;
};
};
pid {
pinctrl-names ="default";
pinctrl-0 =<&product_id_pines>;
};
为此、我需要编写以下 shell 命令来读取这些 GPIO
# echo 26 >/sys/class/gpio/export # echo 44 >/sys/class/gpio/export # echo 45 >/sys/class/gpio/export # cat /sys/class/gpio/gpio26/value 0 # cat /sys//class/gpio/gpio44/value 0 # cat /sys//class/gpio/gpio45/value 0
现在、这些 GPIO 引脚上没有连接任何引脚、因此必须将值读为高电平、但值为低电平。
其他 sysfs 条目如下所示
# grep -r。 /sys/class/gpio/gpio26 /sys/class/gpio/gpio26/edge:none /sys/class/gpio/gpio26/power/control:auto /sys/class/gpio/gpio26/power/runtime_active_time:0 /sys/class/gpio/gpio26/power/runtime_status:不支持 的/sys/class/gpio/gpio26/power/runtime_suspended_time:0 /sys/class/gpio/gpio26/value :0 /sys/class/gpio/gpio26/active_low:0 /sys/class/gpio/gpio26/direction:in # grep -r。 /sys/class/gpio/gpio44 /sys/class/gpio/gpio44/edge:none /sys/class/gpio/gpio44/power/control:auto /sys/class/gpio/gpio44/power/runtime_active_time:0 /sys/class/gpio/gpio44/power/runtime_status:不支持 的/sys/class/gpio/gpio44/power/runtime_suspended_time:0 /sys/class/gpio/gpio44/value :0 /sys/class/gpio/gpio44/active_low:0 /sys/class/gpio/gpio44/direction:in # grep -r。 /sys/class/gpio/gpio45 /sys/class/gpio/gpio45/edge:none /sys/class/gpio/gpio45/power/control:auto /sys/class/gpio/gpio45/power/runtime_active_time:0 /sys/class/gpio/gpio45/power/runtime_status:不支持 的/sys/class/gpio/gpio45/power/runtime_suspended_time:0 /sys/class/gpio/gpio45/value:0 /sys/class/gpio/gpio45/active_low :0 /sys/class/gpio/gpio45/direction:in
它与 devicetree 配置有关。
有人能不能建议我应该在 devicetree 中为这些 GPIO 配置哪个客户端设备?
谢谢、
此致、
Ankur