From e7cb1bc7d5bb8afc60888cd79b0fb1834c92d5e7 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Fri, 28 Mar 2014 09:21:37 -0700 Subject: [PATCH] Big, Blaze: Set I2S1 Source to CLK_M to Fix Beep This is a companion patch of CL:191692 "Tegra: Fix Beep". TEST=Booted Big. Verified beeps at dev screen. Measured frequency by smartphone. Built Blaze. BUG=chrome-os-partner:26609 BRANCH=none Signed-off-by: Daisuke Nojiri Original-Change-Id: I9ba47d06202e9968a908c4a15cfbeac4bfe2c20c Original-Reviewed-on: https://chromium-review.googlesource.com/192063 Original-Reviewed-by: Daisuke Nojiri Original-Commit-Queue: Daisuke Nojiri Original-Tested-by: Daisuke Nojiri (cherry picked from commit 87a0f166e493b98d2a4e597f90ede090161fffdb) Signed-off-by: Marc Jones Change-Id: Id3b819745b0753862e8cfa43e7fa1ed4b27eb462 Reviewed-on: http://review.coreboot.org/7462 Reviewed-by: Edward O'Callaghan Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks --- src/mainboard/google/nyan_big/mainboard.c | 7 ++++--- src/mainboard/google/nyan_blaze/mainboard.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mainboard/google/nyan_big/mainboard.c b/src/mainboard/google/nyan_big/mainboard.c index 997ceb0c2e..75ff0e7132 100644 --- a/src/mainboard/google/nyan_big/mainboard.c +++ b/src/mainboard/google/nyan_big/mainboard.c @@ -53,10 +53,11 @@ static void set_clock_sources(void) clock_configure_irregular_source(extperiph1, CLK_M, 12000, 3); /* - * I2S1 can use either PLLP or PLLA. Using PLLP is sufficient now since - * we only need 4.8MHz. Note the source id of PLLP for I2S is 4. + * We need 1.5MHz. So, we use CLK_M. CLK_DIVIDER macro returns a divisor + * (0xe) a little bit off from the ideal value (0xd) but it's good + * enough for beeps. The source id of CLK_M for I2S is 6. */ - clock_configure_irregular_source(i2s1, PLLP, 4800, 4); + clock_configure_irregular_source(i2s1, CLK_M, 1500, 6); /* Note source id of PLLP for HOST1x is 4. */ clock_configure_irregular_source(host1x, PLLP, 408000, 4); diff --git a/src/mainboard/google/nyan_blaze/mainboard.c b/src/mainboard/google/nyan_blaze/mainboard.c index dc105c6976..2f385bcbc4 100644 --- a/src/mainboard/google/nyan_blaze/mainboard.c +++ b/src/mainboard/google/nyan_blaze/mainboard.c @@ -53,10 +53,11 @@ static void set_clock_sources(void) clock_configure_irregular_source(extperiph1, CLK_M, 12000, 3); /* - * I2S1 can use either PLLP or PLLA. Using PLLP is sufficient now since - * we only need 4.8MHz. Note the source id of PLLP for I2S is 4. + * We need 1.5MHz. So, we use CLK_M. CLK_DIVIDER macro returns a divisor + * (0xe) a little bit off from the ideal value (0xd) but it's good + * enough for beeps. The source id of CLK_M for I2S is 6. */ - clock_configure_irregular_source(i2s1, PLLP, 4800, 4); + clock_configure_irregular_source(i2s1, CLK_M, 1500, 6); /* Note source id of PLLP for HOST1x is 4. */ clock_configure_irregular_source(host1x, PLLP, 408000, 4);