Atlas-SoC pin 탐험

2736 단어 FPGAAtlas-SoCAltera
Linux (HPS/ARM)에서 온보드 NIC로 보이는 이더넷 RJ-45의 입을 쫓아보십시오.

우선 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_A12A12에서 찾고 Bank Number 7B의 핀이라고 찾습니다. 덧붙여서 A12 (은)는 A행 12열이라고 하는 물리적인 핀의 위치를 ​​나타내고 있다. 이 핀은 NAND_DQ4, RGMII1_TX_CTL, USB1_D5, HPS_GPIO23 등의 용도로 사용할 수 있게 되어 있다고 쓰여 있다. multiplexer에서 런타임에 선택할 수 있도록 하는 것 같다. 여기서 보아야 할 것은 RGMII1를 사용하고 싶다는 곳.

QSYS에서 system_sochps_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_A12EMAC1에 사용하도록 계획한다는 것 같습니다.



덧붙여서, 핀아웃 파일 대신에, 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.caltr,socfpga-stmmac를 식별하는 것 같습니다. 즉 stmmac kernel module 에 의해 netdev 가 구성된다.

좋은 웹페이지 즐겨찾기