summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/asurada/chromeos.c2
-rw-r--r--src/mainboard/google/asurada/gpio.h2
-rw-r--r--src/mainboard/google/asurada/mainboard.c13
3 files changed, 17 insertions, 0 deletions
diff --git a/src/mainboard/google/asurada/chromeos.c b/src/mainboard/google/asurada/chromeos.c
index a57392bc04..56a1084e81 100644
--- a/src/mainboard/google/asurada/chromeos.c
+++ b/src/mainboard/google/asurada/chromeos.c
@@ -15,6 +15,7 @@ void setup_chromeos_gpios(void)
gpio_input_pullup(GPIO_H1_AP_INT);
gpio_input_pullup(GPIO_SD_CD);
gpio_output(GPIO_RESET, 0);
+ gpio_output(GPIO_EN_SPK_AMP, 0);
}
void fill_lb_gpios(struct lb_gpios *gpios)
@@ -24,6 +25,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
{GPIO_EC_AP_INT.id, ACTIVE_LOW, -1, "EC interrupt"},
{GPIO_H1_AP_INT.id, ACTIVE_HIGH, -1, "TPM interrupt"},
{GPIO_SD_CD.id, ACTIVE_HIGH, -1, "SD card detect"},
+ {GPIO_EN_SPK_AMP.id, ACTIVE_HIGH, -1, "speaker enable"},
};
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}
diff --git a/src/mainboard/google/asurada/gpio.h b/src/mainboard/google/asurada/gpio.h
index 90de583f77..ae34d33313 100644
--- a/src/mainboard/google/asurada/gpio.h
+++ b/src/mainboard/google/asurada/gpio.h
@@ -14,6 +14,8 @@
#define GPIO_SD_CD GPIO(EINT17)
/* AP_EC_WARM_RST_REQ */
#define GPIO_RESET GPIO(CAM_PDN2)
+/* EN_SPK */
+#define GPIO_EN_SPK_AMP GPIO(CAM_PDN1)
void setup_chromeos_gpios(void);
diff --git a/src/mainboard/google/asurada/mainboard.c b/src/mainboard/google/asurada/mainboard.c
index f836724df6..812cb006da 100644
--- a/src/mainboard/google/asurada/mainboard.c
+++ b/src/mainboard/google/asurada/mainboard.c
@@ -193,10 +193,23 @@ static void configure_sdcard(void)
mainboard_enable_regulator(MTK_REGULATOR_VCCQ, enable);
}
+static void configure_audio(void)
+{
+ /* Audio PWR */
+ mtcmos_audio_power_on();
+
+ /* SoC I2S */
+ gpio_set_mode(GPIO(I2S3_MCK), PAD_I2S3_MCK_FUNC_I2S3_MCK);
+ gpio_set_mode(GPIO(I2S3_BCK), PAD_I2S3_BCK_FUNC_I2S3_BCK);
+ gpio_set_mode(GPIO(I2S3_LRCK), PAD_I2S3_LRCK_FUNC_I2S3_LRCK);
+ gpio_set_mode(GPIO(I2S3_DO), PAD_I2S3_DO_FUNC_I2S3_DO);
+}
+
static void mainboard_init(struct device *dev)
{
configure_emmc();
configure_sdcard();
+ configure_audio();
setup_usb_host();
register_reset_to_bl31();