u32 num_lanes;
        u32 mlane;
        struct reset_control *lnk_rst;
+       enum cdns_sierra_ssc_mode ssc_mode;
 };
 
 struct cdns_reg_pairs {
        const struct cdns_sierra_data *init_data = phy->init_data;
        struct cdns_sierra_vals *pma_cmn_vals, *pma_ln_vals;
        enum cdns_sierra_phy_type phy_type = ins->phy_type;
-       enum cdns_sierra_ssc_mode ssc = EXTERNAL_SSC;
+       enum cdns_sierra_ssc_mode ssc = ins->ssc_mode;
        const struct cdns_reg_pairs *reg_pairs;
        struct regmap *regmap;
        u32 num_regs;
                return -EINVAL;
        }
 
+       inst->ssc_mode = EXTERNAL_SSC;
+       of_property_read_u32(child, "cdns,ssc-mode", &inst->ssc_mode);
+
        return 0;
 }