uboot中使用device tree

最近搞uboot 驱动,搞了好久才发现uboot的dts规则跟kernel不一样,

uboot驱动务必要加入bind函数,否则,驱动不会被初始化。

示例如下:


static int mipi_dsi_bind(struct udevice *dev)
{
        
    printf("Eric: mipi_dsi bind!\n");
    return 0;


}


int rk_mipi_dsi_probe(struct udevice *dev)
{
    printk("Eric: mipi_dsi probe\n");
    return 0;
}


static const struct dm_display_ops mipi_rockchip_ops = {                                                                                  
};


static const struct udevice_id rockchip_mipi_ids[] = { 
    { .compatible = "rockchip,rk3399_mipi_dsi" },
    { } 
};


U_BOOT_DRIVER(mipi_rockchip) = { 
    .name   = "mipi_rockchip",
    .id = UCLASS_DISPLAY,
    .of_match = rockchip_mipi_ids,
    //.ofdata_to_platdata   = rk_mipi_ofdata_to_platdata,
    .bind   = mipi_dsi_bind,
    .probe  = rk_mipi_dsi_probe,
    .ops    = &mipi_rockchip_ops,
    //.priv_auto_alloc_size = sizeof(struct rk_mipi_priv),
};

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值