기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.

저는 Digi connectCore 8X SBC Pro(SoM은 NXP i.MX8QuadXPlus 사용)로 개발을 하고 있습니다.

GPIO0_IO05에 대한 GPIO mode와 direction을 설정하고 싶은데 잘 안돼서 문의 글 올려드립니다.


어떻게 하면 GPIO 제어를 할 수 있을까요?

 

지금까지 디바이스 트리를 통해 GPIO를 설정했던 방법을 공유드리오니, 

잘못되거나 놓치고 있는 점을 알려주시면 감사드리겠습니다


1) GPIO0_IO05에 대한 i.MX 8x pad 명을 검색

아래 웹 사이트를 통해 SoM의 관련 pad 명을 찾을 수 있었습니다.

https://www.digi.com/resources/documentation/digidocs/PDFs/90002295.pdf

 

ESAI0_TX1이라는 pad 명을 찾았고, 이는 Ethernet과 관련있다는 것을 알았습니다.

또한 ESAI0_TX1에 대한 pad macro들을 찾았습니다.

 

SC_P_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3

SC_P_ESAI0_TX1_CONN_ENET1_RGMII_RXD3

 

2) GPIO pad에 대한 디바이스 트리 셋팅

아래 웹 사이트를 참고로 GPIO pad에 대한 디바이스 트리를 셋팅했습니다.

https://github.com/FrankBau/meta-marsboard-bsp/wiki/iMX6-Pad-Mux-and-Pad-Control

 

아래는 디바이스 트리 셋팅 내용입니다.

 

/* IOMUX */

&iomuxc {

        pinctrl-names = "default", "default";

        pinctrl-0 = <&pinctrl_expansion>;

        pinctrl-1 = <&pinctrl_hog>;

           /* Expansion Connector */

        pinctrl_expansion: expansiongrp {

                fsl,pins = <

                                 . . .

 

pinctrl_hog: hoggrp {

                fsl,pins = <

                                 /* (1<<3): output drive strength of 150 Ohm at 3.3V */

                        SC_P_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3     8

                        SC_P_ESAI0_TX1_CONN_ENET1_RGMII_RXD3    8

                >;

        };

          

};

 

3) sysfs에서 GPIO 상태 확인

커널 부팅 후 sysfs에서 GPIO 상태를 확인했습니다.

GPIO0_IO05은 GPIO 커널 번호가 485인데, sysfs에서 해당 번호의 GPIO를 찾을 수 없었습니다.


아래 웹 사이트를 참고로 계산한 GPIO 번호 계산 식입니다. 

https://www.digi.com/resources/documentation/digidocs/embedded/android/pie/cc8x/bsp_r_gpio_8x

N = 480 – (32 * <port_index>) + pin

ex) GPIO0_IO05(port 0, pin 5) is: 480 + 5 = 485

 

아래는 sysfs에서 GPIO 확인 결과입니다.

ccimx8xsbcpro:/ # cat /sys/kernel/debug/gpio                                  

gpiochip9: GPIOs 204-223, parent: platform/mca-cc8x-gpio, mca-gpio, can sleep:

 gpio-210 (                    |ADC                 ) in  lo   

 gpio-211 (                    |ADC                 ) in  lo   

 

gpiochip8: GPIOs 224-255, parent: platform/58222000.gpio, 58222000.gpio:

 

gpiochip7: GPIOs 256-287, parent: platform/5d0f0000.gpio, 5d0f0000.gpio:

 

gpiochip6: GPIOs 288-319, parent: platform/5d0e0000.gpio, 5d0e0000.gpio:

 

gpiochip5: GPIOs 320-351, parent: platform/5d0d0000.gpio, 5d0d0000.gpio:

 

gpiochip4: GPIOs 352-383, parent: platform/5d0c0000.gpio, 5d0c0000.gpio:

 gpio-352 (                    |PCIe reset          ) out hi   

 gpio-353 (                    |PCIe CLKREQ         ) out lo   

 gpio-357 (                    |3v3_usb_sw          ) out hi   

 gpio-374 (                    |cd                  ) in  hi IRQ

 

