hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/sound/soc/codecs/ssm2602.c
....@@ -53,6 +53,18 @@
5353 { .reg = 0x09, .def = 0x0000 }
5454 };
5555
56
+/*
57
+ * ssm2602 register patch
58
+ * Workaround for playback distortions after power up: activates digital
59
+ * core, and then powers on output, DAC, and whole chip at the same time
60
+ */
61
+
62
+static const struct reg_sequence ssm2602_patch[] = {
63
+ { SSM2602_ACTIVE, 0x01 },
64
+ { SSM2602_PWR, 0x07 },
65
+ { SSM2602_RESET, 0x00 },
66
+};
67
+
5668
5769 /*Appending several "None"s just for OSS mixer use*/
5870 static const char *ssm2602_input_select[] = {
....@@ -589,6 +601,9 @@
589601 return ret;
590602 }
591603
604
+ regmap_register_patch(ssm2602->regmap, ssm2602_patch,
605
+ ARRAY_SIZE(ssm2602_patch));
606
+
592607 /* set the update bits */
593608 regmap_update_bits(ssm2602->regmap, SSM2602_LINVOL,
594609 LINVOL_LRIN_BOTH, LINVOL_LRIN_BOTH);