Tool/software: Linux
Both the devicetree.dtsi and some of the Linux/u-boot .dts files use a macro called AM4372_IOPAD. The macro is defined in Linux as follows:
#define AM4372_IOPAD (pa, val) (((pa) & 0xffff) - ox0800) (val)
An example line in the devicetree.dtsi file looks like this:
AM4372_IOPAD(0x18c, PIN_INPUT | MUX_MODE0) /* (Y22) I2C0_SCL.I2C0_SCL */
A similar line in the am437x-idk-evem.dts file
AM4372_IOPAD(0x988, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
And a similar line in the am437x-gp-evm.dts file
0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
Based on this, it looks like the devicetree.dtsi file created by Pinmux should not be using the AM4372_IOPAD macro, as the values do not seem to have 0x0800 added to them. Or maybe the AM4372_IOPAD macro needs to be dropped and the .dts file that use it readjusted.