imx6 - pincontrol - iomux configuration in device tree

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 - pincontrol - iomux configuration in device tree

9,911 Views
Ansari
Contributor IV

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

0 Kudos
Reply
3 Replies

2,440 Views
Ansari
Contributor IV

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

0 Kudos
Reply

2,440 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos
Reply