[RFC PATCH 1/2] arm64: dts: imx8mp: Make MX8MP_I2C_DEFAULT independent on drive strength
Maud Spierings
maudspierings at gocontroll.com
Fri Feb 27 05:31:48 PST 2026
Hi Daniel,
Glad to see others using them :)
Reviewed-by: Maud Spierings <maudspierings at gocontroll.com>
On 2/27/26 14:02, Daniel Baluta wrote:
> Currently MX8MP_I2C_DEFAULT macro includes a fixed drive
> strength (MX8MP_DSE_X6) thus limiting its use to only I2C
> pins that require X6 drive.
>
> There are many pinctrl configurations for I2C that use different
> drive strength while still using the common I2C default configurations
> (pull-up, Schmitt input, pull enable, SION).
>
> So make the MX8MP_I2C_DEFAULT macro more flexible and reusable by removing
> DSE_X6 drive strength from it's definition but add it in all places
> it is necessary.
>
> Signed-off-by: Daniel Baluta <daniel.baluta at nxp.com>
> ---
> arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h | 2 +-
> .../imx8mp-tx8p-ml81-moduline-display-106.dts | 16 ++++++++--------
> .../boot/dts/freescale/imx8mp-tx8p-ml81.dtsi | 8 ++++----
> 3 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h b/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
> index 16f5899de4152..26e7a9428c4c7 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
> @@ -36,7 +36,7 @@
> /* long defaults */
> #define MX8MP_USDHC_DATA_DEFAULT (MX8MP_FSEL_FAST | MX8MP_PULL_UP | \
> MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
> -#define MX8MP_I2C_DEFAULT (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | \
> +#define MX8MP_I2C_DEFAULT (MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | \
> MX8MP_PULL_ENABLE | MX8MP_SION)
>
> /*
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dts b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dts
> index 399230144ce39..87b20b8564583 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dts
> @@ -302,36 +302,36 @@ MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09
> pinctrl_i2c2: i2c2grp {
> fsl,pins = <
> MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
> pinctrl_i2c2_gpio: i2c2-gpiogrp {
> fsl,pins = <
> MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
> pinctrl_i2c4: i2c4grp {
> fsl,pins = <
> MX8MP_IOMUXC_ECSPI2_MISO__I2C4_SCL
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_ECSPI2_SS0__I2C4_SDA
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
> pinctrl_i2c4_gpio: i2c4-gpiogrp {
> fsl,pins = <
> MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
> index 761ee046eb72e..bf49ae942d411 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
> @@ -425,18 +425,18 @@ MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22
> pinctrl_i2c1: i2c1grp {
> fsl,pins = <
> MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
> pinctrl_i2c1_gpio: i2c1-gpiogrp {
> fsl,pins = <
> MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15
> - MX8MP_I2C_DEFAULT
> + (MX8MP_DSE_X6 | MX8MP_I2C_DEFAULT)
> >;
> };
>
More information about the linux-arm-kernel
mailing list