RE: [PATCH 10/14] arm64: dts: freescale: imx93-tqma9352-mba93xxca: improve pad configuration

From: Peng Fan
Date: Wed Jul 31 2024 - 23:09:25 EST


> Subject: [PATCH 10/14] arm64: dts: freescale: imx93-tqma9352-
> mba93xxca: improve pad configuration
>
> From: Markus Niebel <Markus.Niebel@xxxxxxxxxxxxxxx>
>
> - disable PU/PD if already done with external resistors
> - do not configure Schmitt Trigger for outputs
> - do not configure DSE / FSEL for inputs
> - add missing pad groups
> - assign muxed GPIO pads for X1 to gpio2 node
>
> Pad config changes suggested by hardware team.
>
> Signed-off-by: Markus Niebel <Markus.Niebel@xxxxxxxxxxxxxxx>
> Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
> ---
> .../freescale/imx93-tqma9352-mba93xxca.dts | 235 ++++++++++++---
> ---
> 1 file changed, 159 insertions(+), 76 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-tqma9352-
> mba93xxca.dts b/arch/arm64/boot/dts/freescale/imx93-tqma9352-
> mba93xxca.dts
> index 852dd3d2eac7..99a0b6b9e304 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-tqma9352-
> mba93xxca.dts
> @@ -289,6 +289,11 @@ tcpc-irq-hog {
> };
> };
>
> +&gpio2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpio2>;

New change.

I would prefer merge the pad improve into one. But see if
Shawn is ok to separate or merge to one.

Regards,
Peng.

