Ravi kumar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/57449 )
Change subject: Herobrine: sc7280: Add support for audio ......................................................................
Herobrine: sc7280: Add support for audio
Add gpio configuration for target specific i2s ports
BUG=b:182963902 TEST=Validated on qualcomm sc7280 developement board
Signed-off-by: Srinivasa Rao Mandadapu srivasam@codeaurora.org Change-Id: I2ce95332f892d5d4acb2755307df84d37feb8002 --- M src/mainboard/google/herobrine/board.h M src/mainboard/google/herobrine/chromeos.c M src/mainboard/google/herobrine/mainboard.c 3 files changed, 18 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/49/57449/1
diff --git a/src/mainboard/google/herobrine/board.h b/src/mainboard/google/herobrine/board.h index c437651..9ca14a3 100644 --- a/src/mainboard/google/herobrine/board.h +++ b/src/mainboard/google/herobrine/board.h @@ -20,6 +20,7 @@
#define GPIO_SD_CD_L GPIO(91)
+#define GPIO_AMP_ENABLE GPIO(63) #define QCOM_SC7280_SKU1 0x0 #define QCOM_SC7280_SKU2 0x1 #define QCOM_SC7280_SKU3 0x3 diff --git a/src/mainboard/google/herobrine/chromeos.c b/src/mainboard/google/herobrine/chromeos.c index 6237f4f..6857d6e 100644 --- a/src/mainboard/google/herobrine/chromeos.c +++ b/src/mainboard/google/herobrine/chromeos.c @@ -11,6 +11,7 @@ gpio_input_pullup(GPIO_AP_EC_INT); gpio_input_pullup(GPIO_SD_CD_L); gpio_input_irq(GPIO_H1_AP_INT, IRQ_TYPE_RISING_EDGE, GPIO_PULL_UP); + gpio_output(GPIO_AMP_ENABLE, 0); }
void fill_lb_gpios(struct lb_gpios *gpios) @@ -24,6 +25,8 @@ "SD card detect"}, {GPIO_H1_AP_INT.addr, ACTIVE_HIGH, gpio_get(GPIO_H1_AP_INT), "TPM interrupt"}, + {GPIO_AMP_ENABLE.addr, ACTIVE_HIGH, gpio_get(GPIO_AMP_ENABLE), + "speaker enable"}, };
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios)); diff --git a/src/mainboard/google/herobrine/mainboard.c b/src/mainboard/google/herobrine/mainboard.c index c1c2a57..e4ea344 100644 --- a/src/mainboard/google/herobrine/mainboard.c +++ b/src/mainboard/google/herobrine/mainboard.c @@ -49,6 +49,19 @@ setup_usb_host0(); }
+static void qi2s_configure_gpios(void) +{ + + gpio_configure(GPIO(106), GPIO106_FUNC_MI2S1_SCK, + GPIO_NO_PULL, GPIO_16MA, GPIO_OUTPUT); + + gpio_configure(GPIO(108), GPIO108_FUNC_MI2S1_WS, + GPIO_NO_PULL, GPIO_16MA, GPIO_OUTPUT); + + gpio_configure(GPIO(107), GPIO107_FUNC_MI2S1_DATA0, + GPIO_NO_PULL, GPIO_16MA, GPIO_OUTPUT); +} + static void mainboard_init(struct device *dev) { /* Configure clock for eMMC */ @@ -82,6 +95,7 @@ setup_usb(); /* Set up PCIe in RC mode */ setup_pcie(); + qi2s_configure_gpios(); }
static void mainboard_enable(struct device *dev)