Hi,
We are using imx6Q sabresd platform for our development with Linux 3.10.17_1.0.0-GA BSP.
In device tree, the UART1 IOMUX configuration is done in "arch/arm/boot/dts/imx6qdl.dtsi" file as mentioned below.
uart1 { |
pinctrl_uart1_1: uart1grp-1 { |
fsl,pins = < |
MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 |
MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 |
>; |
}; |
}; |
We would like to know, in which file the IOMUX configuration will be called?
We have gone through the "linux-imx/drivers/tty/serial/imx.c" file. But we couldn't find the below function for IOMUX configuration
"devm_pinctrl_get_select_default"
In addition, the flexcan IOMUX configuration is called in "drivers/net/can/flexcan.c" file as mentioned below (from the probe function call)
pinctrl = devm_pinctrl_get_select_default(&pdev->dev); | |
if (IS_ERR(pinctrl)) | |
return PTR_ERR(pinctrl); |
Please suggest us for better understanding.
Thank You,
Regards,
Ansari
Hi Igor,
Thanks for your input on our request.
Could you please give your detailed input on below
In which file/function the below uart1 IOMUX configuration (which is defined in the device tree) will be called?
uart1 { |
pinctrl_uart1_1: uart1grp-1 { |
fsl,pins = < |
MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 |
MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 |
>; |
}; |
}; |
Thank You,
Regards,
Ansari
I believe it is loaded when pinctrl driver is loaded in
..drivers/pinctrl/pinctrl-imx6q.c
https://lkml.org/lkml/2013/9/28/63
then it scans pads in device tree
http://lkml.iu.edu//hypermail/linux/kernel/1204.3/01488.html
~igor