> +};
> +
> &lpi2c3 {
> #address-cells = <1>;
> #size-cells = <0>;
> @@ -559,22 +564,23 @@ &iomuxc {
> pinctrl_eqos: eqosgrp {
> fsl,pins = <
> /* PD | FSEL_2 | DSE X4 */
> - MX93_PAD_ENET1_MDC__ENET_QOS_MDC
> 0x51e
> -
> MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO
> 0x4000051e
> - /* PD | FSEL_2 | DSE X6 */
> -
> MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0
> 0x57e
> -
> MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1
> 0x57e
> -
> MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2
> 0x57e
> -
> MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3
> 0x57e
> - /* PD | FSEL_3 | DSE X6 */
> -
> MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE
> _RX_CLK 0x5fe
> -
> MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL
> 0x57e
> + MX93_PAD_ENET1_MDC__ENET_QOS_MDC
> 0x51e
> + /* SION | HYS | FSEL_2 | DSE X4 */
> +
> MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO
> 0x4000111e
> + /* HYS | FSEL_0 | DSE no drive */
> +
> MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0
> 0x1000
> +
> MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1
> 0x1000
> +
> MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2
> 0x1000
> +
> MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3
> 0x1000
> +
> MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL
> 0x1000
> + /* HYS | PD | FSEL_0 | DSE no drive */
> +
> MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE
> _RX_CLK 0x1400
> /* PD | FSEL_2 | DSE X4 */
> -
> MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0
> 0x51e
> -
> MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1
> 0x51e
> -
> MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2
> 0x51e
> -
> MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3
> 0x51e
> -
> MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL
> 0x51e
> +
> MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0
> 0x51e
> +
> MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1
> 0x51e
> +
> MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2
> 0x51e
> +
> MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3
> 0x51e
> +
> MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL
> 0x51e
> /* PD | FSEL_3 | DSE X3 */
>
> MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE
> _TX_CLK 0x58e
> >;
> @@ -582,7 +588,8 @@
> MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK
> 0x58e
>
> pinctrl_eqos_phy: eqosphygrp {
> fsl,pins = <
> - MX93_PAD_CCM_CLKO1__GPIO3_IO26
> 0x1306
> + /* HYS | FSEL_0 | DSE no drive */
> + MX93_PAD_CCM_CLKO1__GPIO3_IO26
> 0x1000
> >;
> };
>
> @@ -590,15 +597,16 @@ pinctrl_fec: fecgrp {
> fsl,pins = <
> /* PD | FSEL_2 | DSE X4 */
> MX93_PAD_ENET2_MDC__ENET1_MDC
> 0x51e
> - MX93_PAD_ENET2_MDIO__ENET1_MDIO
> 0x4000051e
> - /* PD | FSEL_2 | DSE X6 */
> - MX93_PAD_ENET2_RD0__ENET1_RGMII_RD0
> 0x57e
> - MX93_PAD_ENET2_RD1__ENET1_RGMII_RD1
> 0x57e
> - MX93_PAD_ENET2_RD2__ENET1_RGMII_RD2
> 0x57e
> - MX93_PAD_ENET2_RD3__ENET1_RGMII_RD3
> 0x57e
> - /* PD | FSEL_3 | DSE X6 */
> - MX93_PAD_ENET2_RXC__ENET1_RGMII_RXC
> 0x5fe
> -
> MX93_PAD_ENET2_RX_CTL__ENET1_RGMII_RX_CTL
> 0x57e
> + /* SION | HYS | FSEL_2 | DSE X4 */
> + MX93_PAD_ENET2_MDIO__ENET1_MDIO
> 0x4000111e
> + /* HYS | FSEL_0 | DSE no drive */
> + MX93_PAD_ENET2_RD0__ENET1_RGMII_RD0
> 0x1000
> + MX93_PAD_ENET2_RD1__ENET1_RGMII_RD1
> 0x1000
> + MX93_PAD_ENET2_RD2__ENET1_RGMII_RD2
> 0x1000
> + MX93_PAD_ENET2_RD3__ENET1_RGMII_RD3
> 0x1000
> +
> MX93_PAD_ENET2_RX_CTL__ENET1_RGMII_RX_CTL
> 0x1000
> + /* HYS | PD | FSEL_0 | DSE no drive */
> + MX93_PAD_ENET2_RXC__ENET1_RGMII_RXC
> 0x1400
> /* PD | FSEL_2 | DSE X4 */
> MX93_PAD_ENET2_TD0__ENET1_RGMII_TD0
> 0x51e
> MX93_PAD_ENET2_TD1__ENET1_RGMII_TD1
> 0x51e
> @@ -612,147 +620,222 @@
> MX93_PAD_ENET2_TXC__ENET1_RGMII_TXC 0x58e
>
> pinctrl_fec_phy: fecphygrp {
> fsl,pins = <
> - MX93_PAD_CCM_CLKO2__GPIO3_IO27
> 0x1306
> + /* HYS | FSEL_0 | DSE no drive */
> + MX93_PAD_CCM_CLKO2__GPIO3_IO27
> 0x1000
> >;
> };
>
> pinctrl_flexcan1: flexcan1grp {
> fsl,pins = <
> - MX93_PAD_PDM_BIT_STREAM0__CAN1_RX
> 0x139e
> - MX93_PAD_PDM_CLK__CAN1_TX
> 0x139e
> + /* HYS | PU | FSEL_0 | DSE no drive */
> + MX93_PAD_PDM_BIT_STREAM0__CAN1_RX
> 0x1200
> + /* PU | FSEL_3 | DSE X4 */
> + MX93_PAD_PDM_CLK__CAN1_TX
> 0x039e
> >;
> };
>
> pinctrl_flexcan2: flexcan2grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO25__CAN2_TX
> 0x139e
> - MX93_PAD_GPIO_IO27__CAN2_RX
> 0x139e
> + /* HYS | PU | FSEL_0 | DSE no drive */
> + MX93_PAD_GPIO_IO27__CAN2_RX
> 0x1200
> + /* PU | FSEL_3 | DSE X4 */
> + MX93_PAD_GPIO_IO25__CAN2_TX
> 0x039e
> + >;
> + };
> +
> + pinctrl_gpio2: gpio2grp {
> + fsl,pins = <
> + /* HYS | PD | FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO16__GPIO2_IO16
> 0x151e
> + MX93_PAD_GPIO_IO17__GPIO2_IO17
> 0x151e
> + MX93_PAD_GPIO_IO18__GPIO2_IO18
> 0x151e
> + MX93_PAD_GPIO_IO19__GPIO2_IO19
> 0x151e
> + MX93_PAD_GPIO_IO20__GPIO2_IO20
> 0x151e
> + MX93_PAD_GPIO_IO21__GPIO2_IO21
> 0x151e
> + MX93_PAD_GPIO_IO26__GPIO2_IO26
> 0x151e
> + >;
> + };
> +
> + pinctrl_jtag: jtaggrp {
> + fsl,pins = <
> +
> MX93_PAD_DAP_TCLK_SWCLK__JTAG_MUX_TCK
> 0x051e
> + MX93_PAD_DAP_TDI__JTAG_MUX_TDI
> 0x1200
> +
> MX93_PAD_DAP_TDO_TRACESWO__JTAG_MUX_TDO
> 0x031e
> +
> MX93_PAD_DAP_TMS_SWDIO__JTAG_MUX_TMS
> 0x1200
> >;
> };
>
> pinctrl_lpi2c3: lpi2c3grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO28__LPI2C3_SDA
> 0x40000b9e
> - MX93_PAD_GPIO_IO29__LPI2C3_SCL
> 0x40000b9e
> + /* SION | HYS | OD | FSEL_3 | DSE X4 */
> + MX93_PAD_GPIO_IO28__LPI2C3_SDA
> 0x4000199e
> + MX93_PAD_GPIO_IO29__LPI2C3_SCL
> 0x4000199e
> >;
> };
>
> pinctrl_lpi2c5: lpi2c5grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO22__LPI2C5_SDA
> 0x40000b9e
> - MX93_PAD_GPIO_IO23__LPI2C5_SCL
> 0x40000b9e
> + /* SION | HYS | OD | FSEL_3 | DSE X4 */
> + MX93_PAD_GPIO_IO22__LPI2C5_SDA
> 0x4000199e
> + MX93_PAD_GPIO_IO23__LPI2C5_SCL
> 0x4000199e
> >;
> };
>
> pinctrl_lpspi6: lpspi6grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO00__LPSPI6_PCS0
> 0x3fe
> - MX93_PAD_GPIO_IO01__LPSPI6_SIN
> 0x3fe
> - MX93_PAD_GPIO_IO02__LPSPI6_SOUT
> 0x3fe
> - MX93_PAD_GPIO_IO03__LPSPI6_SCK
> 0x3fe
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO00__LPSPI6_PCS0
> 0x011e
> + /* HYS | PD | FSEL_0 | DSE no drive */
> + MX93_PAD_GPIO_IO01__LPSPI6_SIN
> 0x1400
> + /* PD | FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO02__LPSPI6_SOUT
> 0x051e
> + MX93_PAD_GPIO_IO03__LPSPI6_SCK
> 0x051e
> + >;
> + };
> +
> + pinctrl_mipi_csi: mipicsigrp {
> + fsl,pins = <
> +
> MX93_PAD_CCM_CLKO3__CCMSRCGPCMIX_CLKO3
> 0x051e /* MCLK */
> + MX93_PAD_GPIO_IO10__GPIO2_IO10
> 0x051e /* TRIGGER */
> + MX93_PAD_GPIO_IO11__GPIO2_IO11
> 0x1400 /* SYNC */
> + >;
> + };
> +
> + pinctrl_pcf85063: pcf85063grp {
> + fsl,pins = <
> + MX93_PAD_SAI1_RXD0__GPIO1_IO14
> 0x1000
> >;
> };
>
> pinctrl_pexp_irq: pexpirqgrp {
> fsl,pins = <
> - MX93_PAD_SAI1_TXC__GPIO1_IO12
> 0x1306
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_SAI1_TXC__GPIO1_IO12
> 0x1000
> >;
> };
>
> pinctrl_pwmfan: pwmfangrp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO09__GPIO2_IO09
> 0x1306
> + /* HYS | PU | FSEL_0 | no DSE */
> + MX93_PAD_GPIO_IO09__GPIO2_IO09
> 0x1200
> + >;
> + };
> +
> + pinctrl_tc9595: tc9595-grp {
> + fsl,pins = <
> + /* HYS | PD | FSEL_0 | no DSE */
> + MX93_PAD_CCM_CLKO4__GPIO4_IO29
> 0x1400
> + >;
> + };
> +
> + pinctrl_temp_sensor_som: tempsensorsomgrp {
> + fsl,pins = <
> + /* HYS | FSEL_0 | no DSE */
> + MX93_PAD_SAI1_TXFS__GPIO1_IO11
> 0x1000
> >;
> };
>
> pinctrl_tpm5: tpm5grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO06__TPM5_CH0
> 0x57e
> + MX93_PAD_GPIO_IO06__TPM5_CH0
> 0x57e
> >;
> };
>
> pinctrl_tpm6: tpm6grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO08__TPM6_CH0
> 0x57e
> + MX93_PAD_GPIO_IO08__TPM6_CH0
> 0x57e
> >;
> };
>
> pinctrl_typec: typecgrp {
> fsl,pins = <
> - MX93_PAD_I2C2_SCL__GPIO1_IO02
> 0x1306
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_I2C2_SCL__GPIO1_IO02
> 0x1000
> >;
> };
>
> pinctrl_uart1: uart1grp {
> fsl,pins = <
> - MX93_PAD_UART1_RXD__LPUART1_RX
> 0x31e
> - MX93_PAD_UART1_TXD__LPUART1_TX
> 0x31e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_UART1_RXD__LPUART1_RX
> 0x1000
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_UART1_TXD__LPUART1_TX
> 0x011e
> >;
> };
>
> pinctrl_uart2: uart2grp {
> fsl,pins = <
> - MX93_PAD_UART2_TXD__LPUART2_TX
> 0x31e
> - MX93_PAD_UART2_RXD__LPUART2_RX
> 0x31e
> - MX93_PAD_SAI1_TXD0__LPUART2_RTS_B
> 0x51e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_UART2_RXD__LPUART2_RX
> 0x1000
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_UART2_TXD__LPUART2_TX
> 0x011e
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_SAI1_TXD0__LPUART2_RTS_B
> 0x011e
> >;
> };
>
> pinctrl_uart3: uart3grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO14__LPUART3_TX
> 0x31e
> - MX93_PAD_GPIO_IO15__LPUART3_RX
> 0x31e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_GPIO_IO15__LPUART3_RX
> 0x1000
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO14__LPUART3_TX
> 0x011e
> >;
> };
>
> pinctrl_uart6: uart6grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO04__LPUART6_TX
> 0x31e
> - MX93_PAD_GPIO_IO05__LPUART6_RX
> 0x31e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_GPIO_IO05__LPUART6_RX
> 0x1000
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO04__LPUART6_TX
> 0x011e
> >;
> };
>
> pinctrl_uart8: uart8grp {
> fsl,pins = <
> - MX93_PAD_GPIO_IO12__LPUART8_TX
> 0x31e
> - MX93_PAD_GPIO_IO13__LPUART8_RX
> 0x31e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_GPIO_IO13__LPUART8_RX
> 0x1000
> + /* FSEL_2 | DSE X4 */
> + MX93_PAD_GPIO_IO12__LPUART8_TX
> 0x011e
> >;
> };
>
> pinctrl_usdhc2_gpio: usdhc2gpiogrp {
> fsl,pins = <
> - MX93_PAD_SD2_CD_B__GPIO3_IO00
> 0x31e
> + /* HYS | FSEL_0 | No DSE */
> + MX93_PAD_SD2_CD_B__GPIO3_IO00
> 0x1000
> >;
> };
>
> pinctrl_usdhc2_hs: usdhc2hsgrp {
> fsl,pins = <
> - /* HYS | PD | PU | FSEL_3 | DSE X5 */
> - MX93_PAD_SD2_CLK__USDHC2_CLK
> 0x17be
> - /* HYS | PD | PU | FSEL_3 | DSE X4 */
> - MX93_PAD_SD2_CMD__USDHC2_CMD
> 0x139e
> - /* HYS | PD | PU | FSEL_3 | DSE X3 */
> - MX93_PAD_SD2_DATA0__USDHC2_DATA0
> 0x138e
> - MX93_PAD_SD2_DATA1__USDHC2_DATA1
> 0x138e
> - MX93_PAD_SD2_DATA2__USDHC2_DATA2
> 0x138e
> - MX93_PAD_SD2_DATA3__USDHC2_DATA3
> 0x138e
> - /* PD | PU | FSEL_2 | DSE X3 */
> -
> MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x50e
> + /* PD | FSEL_3 | DSE X5 */
> + MX93_PAD_SD2_CLK__USDHC2_CLK
> 0x05be
> + /* HYS | PU | FSEL_3 | DSE X4 */
> + MX93_PAD_SD2_CMD__USDHC2_CMD
> 0x139e
> + /* HYS | PU | FSEL_3 | DSE X3 */
> + MX93_PAD_SD2_DATA0__USDHC2_DATA0
> 0x138e
> + MX93_PAD_SD2_DATA1__USDHC2_DATA1
> 0x138e
> + MX93_PAD_SD2_DATA2__USDHC2_DATA2
> 0x138e
> + MX93_PAD_SD2_DATA3__USDHC2_DATA3
> 0x138e
> + /* FSEL_2 | DSE X3 */
> +
> MX93_PAD_SD2_VSELECT__USDHC2_VSELECT
> 0x010e
> >;
> };
>
> pinctrl_usdhc2_uhs: usdhc2uhsgrp {
> fsl,pins = <
> - /* HYS | PD | PU | FSEL_3 | DSE X6 */
> - MX93_PAD_SD2_CLK__USDHC2_CLK
> 0x17fe
> - /* HYS | PD | PU | FSEL_3 | DSE X4 */
> - MX93_PAD_SD2_CMD__USDHC2_CMD
> 0x139e
> - MX93_PAD_SD2_DATA0__USDHC2_DATA0
> 0x139e
> - MX93_PAD_SD2_DATA1__USDHC2_DATA1
> 0x139e
> - MX93_PAD_SD2_DATA2__USDHC2_DATA2
> 0x139e
> - MX93_PAD_SD2_DATA3__USDHC2_DATA3
> 0x139e
> - /* PD | PU | FSEL_2 | DSE X3 */
> -
> MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x50e
> + /* PD | FSEL_3 | DSE X6 */
> + MX93_PAD_SD2_CLK__USDHC2_CLK
> 0x05fe
> + /* HYS | PU | FSEL_3 | DSE X4 */
> + MX93_PAD_SD2_CMD__USDHC2_CMD
> 0x139e
> + MX93_PAD_SD2_DATA0__USDHC2_DATA0
> 0x139e
> + MX93_PAD_SD2_DATA1__USDHC2_DATA1
> 0x139e
> + MX93_PAD_SD2_DATA2__USDHC2_DATA2
> 0x139e
> + MX93_PAD_SD2_DATA3__USDHC2_DATA3
> 0x139e
> + /* FSEL_2 | DSE X3 */
> +
> MX93_PAD_SD2_VSELECT__USDHC2_VSELECT
> 0x010e
> >;
> };
> };
> --
> 2.34.1
>