Hi all,
I would like to use both I2C1 and I2C2 which are available in Beaglebone Black P9 connector. I could make I2C2 working. But so far I couldn’t make I2C1 working.
In /boot/uEnv.txt, I have not commented the line
cmdline=coherent_pool=1M net.ifnames=0 quiet cape_universal=enable
That means Universal cap is active.
So I cannot use the command
echo BB-I2C1 > /sys/devices/platform/bone_capemgr/slots
for enabling I2C1.
I would like to make Universal Cape enabled, other wise I will not be able to make the P9_14 and P9_16 as PWMs.
So my question is, is there anyway to enable I2C1, while Universal Cap is enabled?
I am using the latest debian image - bone-debian-8.7-lxqt-4gb-armhf-2017-03-19-4gb.img and BBB Rev C.
I have examined the am335x-boneblack.dts file (got from coverting /boot/dtbs/4.4.54-ti-r93/am335x-boneblack.dtb).
In this .dts file i2c1 portion is as shown below.
i2c@4802a000 {
compatible = “ti,omap4-i2c”;
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = “i2c2”;
reg = <0x4802a000 0x1000>;
interrupts = <0x47>;
status = “disabled”;
linux,phandle = <0xa0>;
phandle = <0xa0>;
};
pinmux_i2c2_pins {
pinctrl-single,pins = <0x178 0x33 0x17c 0x33>;
linux,phandle = <0x35>;
phandle = <0x35>;
};
I modified it as below.
i2c@4802a000 {
compatible = “ti,omap4-i2c”;
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = “i2c2”;
reg = <0x4802a000 0x1000>;
interrupts = <0x47>;
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <0x35>;
clock-frequency = <0x61a80>;
linux,phandle = <0xa0>;
phandle = <0xa0>;
};
pinmux_i2c2_pins {
pinctrl-single,pins = <0x178 0x33 0x17c 0x33>;
linux,phandle = <0x35>;
phandle = <0x35>;
};
But still I2C1 is not working. Is my procedure right? Am I missing something?
Expecting Your fast reply.
Thanks in advance for the help.
Thanks & Regards,
Sajeevan.K