gpiochip3: GPIOs 384-415, parent: platform/5d0b0000.gpio, 5d0b0000.gpio:

 gpio-393 (                    |mca-fw-update       ) out lo   

 gpio-394 (                    |BT power enable     ) out hi   

 gpio-395 (                    |PCIe DIS            ) out hi   

 gpio-396 (                    |epdev_on            ) out hi   

 gpio-397 (                    |3v3_eth0            ) out lo   

 

gpiochip2: GPIOs 416-447, parent: platform/5d0a0000.gpio, 5d0a0000.gpio:

 

gpiochip1: GPIOs 448-479, parent: platform/5d090000.gpio, 5d090000.gpio:

 

gpiochip0: GPIOs 480-511, parent: platform/5d080000.gpio, 5d080000.gpio:

 gpio-493 (                    |5v_display          ) out lo   

 gpio-494 (                    |3v3_audio           ) out lo   

 gpio-495 (                    |3v3_usb_hub         ) out hi   

 gpio-511 (                    |vcc                 ) out hi


답변 부탁드리겠습니다.

감사합니다.


고도리

2021.02.05 01:17:43
*.75.54.245

i.mx 시리즈가 key 설정이 꽤 어렵다라고 듣기는 했는데, 내일 간단하게 물어봐서 답이 나오면 댓글 써 놓도록 하겠습니다.(뭔가를 많이 해야 한다라고 하더군요)


요즘은 워낙 이런 문제에 대해 설명이 없더라고요...ㅠ.ㅠ

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6368 flow control에 관해서 여쭤 보고자 합니다. 열심히 2015-06-17 113
6367 android uenvt에 내용을 추가 했는데요 맞는 방법인가요? [1] pedor11 2015-05-20 121
6366 input device에 할당된 버튼키를 제거하고 터미널에서 키보드로 대... [1] 김민욱 2017-05-25 122
6365 camera HAL시 퍼미션을 얻을 수 있는가요? [2] 조신 2015-11-18 147
6364 압력센서 신호처리 관련하여 문의드립니다. [3] kernel_study 2016-11-03 148
6363 [apt pkg server 관련] [2] 밥줘잉 2016-10-20 150
6362 nfs 서버 구축 질문 [4] 김민욱 2017-06-10 164
6361 ACPI Shutdown Signal이 들어갈때의 동작을 변경하고 싶습니다. +... [4] 겟페우스 2017-06-08 165
» SoM GPIO 제어 문의 [1] 단순최고 2021-01-25 167
6359 USB GPS를 재부팅 후에도 자동으로 동작하게 하려고 합니다. [3] 겟페우스 2017-06-03 172
6358 touch screen관련 여쭤봅니다. [1] 열심히 2015-07-25 173
6357 virtualbox에 안드로이드가 잘 안도네요 [1] 더미원 2017-03-20 180
6356 2440 보드의 address 신호와 소스상의 주소를 어떻게 이해 하고 있... [2] DavidKim 2015-07-29 181
6355 i.mx6q에서 libvpu.so 라이브러리를 사용하여 link시에 undefined ... [1] 이동희 2019-08-09 182
6354 udev 를 이용하여 /dev 사용권한을 변경할수 있나요? [1] pedor11 2015-11-18 185
6353 키이벤트 관련 질문드립니다. [3] 하하호호하하 2015-10-06 188
6352 Alto 4330 보드에서 sdcard의 리눅스 커널로 부팅하는 방법 [2] 포도씨 2016-11-18 192
6351 밑의 LCD 포팅 질문드렸었는데 추가 질문이 있습니다. [2] ImYeol 2015-08-13 193
6350 check_usb_vfs("/dev/bus/usb") 에러 [1] 생생맥주 2015-01-25 200
6349 smsc9220 질문 file [2] *김종원 2015-07-24 203

사용자 로그인