This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM4372: Question about Pinmux devicetree.dtsi file and Linux dts files

Part Number: AM4372


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.