diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-11-22 14:39:42 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-11-22 14:39:42 +0000 |
commit | 5dfde5c80b7450aa6c1b25257f90ae62d471065f (patch) | |
tree | 84988af250d6c6003af62e96f3b89e8ef1deb038 /firmware | |
parent | 5dec3b34aaab53e22ba542b55ef0b19fcf9c743c (diff) | |
download | rockbox-5dfde5c80b7450aa6c1b25257f90ae62d471065f.tar.gz rockbox-5dfde5c80b7450aa6c1b25257f90ae62d471065f.zip |
Gigabeat S samplerate control: Fix really dumb mistake made when doing cleanup. Add some more correctness.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19180 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/audio/wm8978.c | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/firmware/drivers/audio/wm8978.c b/firmware/drivers/audio/wm8978.c index bdeb5339ce..c2c19ca7be 100644 --- a/firmware/drivers/audio/wm8978.c +++ b/firmware/drivers/audio/wm8978.c | |||
@@ -361,9 +361,9 @@ void audiohw_set_frequency(int sampling_control) | |||
361 | static const struct | 361 | static const struct |
362 | { | 362 | { |
363 | uint32_t plln : 8; | 363 | uint32_t plln : 8; |
364 | uint32_t pllk0 : 6; | 364 | uint32_t pllk1 : 6; |
365 | uint32_t pllk1 : 9; | ||
366 | uint32_t pllk2 : 9; | 365 | uint32_t pllk2 : 9; |
366 | uint32_t pllk3 : 9; | ||
367 | unsigned char mclkdiv; | 367 | unsigned char mclkdiv; |
368 | unsigned char filter; | 368 | unsigned char filter; |
369 | } sctrl_table[HW_NUM_FREQ] = | 369 | } sctrl_table[HW_NUM_FREQ] = |
@@ -371,9 +371,9 @@ void audiohw_set_frequency(int sampling_control) | |||
371 | [HW_FREQ_8] = /* PLL = 65.536MHz */ | 371 | [HW_FREQ_8] = /* PLL = 65.536MHz */ |
372 | { | 372 | { |
373 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, | 373 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, |
374 | .pllk0 = WMC_PLLK_23_18w(12414886 >> 18), | 374 | .pllk1 = WMC_PLLK_23_18w(12414886ul >> 18), |
375 | .pllk1 = WMC_PLLK_17_9w(12414886 >> 9), | 375 | .pllk2 = WMC_PLLK_17_9w(12414886ul >> 9), |
376 | .pllk2 = WMC_PLLK_8_0w(12414886 >> 0), | 376 | .pllk3 = WMC_PLLK_8_0w(12414886ul >> 0), |
377 | .mclkdiv = WMC_MCLKDIV_8, /* 2.0480 MHz */ | 377 | .mclkdiv = WMC_MCLKDIV_8, /* 2.0480 MHz */ |
378 | .filter = WMC_SR_8KHZ, | 378 | .filter = WMC_SR_8KHZ, |
379 | }, | 379 | }, |
@@ -385,18 +385,18 @@ void audiohw_set_frequency(int sampling_control) | |||
385 | [HW_FREQ_12] = /* PLL = 73.728 MHz */ | 385 | [HW_FREQ_12] = /* PLL = 73.728 MHz */ |
386 | { | 386 | { |
387 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, | 387 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, |
388 | .pllk0 = WMC_PLLK_23_18w(11869595 >> 18), | 388 | .pllk1 = WMC_PLLK_23_18w(11869595ul >> 18), |
389 | .pllk1 = WMC_PLLK_17_9w(11869595 >> 9), | 389 | .pllk2 = WMC_PLLK_17_9w(11869595ul >> 9), |
390 | .pllk2 = WMC_PLLK_8_0w(11869595 >> 0), | 390 | .pllk3 = WMC_PLLK_8_0w(11869595ul >> 0), |
391 | .mclkdiv = WMC_MCLKDIV_6, /* 3.0720 MHz */ | 391 | .mclkdiv = WMC_MCLKDIV_6, /* 3.0720 MHz */ |
392 | .filter = WMC_SR_12KHZ, | 392 | .filter = WMC_SR_12KHZ, |
393 | }, | 393 | }, |
394 | [HW_FREQ_16] = /* PLL = 65.536MHz */ | 394 | [HW_FREQ_16] = /* PLL = 65.536MHz */ |
395 | { | 395 | { |
396 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, | 396 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, |
397 | .pllk0 = WMC_PLLK_23_18w(12414886 >> 18), | 397 | .pllk1 = WMC_PLLK_23_18w(12414886ul >> 18), |
398 | .pllk1 = WMC_PLLK_17_9w(12414886 >> 9), | 398 | .pllk2 = WMC_PLLK_17_9w(12414886ul >> 9), |
399 | .pllk2 = WMC_PLLK_8_0w(12414886 >> 0), | 399 | .pllk3 = WMC_PLLK_8_0w(12414886ul >> 0), |
400 | .mclkdiv = WMC_MCLKDIV_4, /* 4.0960 MHz */ | 400 | .mclkdiv = WMC_MCLKDIV_4, /* 4.0960 MHz */ |
401 | .filter = WMC_SR_16KHZ, | 401 | .filter = WMC_SR_16KHZ, |
402 | }, | 402 | }, |
@@ -408,18 +408,18 @@ void audiohw_set_frequency(int sampling_control) | |||
408 | [HW_FREQ_24] = /* PLL = 73.728 MHz */ | 408 | [HW_FREQ_24] = /* PLL = 73.728 MHz */ |
409 | { | 409 | { |
410 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, | 410 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, |
411 | .pllk0 = WMC_PLLK_23_18w(11869595 >> 18), | 411 | .pllk1 = WMC_PLLK_23_18w(11869595ul >> 18), |
412 | .pllk1 = WMC_PLLK_17_9w(11869595 >> 9), | 412 | .pllk2 = WMC_PLLK_17_9w(11869595ul >> 9), |
413 | .pllk2 = WMC_PLLK_8_0w(11869595 >> 0), | 413 | .pllk3 = WMC_PLLK_8_0w(11869595ul >> 0), |
414 | .mclkdiv = WMC_MCLKDIV_3, /* 6.1440 MHz */ | 414 | .mclkdiv = WMC_MCLKDIV_3, /* 6.1440 MHz */ |
415 | .filter = WMC_SR_24KHZ, | 415 | .filter = WMC_SR_24KHZ, |
416 | }, | 416 | }, |
417 | [HW_FREQ_32] = /* PLL = 65.536MHz */ | 417 | [HW_FREQ_32] = /* PLL = 65.536MHz */ |
418 | { | 418 | { |
419 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, | 419 | .plln = WMC_PLLNw(7) | WMC_PLL_PRESCALE, |
420 | .pllk0 = WMC_PLLK_23_18w(12414886 >> 18), | 420 | .pllk1 = WMC_PLLK_23_18w(12414886ul >> 18), |
421 | .pllk1 = WMC_PLLK_17_9w(12414886 >> 9), | 421 | .pllk2 = WMC_PLLK_17_9w(12414886ul >> 9), |
422 | .pllk2 = WMC_PLLK_8_0w(12414886 >> 0), | 422 | .pllk3 = WMC_PLLK_8_0w(12414886ul >> 0), |
423 | .mclkdiv = WMC_MCLKDIV_2, /* 8.1920 MHz */ | 423 | .mclkdiv = WMC_MCLKDIV_2, /* 8.1920 MHz */ |
424 | .filter = WMC_SR_32KHZ, | 424 | .filter = WMC_SR_32KHZ, |
425 | }, | 425 | }, |
@@ -431,9 +431,9 @@ void audiohw_set_frequency(int sampling_control) | |||
431 | [HW_FREQ_48] = /* PLL = 73.728 MHz */ | 431 | [HW_FREQ_48] = /* PLL = 73.728 MHz */ |
432 | { | 432 | { |
433 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, | 433 | .plln = WMC_PLLNw(8) | WMC_PLL_PRESCALE, |
434 | .pllk0 = WMC_PLLK_23_18w(11869595 >> 18), | 434 | .pllk1 = WMC_PLLK_23_18w(11869595ul >> 18), |
435 | .pllk1 = WMC_PLLK_17_9w(11869595 >> 9), | 435 | .pllk2 = WMC_PLLK_17_9w(11869595ul >> 9), |
436 | .pllk2 = WMC_PLLK_8_0w(11869595 >> 0), | 436 | .pllk3 = WMC_PLLK_8_0w(11869595ul >> 0), |
437 | .mclkdiv = WMC_MCLKDIV_1_5, /* 12.2880 MHz */ | 437 | .mclkdiv = WMC_MCLKDIV_1_5, /* 12.2880 MHz */ |
438 | .filter = WMC_SR_48KHZ, | 438 | .filter = WMC_SR_48KHZ, |
439 | }, | 439 | }, |
@@ -459,9 +459,9 @@ void audiohw_set_frequency(int sampling_control) | |||
459 | 459 | ||
460 | /* Program PLL. */ | 460 | /* Program PLL. */ |
461 | wmc_write(WMC_PLL_N, plln); | 461 | wmc_write(WMC_PLL_N, plln); |
462 | wmc_write(WMC_PLLK_23_18, sctrl_table[sampling_control].pllk0); | 462 | wmc_write(WMC_PLL_K1, sctrl_table[sampling_control].pllk1); |
463 | wmc_write(WMC_PLLK_17_9, sctrl_table[sampling_control].pllk1); | 463 | wmc_write(WMC_PLL_K2, sctrl_table[sampling_control].pllk2); |
464 | wmc_write(WMC_PLLK_8_0, sctrl_table[sampling_control].pllk2); | 464 | wmc_write(WMC_PLL_K3, sctrl_table[sampling_control].pllk3); |
465 | 465 | ||
466 | /* Turn on PLL. */ | 466 | /* Turn on PLL. */ |
467 | wmc_set(WMC_POWER_MANAGEMENT1, WMC_PLLEN); | 467 | wmc_set(WMC_POWER_MANAGEMENT1, WMC_PLLEN); |