__u8 num_lanes;
        __u8 padding;
        __le32 bus_freq;
+       __le32 lines_per_second;
 } __packed;
 
 static int gb_camera_configure_streams(struct gb_camera *gcam,
        if (ret < 0)
                goto done;
 
-       /* Configure the CSI transmitter. Hardcode the parameters for now. */
+       /*
+        * Configure the APB1 CSI transmitter using the lines count reported by
+        * the  camera module, but with hard-coded bus frequency and lanes number.
+        *
+        * TODO: use the clocking and size informations reported by camera module
+        * to compute the required CSI bandwidth, and configure the CSI receiver
+        * on AP side, and the CSI transmitter on APB1 side accordingly.
+        */
        memset(&csi_cfg, 0, sizeof(csi_cfg));
 
        if (nstreams) {
                csi_cfg.clock_mode = 0;
                csi_cfg.num_lanes = 4;
                csi_cfg.bus_freq = cpu_to_le32(960000000);
+               csi_cfg.lines_per_second = resp->lines_per_second;
                ret = gb_hd_output(gcam->connection->hd, &csi_cfg,
                                   sizeof(csi_cfg),
                                   GB_APB_REQUEST_CSI_TX_CONTROL, false);