| .. | .. |
|---|
| 286 | 286 | {RK817_CODEC_AREF_RTCFG1, 0x40}, |
|---|
| 287 | 287 | {RK817_CODEC_DDAC_POPD_DACST, 0x02}, |
|---|
| 288 | 288 | /* APLL */ |
|---|
| 289 | | - {RK817_CODEC_APLL_CFG0, 0x04}, |
|---|
| 289 | + /* {RK817_CODEC_APLL_CFG0, 0x04}, */ |
|---|
| 290 | 290 | {RK817_CODEC_APLL_CFG1, 0x58}, |
|---|
| 291 | 291 | {RK817_CODEC_APLL_CFG2, 0x2d}, |
|---|
| 292 | | - {RK817_CODEC_APLL_CFG4, 0xa5}, |
|---|
| 292 | + /* {RK817_CODEC_APLL_CFG4, 0xa5}, */ |
|---|
| 293 | 293 | {RK817_CODEC_APLL_CFG5, 0x00}, |
|---|
| 294 | 294 | |
|---|
| 295 | 295 | {RK817_CODEC_DI2S_RXCMD_TSD, 0x00}, |
|---|
| .. | .. |
|---|
| 324 | 324 | {RK817_CODEC_AREF_RTCFG1, 0x40}, |
|---|
| 325 | 325 | {RK817_CODEC_DADC_SR_ACL0, 0x02}, |
|---|
| 326 | 326 | /* {RK817_CODEC_DTOP_DIGEN_CLKE, 0xff}, */ |
|---|
| 327 | | - {RK817_CODEC_APLL_CFG0, 0x04}, |
|---|
| 327 | + /* {RK817_CODEC_APLL_CFG0, 0x04}, */ |
|---|
| 328 | 328 | {RK817_CODEC_APLL_CFG1, 0x58}, |
|---|
| 329 | 329 | {RK817_CODEC_APLL_CFG2, 0x2d}, |
|---|
| 330 | | - {RK817_CODEC_APLL_CFG4, 0xa5}, |
|---|
| 330 | + /* {RK817_CODEC_APLL_CFG4, 0xa5}, */ |
|---|
| 331 | 331 | {RK817_CODEC_APLL_CFG5, 0x00}, |
|---|
| 332 | 332 | |
|---|
| 333 | 333 | /*{RK817_CODEC_DI2S_RXCMD_TSD, 0x00},*/ |
|---|
| .. | .. |
|---|
| 378 | 378 | playback_power_up_list[i].value); |
|---|
| 379 | 379 | } |
|---|
| 380 | 380 | |
|---|
| 381 | | - /* Re-configure APLL CFG0/4 if (chip_ver <= 0x4) */ |
|---|
| 381 | + /* configure APLL CFG0/4 */ |
|---|
| 382 | 382 | if (rk817->chip_ver <= 0x4) { |
|---|
| 383 | 383 | DBG("%s (%d): SMIC TudorAG and previous versions\n", |
|---|
| 384 | 384 | __func__, __LINE__); |
|---|
| 385 | 385 | snd_soc_component_write(component, RK817_CODEC_APLL_CFG0, 0x0c); |
|---|
| 386 | 386 | snd_soc_component_write(component, RK817_CODEC_APLL_CFG4, 0x95); |
|---|
| 387 | + } else { |
|---|
| 388 | + DBG("%s: SMIC TudorAG version later\n", __func__); |
|---|
| 389 | + snd_soc_component_write(component, RK817_CODEC_APLL_CFG0, 0x04); |
|---|
| 390 | + snd_soc_component_write(component, RK817_CODEC_APLL_CFG4, 0xa5); |
|---|
| 387 | 391 | } |
|---|
| 388 | 392 | |
|---|
| 389 | 393 | snd_soc_component_update_bits(component, RK817_CODEC_DTOP_DIGEN_CLKE, |
|---|
| .. | .. |
|---|
| 405 | 409 | capture_power_up_list[i].value); |
|---|
| 406 | 410 | } |
|---|
| 407 | 411 | |
|---|
| 408 | | - /* Re-configure APLL CFG0/4 if (chip_ver <= 0x4) */ |
|---|
| 412 | + /* configure APLL CFG0/4 */ |
|---|
| 409 | 413 | if (rk817->chip_ver <= 0x4) { |
|---|
| 410 | 414 | DBG("%s (%d): SMIC TudorAG and previous versions\n", |
|---|
| 411 | 415 | __func__, __LINE__); |
|---|
| 412 | 416 | snd_soc_component_write(component, RK817_CODEC_APLL_CFG0, 0x0c); |
|---|
| 413 | 417 | snd_soc_component_write(component, RK817_CODEC_APLL_CFG4, 0x95); |
|---|
| 418 | + } else { |
|---|
| 419 | + DBG("%s: SMIC TudorAG version later\n", __func__); |
|---|
| 420 | + snd_soc_component_write(component, RK817_CODEC_APLL_CFG0, 0x04); |
|---|
| 421 | + snd_soc_component_write(component, RK817_CODEC_APLL_CFG4, 0xa5); |
|---|
| 414 | 422 | } |
|---|
| 415 | 423 | |
|---|
| 416 | 424 | snd_soc_component_update_bits(component, RK817_CODEC_DTOP_DIGEN_CLKE, |
|---|
| .. | .. |
|---|
| 1230 | 1238 | rk817->chip_ver = (chip_ver & 0x0f); |
|---|
| 1231 | 1239 | dev_info(component->dev, "%s: chip_name:0x%x, chip_ver:0x%x\n", __func__, chip_name, chip_ver); |
|---|
| 1232 | 1240 | |
|---|
| 1241 | + /* always enable mclk, and will disable mclk in rk817_remove */ |
|---|
| 1233 | 1242 | clk_prepare_enable(rk817->mclk); |
|---|
| 1234 | 1243 | rk817_reset(component); |
|---|
| 1235 | | - clk_disable_unprepare(rk817->mclk); |
|---|
| 1236 | 1244 | mutex_init(&rk817->clk_lock); |
|---|
| 1237 | 1245 | rk817->clk_capture = 0; |
|---|
| 1238 | 1246 | rk817->clk_playback = 0; |
|---|
| .. | .. |
|---|
| 1257 | 1265 | rk817_codec_power_down(component, RK817_CODEC_ALL); |
|---|
| 1258 | 1266 | snd_soc_component_exit_regmap(component); |
|---|
| 1259 | 1267 | mutex_destroy(&rk817->clk_lock); |
|---|
| 1268 | + clk_disable_unprepare(rk817->mclk); |
|---|
| 1260 | 1269 | mdelay(10); |
|---|
| 1261 | 1270 | |
|---|
| 1262 | 1271 | } |
|---|