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

안녕하세요.

저는 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 초보 앱 개발자 BLE(안드로이드13 과 미만에서의 수신차이) 관련 문... 블랙 2023-09-20 240
6367 리눅스 디바이스 드라이버 저장소 문제 [3] 하하호호하하 2022-08-12 342
6366 stod32 사용해 보신분 계신가요? [4] Isaiah 2022-01-03 404
6365 WIFI 인증 테스트 문제 [1] kangb 2021-12-02 288
6364 2560 x 2560 해상도의 LCD에 Display 적합한 SOC를 찾아요... [5] 김민욱 2021-04-09 1006
6363 UART 승압 이슈 [2] 김민욱 2021-03-29 339
6362 NXP4330 MIPI LCD해상도 문의 [4] 수위타자 2021-02-10 500
6361 안전모드 진입 [1] 하하호호하하 2021-01-29 220
» SoM GPIO 제어 문의 [1] 단순최고 2021-01-25 165
6359 혹시 이런식으로 일 해주는 회사가 있나요? [2] 김민욱 2020-10-29 368
6358 SOC 추천 받아요 [5] 김민욱 2020-06-18 807
6357 ALSA에 관련해서 도움이 필요합니다.. [1] dh 2020-06-02 491
6356 USB Host 질문입니다. [2] 하하호호하하 2020-04-20 368
6355 정전식 터치 패널 문제 [1] 정창환 2020-03-24 1611
6354 카메라 다체널(3대 이상) 연결하는 블랙박스 솔루션을 찾아요. [5] 김민욱 2019-12-18 1100
6353 USB Type SSD를 사용시 적합한 파일시스템이 있을까요 ? [1] lOl 2019-09-02 373
6352 s5p6818 보드에 mipi camera 연결... [5] 이군 2019-08-10 696
6351 i.mx6q에서 libvpu.so 라이브러리를 사용하여 link시에 undefined ... [1] 이동희 2019-08-09 181
6350 RK 1808 을 사용한 SBC 형태로 나온 보드가 있나요 ? [2] lOl 2019-07-31 722
6349 라즈베리파이로 물건을 팔 수 있나요? [3] 김민욱 2019-07-16 613

사용자 로그인