struct v4l2_async_subdev *async_subdevs[2];
bool csi_mipi_mode;
+ bool csi_two_8bit_sensor_mode;
const bool *rx_fifo_rst;
struct mx6s_csi_mux csi_mux;
};
cr3 |= BIT_HRESP_ERR_EN;
cr3 &= ~BIT_RXFF_LEVEL;
cr3 |= 0x2 << 4;
+ if (csi_dev->csi_two_8bit_sensor_mode)
+ cr3 |= BIT_TWO_8BIT_SENSOR;
__raw_writel(cr3, csi_dev->regbase + CSI_CSICR3);
__raw_writel(cr2, csi_dev->regbase + CSI_CSICR2);
return ret;
}
+static int mx6s_csi_two_8bit_sensor_mode_sel(struct mx6s_csi_dev *csi_dev)
+{
+ struct device_node *np = csi_dev->dev->of_node;
+
+ if (of_get_property(np, "fsl,two-8bit-sensor-mode", NULL))
+ csi_dev->csi_two_8bit_sensor_mode = true;
+ else {
+ csi_dev->csi_two_8bit_sensor_mode = false;
+ }
+
+ return 0;
+}
+
static int mx6sx_register_subdevs(struct mx6s_csi_dev *csi_dev)
{
struct device_node *parent = csi_dev->dev->of_node;
csi_dev->dev = dev;
mx6s_csi_mode_sel(csi_dev);
+ mx6s_csi_two_8bit_sensor_mode_sel(csi_dev);
of_id = of_match_node(mx6s_csi_dt_ids, csi_dev->dev->of_node);
if (!of_id)