Hi all,
I've been reading with interest this post : understanding iomuxing imx6QD but can't find the answer ;(
Can you point me to the source of this 0x80000000 value in IOMUX configuration?
More precisely I'd like to know if it's only the PAD_CTL that is unchanged or the MUX_CTL setting as well?
For example MX6QDL_PAD_EIM_D22__GPIO3_IO22 is supposed to set the EIM_D22 PAD as GPIO (ALT5) (#define in imx6q-pinfunc.h) but after changing u-boot to use USB OTG it seems that PAD_EIM_D22 is now configured as USB_OTG_PWR (ALT4) and MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 seems to do nothing about that after leaving u-boot as I still read 4 when typing devregs 0x020e00a8 (MUX_CTL). For now I need to type "devregs 0x020e00a8 0x5" to get my USB power-supply started. It works but I'd like to understand better why ^^
Any help will be appreciated.
if you check the code drivers/pinctrl/freescale/pinctrl-imx.c, 0x80000000 will igore to configure the IOMUX and keep the value. And If 0x40000000 to set the SION.
/* The bits in CONFIG cell defined in binding doc*/
#define IMX_NO_PAD_CTL 0x80000000 /* no pin config need */
#define IMX_PAD_SION 0x40000000 /* set SION */
more explaination.
If you want to add the SION, the original dts like this:
MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x17059
you need to modify and become
MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x40017059(0x40000000 |0x17059)
If you want to keep it. Just make it 0x80000000 is enough.
Hi glitch911
this is linux software convention, not hardware.
Please check linux documentation fsl,imx-pinctrl.txt
linux-imx.git - i.MX Linux Kernel
Bits used for CONFIG:
NO_PAD_CTL(1 << 31): indicate this pin does not need config.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------