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
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
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
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?