NetBSD Kernel の Source のなかで、Raspberry PI に関連するのはここ。
なお、ここに書いている以外にもファイルはあるんですが、理解できてないものは書いてません。
src/sys/arch/evbarm/rpi
- rpi.h
- rpi2_start.S ・・・・ 起動コード
- rip_machdep.c ・・・・マシン依存コード。デバイスの初期化を呼ぶのはここから
src/sys/arch/arm/broadcom
- bcm2835_bsc.c / bcm2835_bscreg.h ・・・・ シリアルポートドライバ
- bcm2835_dma.c / bcm2835_dma.h ・・・・・ DMA コントロールドライバ
- bcm2835_genfb.c ・・・・・ フレームバッファドライバ
- bcm2835_gpio.c / bcm2835_gpio_subr.c / bcm2835_gpioreg.h ・・・・・・ GPIOドライバ GPIOピンをALTモードにするためのコードもここに入ってる
- bcm2835_obio.c ・・・・・ ARM Core と SoC ペリフェラルを結ぶ AMBA AXI バスのドライバ。各ペリフェラルの resigistration コードはここから呼ばれる
- bcm2835_spi.c / bcm2835_spireg.h ・・・・ SPI / I2C ドライバ
- bcm2835_vcaudio.c / bcm2835_vcaudioreg.h ・・・・ HDMI / イヤホン端子出力のオーディオドライバ。残念ながら I2S はここではない
- bcm2835reg.h ・・・・・・ SoC としてのドライバ。各ペリフェラルのベースアドレスとかが入ってる
src/sys/external/bsd/vchiq/dist/interface
- *.c ・・・・・ なんだかよく分からんけど、VCHIQ とかいう仕組み(どうやらバスらしい)に関するコード郡。vcaudio はこのバスに繋がってるらしい
コメントする