soc/intel/cannonlake: Set correct serirq mode based on SERIRQ_CONTINUOUS_MODE
Tested on system76 galp3-c Signed-off-by: Jeremy Soller <jeremy@system76.com> Change-Id: I9ad4f5a6c7391fc6e813ec1306c708f449a69f59
This commit is contained in:
@@ -337,6 +337,11 @@ struct soc_intel_cannonlake_config {
|
|||||||
*/
|
*/
|
||||||
uint8_t SerialIoDevMode[PchSerialIoIndexMAX];
|
uint8_t SerialIoDevMode[PchSerialIoIndexMAX];
|
||||||
|
|
||||||
|
enum {
|
||||||
|
SERIAL_IRQ_QUIET_MODE = 0,
|
||||||
|
SERIAL_IRQ_CONTINUOUS_MODE = 1,
|
||||||
|
} SerialIrqConfigSirqMode;
|
||||||
|
|
||||||
/* GPIO SD card detect pin */
|
/* GPIO SD card detect pin */
|
||||||
unsigned int sdcard_cd_gpio;
|
unsigned int sdcard_cd_gpio;
|
||||||
|
|
||||||
|
@@ -361,6 +361,9 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
|
|||||||
|
|
||||||
/* Unlock all GPIO pads */
|
/* Unlock all GPIO pads */
|
||||||
tconfig->PchUnlockGpioPads = config->PchUnlockGpioPads;
|
tconfig->PchUnlockGpioPads = config->PchUnlockGpioPads;
|
||||||
|
|
||||||
|
/* Set correct Sirq mode based on config */
|
||||||
|
params->PchSirqMode = config->SerialIrqConfigSirqMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mainboard GPIO Configuration */
|
/* Mainboard GPIO Configuration */
|
||||||
|
@@ -219,6 +219,8 @@ static void clock_gate_8254(const struct device *dev)
|
|||||||
|
|
||||||
void lpc_soc_init(struct device *dev)
|
void lpc_soc_init(struct device *dev)
|
||||||
{
|
{
|
||||||
|
const config_t *config = dev->chip_info;
|
||||||
|
|
||||||
/* Legacy initialization */
|
/* Legacy initialization */
|
||||||
isa_dma_init();
|
isa_dma_init();
|
||||||
pch_misc_init();
|
pch_misc_init();
|
||||||
@@ -227,7 +229,7 @@ void lpc_soc_init(struct device *dev)
|
|||||||
lpc_enable_pci_clk_cntl();
|
lpc_enable_pci_clk_cntl();
|
||||||
|
|
||||||
/* Set LPC Serial IRQ mode */
|
/* Set LPC Serial IRQ mode */
|
||||||
if (CONFIG(SERIRQ_CONTINUOUS_MODE))
|
if (config->SerialIrqConfigSirqMode)
|
||||||
lpc_set_serirq_mode(SERIRQ_CONTINUOUS);
|
lpc_set_serirq_mode(SERIRQ_CONTINUOUS);
|
||||||
else
|
else
|
||||||
lpc_set_serirq_mode(SERIRQ_QUIET);
|
lpc_set_serirq_mode(SERIRQ_QUIET);
|
||||||
|
Reference in New Issue
Block a user