前言

为方便调试某些设备树中配置的timing而不需要重新烧录固件,故做此记录

uboot的fdt命令

移植参考说明简略参考:

https://blog.csdn.net/u013165704/article/details/80374702

fdt help

t7_an400_lpddr4x# fdt
fdt - flattened device tree utility commandsUsage:
fdt addr [-c]  <addr> [<length>]   - Set the [control] fdt location to <addr>
fdt boardsetup                      - Do board-specific set up
fdt move   <fdt> <newaddr> <length> - Copy the fdt to <addr> and make it active
fdt resize [<extrasize>]            - Resize fdt to size + padding to 4k addr + some optional <extrasize> if needed
fdt print  <path> [<prop>]          - Recursive print starting at <path>
fdt list   <path> [<prop>]          - Print one level starting at <path>
fdt get value <var> <path> <prop>   - Get <property> and store in <var>
fdt get name <var> <path> <index>   - Get name of node <index> and store in <var>
fdt get addr <var> <path> <prop>    - Get start address of <property> and store in <var>
fdt get size <var> <path> [<prop>]  - Get size of [<property>] or num nodes and store in <var>
fdt set    <path> <prop> [<val>]    - Set <property> [to <val>]
fdt mknode <path> <node>            - Create a new node after <path>
fdt rm     <path> [<prop>]          - Delete the node or <property>
fdt header [get <var> <member>]     - Display header infoget - get header member <member> and store it in <var>
fdt bootcpu <id>                    - Set boot cpuid
fdt memory <addr> <size>            - Add/Update memory node
fdt rsvmem print                    - Show current mem reserves
fdt rsvmem add <addr> <size>        - Add a mem reserve
fdt rsvmem delete <index>           - Delete a mem reserves
fdt chosen [<start> <end>]          - Add/update the /chosen branch in the tree<start>/<end> - initrd start/end addr
NOTE: Dereference aliases by omitting the leading '/', e.g. fdt print ethernet0.

查看某节点命令

直接使用fdt list xx,注意这里的设备节点的路径要带上绝对路径 即 /xx/xx这样

t7_an400_lpddr4x# fdt list /lcd1/vbyone_1
vbyone_1 {model_name = "public_1region";interface = "vbyone";basic_setting = <0x00000f00 0x00000870 0x00001130 0x000008ca 0x0000000a 0x00000010 0x00000009>;range_setting = <0x00001090 0x000012c0 0x00000898 0x00000ae6 0x20e6da00 0x25ab8e00>;lcd_timing = <0x00000021 0x000001dd 0x00000000 0x00000006 0x00000041 0x00000000>;clk_attr = <0x00000002 0x00000000 0x00000001 0x00000000>;vbyone_attr = <0x00000008 0x00000001 0x00000004 0x00000004>;vbyone_intr_enable = <0x00000001 0x00000003>;phy_attr = <0x00000007 0x00000001>;hw_filter = <0x00000000 0x00000000>;power_on_step = <0x00000000 0x00000000 0x00000001 0x000000c8 0x00000002 0x00000000 0x00000000 0x0000000a 0x000000ff 0x00000000 0x00000000 0x00000000>;power_off_step = <0x00000002 0x00000000 0x00000000 0x0000000a 0x00000000 0x00000000 0x00000000 0x000001f4 0x000000ff 0x00000000 0x00000000 0x00000000>;backlight_index = <0x000000ff>;
};

修改某节点命令

使用 fdt set path prop,注意这里的设备节点的路径也要带上绝对路径

  • 修改整数数组
    *需要注意的是不能增大原数组大小,只能减少或者修改某数组成员
    如修改power_on_step 某type的delay值
    将原来的0x000000c8 修改成0x000001f4
fdt set  /lcd1/vbyone_1 power_on_step  <0x00000000 0x00000000 0x00000001 0x000001f4 0x00000002 0x00000000 0x00000000 0x0000000a 0x000000ff 0x00000000 0x00000000 0x00000000>

修改后再获取确认

t7_an400_lpddr4x# fdt list /lcd1/vbyone_1
vbyone_1 {model_name = "public_1region";interface = "vbyone";basic_setting = <0x00000f00 0x00000870 0x00001130 0x000008ca 0x0000000a 0x00000010 0x00000009>;range_setting = <0x00001090 0x000012c0 0x00000898 0x00000ae6 0x20e6da00 0x25ab8e00>;lcd_timing = <0x00000021 0x000001dd 0x00000000 0x00000006 0x00000041 0x00000000>;clk_attr = <0x00000002 0x00000000 0x00000001 0x00000000>;vbyone_attr = <0x00000008 0x00000001 0x00000004 0x00000004>;vbyone_intr_enable = <0x00000001 0x00000003>;phy_attr = <0x00000007 0x00000001>;hw_filter = <0x00000000 0x00000000>;power_on_step = <0x00000000 0x00000000 0x00000001 0x000001f4 0x00000002 0x00000000 0x00000000 0x0000000a 0x000000ff 0x00000000 0x00000000 0x00000000>;power_off_step = <0x00000002 0x00000000 0x00000000 0x0000000a 0x00000000 0x00000000 0x00000000 0x000001f4 0x000000ff 0x00000000 0x00000000 0x00000000>;backlight_index = <0x000000ff>;
};

