google/kukui: Support sound in boot process
Configure and enable GPIO for speaker amp max98357a. BUG=b:117254418 TEST=Build pass and verified on kukui p1 board BRANCH=None Change-Id: I97655702dff402245326d2eff71fae0e336df9f5 Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32459 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
3c0d23b6ab
commit
30bc9f415d
|
@ -27,6 +27,7 @@ void setup_chromeos_gpios(void)
|
|||
gpio_input_pullup(EC_IRQ);
|
||||
gpio_input_pullup(CR50_IRQ);
|
||||
gpio_output(GPIO_RESET, 0);
|
||||
gpio_output(GPIO_EN_SPK_AMP, 0);
|
||||
}
|
||||
|
||||
void fill_lb_gpios(struct lb_gpios *gpios)
|
||||
|
@ -38,6 +39,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
|||
{EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"},
|
||||
{EC_IRQ.id, ACTIVE_LOW, -1, "EC interrupt"},
|
||||
{CR50_IRQ.id, ACTIVE_HIGH, -1, "TPM interrupt"},
|
||||
{GPIO_EN_SPK_AMP.id, ACTIVE_HIGH, -1, "speaker enable"},
|
||||
};
|
||||
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#define EC_IN_RW GPIO(PERIPHERAL_EN14)
|
||||
#define CR50_IRQ GPIO(PERIPHERAL_EN3)
|
||||
#define GPIO_RESET GPIO(PERIPHERAL_EN8)
|
||||
#define GPIO_EN_SPK_AMP GPIO(PERIPHERAL_EN12)
|
||||
|
||||
void setup_chromeos_gpios(void);
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <device/device.h>
|
||||
#include <soc/gpio.h>
|
||||
#include <soc/mmu_operations.h>
|
||||
#include <soc/mtcmos.h>
|
||||
#include <soc/usb.h>
|
||||
|
||||
static void configure_emmc(void)
|
||||
|
@ -37,10 +38,22 @@ static void configure_usb(void)
|
|||
setup_usb_host();
|
||||
}
|
||||
|
||||
static void configure_audio(void)
|
||||
{
|
||||
/* Audio PWR*/
|
||||
mtcmos_audio_power_on();
|
||||
|
||||
/* SoC I2S */
|
||||
gpio_set_mode(GPIO(CAM_RST0), PAD_CAM_RST0_FUNC_I2S2_LRCK);
|
||||
gpio_set_mode(GPIO(CAM_PDN1), PAD_CAM_PDN1_FUNC_I2S2_BCK);
|
||||
gpio_set_mode(GPIO(CAM_PDN0), PAD_CAM_PDN0_FUNC_I2S2_MCK);
|
||||
gpio_set_mode(GPIO(EINT3), PAD_EINT3_FUNC_I2S3_DO);
|
||||
}
|
||||
static void mainboard_init(struct device *dev)
|
||||
{
|
||||
configure_emmc();
|
||||
configure_usb();
|
||||
configure_audio();
|
||||
}
|
||||
|
||||
static void mainboard_enable(struct device *dev)
|
||||
|
|
Loading…
Reference in New Issue