Merge "[Feature][ZXW-29]modify spi1 to master for spi1 loopback test"
diff --git a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
index ce51bab..324925d 100755
--- a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
+++ b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
@@ -1973,13 +1973,14 @@
# CONFIG_ZX_TDM is not set
CONFIG_SND_SOC_SANECHIPS=y
# CONFIG_SND_SOC_ZX29_TI3100 is not set
-CONFIG_SND_SOC_ZX29_NAU8810=y
+# CONFIG_SND_SOC_ZX29_NAU8810 is not set
# CONFIG_SND_SOC_ZX29_TI3104 is not set
# CONFIG_SND_SOC_ZX29_ES8374 is not set
# CONFIG_SND_SOC_ZX29_ES8312 is not set
# CONFIG_SND_SOC_ZX29_AK4940 is not set
# CONFIG_SND_SOC_ZX29_MAX9867 is not set
# CONFIG_SND_SOC_ZX29_ES8311 is not set
+CONFIG_SND_SOC_ZX29_ES8311=y
CONFIG_SND_SOC_ZX_VOICE=y
CONFIG_SND_SOC_ZX297520V3=y
CONFIG_SND_SOC_ZX_I2S=y
@@ -1989,6 +1990,7 @@
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_MAX9867 is not set
# CONFIG_SND_SOC_ES8311 is not set
+CONFIG_SND_SOC_ES8311=y
CONFIG_SND_EXTRA_CTRL=y
CONFIG_USE_TOP_I2S0=y
# CONFIG_USE_TOP_I2S1 is not set
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3-vehicle_dc_ref.dts b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3-vehicle_dc_ref.dts
index 7d0c6aa..ff55fb9 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3-vehicle_dc_ref.dts
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3-vehicle_dc_ref.dts
@@ -141,7 +141,7 @@
};
&zx29_nau8810 {
pinctrl-0 = <&i2s0_pins>;
- status = "okay";
+// status = "okay";
};
&zx29_dummycodec{
pinctrl-0 = <&i2s1_pins>;
@@ -155,11 +155,11 @@
// status = "okay";
};
&codec_es8311 {
-// status = "okay";
+ status = "okay";
};
&zx29_es8311 {
pinctrl-0 = <&i2s0_pins>;
-// status = "okay";
+ status = "okay";
};
&gmac {
port-nums = <1>;
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3.dtsi b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3.dtsi
index 95545c4..3a19b4f 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3.dtsi
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/arch/arm/boot/dts/zx297520v3.dtsi
@@ -476,11 +476,11 @@
};
codec_es8311: codec_es8311@18 {
compatible = "everest,es8311";
- reg = <0x1A>;
+ reg = <0x18>;
//reset-gpios = <&bgpio 122 GPIO_ACTIVE_HIGH>;/*RST*/
- clock-names = "clk_out";
+ clock-names = "clk_out2";
clocks = <&clkc CLKOUT2_CLK>;
- pinctrl-names = "clk_out";
+ pinctrl-names = "clk_out2";
pinctrl-0 = <&clk2_func_pins>;
status = "disabled";
};
@@ -811,7 +811,7 @@
reg-names = "soc_sys";
zxic,i2s-controller = <&i2s0>;
- zxic,audio-codec = <&codec_nau8810>;
+ zxic,audio-codec = <&codec_es8311>;
status = "disabled";
};
softwdt: softwdt@1301000 {
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/Kconfig b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/Kconfig
index 97e4bc5..74d24c8 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/Kconfig
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/Kconfig
@@ -799,6 +799,7 @@
config SND_SOC_ES8311
tristate "Everest Semi ES8311 CODEC"
depends on I2C
+ tristate
config SND_SOC_GTM601
tristate 'GTM601 UMTS modem audio codec'
@@ -1395,6 +1396,7 @@
config SND_SOC_TLV320AIC3X
tristate "Texas Instruments TLV320AIC3x CODECs"
depends on I2C
+ select REGMAP_I2C
config SND_SOC_TLV320DAC33
tristate
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.c b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.c
index b68ee46..e5e7d25 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.c
@@ -37,6 +37,7 @@
struct es8311_private {
struct snd_soc_component *component;
struct regmap *regmap;
+ struct device *dev;
struct clk *mclk;
unsigned int mclk_rate;
int mastermode;
@@ -1050,7 +1051,8 @@
* 1. sclk/bclk is used as mclk
* 2. mclk is controled by soc I2S
*/
- if (es8311->mclk_src == ES8311_MCLK_PIN) {
+ //if (es8311->mclk_src == ES8311_MCLK_PIN) {
+ if(0) {
es8311->mclk = devm_clk_get(component->dev, "mclk");
if (IS_ERR(es8311->mclk)) {
dev_err(component->dev, "%s,unable to get mclk\n", __func__);
@@ -1129,6 +1131,10 @@
snd_soc_component_write(component, ES8311_DAC_REG37, 0x48);
snd_soc_component_write(component, ES8311_ADC_REG17, 0xBF);
snd_soc_component_write(component, ES8311_DAC_REG32, 0xBF);
+ snd_soc_component_write(component, ES8311_CLK_MANAGER_REG02, 0x98);
+ snd_soc_component_write(component, ES8311_CLK_MANAGER_REG03, 0x1b);
+ snd_soc_component_write(component, ES8311_CLK_MANAGER_REG04, 0x1b);
+ snd_soc_component_write(component, ES8311_CLK_MANAGER_REG05, 0xbb);
msleep(100);
es8311_set_bias_level(component, SND_SOC_BIAS_STANDBY);
@@ -1149,6 +1155,16 @@
struct es8311_private *info = dev_get_drvdata(dev);
struct device_node *np = dev->of_node;
+ unsigned tmp;
+
+ #if 1
+ void __iomem *reg_base;
+ reg_base = ioremap(0x13B000+0x94 ,4);
+ tmp = ioread32(reg_base);
+ tmp |= (1<<0)|(1<<2);
+ iowrite32(tmp,reg_base);
+ #endif
+
dev_info(dev, "%s:start!\n", __func__);
if(dev == NULL){
@@ -1166,7 +1182,7 @@
}
- state0 = pinctrl_lookup_state(pctrl, "clk_out");
+ state0 = pinctrl_lookup_state(pctrl, "clk_out2");
if (IS_ERR(state0)) {
devm_pinctrl_put(pctrl);
dev_err(dev, "missing clk_out\n");
@@ -1188,7 +1204,7 @@
- clk = of_clk_get_by_name(np, "clk_out");
+ clk = of_clk_get_by_name(np, "clk_out2");
if (IS_ERR(clk)) {
dev_err(dev, "Could not get clk_out\n");
ret = PTR_ERR(clk);
@@ -1459,6 +1475,8 @@
if (ret)
pr_err("failed to create attr group\n");
+ printk("%s end\n", __func__);
+
return ret;
}
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.h b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.h
index 6ffc3d9..5acb206 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.h
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/codecs/es8311.h
@@ -73,7 +73,8 @@
/* The VMIDLEVEL is different for 1.8V AVDD */
#define ES8311_3V3 0
#define ES8311_1V8 1
-#define ES8311_AVDD ES8311_3V3
+//#define ES8311_AVDD ES8311_3V3
+#define ES8311_AVDD ES8311_1V8
#define ES8311_MCLK_PIN 0
#define ES8311_BCLK_PIN 1
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/sanechips/zx29_es83xx.c b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/sanechips/zx29_es83xx.c
index 2a0a3c8..050a0f8 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/sanechips/zx29_es83xx.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/sound/soc/sanechips/zx29_es83xx.c
@@ -556,7 +556,7 @@
#if defined(CONFIG_SND_SOC_ZX29_ES8311)
SND_SOC_DAILINK_DEF(codec, \
- DAILINK_COMP_ARRAY(COMP_CODEC("es8311.1-001a", "es8311-hifi")));
+ DAILINK_COMP_ARRAY(COMP_CODEC("es8311.1-0018", "ES8311 HiFi")));
#elif defined(CONFIG_SND_SOC_ZX29_ES8374)
@@ -680,7 +680,8 @@
.owner = THIS_MODULE,
.dai_link = zx29_dai_link,
.num_links = ARRAY_SIZE(zx29_dai_link),
-#ifdef USE_ALSA_VOICE_FUNC
+//#ifdef USE_ALSA_VOICE_FUNC
+#if 0
.controls = vp_snd_controls,
.num_controls = ARRAY_SIZE(vp_snd_controls),
#endif