修改字符串
如关闭某设备节点

t7_an400_lpddr4x# fdt set /backlight1/ status "disable"
t7_an400_lpddr4x# fdt list /backlight1
backlight1 {compatible = "amlogic, backlight-t7";status = "disable";}

平台版本若支持保存修改,可使用 fdt save保存修改的设备树,这样的话即使重启之前的修改也保留着

uboot阶段修改dts使用分析相关推荐

  1. U-Boot启动阶段修改启动参数方法及分析

    作者:围补 本来启动方式这节不是什么复杂的事儿,不过想简单的说清楚明白,还真是不知道怎么组织.毕竟文字跟有声语言表达有别.但愿简单的东西别让我讲的太复杂! Arm板系统文件一般有三个--bootloa ...

  2. uboot 2021.10源码分析(启动流程)

    uboot版本:2021.10 平台:armv8  rk3399  eMMC 16G  LPDDR4 4G 本文主要基于uboot的执行流程进行分析而忽略了相关细节,从uboot的基本框架结构着手,新 ...

  3. Map阶段环形缓冲区详细分析

    Map阶段环形缓冲区详细分析 这几天不是很忙,抽了点闲着的时间回头看了一下hadoop,看到map阶段的环形缓冲区想到自己刚开始的的时候每太弄明白,这次好好仔细看了一下,顺便把学习成果记录了下来 在m ...

  4. linux命令进u 盘,在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法...

    在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...

  5. 移植uboot之修改代码支持NorFlash记录续集

    接着上一篇文章写的内容(上一篇文章链接:移植uboot之修改代码支持NORFLASH),上一篇结尾测试flash的擦除读写功能,结果无法写flash,卡在了这里: 前面已经擦除成功,这里写内容写不进去 ...

  6. uboot源码——内核启动分析

    以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. 参考资料:http://www.cnblogs.com/biaohc/p/6403863.html 总结:uboot启动linux内核的整个 ...

  7. 关于烧饼游戏修改器的分析

    一.前言 烧饼游戏修改器是一款元老级的游戏修改器,提供了精确搜索.模糊搜索.联合搜索.数据过滤.存储搜索与读取搜索等功能.主要实现搜索手机进程的内存数据并做相应修改. 本文中分析的版本为2.0.2(3 ...

  8. AVB源码学习(二):Uboot阶段AVB2.0校验流程

    参考资料 感谢前辈的blog,安全相关的资料可太少了,很详细很卓越 https://blog.csdn.net/jackone12347/article/details/116241676 (我是真的 ...

  9. android AVB2.0(二)Uboot阶段AVB2.0校验流程

    android AVB2.0学习总结传送门 本篇属于android AVB2.0学习总结系列的第二篇文章,本篇主要介绍一下UBOOT或者UEFI阶段AVB2.0的介绍. 支持原创,转载请标明链接 ht ...

最新文章

  1. 360浏览器5兼容模式吗_Vue-cli项目,打包生产模式,部分用户360浏览器极速模式下奔溃...
  2. C#内容分页简单实现代码及祥解
  3. python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 【阿里云课程】注意力机制原理,应用与设计
  5. Nginx 教程- 获取真实IP模块 - http_realip_module
  6. python TypeError can only concatenate tuple not str to tuple
  7. java二进制 字节数组 字符 十六进制 BCD编码转换
  8. iOS开发UI篇—常见的项目文件介绍
  9. python整型为空的情况_深度剖析凭什么python中整型不会溢出
  10. 不会开会,就管不好工作
  11. Java自学指南一、找一个开始并能坚持下去的理由
  12. csu1706irrational root
  13. 数理统计中95%置信区间的含义
  14. Skipping MapperFactoryBean with name ‘xxx‘ and ‘xxx‘. Bean already defined with the same name’警告
  15. 剑客vs刀客 Java vs .NET之霸道的.NET
  16. 计算机显示器文字不清楚,电脑显示器字体模糊,请问怎么解决
  17. 在python中调用高德地图(Amap)api
  18. 麻省理工学院计算机博士奖学金,获麻省理工博士全额奖学金录取的经验分享
  19. 遥测终端机RTU的特点以及应用领域
  20. 学区块链开发有前途吗?

热门文章

  1. 计算机监控系统安全防护,厂房计算机监控系统安全防护制度(doc 7页)
  2. java-php-python-springboot智能物流运输管理系统登录计算机毕业设计
  3. 一部一台阶,直达LTE之巅——《学好LTE》丛书简介
  4. 安装Jetbrains Mono字体,换换口味
  5. facebook android sharesdk 分享清除授权代码
  6. 平凡人的一生的意义是什么?
  7. 信息安全标准ISO27000
  8. 计算机网络第八章ppt,计算机网络-第八章.ppt
  9. 979_MISRA C规范学习笔记3
  10. Allegro如何导入第三方网表操作指导