How to define a pin function which has many alternatives?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to define a pin function which has many alternatives?

跳至解决方案
3,764 次查看
shaot
Contributor II

Hi, I want to know how to define a pin function which has many alternatives like GPIO, I2C, UART, and so on.

At first, I am a begginer of embedded linux, so I may not know the common sense.

I use Pins for i.MX tool and i.mx6ul board.OS is yocto linux.

I know that if I want to set a GPIO state of a pin, I should change a device tree (dts).

If a pin has many alternatives such as GPIO, I2C and UART,  I think I should specify the function I want to set for the pin. However I couldn't find out what file I should change.

Are there any files which decides a pin function in yocto project?

# What I checked 

I set a pin for GPIO (direction: input, pull up 100K) in dts with i.MX pins tool and compiled it to dtb.

I put the dtb file on the boot partition of a yocto image.

I measured a wave of the pin I set with oscilloscope.

I checked the wave is HIGH ('cause it is pulled up) after booting. So I judged I could set GPIO state correctly.

The part of dtsi file is as follows.

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-evk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0x1b0b0 
MX6UL_PAD_CSI_DATA00__GPIO4_IO21 0x1b0b0
>;
};

I checked the register value(0x1b0b0 ) and register address(MX6UL_PAD_CSI_HSYNC__GPIO4_IO20) with i.mx pins tool. 

I am waiting for your answer.

Thank you.

Best regards,

Hiro

标签 (2)
0 项奖励
回复
1 解答
2,070 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Hiro,

There are a couple of good documents that cover the Device Tree topic, for example:

https://community.nxp.com/docs/DOC-329664

Regarding how to define a pin function with many options, I would recommend trying the Pins Tool for i.MX, as it allows to have a GUI to see the different options or each pin and it also generates the necessary register settings to be used. You can download it and its documentation from the link below:

 

http://www.nxp.com/products/developer-resources/software-development-tools/processor-expert-and-embe...

I hope this helps!

Regards,

在原帖中查看解决方案

0 项奖励
回复
2 回复数
2,071 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Hiro,

There are a couple of good documents that cover the Device Tree topic, for example:

https://community.nxp.com/docs/DOC-329664

Regarding how to define a pin function with many options, I would recommend trying the Pins Tool for i.MX, as it allows to have a GUI to see the different options or each pin and it also generates the necessary register settings to be used. You can download it and its documentation from the link below:

 

http://www.nxp.com/products/developer-resources/software-development-tools/processor-expert-and-embe...

I hope this helps!

Regards,

0 项奖励
回复
2,070 次查看
shaot
Contributor II

Dear gusarambula, 

Thank you for your answer! I am really sorry for my late response.

The links have good documentation and I understand how I should do!

Thank you.

Best regards

0 项奖励
回复