summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Warren <twarren@nvidia.com>2014-11-10 09:29:32 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-04-10 12:00:54 +0200
commit58901b6b660783a47c308c1e66acfa84ee62d7e5 (patch)
tree3e953dad735ac6698ec93085cb78c423f437c187 /src
parentad73c4521b3512522d4b1728a5c280ae677f12f4 (diff)
downloadcoreboot-58901b6b660783a47c308c1e66acfa84ee62d7e5.tar.xz
ryu: audio: Enable RT5677 audio codec
Take codec out of reset (GPIO_PH1 aka CODEC_RST_L) and enable LDO2 (GPIO_PR2/KB_ROW2 aka AUDIO_ENABLE). Muxes are setup and the two GPIOs are set to output and driven high. BUG=chrome-os-partner:32582 BRANCH=none TEST=RealTek ALC5677 codec shows up in I2C6 scan at address 0x2D, can read/write registers. Change-Id: I236850452d401fd89b4f59eb03f132c0be32fb20 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 4fe3b0c1a3f5d6264b83d7a7e2363dc3f3235cbf Original-Change-Id: Iedce7bb9f8e61d3b8cd693fc5e567323d89f8046 Original-Signed-off-by: Tom Warren <twarren@nvidia.com> Original-Reviewed-on: https://chromium-review.googlesource.com/228920 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/9419 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/rush_ryu/mainboard.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mainboard/google/rush_ryu/mainboard.c b/src/mainboard/google/rush_ryu/mainboard.c
index 1af7e221cd..0f9822989f 100644
--- a/src/mainboard/google/rush_ryu/mainboard.c
+++ b/src/mainboard/google/rush_ryu/mainboard.c
@@ -42,11 +42,17 @@ static const struct pad_config mmcpads[] = {
PAD_CFG_SFIO(SDMMC4_DAT7, PINMUX_INPUT_ENABLE|PINMUX_PULL_UP, SDMMC4),
};
+static const struct pad_config audio_codec_pads[] = {
+ /* H1 is CODEC_RST_L and R2(ROW2) is AUDIO_ENABLE */
+ PAD_CFG_GPIO_OUT1(GPIO_PH1, PINMUX_PULL_DOWN),
+ PAD_CFG_GPIO_OUT1(KB_ROW2, PINMUX_PULL_DOWN),
+};
+
static const struct funit_cfg funits[] = {
/* MMC on SDMMC4 controller at 48MHz. */
FUNIT_CFG(SDMMC4, PLLP, 48000, mmcpads, ARRAY_SIZE(mmcpads)),
- /* I2C6 for audio, temp sensor, etc. */
- FUNIT_CFG(I2C6, PLLP, 400, NULL, 0),
+ /* I2C6 for audio, temp sensor, etc. Enable codec via GPIOs/muxes */
+ FUNIT_CFG(I2C6, PLLP, 400, audio_codec_pads, ARRAY_SIZE(audio_codec_pads)),
FUNIT_CFG_USB(USBD),
};