samsung,pin-pud = <3>;
samsung,pin-val = <1>;
};
+#if 0 /*Should be removed: enable speaker amp on EVB board*/
+ amp_sda: amp-sda {
+ samsung,pins = "gpp2-2";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+ amp_scl: amp-scl {
+ samsung,pins = "gpp2-1";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+ amp_ad1: amp-ad1 {
+ samsung,pins = "gpp2-0";
+ samsung,pin-function = <1>;
+ samsung,pin-val = <0>;
+ samsung,pin-pud = <1>;
+ };
+ amp_ad0: amp-ad0 {
+ samsung,pins = "gpp2-3";
+ samsung,pin-function = <1>;
+ samsung,pin-val = <0>;
+ samsung,pin-pud = <1>;
+ };
+#endif
};
-
-
spi_6: spi@13900000 {
- status = "okay";
+ status = "disable";
pinctrl-names = "default";
pinctrl-0 = <&spi6_bus &spi6_cs_func>;
/*cs-gpios = <&gpp2 3 0>;*/
cs35l41_left: cs35l41@0 {
compatible = "cirrus,cs35l41";
- #sound-dai-cells = <1>;
reg = <0x0>;
- spi-max-frequency = <11000000>;
- interrupt-parent = <&gpa0>;
+
+ spi-max-frequency = <9600000>;
+
interrupts = <2 0 0>;
+ interrupt-controller;
+ interrupt-parent = <&gpa0>;
reset-gpios = <&gpg3 3 0>;
+ #sound-dai-cells = <1>;
+
VA-supply = <&l42_reg>;
VP-supply = <&V_SYS>;
- cirrus,asp-sdout-hiz = <0x3>;
+ cirrus,boost-peak-milliamp = <4500>;
+ cirrus,boost-ind-nanohenry = <1000>;
+ cirrus,boost-cap-microfarad = <15>;
+ cirrus,asp-sdout-hiz = <0x1>;
cirrus,gpio-config2 {
cirrus,gpio-src-select = <0x4>;
- cirrus,gpio-out-enable;
+ cirrus,gpio-output-enable;
};
controller-data {
/*cs-gpio = <gpm8 0 0>*/
+ /*cs-gpios = <&gpp2 3 0>;*/
samsung,spi-feedback-delay = <1>;
samsung,spi-chip-select-mode = <0>;
};
};
};
+#if 0
+ i2c@0 {
+ status = "okay";
+ compatible = "i2c-gpio";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&_sda &_scl &_ad0 &_ad1>;
+
+ gpios = <&gpp2 2 0 /* sda */
+ &gpp2 1 0 /* scl */
+ >;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cs35l41_left: cs35l41@40 {
+ compatible = "cirrus,cs35l41";
+ reg = <0x40>;
+
+ interrupts = <2 0 0>;
+ interrupt-controller;
+ interrupt-parent = <&gpa0>;
+ reset-gpios = <&gpg3 3 0>;
+ #sound-dai-cells = <1>;
+
+ VA-supply = <&l42_reg>;
+ VP-supply = <&V_SYS>;
+
+ cirrus,boost-peak-milliamp = <4500>;
+ cirrus,boost-ind-nanohenry = <1000>;
+ cirrus,boost-cap-microfarad = <15>;
+ cirrus,asp-sdout-hiz = <0x1>;
+ cirrus,gpio-config2 {
+ cirrus,gpio-src-select = <0x4>;
+ cirrus,gpio-output-enable;
+ };
+ };
+ };
+#endif
spi_9: spi@13940000 {
pinctrl-names = "default";
pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
#gpio-cells = <2>;
#sound-dai-cells = <1>;
+ /*l42_reg shoulde be change after board fixed*/
AVDD-supply = <&l42_reg>;
DBVDD1-supply = <&l42_reg>;
DBVDD2-supply = <&l42_reg>;
0 0 0 0 /* IN2 */
>;
- cirrus,gpsw = <3 0>;
+ cirrus,gpsw = <1 0>;
pinctrl-names = "probe", "active";
pinctrl-0 = <&codec_reset>;
};
};
+
micvdd {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-max-microvolt = <2800000>;
cirrus,ext-cap = <1>;
};
+
+ MICBIAS2A {
+ regulator-active-discharge = <1>;
+ };
MICBIAS2B {
regulator-active-discharge = <1>;
};
reg = <1>;
cirrus,micd-configs = <
- 0 0 3 0 0
+ 0 0 2 0 0
>;
cirrus,micd-bias-start-time = <8>;
cirrus,micd-rate = <6>;
- cirrus,micd-pol-gpios = <&cs47l35 4 0>;
+ /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
cirrus,micd-detect-debounce-ms = <500>;
- cirrus,jd-use-jd2;
- cirrus,micd-clamp-mode = <0x8>;
+ /*cirrus,jd-use-jd2;*/
+ /*cirrus,micd-clamp-mode = <0x8>;*/
};
};
cirrus,opclk = <3 0 12288000>;
samsung,routing =
- "HEADSETMIC", "MICBIAS2B",
- "MICBIAS2A", "MICBIAS2B",
- "IN1BL", "HEADSETMIC",
- "DMIC1", "MICBIAS1A",
+ "HEADSETMIC", "MICBIAS1B",
+ "IN1BR", "HEADSETMIC",
+ "DMIC1", "MICBIAS2A",
"IN1AL", "DMIC1",
- "DMIC2", "MICBIAS1B",
+ "DMIC2", "MICBIAS2A",
"IN2L", "DMIC2",
+ "DMIC3", "MICBIAS2B",
+ "IN2R", "DMIC3",
"RECEIVER", "EPOUTN",
"RECEIVER", "EPOUTP",
"HEADPHONE", "HPOUTL",
"ABOX SIFS0 Capture", "VINPUTCALL";
samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
- &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
+ &abox_uaif_4 &abox_dsif &abox_spdy>; /*&cs35l41_left*/
samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
"ABOX", "ABOX", "ABOX", "Left";
samsung,aux = <&abox_effect &abox_bt>;
sound-dai = <&dummy_audio_codec>;
};
};
+
+#if 0 /*ToDo: enable speaker amp on EVB board*/
codec-left-amp@0 {
format = "i2s";
sound-dai = <&cs35l41_left 0>;
};
};
-
+#endif
};
+
#if 0
fimc_is@144B0000 {
vender {
}
#endif
-#if 0
-static int madera_amp_late_probe(struct snd_soc_card *card, int dai)
-{
- struct madera_drvdata *drvdata = card->drvdata;
- struct snd_soc_pcm_runtime *rtd;
- struct snd_soc_dai *amp_dai;
- struct snd_soc_codec *amp;
- int ret;
-
- if (!dai || !card->dai_link[dai].name)
- return 0;
-
- if (!drvdata->opclk.valid) {
- dev_err(card->dev, "OPCLK required to use speaker amp\n");
- return -ENOENT;
- }
-
- rtd = snd_soc_get_pcm_runtime(card, card->dai_link[dai].name);
-
- amp_dai = rtd->codec_dai;
- amp = amp_dai->codec;
-
- ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0x3, 0x3, 4, 16);
- if (ret)
- dev_err(card->dev, "Failed to set TDM: %d\n", ret);
-
- ret = snd_soc_codec_set_sysclk(amp, 0, 0, drvdata->opclk.rate,
- SND_SOC_CLOCK_IN);
- if (ret != 0) {
- dev_err(card->dev, "Failed to set amp SYSCLK: %d\n", ret);
- return ret;
- }
-
- ret = snd_soc_dai_set_sysclk(amp_dai, 0, MADERA_AMP_BCLK,
- SND_SOC_CLOCK_IN);
- if (ret != 0) {
- dev_err(card->dev, "Failed to set amp DAI clock: %d\n", ret);
- return ret;
- }
-
- return 0;
-}
-#else
static int madera_amp_late_probe(struct snd_soc_card *card, int dai)
{
struct madera_drvdata *drvdata = card->drvdata;
return 0;
}
-#endif
-
static int exynos9610_late_probe(struct snd_soc_card *card)
{
struct madera_drvdata *drvdata = card->drvdata;
.dpcm_playback = 1,
.dpcm_capture = 1,
},
+#if 0 /*ToDo: enable speaker amp on EVB board*/
{
.name = "codec-left-amp",
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.params = madera_amp_params,
},
+#endif
};