调测参考
- 登录准备环境所搭建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文件。
例如用户整机的boardid为33150,故dts文件名称为“hi1910B-asic-M150-B33.dts”。
- 执行如下命令,新增适配boardid33150的dts文件。
cp hi1910B-default.dts hi1910B-asic-M150-B33.dts
将“hi1910B-default.dts”另存为boardid33150的dts文件“hi1910B-asic-M150-B33.dts”。
- 执行如下命令,修改dts文件。board_id为33150。
将boardid修改为33150,同时确认dts所使用的audio.dtsi和pinctrl.dtsi文件,具体如下代码加粗字体。
compatible = "hisilicon,hi1910B-evb", "hisilicon,ascend610"; hisi,boardid =<0x0 0x3 0x3 0x1 0x5 0x0>; //修改boardid #address-cells = <0x2>; #size-cells = <0x2>; interrupt-parent = <0x1>; model = "Hisilicon PhosphorHi1910B evb"; /include/ "base/hi1910B-asic-kernel-rc.dtsi" /include/ "base/hi1910B-commmon-smmu.dtsi" /include/ "base/hi1910B-mpam.dtsi" /include/ "base/hi1910B-lp-pm.dtsi" /include/ "base/hi1910B-lp-devmng.dtsi" /include/ "base/hi1910B-mbigen-ao.dtsi" /include/ "base/hi1910B-gpio.dtsi" // /include/ "base/hi1910B-bindcore.dtsi" // /include/ "base/hi1910B-can.dtsi" /include/ "base/hi1910B-emmc.dtsi" /include/ "base/hi1910B-ipcdrv.dtsi" /include/ "base/hi1910B-ts-drv.dtsi" /include/ "base/hi1910B-tsdrv.dtsi" /include/ "base/hi1910B-network-M100-B51.dtsi" /include/ "base/hi1910B-hidvpp.dtsi" /include/ "base/hi1910B-hdmi.dtsi" /include/ "product/hi1910B-audio.dtsi" //确认所使用的audio.dtsi文件 /include/ "base/hi1910B-mipitx.dtsi" /include/ "base/hi1910B-vdp.dtsi" /include/ "base/hi1910B-isp.dtsi" /include/ "base/hi1910B-hilink.dtsi" /include/ "base/hi1910B-mntn-milanr3.dtsi" /include/ "base/hi1910B-gpu.dtsi" /include/ "base/hi1910B-ctl.dtsi" /include/ "base/hi1910B-itrustee.dtsi" /include/ "base/hi1910B-sata.dtsi" // /include/ "product/hi1910B-pcie-rc-M100-B51.dtsi" /include/ "product/hi1910B-pinctrl-M100-B51.dtsi" //确认所使用的pinctrl.dtsi文件 /include/ "product/hi1910B-hiusbc-B51.dtsi" /include/ "product/hi1910B-i2c-M100-B51.dtsi" /include/ "product/hi1910B-spi-M100-B51.dtsi" /include/ "base/hi1910B-abl-qos.dtsi"
- 配置完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。
- 执行如下命令,新增适配boardid33150的dts文件。
- 修改audio.dtsi文件。
- 执行如下命令,进入“product”目录。
- 执行如下命令,修改audio.dtsi文件。
- 新增如下加粗字体内容,增加I2S引用。
audio: audio { compatible = "vendor,aiao"; reg = <0x4 0x00160000 0x0 0x7000>, /* asp_wrap_reg */ <0x4 0x00130000 0x0 0x10000>, /* adss_sub_subctrl_reg */ <0x4 0x0314e000 0x0 0x400>, /* asp_cfg_reg */ <0x4 0x00120000 0x0 0x4000>, /* adss_disp_reg */ <0x4 0x0314b000 0x0 0x1000>, /* dma */ <0x4 0x03152000 0x0 0x290>; /* i2s */ reg-names = "asp-wrap","adss-sub","asp-cfg","adss-disp","dma","i2s"; // 中断 dmac = <0>; irq_name = "asp_dmac_irq"; interrupt-names = "asp_dmac_irq"; interrupts = <590 0x4>; interrupt-parent = <&mbigen_audio>; status = "ok"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk_pmx_func &i2s0_bclk_tx_pmx_func &i2s0_ws_tx_pmx_func &i2s0_sd_tx_pmx_func &i2s0_sd_rx_pmx_func &i2s1_mclk_pmx_func &i2s1_bclk_tx_pmx_func &i2s1_ws_tx_pmx_func &i2s1_sd_tx_pmx_func &i2s1_sd_rx_pmx_func>; }; audio-sys { compatible = "hisilicon,hisi-audio-sys"; };
- 配置完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。
- 修改pinctrl.dtsi文件,增加pin复用关系。
- 执行如下命令,修改pinctrl.dtsi文件。
- 将“pmx_media: pinmux@400140000”修改为如下代码内容。
pmx_media: pinmux@400140000 { compatible = "pinctrl-single", "pinctrl-single1"; reg = <0x4 0x140000 0x0 0x60>; #gpio-range-cells = <3>; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <7>; pinctrl-names = "default", "default", "default"; i2s0_mclk_pmx_func: i2s0_mclk_pmx_func { pinctrl-single,pins = <0x30 0x0>; }; i2s0_mclk_pmx_idle: i2s0_mclk_pmx_idle { pinctrl-single,pins = <0x30 0x0>; }; i2s0_bclk_tx_pmx_func: i2s0_bclk_tx_pmx_func { pinctrl-single,pins = <0x34 0x0>; }; i2s0_bclk_tx_pmx_idle: i2s0_bclk_tx_pmx_idle { pinctrl-single,pins = <0x34 0x0>; }; i2s0_ws_tx_pmx_func: i2s0_ws_tx_pmx_func { pinctrl-single,pins = <0x38 0x0>; }; i2s0_ws_tx_pmx_idle: i2s0_ws_tx_pmx_idle { pinctrl-single,pins = <0x38 0x0>; }; i2s0_sd_tx_pmx_func: i2s0_sd_tx_pmx_func { pinctrl-single,pins = <0x3c 0x0>; }; i2s0_sd_tx_pmx_idle: i2s0_sd_tx_pmx_idle { pinctrl-single,pins = <0x3c 0x0>; }; i2s0_sd_rx_pmx_func: i2s0_sd_rx_pmx_func { pinctrl-single,pins = <0x40 0x0>; }; i2s0_sd_rx_pmx_idle: i2s0_sd_rx_pmx_idle { pinctrl-single,pins = <0x40 0x0>; }; i2s1_mclk_pmx_func: i2s1_mclk_pmx_func { pinctrl-single,pins = <0x44 0x0>; }; i2s1_mclk_pmx_idle: i2s1_mclk_pmx_idle { pinctrl-single,pins = <0x44 0x0>; }; i2s1_bclk_tx_pmx_func: i2s1_bclk_tx_pmx_func { pinctrl-single,pins = <0x48 0x0>; }; i2s1_bclk_tx_pmx_idle: i2s1_bclk_tx_pmx_idle { pinctrl-single,pins = <0x48 0x0>; }; i2s1_ws_tx_pmx_func: i2s1_ws_tx_pmx_func { pinctrl-single,pins = <0x4c 0x0>; }; i2s1_ws_tx_pmx_idle: i2s1_ws_tx_pmx_idle { pinctrl-single,pins = <0x4c 0x0>; }; i2s1_sd_tx_pmx_func: i2s1_sd_tx_pmx_func { pinctrl-single,pins = <0x50 0x0>; }; i2s1_sd_tx_pmx_idle: i2s1_sd_tx_pmx_idle { pinctrl-single,pins = <0x50 0x0>; }; i2s1_sd_rx_pmx_func: i2s1_sd_rx_pmx_func { pinctrl-single,pins = <0x54 0x0>; }; i2s1_sd_rx_pmx_idle: i2s1_sd_rx_pmx_idle { pinctrl-single,pins = <0x54 0x0>; }; };
- 配置完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。
- 将新增的整机dts文件添加到编译路径中。
- 执行如下命令,进入“dtbtool”目录。
cd /opt/Ascend310B-source/dtb/dtbtool/
- 执行如下命令,修改CMakelists文件,将所增加的dts文件添加到编译路径中,具体修改如下加粗字体所示。
set(DTS_BASE_DIR ${TOP_DIR}/tools/customize/dts) if(PRODUCT STREQUAL "ascend310Besl" OR PRODUCT STREQUAL "ascend310B" OR PRODUCT STREQUAL "ascend310Bemu" OR PRODUCT STREQUAL "ascend310Brc" OR PRODUCT STREQUAL "ascend310Brcesl" OR PRODUCT STREQUAL "ascend310Brcemu") # 当前driver跟esl用相同的dts,后期需要更新到单独的目录 set(DTS_SRC_DIR ${DTS_BASE_DIR}/hi1910b/hi1910BL) set(DTS_FILE_LIST hi1910B-default.dts unreleased/hi1911-esl/hi1911-esl-b600.dts unreleased/hi1911-esl/hi1911-esl-rc-b600.dts unreleased/hi1911-fpga/hi1911-fpga-b600_b0.dts unreleased/hi1911-fpga/hi1911-fpga-b600_b0_b1.dts unreleased/hi1911-fpga/hi1911-fpga-b600_b0_b2.dts unreleased/hi1911-fpga/hi1911-fpga-rc-b600_b0.dts unreleased/hi1911-fpga/hi1911-fpga-rc-b600_b0_b1.dts unreleased/hi1911-fpga/hi1911-fpga-rc-b600_b0_b2.dts hi1910B-evb-900.dts hi1910B-evb-901.dts hi1910B-evb-902.dts hi1910B-evb-903.dts hi1910B-evb-905.dts hi1910B-asic-M150-B50.dts hi1910B-asic-M100-B51.dts hi1910B-asic-M150-B51.dts hi1910B-asic-M160-B51.dts hi1910B-asic-M100-B00.dts hi1910B-asic-M101-B00.dts hi1910B-asic-M150-B00.dts hi1910B-asic-M151-B00.dts hi1910B-asic-M150-B33.dts)
新增加的dts只能在加粗字体段落末尾添加。
- 配置完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。
- 执行如下命令,进入“dtbtool”目录。
- 编译DTB文件。
- 升级“dt.img”文件。具体请参见生效DTB文件。
父主题: I2S