Commit 5c87da03 authored by Krishna Kurapati's avatar Krishna Kurapati Committed by Vinod Koul
Browse files

phy: qualcomm: phy-qcom-eusb2-repeater: Add squelch detect param update

parent a590c0f9
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -37,6 +37,17 @@
#define EUSB2_TUNE_EUSB_EQU		0x5A
#define EUSB2_TUNE_EUSB_HS_COMP_CUR	0x5B

static const int squelch_detector[] = {
	[0] = -6000,
	[1] = -5000,
	[2] = -4000,
	[3] = -3000,
	[4] = -2000,
	[5] = -1000,
	[6] = 0,
	[7] = 1000,
};

struct eusb2_repeater_init_tbl_reg {
	unsigned int reg;
	unsigned int value;
@@ -134,7 +145,9 @@ static int eusb2_repeater_init(struct phy *phy)
	struct regmap *regmap = rptr->regmap;
	u32 base = rptr->base;
	u32 poll_val;
	s32 dt_val;
	int ret;
	int i;
	u8 val;

	ret = regulator_bulk_enable(rptr->cfg->num_vregs, rptr->vregs);
@@ -161,6 +174,15 @@ static int eusb2_repeater_init(struct phy *phy)
	if (!of_property_read_u8(np, "qcom,tune-res-fsdif", &val))
		regmap_write(regmap, base + EUSB2_TUNE_RES_FSDIF, val);

	if (!of_property_read_s32(np, "qcom,squelch-detector-bp", &dt_val)) {
		for (i = 0; i < ARRAY_SIZE(squelch_detector); i++) {
			if (squelch_detector[i] == dt_val) {
				regmap_write(regmap, base + EUSB2_TUNE_SQUELCH_U, i);
				break;
			}
		}
	}

	/* Wait for status OK */
	ret = regmap_read_poll_timeout(regmap, base + EUSB2_RPTR_STATUS, poll_val,
				       poll_val & RPTR_OK, 10, 5);