Atlas-SoC pin 탐험
우선 terasic 사이트의 "Atlas-SoC User Manual"에 따르면 Gigabit Ethernet 단자가 있다. 이것은 Micrel KSZ9031RN의 컨트롤러를 통과합니다. 컨트롤러는 RJ-45 핀에서 RGMII 신호로 변환합니다. RGMII의 신호는 FPGA측의 Pin에서는
PIN_A12
등을 사용해 수신하고 있다고 기재되어 있다. 여기까지는 납땜되어 정해져 있다.그런 다음 Intel/Altera 사이트에서 FPGA 디바이스 용 핀아웃 파일을보십시오. Atlas-SoC는
5CSEMA4U23C6N
를 사용하기 때문에 5CSEMA4
의 파일이 원하는 파일이됩니다. 방금 본 PIN_A12
은 A12
에서 찾고 Bank Number 7B
의 핀이라고 찾습니다. 덧붙여서 A12
(은)는 A행 12열이라고 하는 물리적인 핀의 위치를 나타내고 있다. 이 핀은 NAND_DQ4
, RGMII1_TX_CTL
, USB1_D5
, HPS_GPIO23
등의 용도로 사용할 수 있게 되어 있다고 쓰여 있다. multiplexer에서 런타임에 선택할 수 있도록 하는 것 같다. 여기서 보아야 할 것은 RGMII1
를 사용하고 싶다는 곳.QSYS에서
system_soc
의 hps_0
편집 화면을 열면 Block Diagram 옆에 FPGA Interfaces, Peripheral Pins, HPS Clocks, SDRM과 탭이 나란히 있습니다. Peripheral Pins가 원하는 탭. EMAC1 pin이 RGMII1
에 해당합니다. GHRD Makefile 적으로는 scripts/create_ghrd_qsys_ATLAS_SOC_GHRD.tcl
에서 set_instance_parameter_value hps_0 {EMAC1_PinMuxing} {HPS I/O Set 0}
라고 되어 있는 부분이 대응한다. 이렇게하면 QSYS는 PIN_A12
를 EMAC1
에 사용하도록 계획한다는 것 같습니다.덧붙여서, 핀아웃 파일 대신에, QSYS 로부터 soc_system 의 핀 배치를 Pin Planner 로 바라봐 봐도,
A12
가 어디에 있는지 직관적이고 알기 쉽다.GHRD를 컴파일하면 장치 트리 파일이 생성됩니다. DTS 파일의 내용에는
hps_0_gmac1
라는 엔트리가 되어 있어, reg
주소는 0xff702000
라고 한다. compatible
에는 synopsys,dwmac-15.1
, altr,socfpga-stmmac
, snps,dwmac-3.70a
, snps,dwmac
로 쓰여 있다.Linux kernel source tree에 따르면
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
가 altr,socfpga-stmmac
를 식별하는 것 같습니다. 즉 stmmac
kernel module 에 의해 netdev 가 구성된다.
Reference
이 문제에 관하여(Atlas-SoC pin 탐험), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kwi/items/423125e38cb63623161d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)