-
-
- Posts: 5
- Joined: 2024-10-26 6:58
我希望
使用脚本
修改i2c的速度
我的dtb文件如下:
Code: Select all
/dts-v1/;
/plugin/;
&i2c3{
status = "okay";
clock-frequency = <500000>;
pinctrl-0 = <&i2c3m1_xfer>;
};
我的脚本如下:
Code: Select all
nano i2c3_speed_overlay.dts
dtc -I dts -O dtb i2c3_speed_overlay.dts -o i2c3_speed_overlay.dtb
cat i2c3_speed_overlay.dtb > /sys/kernel/config/device-tree/overlays/i2c3m1/dtbo
echo 1 >/sys/kernel/config/device-tree/overlays/i2c3m1/status
但是报如下错误:
Code: Select all
[147101.564062] OF: resolver: no symbols in root of device tree.
[147101.564123] OF: resolver: overlay phandle fixup failed: -22
[147101.564160] dtbocfg_overlay_item_create: Failed to apply overlay (ret_val=-22)
原设备树如下:
Code: Select all
/**********I2C**********/
/* I2C3_M1 */
&i2c3 {
status = "disabled";
clock-frequency = <100000>;
};
我不知道哪里出现错误,尝试将i2c3更换成i2c3m1也不行
-
- Posts: 129
- Joined: 2024-10-10 1:11
zg002 wrote: ↑2024-10-28 15:17
我希望
使用脚本
修改i2c的速度
我的dtb文件如下:
Code: Select all
/dts-v1/;
/plugin/;
&i2c3{
status = "okay";
clock-frequency = <500000>;
pinctrl-0 = <&i2c3m1_xfer>;
};
我的脚本如下:
Code: Select all
nano i2c3_speed_overlay.dts
dtc -I dts -O dtb i2c3_speed_overlay.dts -o i2c3_speed_overlay.dtb
cat i2c3_speed_overlay.dtb > /sys/kernel/config/device-tree/overlays/i2c3m1/dtbo
echo 1 >/sys/kernel/config/device-tree/overlays/i2c3m1/status
但是报如下错误:
Code: Select all
[147101.564062] OF: resolver: no symbols in root of device tree.
[147101.564123] OF: resolver: overlay phandle fixup failed: -22
[147101.564160] dtbocfg_overlay_item_create: Failed to apply overlay (ret_val=-22)
原设备树如下:
Code: Select all
/**********I2C**********/
/* I2C3_M1 */
&i2c3 {
status = "disabled";
clock-frequency = <100000>;
};
我不知道哪里出现错误,尝试将i2c3更换成i2c3m1也不行
您好,您不能直接使用别名,您需要参考/tmp/.fdt_dump.txt中的节点名称。例如i2c3,您应该取成这样:
Code: Select all
/dts-v1/;
/plugin/;
&{/i2c@ff460000}{
status="okay";
clock-frequency = <100000>;
};
-
- Posts: 4
- Joined: 2025-09-05 1:08
我这边使用的是rk3506,同样没有/proc/device-tree/__symbols__,为什么不能用标签呢,能否在sdk编译dtb时添加-@参数以支持symbols
-
- Posts: 2033
- Joined: 2024-01-23 7:21
RV1106 最新的SDK 已经加上了CONFIG_DTC_SYMBOLS 可以使用标签了,但是 RK3506 还不行,Rockchip 给 RK3506的默认配置会使能预初始化,可以实现在最短的时间内点亮屏幕并运行GUI应用,其他初始化在之后才进行,这样的配置导致如果使能了CONFIG_DTC_SYMBOLS和设备树相关的驱动都会提示延时probe,但是驱动后续并没有加载上。
该问题我们已经记录在待处理列表中。不过由于目前尚未影响到大多数用户,短期内暂不会提高其优先级进行处理。如果您后续找到了合适的配置方式或解决方案,欢迎随时与我们分享,非常感谢您的支持与反馈。