调测参考
以首次调测为例,操作步骤如下。
- 登录准备环境所搭建Linux服务器。
- 执行如下命令,切换至root用户。
su - root
- 使用WinSCP工具,将下载软件包获取的源码包“Ascend310B-source.tar.gz”上传至root用户属组目录下,例如“/opt”。详细操作请参见使用WinSCP传输文件。
- 执行如下命令,进入源码包所在目录“/opt”。
cd /opt
- 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。
tar -xzvf Ascend310B-source.tar.gz
- 执行如下命令,进入“Ascend310B-source”目录。
cd Ascend310B-source
- 新增整机dts文件。
- 参考product目录下的任意一个spi.dtsi文件配置新增文件的SPI内容,例如hi1910B-spi-M100-B51.dtsi。
- 执行如下命令进入“product”目录下。
cd product
- 打开“hi1910B-spi-M100-B51.dtsi”文件参考其中spi配置。
文件内容如下。
spi0@82020000 { compatible = "hisilicon,udrv_spi"; #address-cells = <1>; #size-cells = <0>; num-cs = <1>; /* 支持cs片选个数量 */ bus-num = <0>; /* spi控制器id */ clk-freq = <150000000>; /* 时钟频率 */ reg = <0x0 0x82020000 0 0x10000>; interrupts = <0x0 161 0x4>; cs@0 { compatible = "rohm,dh2228fv"; reg = <0>; /* cs片选id */ spi-max-frequency = <25000000>; }; }; spi1@82030000 { compatible = "hisilicon,udrv_spi"; #address-cells = <1>; #size-cells = <0>; num-cs = <1>; /* 支持cs片选个数量 */ bus-num = <1>; /* spi控制器id */ clk-freq = <150000000>; /* 时钟频率 */ reg = <0x0 0x82030000 0 0x10000>; interrupts = <0x0 162 0x4>; cs@0 { compatible = "rohm,dh2228fv"; reg = <0>; /* cs片选id */ spi-max-frequency = <25000000>; }; }; spi3@3001B0000 { compatible = "hisilicon,udrv_spi"; #address-cells = <1>; #size-cells = <0>; num-cs = <1>; /* 支持cs片选个数量 */ bus-num = <3>; /* spi控制器id */ clk-freq = <150000000>; /* 时钟频率 */ reg = <0x3 0x1B0000 0 0x10000>; interrupts = <0x0 251 0x4>; // To enable the SPI function, uncomment the following two lines and comment the pinctrl configuration of the I2C 0 1 // pinctrl-names = "default"; // pinctrl-0 = <&iomg000_pmx_func &iomg001_pmx_func &iomg002_pmx_func &iomg003_pmx_func>; cs@0 { compatible = "rohm,dh2228fv"; reg = <0>; /* cs片选id */ spi-max-frequency = <25000000>; }; };
- 创建“hi1910B-spi-Mxxx-Bxx.dtsi”文件,例如hi1910B-spi-M150-B33.dtsi。将需要使用的对应SPI控制拷贝进去,如使用spi0,内容如下。
spi0@82020000 { compatible = "hisilicon,udrv_spi"; #address-cells = <1>; #size-cells = <0>; num-cs = <1>; /* 支持cs片选个数量 */ bus-num = <0>; /* spi控制器id */ clk-freq = <150000000>; /* 时钟频率 */ reg = <0x0 0x82020000 0 0x10000>; interrupts = <0x0 161 0x4>; cs@0 { compatible = "rohm,dh2228fv"; reg = <0>; /* cs片选id */ spi-max-frequency = <25000000>; }; };
- 执行如下命令,返回“hi1910B-asic-Mxxx-Bxx.dts”文件所在目录,例如hi1910B-asic-M150-B33.dts。
- 在“hi1910B-asic-Mxxx-Bxx.dts”文件中增加引用“hi1910B-spi-Mxxx-Bxx.dtsi”。例如在“hi1910B-asic-M150-B33.dts”文件中增加引用“hi1910B-spi-M150-B33.dtsi”。
/include/ "product/hi1910B-spi-Mxxx-Bxx.dtsi"
示例:
/include/ "product/hi1910B-spi-M150-B33.dtsi"
- 编译并生效dtb,请参见编译并生效内核DTB文件。
- 执行如下命令进入“product”目录下。
父主题: SPI