#define LVDS_CTRL_VBG_ADJ_MASK                 GENMASK(19, 17)
 
 enum fsl_ldb_devtype {
+       IMX6SX_LDB,
        IMX8MP_LDB,
        IMX93_LDB,
 };
        u32 ldb_ctrl;
        u32 lvds_ctrl;
        bool lvds_en_bit;
+       bool single_ctrl_reg;
 };
 
 static const struct fsl_ldb_devdata fsl_ldb_devdata[] = {
+       [IMX6SX_LDB] = {
+               .ldb_ctrl = 0x18,
+               .single_ctrl_reg = true,
+       },
        [IMX8MP_LDB] = {
                .ldb_ctrl = 0x5c,
                .lvds_ctrl = 0x128,
 
        regmap_write(fsl_ldb->regmap, fsl_ldb->devdata->ldb_ctrl, reg);
 
+       if (fsl_ldb->devdata->single_ctrl_reg)
+               return;
+
        /* Program LVDS_CTRL */
        reg = LVDS_CTRL_CC_ADJ(2) | LVDS_CTRL_PRE_EMPH_EN |
              LVDS_CTRL_PRE_EMPH_ADJ(3) | LVDS_CTRL_VBG_EN;
                regmap_write(fsl_ldb->regmap, fsl_ldb->devdata->lvds_ctrl,
                             LVDS_CTRL_LVDS_EN);
        else
-               regmap_write(fsl_ldb->regmap, fsl_ldb->devdata->lvds_ctrl, 0);
+               if (!fsl_ldb->devdata->single_ctrl_reg)
+                       regmap_write(fsl_ldb->regmap, fsl_ldb->devdata->lvds_ctrl, 0);
        regmap_write(fsl_ldb->regmap, fsl_ldb->devdata->ldb_ctrl, 0);
 
        clk_disable_unprepare(fsl_ldb->clk);
 }
 
 static const struct of_device_id fsl_ldb_match[] = {
+       { .compatible = "fsl,imx6sx-ldb",
+         .data = &fsl_ldb_devdata[IMX6SX_LDB], },
        { .compatible = "fsl,imx8mp-ldb",
          .data = &fsl_ldb_devdata[IMX8MP_LDB], },
        { .compatible = "fsl,imx93-ldb",