各位好,
目前嘗試在SAMA5D2 xplained開發版上開啟SPI1根據以下的參考資料設定.dts .dtsi皆無法正常啟動:
https://ww1.microchip.com/downloads/en ... Under-Linux-00003253a.pdfhttps://microchipdeveloper.com/32mpu:apps-spisama5d2.dtsi 按照預設不修改
at91-sama5d2_xplained.dts 加入SPI1 device ,修改如附件:
spi1: spi@fc000000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
status = "okay";
spidev@1 {
compatible = "atmel,at91rm9200-spi";
reg = <1>;
spi-max-frequency = <10000000>;
};
};
pinctrl_spi1_default: spi1_default {
pinmux =
,
,
,
;
bias-disable;
};
kernel設定:
Device Driver -> SPI Support -> Atmel SPI Controller 勾選
Device Driver -> SPI Support -> USER Mode SPI Deivce Driver Support 勾選
修改完後編譯印象檔案,
make linux-rebuild 重新編譯linux
make dt-overlay-mchp-rebuild 重新編譯dt overlay
make 編譯image
以下是我查找之後發現的設備訊息:
# dmesg | grep spi
[ 0.883520] atmel_spi f8000000.spi: Using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
[ 0.890902] atmel_spi f8000000.spi: Using FIFO (16 data)
[ 0.895330] atmel_spi f8000000.spi: registered master spi0
[ 0.895765] spi spi0.0: setup: bpw 8 mode 0x0 -> csr0 0000000a
[ 0.895817] spi spi0.0: DEactivate NPCS, mr 000f0031
[ 0.895853] spi spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0
[ 0.896426] spi-nor spi0.0: activate NPCS, mr 000e0031
[ 0.896476] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.896544] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 6 tx (ptrval) rx (ptrval) bitpw 8
[ 0.896637] spi-nor spi0.0: DEactivate NPCS, mr 000f0031
[ 0.896760] spi-nor spi0.0: activate NPCS, mr 000e0031
[ 0.896794] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.896852] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.896897] spi-nor spi0.0: DEactivate NPCS, mr 000f0031
[ 0.896969] spi-nor spi0.0: activate NPCS, mr 000e0031
[ 0.896997] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.897046] spi-nor spi0.0: DEactivate NPCS, mr 000f0031
[ 0.897109] spi-nor spi0.0: activate NPCS, mr 000e0031
[ 0.897138] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.897189] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.897233] spi-nor spi0.0: DEactivate NPCS, mr 000f0031
[ 0.897298] spi-nor spi0.0: activate NPCS, mr 000e0031
[ 0.897326] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.897378] atmel_spi f8000000.spi: start fifo xfer (ptrval): len 1 tx (ptrval) rx (ptrval) bitpw 8
[ 0.897422] spi-nor spi0.0: DEactivate NPCS, mr 000f0031
[ 0.897477] spi-nor spi0.0: at25df321a (4096 Kbytes)
[ 0.902543] atmel_spi f8000000.spi: registered child spi0.0
[ 0.902591] atmel_spi f8000000.spi: Atmel SPI Controller version 0x311 at 0xf8000000 (irq 27)
[ 0.911445] atmel_spi fc000000.spi: Using dma0chan2 (tx) and dma0chan3 (rx) for DMA transfers
[ 0.918740] atmel_spi fc000000.spi: Using FIFO (16 data)
[ 0.923232] atmel_spi fc000000.spi: registered master spi1
[ 0.923704] spi spi1.1: setup: bpw 8 mode 0x0 -> csr1 0000000a
[ 0.923757] spi spi1.1: DEactivate NPCS, mr 000f0031
[ 0.923789] spi spi1.1: setup mode 0, 8 bits/w, 10000000 Hz max --> 0
[ 0.924238] atmel_spi fc000000.spi: registered child spi1.1
[ 0.924272] atmel_spi fc000000.spi: Atmel SPI Controller version 0x311 at 0xfc000000 (irq 40)