BBB without Cape Manager

I would like to build a revision to the current 2017-3-19 release (Console version) that does not include the Cape Manager.

I would like to get rid of the four blocked I2C memory addresses that are reserved by the kernel for the ‘Cape Manager’, but otherwise leave I2C-2 operational.

So, first I think I need to modify and re-compile the default “.dts” file that is used by that release, to remove the binding for those four I2C addresses.

It is just not obvious to me, which “.dts” that it is.

I will then also need to inhibit what ever starts the ‘Cape Manager.’
Could you point me at that process.

Thanks,
— Graham

So, every board has a "base" board file.

root@wgd:~# ls /boot/dtbs/`uname -r`
am335x-abbbi.dtb am335x-pocketbone.dtb
am335x-arduino-tre.dtb am335x-sancloud-bbe.dtb
am335x-baltos-ir5221.dtb am335x-siriusDEB.dtb
am335x-base0033.dtb am335x-sl50.dtb
am335x-bone-cape-bone-argus.dtb am335x-vsc8531bbb.dtb
am335x-bone.dtb am335x-wega-rdk.dtb
am335x-boneblack-audio.dtb am437x-gp-evm-hdmi.dtb
am335x-boneblack-bbb-exp-c.dtb am437x-gp-evm.dtb
am335x-boneblack-bbb-exp-r.dtb am437x-idk-evm.dtb
am335x-boneblack-bbbmini.dtb am437x-sk-evm.dtb
am335x-boneblack-cape-bone-argus.dtb am43x-epos-evm.dtb
<snip>

What you need, is the board file you need to use for your board at boot.
Inside this board file you'll either find what you need, or have various
includes, which the @i2c-2 device is setup. For instance, if you're using
the board file am335x-boneblack-emmc-overlay.dtb, which is to say hdmi
audio and video disabled. THATS the file you start with. Then follow any
includes if what you're looking for does not exist in that file.

As for the rest, I can't help ya. I have no desire to know how to remove
cape manager.

By the by, you may have to decompile the given board file blob, edit that source, then recompile. To get this to work. The last time I downloaded Robert’s git for the board overlays, and tried to compile an edited file from those sources. The board would not boot. But decompiling the existing, and working board file blob, editing that source, then recompiling worked. YMMV.

Hi Graham,

This setup has been asked for before, so it's available in the repo:

Grab the 4.4-ti branch from:

https://github.com/RobertCNelson/dtb-rebuilder

Change:

https://github.com/RobertCNelson/dtb-rebuilder/blob/4.4-ti/src/arm/am335x-boneblack.dts#L11

to:

"am335x-bone-common-no-capemgr.dtsi"

make
sudo make install
sudo reboot

Regards,

Robert:
Looks like exactly what I want. I’ll implement that.

William:
Thanks for your comments.

— Graham

Worked fine with one exception.

The editing of file “am335x-bone-common-no-capemgr.dtsi” was a little too aggressive,
and had removed all reference to I2C-2, so that bus was not accessible.

I had to insert the following at line 245 to get bus I2C-2 working again.

&i2c2 {
pinctrl-names = “default”;
pinctrl-0 = <&i2c2_pins>;

status = “okay”;
clock-frequency = <100000>;
};

Thanks,
— Graham