.. | .. |
---|
644 | 644 | } |
---|
645 | 645 | } |
---|
646 | 646 | if (index < CIF_REG_INDEX_MAX) { |
---|
647 | | - if (index == CIF_REG_DVP_CTRL || reg->offset != 0x0) |
---|
| 647 | + if (index == CIF_REG_DVP_CTRL || reg->offset != 0x0) { |
---|
648 | 648 | write_cif_reg(base, reg->offset + csi_offset, val); |
---|
649 | | - else |
---|
| 649 | + v4l2_dbg(4, rkcif_debug, &dev->v4l2_dev, |
---|
| 650 | + "write reg[0x%x]:0x%x!!!\n", |
---|
| 651 | + reg->offset + csi_offset, val); |
---|
| 652 | + } else { |
---|
650 | 653 | v4l2_dbg(1, rkcif_debug, &dev->v4l2_dev, |
---|
651 | 654 | "write reg[%d]:0x%x failed, maybe useless!!!\n", |
---|
652 | 655 | index, val); |
---|
| 656 | + } |
---|
653 | 657 | } |
---|
654 | 658 | } |
---|
655 | 659 | |
---|
.. | .. |
---|
681 | 685 | reg_val = read_cif_reg(base, reg->offset + csi_offset); |
---|
682 | 686 | reg_val |= val; |
---|
683 | 687 | write_cif_reg(base, reg->offset + csi_offset, reg_val); |
---|
| 688 | + v4l2_dbg(4, rkcif_debug, &dev->v4l2_dev, |
---|
| 689 | + "write or reg[0x%x]:0x%x!!!\n", |
---|
| 690 | + reg->offset + csi_offset, val); |
---|
684 | 691 | } else { |
---|
685 | 692 | v4l2_dbg(1, rkcif_debug, &dev->v4l2_dev, |
---|
686 | 693 | "write reg[%d]:0x%x with OR failed, maybe useless!!!\n", |
---|
.. | .. |
---|
717 | 724 | reg_val = read_cif_reg(base, reg->offset + csi_offset); |
---|
718 | 725 | reg_val &= val; |
---|
719 | 726 | write_cif_reg(base, reg->offset + csi_offset, reg_val); |
---|
| 727 | + v4l2_dbg(4, rkcif_debug, &dev->v4l2_dev, |
---|
| 728 | + "write and reg[0x%x]:0x%x!!!\n", |
---|
| 729 | + reg->offset + csi_offset, val); |
---|
720 | 730 | } else { |
---|
721 | 731 | v4l2_dbg(1, rkcif_debug, &dev->v4l2_dev, |
---|
722 | 732 | "write reg[%d]:0x%x with OR failed, maybe useless!!!\n", |
---|
.. | .. |
---|
1561 | 1571 | |
---|
1562 | 1572 | if (!completion_done(&dev->cmpl_ntf)) |
---|
1563 | 1573 | complete(&dev->cmpl_ntf); |
---|
1564 | | - if (dev->active_sensor && |
---|
1565 | | - (dev->active_sensor->mbus.type == V4L2_MBUS_CSI2_DPHY || |
---|
1566 | | - dev->active_sensor->mbus.type == V4L2_MBUS_CSI2_CPHY)) { |
---|
1567 | | - ret = v4l2_subdev_call(dev->active_sensor->sd, |
---|
1568 | | - core, ioctl, |
---|
1569 | | - RKCIF_CMD_SET_CSI_IDX, |
---|
1570 | | - &dev->csi_host_idx); |
---|
1571 | | - if (ret) |
---|
1572 | | - v4l2_err(&dev->v4l2_dev, "set csi idx %d fail\n", dev->csi_host_idx); |
---|
1573 | | - } |
---|
1574 | 1574 | v4l2_info(&dev->v4l2_dev, "Async subdev notifier completed\n"); |
---|
1575 | 1575 | |
---|
1576 | 1576 | return ret; |
---|
.. | .. |
---|
1940 | 1940 | cif_dev->early_line = 0; |
---|
1941 | 1941 | cif_dev->is_thunderboot = false; |
---|
1942 | 1942 | cif_dev->rdbk_debug = 0; |
---|
| 1943 | + memset(&cif_dev->channels[0].capture_info, 0, sizeof(cif_dev->channels[0].capture_info)); |
---|
1943 | 1944 | if (cif_dev->chip_id == CHIP_RV1126_CIF_LITE) |
---|
1944 | 1945 | cif_dev->isr_hdl = rkcif_irq_lite_handler; |
---|
1945 | 1946 | |
---|
.. | .. |
---|
1997 | 1998 | cif_dev->csi_host_idx = of_alias_get_id(node, "rkcif_mipi_lvds"); |
---|
1998 | 1999 | if (cif_dev->csi_host_idx < 0 || cif_dev->csi_host_idx > 5) |
---|
1999 | 2000 | cif_dev->csi_host_idx = 0; |
---|
| 2001 | + if (cif_dev->hw_dev->is_rk3588s2) { |
---|
| 2002 | + if (cif_dev->csi_host_idx == 0) |
---|
| 2003 | + cif_dev->csi_host_idx = 2; |
---|
| 2004 | + else if (cif_dev->csi_host_idx == 2) |
---|
| 2005 | + cif_dev->csi_host_idx = 4; |
---|
| 2006 | + else if (cif_dev->csi_host_idx == 3) |
---|
| 2007 | + cif_dev->csi_host_idx = 5; |
---|
| 2008 | + v4l2_info(&cif_dev->v4l2_dev, "rk3588s2 attach to mipi%d\n", |
---|
| 2009 | + cif_dev->csi_host_idx); |
---|
| 2010 | + } |
---|
| 2011 | + cif_dev->csi_host_idx_def = cif_dev->csi_host_idx; |
---|
2000 | 2012 | cif_dev->media_dev.dev = dev; |
---|
2001 | 2013 | v4l2_dev = &cif_dev->v4l2_dev; |
---|
2002 | 2014 | v4l2_dev->mdev = &cif_dev->media_dev; |
---|
.. | .. |
---|
2159 | 2171 | if (sysfs_create_group(&pdev->dev.kobj, &dev_attr_grp)) |
---|
2160 | 2172 | return -ENODEV; |
---|
2161 | 2173 | |
---|
2162 | | - rkcif_attach_hw(cif_dev); |
---|
| 2174 | + ret = rkcif_attach_hw(cif_dev); |
---|
| 2175 | + if (ret) |
---|
| 2176 | + return ret; |
---|
2163 | 2177 | |
---|
2164 | 2178 | rkcif_parse_dts(cif_dev); |
---|
2165 | 2179 | |
---|