sdm660平台display bring up
时间: 2023-05-08 11:58:13 浏览: 263
SDM660平台的display bring up是针对高通公司的SDM660芯片组的显示系统进行开发和调试的过程。在这个过程中,软件工程师需要在芯片组和硬件系统之间建立连接,以确保大屏幕显示器的初始化和配置工作得以顺利进行。此外,还需要将驱动程序进行调整,以满足不同的硬件设备和用户需求。
display bring up是一项具有挑战性的工作,需要工程师具备扎实的编程技能和深厚的硬件知识以及对系统的完整性和稳定性有着高度敏感的意识。当display bring up成功之后,整个芯片组的显示部分就可以有效地控制和管理潜在的问题和危险,从而避免应用程序闪退和其他显示异常。
总之,SDM660平台的display bring up对于打造高质量的显示解决方案是至关重要的。只有专业的开发人员熟练掌握这一技能,并在实践中不断改进,才能实现高效的显示技术,满足现代用户的要求和期望。
相关问题
qcom SDM660平台外接aw35615CSR芯片驱动怎么兼容SDM660平台本身的usb phy
在SDM660平台上同时兼容外接的AW35615CSR芯片和内置的USB PHY,你需要对SDM660平台的USB PHY驱动程序进行修改,以便同时支持两种PHY。具体的修改步骤如下:
1. 在SDM660平台上加载AW35615CSR芯片的驱动程序,并确保AW35615CSR芯片已经被成功识别。
2. 在SDM660平台上加载USB PHY驱动程序,并确保内置的USB PHY已经被成功识别。
3. 在USB PHY驱动程序中添加对AW35615CSR芯片的支持。具体来说,你需要修改驱动程序中的probe函数,以便在检测到AW35615CSR芯片时将其作为备选PHY,并在AW35615CSR芯片不可用时使用内置的USB PHY。具体代码实现可能因驱动程序而异,以下是一个简单的示例:
```c
static int usb_phy_probe(struct platform_device *pdev)
{
struct usb_phy *phy;
struct device *dev = &pdev->dev;
int ret;
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
if (!phy)
return -ENOMEM;
// 检测AW35615CSR芯片是否可用
if (aw35615csr_detect())
phy->type = USB_PHY_TYPE_EXTERNAL;
else
phy->type = USB_PHY_TYPE_INTERNAL;
// 初始化PHY
switch (phy->type) {
case USB_PHY_TYPE_EXTERNAL:
// 初始化外部PHY
ret = aw35615csr_phy_init();
if (ret) {
dev_err(dev, "failed to initialize external PHY\n");
return ret;
}
break;
case USB_PHY_TYPE_INTERNAL:
// 初始化内部PHY
ret = msm_usb_phy_init();
if (ret) {
dev_err(dev, "failed to initialize internal PHY\n");
return ret;
}
break;
default:
dev_err(dev, "unsupported PHY type\n");
return -EINVAL;
}
// 注册PHY
phy_set_drvdata(phy, dev);
ret = usb_add_phy_dev(dev, phy);
if (ret) {
dev_err(dev, "failed to register PHY\n");
goto err_phy_exit;
}
return 0;
err_phy_exit:
switch (phy->type) {
case USB_PHY_TYPE_EXTERNAL:
aw35615csr_phy_exit();
break;
case USB_PHY_TYPE_INTERNAL:
msm_usb_phy_exit();
break;
}
return ret;
}
```
在这个示例代码中,我们在probe函数中使用aw35615csr_detect函数来检测AW35615CSR芯片是否可用,如果可用,就将其作为备选PHY,并在初始化PHY时使用aw35615csr_phy_init函数初始化AW35615CSR芯片的PHY。如果AW35615CSR芯片不可用,则使用内置的USB PHY,并在初始化PHY时使用msm_usb_phy_init函数初始化内置的USB PHY。
4. 编译和安装修改后的USB PHY驱动程序,并重新启动SDM660平台。在重新启动后,SDM660平台应该可以同时支持内置的USB PHY和外接的AW35615CSR芯片了。
qcom SDM660平台外接aw35615CSR芯片驱动怎么兼容SDM660平台本身的USB Type-C controller
在SDM660平台上同时兼容外接的AW35615CSR芯片和内置的USB Type-C controller,你需要对SDM660平台的USB Type-C controller驱动程序进行修改,以便同时支持两种控制器。具体的修改步骤如下:
1. 在SDM660平台上加载AW35615CSR芯片的驱动程序,并确保AW35615CSR芯片已经被成功识别。
2. 在SDM660平台上加载USB Type-C controller驱动程序,并确保内置的USB Type-C controller已经被成功识别。
3. 在USB Type-C controller驱动程序中添加对AW35615CSR芯片的支持。具体来说,你需要修改驱动程序中的probe函数,以便在检测到AW35615CSR芯片时将其作为备选controller,并在AW35615CSR芯片不可用时使用内置的USB Type-C controller。具体代码实现可能因驱动程序而异,以下是一个简单的示例:
```c
static int usb_tc_probe(struct platform_device *pdev)
{
struct usb_tc *tc;
struct device *dev = &pdev->dev;
int ret;
tc = devm_kzalloc(dev, sizeof(*tc), GFP_KERNEL);
if (!tc)
return -ENOMEM;
// 检测AW35615CSR芯片是否可用
if (aw35615csr_detect())
tc->type = USB_TC_TYPE_EXTERNAL;
else
tc->type = USB_TC_TYPE_INTERNAL;
// 初始化Type-C controller
switch (tc->type) {
case USB_TC_TYPE_EXTERNAL:
// 初始化外部Type-C controller
ret = aw35615csr_tc_init();
if (ret) {
dev_err(dev, "failed to initialize external Type-C controller\n");
return ret;
}
break;
case USB_TC_TYPE_INTERNAL:
// 初始化内部Type-C controller
ret = msm_usb_tc_init();
if (ret) {
dev_err(dev, "failed to initialize internal Type-C controller\n");
return ret;
}
break;
default:
dev_err(dev, "unsupported Type-C controller type\n");
return -EINVAL;
}
// 注册Type-C controller
tc_set_drvdata(tc, dev);
ret = usb_add_tc_dev(dev, tc);
if (ret) {
dev_err(dev, "failed to register Type-C controller\n");
goto err_tc_exit;
}
return 0;
err_tc_exit:
switch (tc->type) {
case USB_TC_TYPE_EXTERNAL:
aw35615csr_tc_exit();
break;
case USB_TC_TYPE_INTERNAL:
msm_usb_tc_exit();
break;
}
return ret;
}
```
在这个示例代码中,我们在probe函数中使用aw35615csr_detect函数来检测AW35615CSR芯片是否可用,如果可用,就将其作为备选controller,并在初始化Type-C controller时使用aw35615csr_tc_init函数初始化AW35615CSR芯片的Type-C controller。如果AW35615CSR芯片不可用,则使用内置的USB Type-C controller,并在初始化Type-C controller时使用msm_usb_tc_init函数初始化内置的USB Type-C controller。
4. 编译和安装修改后的USB Type-C controller驱动程序,并重新启动SDM660平台。在重新启动后,SDM660平台应该可以同时支持内置的USB Type-C controller和外接的AW35615CSR芯片了。
阅读全文