dtsi 里面加入 宏控制不生效:#ifdef CONFIG_TCPC_WUSB3801 dsfsd &i2c7 { wusb3801@60 { compatible = "mediatek,usb_type_c"; reg = <0x60>; };
时间: 2024-03-12 15:50:11 浏览: 116
在你提供的示例中,似乎缺少了宏控制的定义部分。你需要先在DTSI文件中定义宏,例如:
```
#define CONFIG_TCPC_WUSB3801
```
然后在DTSI文件中使用#ifdef和#endif指令来判断宏是否定义,并在条件成立时包含相关的代码。例如:
```
#ifdef CONFIG_TCPC_WUSB3801
&i2c7 {
wusb3801@60 {
compatible = "mediatek,usb_type_c";
reg = <0x60>;
};
};
#endif
```
这样,在编译时如果CONFIG_TCPC_WUSB3801宏被定义,就会包含这段代码,否则这段代码将被忽略。请注意,如果宏没有被正确定义,代码段将始终被忽略,因此请确保宏的定义正确。
相关问题
ERROR: [Hsi 55-1545] Problem running tcl command ::sw_device_tree::generate : Error:embed-rev1.0.dtsi board file is not present in DTG. Please add a valid board.
这个错误信息提示在执行 ::sw_device_tree::generate 命令时出错了。具体来说,错误是 "Error:embed-rev1.0.dtsi board file is not present in DTG. Please add a valid board.",意思是在 DTG(Device Tree Generator)中没有找到 embed-rev1.0.dtsi 这个板级文件,需要添加一个有效的板级文件。可能需要检查 DTG 的配置,确认该板级文件是否存在或者是否正确配置了 DTG。此外,在使用 XSCT 工具生成设备树文件之前,需要确保使用的硬件定义文件包含了必要的板级文件,否则也会导致生成设备树文件时出现类似的错误。
arch/arm/boot/dts/suniv-f1c100s.dtsi:184.25-187.26: ERROR (duplicate_node_names): /soc/pinctrl@1c20800/mmc0-pins: Duplicate node name ERROR: Input tree has errors, aborting (use -f to force output)
这是一个编译时的错误,意味着在你的设备树文件中发现了重复的节点名称。在这个特定的错误中,重复的节点名称是"/soc/pinctrl@1c20800/mmc0-pins"。
要解决这个错误,你需要在你的设备树文件中找到并更改重复的节点名称。你可以通过以下方式来查找重复的节点名称:
1. 打开设备树文件并搜索重复的节点名称。
2. 如果找到了重复的节点名称,请更改其中一个节点的名称。
3. 保存文件并重新编译。
如果你仍然无法解决这个问题,可以尝试使用"-f"参数来强制输出。这将告诉编译器继续编译,即使存在错误。这可能会导致一些问题,因此请谨慎使用。
阅读全文