Regulus Ev kit SPI 동작 문의

안녕하세요, Regulus EV Kit에 구성된 SPI 동작 관련하여 문의드립니다.

(SOM : Regulus_SOM_Rev.02 / Base : Regulus_Base_Rev.02

현재 첨부 베이스보드 회로 이미지와 같이 MIPI Rx1 채널에 구성된 GPIO2_IO16 ~ 19 핀을 활용하여 SPI를 구동하고자 합니다.

내부적으로 SPI 4번 채널+Slave로 할당되어 있는 것 같은데, 활성화 후 테스트한 결과 동작하지 않는 것 같아 문의드립니다.

Regulus AP를 SPI Master로 사용하고자 합니다. SPI 4 채널을 Master 설정할 수 있는지 확인 부탁드립니다.

또는 SPI 설정 관련하여 참고할 만한 문서 등이 있다면 전달 부탁드립니다.

안녕하세요.

모빌린트 박상형입니다.

현재 사용하시려는 핀은 SPI Slave 전용 핀이라 Master로는 사용이 어렵습니다.

SPI Master로 사용하시려면 Master를 지원하는 핀(GPIO0_17~30, GPIO1_07~13)을 사용하셔야 하는데,

현재 EVK에서는 SPI Master용 포트 3개가 모두 사용 중이어서 추가로 할당이 어려운 상황입니다.

대안으로, SPI_S1 핀이 현재 GPIO로 설정되어 있으므로 GPIO 제어(bit-banging) 방식으로 SPI Master를 구현하는 방법을 고려해 볼 수 있습니다.

다만 이 경우 통신 속도에 제약이 있을 수 있어, 연휴가 끝난 뒤 내부적으로 논의하여 다시 회신드리겠습니다.

그럼, 감사합니다.

문의하신 SPI Master 사용 방법에 대해 내부 검토한 내용 안내드립니다.

현재 사용하시려는 GPIO2_IO16~19는 SPI Slave 전용 핀으로, SPI Master로 전환하여 사용할 수 없습니다.

따라서 하드웨어 SPI Master가 필요한 경우, 커스텀 베이스보드를 제작하여 아래 포트를 활용하시는 방안을 권장드립니다.

SPI_M0: GPIO0_17~23

SPI_M1: GPIO0_24~30

note: SPI_M2(GPIO1_07~13)는 현재 Regulus-ra SoM에서 XIP 부팅용 NOR Flash에 연결되어 있으므로, 외부 장치 연결용으로 사용하기 어렵습니다.

설계 시 해당 핀의 다른 기능(PWM/UART 등)과의 중복 사용 여부를 확인해 주시기 바랍니다. 핀별 기능은 아래 자료를 참고 부탁드립니다.
(dl.mobilint.com → REGULUS → ra → H/W → MRH001-03-001_REGULUS_Datasheet_v1.0 → 1.2 Multi-Function Pin)

기존 Regulus EV Kit을 그대로 사용하시는 경우에는 앞서 박상형님께서 안내드린 방식을 고려할 수 있습니다.
Linux 커널의 CONFIG_SPI_GPIO 옵션을 활용하는 방법이 있으나, 실제 적용 가능 여부는 사용 환경에서 별도 확인이 필요합니다.

다만 이 방식은 동작 및 성능을 보증해 드리기 어려우므로 직접 적용 및 검증해 주셔야 하는 점 양해 부탁드립니다.

감사합니다.

SDT 이윤호 입니다. 확인해 주셔서 감사합니다.

우선 bit-banging 의 경우 현재 검토 중인 상황에선 사용하기 어려울 듯 합니다. (7 MHz 이상 필요)

추가적으로 Base 보드에 연결된 SPI M0 채널의 경우 QSPI 플래시가 연결되어 있습니다. (U7)

QSPI 플래시의 용도가 무엇인지, SoM에 실장된 경우와 같이 필수인 경우가 아니라면 해당 QSPI 플래시 연결을 해제하여 SPI 마스터로 사용해 보고자 합니다.

확인 가능하실까요 ?!

@sanghyung @youngkyoun

베이스 보드에 실장된 NOR Flash는 테스트용도라 보시면 되겠습니다.
제품 동작에 필수적인 요소가 아니므로, 연결을 해제하신 후 SPI Master 용도로 사용하셔도 무방합니다.

추가로 궁금하신 사항이 있으시면 언제든 편하게 문의 부탁드립니다.

감사합니다.

1 Like