Set slew rate, speed or drive strength on LCD controller of the imx6 running Linux

I am trying to change display pad setting to solve EMC issues we have. I followed this device tree article to change the register of the i.MX6 Input/Output Multiplexer Controller. However I did not see the effect I expected. So I wanted to make sure I made correct changes. Currently all pads are assigned value of 0xa1 in device tree as shown in the following

/* Redefine DISP0 to have 24bpp */
&pinctrl_ipu1_lcd {
	fsl,pins = <
		MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0xa1
		MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0xa1
		MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0xa1
		MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0xa1
		MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0xa1
		MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0xa1
		MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0xa1
		MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0xa1
		MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0xa1
		MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0xa1
		MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0xa1
		MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0xa1
		MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0xa1
		MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0xa1
		MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0xa1
		MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0xa1
		MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0xa1
		MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0xa1
		MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0xa1
		MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0xa1
		MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0xa1
		MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0xa1
		MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0xa1
		MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0xa1
		MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0xa1
		MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0xa1
		MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0xa1
		MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0xa1
	>;
};

The value 0xa1 seems indicating a fast slew rate. So if slow slew rate is required, I just change the value to 0xa0. Is that right?
Also I saw there is OUTPUT_RGB macro defined in u-boot-toradex/board/toradex/colibri_imx6/colibri_imx6.c file:

#define OUTPUT_RGB (PAD_CTL_SPEED_MED|PAD_CTL_DSE_60ohm|PAD_CTL_SRE_FAST)

Do I have to redefine OUTPUT_RGB with PAD_CTL_SRE_SLOW macro?

Hi @wjzhang

The value 0xa1 seems indicating a fast slew rate. So if slow slew rate is required, I just change the value to 0xa0. Is that right?

No, you have to set the value to 0x8 as described in the following post.

Also I saw there is OUTPUT_RGB macro defined in u-boot-toradex/board/toradex/colibri_imx6/colibri_imx6.c file:

Where is this macro used?

Do I have to redefine OUTPUT_RGB with PAD_CTL_SRE_SLOW macro?

No, you don’t need to redefine it.

Best regards, Jaski

Thank you for the help. I was able to reduce the EMI level with the register value provided.

You are welcome. Thanks for the feedback.