我使用的系统版本:
root@beaglebone:/dev# cat /etc/dogtag
BeagleBoard.org Debian Image 2017-09-21
1、目前想要做IIC实验,在/dev目录下面有i2c-0、i2c-1,但是貌似slots里面并没有开启设备树,难道不需要开启设备树?
2、打开dts文件:
part-number = "BB-I2C2";
version = "00A0";
exclusive-use = "P9.19", "P9.20", "i2c2";
fragment@0 {
target = <0xffffffff>;
__overlay__ {
pinmux_bb_i2c2_pins {
pinctrl-single,pins = <0x178 0x73 0x17c 0x73>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
};
};
默认引脚模式已经为0x73了,但是cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins,引脚模式为:
pin 94 (44e10978.0) 00000033 pinctrl-single
pin 95 (44e1097c.0) 00000033 pinctrl-single
为什么这里面的引脚模式不是和dts里面的一样?
3、即使 echo BB-I2C2 > /sys/devices/platform/bone_capemgr/slos,引脚模式还是不会发生改变,请问是什么原因造成的?
Shine:
请参考下面的例子。
sourceforge.net/…/
user3926412:
回复 Shine:
利用这个方法,还是不行,而且利用dtc编译的时候,还出现了以下警告:
dtc -O dtb -o /lib/firmware/BB-I2C2-00A0.dtbo -b 0 -@ /lib/firmware/BB-I2C2-00A0.dts
/lib/firmware/BB-I2C2-00A0.dtbo: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property
/lib/firmware/BB-I2C2-00A0.dtbo: Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg property
并且 /sys/kernel/debug/pinctrl/44e10800.pinmux/pins,里面94、95号引脚用于是0x33。