SPI DTS


在RK3399上打開spidev節點,只需要修改一個文件=>kernel/arch/arm64/boot/dts/rockchip/rk3399-xxxx-xxxx.dtsi

 &spi1 {
-       status = "disabled";
-       pinctrl-names = "default", "sleep";
-       pinctrl-1 = <&spi1_gpio>;
+       status = "okay";
+       //pinctrl-names = "default", "sleep";
+       //pinctrl-1 = <&spi1_gpio>;
 
        spidev0: spidev@0 {
                compatible = "rockchip,spidev";
                reg = <0>;
-               spi-max-frequency = <10000000>;
+               spi-max-frequency = <48000000>;
                status = "okay";
        };
 };
@@ -423,9 +423,6 @@
        status = "okay";
 };
 
-&uart4 {
-       status = "okay";
-};
當時主要是不知道compatible的意義,就去修改它了。
參考https://blog.csdn.net/pwl999/article/details/79631434
1.1.1、compatible
“compatible”屬性通常用來device和driver的適配,推薦的格式為”manufacturer,model”。

1. Spi_rockchip.c為硬件驅動,它在rk3399.dtsi中有體現

        spi1: spi@ff1d0000 {
                compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
                reg = <0x0 0xff1d0000 0x0 0x1000>;
                clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
                clock-names = "spiclk", "apb_pclk";
                interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>;
                pinctrl-names = "default";
                pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
        };

2. Spidev.c不是硬件驅動,而是為用戶態提供SPI操作接口軟驅動,它負責響應對/dev/spidev節點的操作。

 

 

 

1. Spi_rockchip.c為硬件驅動

2. Spidev.c不是硬件驅動,而是為用戶態提供操作接口軟驅動,它負責響應對/dev/spidev節點的操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM