导航:首页 > 文件教程 > linuxdtsi文件

linuxdtsi文件

发布时间:2023-01-10 02:20:32

1. 如何找到kernel所用的dtsi

想要知道kernel/arch/arm/dts/qcom/目录下那么多的dtsi文件到底用了哪个,有几个途径

首先看qcom目录下的makefile

dtb-$(CONFIG_ARCH_MSM8916) += msm8916-sim.dtb \

msm8976-mtp.dtb \
msm8976-mtp-asusevb.dtb \

msm8956-mtp.dtb \
msm8956-mtp-asusevb.dtb \

然后在/out/target/proct/Z00T/obj/KERNEL_OBJ的.config里去找这个CONFIG_ARCH_MSM8916

看到是CONFIG_ARCH_MSM8916=y

所以这样还不能确定,只能在开机的kernel log里看

[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] linux version 3.10.84-g13ef38a-dirty (matthew@matthew) (gcc version 4.9.x-google 20140827 (prerelease) (GCC) ) #3 SMP PREEMPT Sun Dec 6 11:17:54 CST 2015
[ 0.000000] CPU: AArch64 Processor [410fd034] revision 4
[ 0.000000] Machine: Qualcomm Technologies, Inc. MSM8976 MTP
[ 0.000000] No earlyprintk arguments passed.

在qcom下grep Qualcomm Technologies, Inc. MSM8976 MTP 发现在msm8976-mtp-asusevb.dts里,所以知道用了那个

2. 编译linux内核设备树文件使用什么命令

Linux源码的arch/powerpc/boot/dts/目录下存放了很多dts文件,可以作为参考文件。另外dtc编译器在内核回源码2.6.25版本之后已经答被包含进去。在2.6.26版本之后,生成blob的简单规则已经加入makefile,如下命令:
$ make ARCH=powerpc canyonlands.dtb

也可以根据自己的硬件修改好dts文件后,用下面类似命令生成dtb文件。
$ dtc -f -I dts -O dtb -R 8 -S 0x3000 test.dts > mpc836x_mds.dtb

$ mkimage -A ppc -O Linux -T flat_dt -C none -a 0x300000 -e 0 -d mpc836x_mds.dtb mpc836x_mds.dtu

3. Linux内核dvfs之cpufreq配置

本文基于 RockPi 4A 单板 Linux4.4 内核介绍 OPP Table 。

内核中将频率、电压的相关配置放在 DTSI 文件中,这些配置信息组成的节点被称为 OPP Table(Operating Performance Points) 。

定义文件: arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi ,内容如下:

上面节点中的相关属性含义如下:

1、 opp-shared :表示 opp-table1 是小核的各 CPU 共用。

2、 rockchip,temp-hysteresis :迟滞参数,防止频繁进入高温或低温,单位:毫摄氏度。

3、 rockchip,low-temp :低温阈值。小于该值时,进入低温,大于‘该值+迟滞参数’时,恢复常温。

4、 rockchip,low-temp-min-volt :低温下最低电压,单位:微伏。

5、 nvmem-cells :从 eFUSE 中读取相关信息值(小核漏电流)。

6、 rockchip,pvtm-voltage-sel :min-pvtm(单位KHz)、max-pvtm(单位KHz)和 voltage-selector (用于匹配 opp 节点中 opp-microvolt-L* 属性的序列号)。例:pvtm值为:0 ~ 143500 使用 opp-microvolt-L0 ,143501 ~ 148500使用 opp-microvolt-L1

7、 rockchip,pvtm-freq :时钟频率(KHz),在获取 pvtm 的频率前,先设置 CPU 频率。

8、 rockchip,pvtm-volt :电压(微伏),在获取 pvtm 的频率前,先设置 CPU 电压。

9、 rockchip,pvtm-ch : PVTM 通道,格式<通道号 sel的序号>

10、 rockchip,pvtm-sample-time : PVTM 采样时间,单位:毫秒。

11、 rockchip,pvtm-number : PVTM 采样个数。

12、 rockchip,pvtm-error :允许采样数据之间的误差。

13、 rockchip,pvtm-ref-temp :参考温度。

14、 rockchip,pvtm-temp-prop : PVTM 随温度变化的比例系数,格式<小于参考温度的比例系数 大于参考温度的比例系数>。

15、 rockchip,thermal-zone :获取温度的 thermal-zone 。

16、 opp-microvolt-L* :电压(微伏),格式<target min max>

17、 clock-latency-ns :完成变频需要的时间,单位:纳秒。

在 RK3399 中,除了配置上述小核的 opp table 外,还设置了大核( cluster1_opp )、 gpu(gpu_opp_table) 等的相关值。查看命令如下:

注:

CPU PVTM(Process Voltage Temperature Monitor) 是一个位于 CPU 附近,能反应出不同芯片之间性能差异的模块,受工艺,电压和温度 的影响。

参考:

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

4. openwrt怎么修改linux的dts文件

在linux下要修改文件,一般较常用的命令是vi,格式如下:vi
[文件]。
以楼主的文件为例,vi
/etc/passwd

