RK 시리즈 SDK - I2S MCLK가 계속 켜져 있음
코드 경로:kernel/sound/soc/rockchip/rockchipi2s.c
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
index e48b8b1..b3f388c 100644
--- a/sound/soc/rockchip/rockchip_i2s.c
+++ b/sound/soc/rockchip/rockchip_i2s.c
@@ -67,7 +67,7 @@ static int i2s_runtime_suspend(struct device *dev)
struct rk_i2s_dev *i2s = dev_get_drvdata(dev);
regcache_cache_only(i2s->regmap, true);
- clk_disable_unprepare(i2s->mclk);
+// clk_disable_unprepare(i2s->mclk);
return 0;
}
@@ -83,6 +83,12 @@ static int i2s_runtime_resume(struct device *dev)
return ret;
}
+ ret = clk_set_rate(i2s->mclk, 12288000 );
+ if (ret)
+ dev_err(i2s->dev, "Fail to set mclk %d
", ret);
+ regmap_update_bits(i2s->regmap, I2S_XFER,
+ I2S_XFER_TXS_START | I2S_XFER_RXS_START,
+ I2S_XFER_TXS_START | I2S_XFER_RXS_START);
regcache_cache_only(i2s->regmap, false);
regcache_mark_dirty(i2s->regmap);
주: 상기 patch 설정의 i2s mclk 주파수는 12.288MHz이며, 다른 주파수를 설정하려면 clk 수정set_rate(i2s->mclk, 12288000 ); 에서 매개변수 2의 주파수 값을 설정하면 됩니다.또한, 코드c단 구동에 대응하는 clkdisable_unprepare (...) 의 작업도//주석을 달아야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 대량 WAV 오디오를 등장 분할하는 방법 실현대량 WAV 오디오를 동일하게 분할합니다. WAV 형식의 오디오를 동일한 길이로 분할합니다. 이것은python이 대량의 WAV 오디오를 등장분할하는 방법으로 실현하는 방법에 관한 이 글을 소개합니다. 더 많은 관련p...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.