高通平台Sxr2230 platform_subtype为什么地方定义?
时间: 2023-07-21 18:18:17 浏览: 206
高通sxr-sdk 4.0.6
5星 · 资源好评率100%
在高通平台 SXR2230 上,platform_subtype 的定义通常在设备树(Device Tree)中。platform_subtype 是一个用于区分不同板子版本的属性,它通常作为一个设备树节点的属性,用于描述该节点对应的硬件板子版本。
在设备树中,可以通过添加一个名为 "platform_subtype" 的属性来定义 platform_subtype。例如,在设备树中可以定义一个名为 "board_info" 的节点,并在该节点中添加一个名为 "platform_subtype" 的属性,如下所示:
```
board_info {
compatible = "my_board";
platform_subtype = "version2";
...
}
```
在驱动程序中,可以使用函数 `of_device_get_match_data()` 来获取设备树节点的 platform_subtype 属性值,并根据不同的属性值来进行不同的处理。例如,可以使用以下代码来获取 "board_info" 节点的 platform_subtype 属性值:
```
static int my_driver_probe(struct platform_device *pdev)
{
const struct of_device_id *match = of_device_get_match_data(&pdev->dev);
if (match) {
const char *subtype = match->data;
if (strcmp(subtype, "version1") == 0) {
// 处理版本1的板子
} else if (strcmp(subtype, "version2") == 0) {
// 处理版本2的板子
}
}
...
}
```
需要注意的是,设备树中的节点名称、属性名称以及属性值需要与驱动程序中的命名一致。在使用 platform_subtype 进行区分时,需要根据具体的硬件平台和设备树结构进行相应的调整。
阅读全文