Pin muxing for UART 3 and UART4

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

Pin muxing for UART 3 and UART4

2,686 Views
kkd1
Contributor III

I am trying to enable UART3 and UART 4 in Imx 6 board.

i made changes in linux/arch/arm/boot/dts/im6qdl-iwg15s-pico.dtsi file for UART

 

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
iomuxc_imx6q_pico: iomuxc-imx6q-picogrp {
status = "okay";

};
};

&iomuxc_imx6q_pico
{
pinctrl_uart3: uart3grp {
fsl,pins = <
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
>;
};

pinctrl_uart4: uart4grp{
fsl,pins = <
MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 /* UART4_RX */
MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 /* UART4_TX */
>;
};
};

After power On no pulses on DSO..

 

Please look below log regarding UART:

....

Serial: IMX driver
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a I MX
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59, base_baud = 5000000) is a I MX
console [ttymxc1] enabled
imx6dl-pinctrl 20e0000.iomuxc: pin MX6DL_PAD_EIM_D25 already requested by 20e000 0.iomuxc; cannot claim for 21ec000.serial
imx6dl-pinctrl 20e0000.iomuxc: pin-90 (21ec000.serial) status -22
imx6dl-pinctrl 20e0000.iomuxc: could not request pin 90 (MX6DL_PAD_EIM_D25) from group uart3grp on device 20e0000.iomuxc
imx-uart 21ec000.serial: Error applying setting, reverse things back
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a I MX
imx6dl-pinctrl 20e0000.iomuxc: pin MX6DL_PAD_KEY_ROW0 already requested by 20e00 00.iomuxc; cannot claim for 21f0000.serial
imx6dl-pinctrl 20e0000.iomuxc: pin-150 (21f0000.serial) status -22
imx6dl-pinctrl 20e0000.iomuxc: could not request pin 150 (MX6DL_PAD_KEY_ROW0) fr om group uart4grp on device 20e0000.iomuxc
imx-uart 21f0000.serial: Error applying setting, reverse things back
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a I MX

...

Can anyone share how I resolve this issue? in which file I need to made changes??

Please guide!

Thank you

Labels (1)
0 Kudos
3 Replies

1,575 Views
aravinthkumarja
Senior Contributor II

Hi,

As per your error log, it means "EIM_D25" and "KEY_ROW0" pins are already defined for other purpose.

Check it in your dts file, and comment the all other definition of above mentioned pins and check how its behaving.!

Regards,

Aravinth 

0 Kudos

1,575 Views
kkd1
Contributor III

Here it is boot log shows by deactivating EIM_25 and EIM_24 pins

......

Serial: IMX driver
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59, base_baud = 5000000) is a IMX
console [ttymxc1] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX
imx6dl-pinctrl 20e0000.iomuxc: pin MX6DL_PAD_KEY_COL0 already requested by 20e0000.iomuxc; cannot claim for 21f0000.serial
imx6dl-pinctrl 20e0000.iomuxc: pin-145 (21f0000.serial) status -22
imx6dl-pinctrl 20e0000.iomuxc: could not request pin 145 (MX6DL_PAD_KEY_COL0) from group uart4-q7-pico on device 20e0000.iomuxc
imx-uart 21f0000.serial: Error applying setting, reverse things back
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX
serial: Freescale lpuart driver
imx sema4 driver is registered.

.....

Also by checking on DSO there is no pulses at pin EIM_25.

Is any further changes requires ? 

Please guide

0 Kudos

1,575 Views
kkd1
Contributor III

Hi Aravinth,

Thanks for reply.

I commented usdh utilization of EIM_25 pins from imx6qdl.dtsi file(my board file "imx6qdl-iwg15s-pico.dtsi" which is not any iomuxing.

After making changes i boot and checked pulses on pin no 11 and 12 for UART3. still there is no result!

dmesg|grep ttymxc*

1) ttymxc0,ttymxc1,ttymxc 2,ttymxc3 are shows available.

2) But when i run echo "test" >/dev/ttymxc2 === > No write operation

3) Also cat /dev/ttymxc2 ===> no response command stuck here!!!

Please guide.

is it requres to inser UART drivres? 

0 Kudos