[AM62A] GPIO 제어
TI/AM62A

[AM62A] GPIO 제어

728x90

테스트 환경

  • Ubuntu 22.04
  • SK-AM62A-LP
  • 09_01_00_07 Processor SDK

AM62A에 GPIO를 사용하기 위해서 PINMUX를 추가합니다. 추가하는 방법은 아래 링크를 참고해서 진행

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/927526/faq-ccs-tda4vm-pinmux-guide-for-jacinto-processors

 

[FAQ] CCS/TDA4VM: Pinmux Guide for Jacinto Processors - Processors forum - Processors - TI E2E support forums

 

e2e.ti.com

Devkit SCH

예를 들어 위 이미지에 MCASP0_AXR2(GPIO1_8)를 제어 하기 위해서는 아래와 같이 진행해야 한다.

Datasheet를 보면 MCASP0_AXR2핀은 7가지 기능을 가지고 있으며 해당 핀을 GPIO1_8로 이용하기 위해 MUX MODE를 7로 설정 합니다. 설정 값을 k3-am62a7-sk.dts에 추가한다.

&main_pmx0 {
	mygpio1_pins_default: mygpio1_pins_default {
		pinctrl-single,pins = <
			J721E_IOPAD(0x198, PIN_OUTPUT, 7) /* (B19) MCASP0_AXR2.GPIO1_8 */
		>;
	};
}

&main_gpio1 {
       pinctrl-names = "default";
       pinctrl-0 = <&mygpio1_pins_default>;
       status = "okay";
};

dts를 빌드 후 Devkit을 부팅한다.

root@am62axx-evm:~# cat /proc/device-tree/__symbols__/main_gpio1
/bus@f0000/gpio@601000

main_gpio1를 참조하는 곳은 gpio@601000을 확인한다.

root@am62axx-evm:~# cd /sys/class/gpio/
root@am62axx-evm:/sys/class/gpio# ls -al
drwxr-xr-x    2 root     root             0 Apr 28 17:42 .
drwxr-xr-x   72 root     root             0 Apr 28 17:42 ..
--w-------    1 root     root          4096 Apr 28 17:42 export
lrwxrwxrwx    1 root     root             0 Apr 28 17:42 gpiochip333 -> ../../devices/platform/bus@f0000/20000000.i2c/i2c-0/0-0048/gpio/gpiochip333
lrwxrwxrwx    1 root     root             0 Apr 28 17:42 gpiochip344 -> ../../devices/platform/bus@f0000/601000.gpio/gpio/gpiochip344
lrwxrwxrwx    1 root     root             0 Apr 28 17:42 gpiochip396 -> ../../devices/platform/bus@f0000/600000.gpio/gpio/gpiochip396
lrwxrwxrwx    1 root     root             0 Apr 28 17:42 gpiochip488 -> ../../devices/platform/bus@f0000/bus@f0000:bus@4000000/4201000.gpio/gpio/gpiochip488
--w-------    1 root     root          4096 Apr 28 17:42 unexport

 

/sys/class/gpio를 이동해 gpio@601000이 gpiochip344 을 기반으로 하는 것을 확인

 

현재 GPIO1_8 을 사용 할 경우 344 + 8 = 352 을 echo 352 > /sys/class/gpio/export 를 진행

 

export 후 생성된 gpio352에 direction을 out으로 설정해준다.

 

이후 echo 0(LOW) OR 1(HIGH)를 설정하여 GPIO를 제어한다.

echo 352 > /sys/class/gpio/export

cd /sys/class/gpio/gpio352

echo out > direction

echo 0 > value

 

 

해당 핀에 파형을 측정해보면 value 값을 통해 signal이 변화하는 것을 확인 할 수 있다.

728x90

'TI > AM62A' 카테고리의 다른 글

[AM62A] Falcon Mode  (0) 2024.06.02
[09] AM62A-SK ROBOTICS SDK  (0) 2024.03.21
[09] AM62A - SDCard 이미지 만들기  (0) 2024.03.01
[09] AM62A-SK Processor SDK Build  (0) 2024.03.01
[08] AM62A - emmc  (0) 2024.02.22