完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
二,mipi csi phy与imx291
同样的还是直接贴出bound函数 static int rockchip_mipidphy_notifier_bound(struct v4l2_async_notifier *notifier, struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) { struct mipidphy_priv *priv = container_of(notifier, struct mipidphy_priv, notifier); struct sensor_async_subdev *s_asd = container_of(asd, struct sensor_async_subdev, asd); struct mipidphy_sensor *sensor; unsigned int pad, ret; if (priv->num_sensors == ARRAY_SIZE(priv->sensors)) return -EBUSY; sensor = &priv->sensors[priv->num_sensors++]; sensor->lanes = s_asd->lanes; sensor->mbus = s_asd->mbus; /* * 这里的sd是imx291的subdev */ sensor->sd = sd; dev_info(priv->dev, "match %s:bus type %dn", sd->name, s_asd->mbus.type); /* * imx291只有一个source pad */ for (pad = 0; pad < sensor->sd->entity.num_pads; pad++) if (sensor->sd->entity.pads[pad].flags & MEDIA_PAD_FL_SOURCE) break; if (pad == sensor->sd->entity.num_pads) { dev_err(priv->dev, "failed to find src pad for %sn", sensor->sd->name); return -ENXIO; } /* * 下面的函数看下面文章,有具体分析,代入当前条件分析 * 基于RV1126平台imx291分析 --- media部件连接 二 * */ ret = media_create_pad_link( &sensor->sd->entity, pad, &priv->sd.entity, MIPI_DPHY_RX_PAD_SINK, priv->num_sensors != 1 ? 0 : MEDIA_LNK_FL_ENABLED); if (ret) { dev_err(priv->dev, "failed to create link for %sn", sensor->sd->name); return ret; } return 0; } 最后的连接情况如下: |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
RK 主流平台参数对比文档:助力设计阶段快速选型(包含RK3588 RK3588S RK3588S2 RK3576 RK3568)
1014 浏览 0 评论
行业集结:共同定制 RK3566 集成 AI 眼镜的前沿 AR 方案
1245 浏览 1 评论
532 浏览 0 评论
493 浏览 0 评论
777 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 18:39 , Processed in 0.550246 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191