zoukankan      html  css  js  c++  java
  • 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节点的操作。

  • 相关阅读:
    Rsync企业实战之自动异地备份(转)
    Linux启动过程详解 (转)
    Linux系统下修改环境变量PATH路径的三种方法
    linux更改启动级别后,无法启动的问题解决
    MySQLAdmin用法
    mysql toolkit 用法[备忘] (转)
    mysql edit
    MySQL中SSL配置
    mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)
    MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  • 原文地址:https://www.cnblogs.com/darkise/p/11230703.html
Copyright © 2011-2022 走看看