5. 如何在Zynq 7000平台上使用Linux spidev.c驱动

一、在前来一篇博客中,我们采用自xilinx针对Zynq 7000处理器提供的spi-cadence.c驱动实现了芯片上SPI总线驱动的注册,接下来需要修改设备树文件以时我们的外设挂接在SPI总线下。
在petalinux工程的../subsystems/linux/configs/device-tree目录下找到zynq相关的设备树文件,目录所包含的文件如下图所示。

打开其中的zynq-7000.dtsi文件,找到其中的spi0节点(具体使用spi0还是spi1根据硬件工程的配置情况),并在该节点下添加如下内容:

6. linux下dts文件中断号怎么设置

使用chmod 这个命令来对文件夹修改权限 例如对tmp目录下面的aaa文件夹修改权限 r 是读权限 用数字表示是 4 w 是写权限 用数字表示是 2 x 是执行权限 用数字表示是 1 chmod 644 /tmp/aaa 6代表是所有者权限 4 代表是用户组权限 4代表是其他用户权限

7. dtsi文件怎么打开

vi命令打开。dtsi文件使用vi命令打开。dtsi文件用于描述SOC的内部外设信息,比如CPU架构、主频、外设寄存器地址范围,比如UART、IIC等等。

8. Linux内核中断之获取中断号

Linux内核中可使用 platform_get_irq() 函数获取 dts 文件中设置的中断号。

函数原型: int platform_get_irq(struct platform_device *dev, unsigned int num)

定义文件: driversaseplatform.c

中断号获取函数 platform_get_irq() 调用流程如下:

rk3399 使用的是 GICv3 ,对应 irq_domain->name 。

文件: drivers/irqchip/irq-gic-v3.c 。

translate() 函数实现如下:

以 RockPI 4A 单板 Debian 系统Linux 4.4内核中的获取 HDMI 中断号为例。

1、查找中断号

从手册“Rockchip RK3399 TRM V1.3 Part1.pdf”中,可以查到 HDMI_IRQ 中断号,即55。

2、 dts 配置

文件: arch/arm64/boot/dts/rockchip/rk3399.dtsi

hdmi 使用的是 GIC_SPI 中断,按照 gic_irq_domain_translate() 函数中处理,需要将中断号55减去32,得到 dts 中的中断号23。

注: interrupts = <中断类型 中断号 中断触发类型 中断分区(对应哪个CPU cluster,PPI类型中断特有)>

3、驱动函数

文件: driversgpudrm ockchipdw_hdmi-rockchip.c

此时, irq 返回值为55。

后续会介绍 GIC 和中断注册等实现函数。

9. 嵌入式linux 修改dts文件同时需要修改preloader么

U-Boot 引入了扁平设备树FDT 这样的动态接口,使用一个单独的FDT blob(二进制内大对象,是一个可以容存储二进制文件的容器)存储传递给内核的参数[3]。一些确定信息,例如cache 大小、中断路由等直接由设备树提供,而其他的信息,例如eTSEC 的MAC 地址、频率、PCI 总线数目等由U-Boot 在运行时修改。U-Boot 使用扁平设备树取代了bd_t,而且也不再保证对bd_t 的后向兼容。需要修改的,重新编译dts文件。

10. Linux内核watchdog

本文基于 RockPi 4A 单板 Linux 4.4 内核介绍 RK3399 看门狗( watchdog )的调试方法。

一、驱动文件

RK3399 watchdog 用的是新思( Synopsys )的 IP ,在 watchdog 驱动程序加载时,会注册 misc 设备,节点为 /dev/watchdog 。

驱动文件: drivers/watchdog/dw_wdt.c

二、DTS配置

配置文件: arch/arm64/boot/dts/rockchip/rk3399.dtsi

watchdog 具体配置如下:

三、调试方法

1、关闭看门狗

写入除大写 V 以外的任意字符,不再喂狗,一段时间后系统会重启。

例:

2、打开卡门狗

写入大写 V ,继续喂狗,系统不再重启。

例:

3、CONFIG_WATCHDOG_NOWAYOUT

如果配置了 CONFIG_WATCHDOG_NOWAYOUT ,通过 echo 命令写入任何字符,都不会关闭喂狗。

例:

注:

使用 ./build/mk-kernel.sh rockpi4a 编译内核时,即使修改了 rockchip_linux_defconfig 文件,编译时,相关配置也不会生效。需要在编译前 make distclean 或删除内核根目录下的 .config 文件后,重新编译内核。

阅读全文

与linuxdtsi文件相关的资料

热点内容
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304
起名app数据哪里来的 浏览:888
微信怎么去泡妞 浏览:52
百度广告html代码 浏览:244
qq浏览器转换完成后的文件在哪里 浏览:623
jsp中的session 浏览:621
压缩完了文件去哪里找 浏览:380
武装突袭3浩方联机版本 浏览:674
网络机顶盒移动网络 浏览:391
iphone手机百度云怎么保存到qq 浏览:148
数据库设计与实践读后感 浏览:112

友情链接