mb/google(sandybrige): Clean up LPC and IOAPIC configuration
Only set LPC decode bits that the generic PCH code doesn't set yet. And don't enable the IOAPIC, which is already done by generic code. Change-Id: I9d2f6a9ad3f5d83573e07596f2763edc75f4ee64 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36891 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
3ad93615be
commit
e036aaede4
|
@ -28,13 +28,6 @@
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void mainboard_pch_lpc_setup(void)
|
|
||||||
{
|
|
||||||
/* EC Decode Range Port60/64 and Port62/66 */
|
|
||||||
/* Enable EC and PS/2 Keyboard/Mouse*/
|
|
||||||
pci_write_config16(PCH_LPC_DEV, LPC_EN, KBC_LPC_EN | MC_LPC_EN);
|
|
||||||
}
|
|
||||||
|
|
||||||
void mainboard_late_rcba_config(void)
|
void mainboard_late_rcba_config(void)
|
||||||
{
|
{
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
|
@ -76,11 +69,6 @@ void mainboard_late_rcba_config(void)
|
||||||
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
|
|
||||||
/* Enable IOAPIC (generic) */
|
|
||||||
RCBA16(OIC) = 0x0100;
|
|
||||||
/* PCH BWG says to read back the IOAPIC enable register */
|
|
||||||
(void) RCBA16(OIC);
|
|
||||||
|
|
||||||
/* Disable unused devices (board specific) */
|
/* Disable unused devices (board specific) */
|
||||||
reg32 = RCBA32(FD);
|
reg32 = RCBA32(FD);
|
||||||
/* Disable PCI bridge so MRC does not probe this bus */
|
/* Disable PCI bridge so MRC does not probe this bus */
|
||||||
|
|
|
@ -34,9 +34,8 @@
|
||||||
|
|
||||||
void mainboard_pch_lpc_setup(void)
|
void mainboard_pch_lpc_setup(void)
|
||||||
{
|
{
|
||||||
/* Enable PS/2 Keyboard/Mouse, EC areas and COM1 */
|
/* Enable additional 0x200..0x207 for EC */
|
||||||
pci_write_config16(PCH_LPC_DEV, LPC_EN, KBC_LPC_EN | MC_LPC_EN | \
|
pci_or_config16(PCH_LPC_DEV, LPC_EN, GAMEL_LPC_EN);
|
||||||
GAMEL_LPC_EN | COMA_LPC_EN);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void mainboard_late_rcba_config(void)
|
void mainboard_late_rcba_config(void)
|
||||||
|
@ -74,11 +73,6 @@ void mainboard_late_rcba_config(void)
|
||||||
DIR_ROUTE(D26IR, PIRQF, PIRQE, PIRQG, PIRQH);
|
DIR_ROUTE(D26IR, PIRQF, PIRQE, PIRQG, PIRQH);
|
||||||
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
|
|
||||||
/* Enable IOAPIC (generic) */
|
|
||||||
RCBA16(OIC) = 0x0100;
|
|
||||||
/* PCH BWG says to read back the IOAPIC enable register */
|
|
||||||
(void) RCBA16(OIC);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t *locate_spd(void)
|
static uint8_t *locate_spd(void)
|
||||||
|
|
|
@ -68,11 +68,6 @@ void mainboard_late_rcba_config(void)
|
||||||
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D25IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
|
|
||||||
/* Enable IOAPIC (generic) */
|
|
||||||
RCBA16(OIC) = 0x0100;
|
|
||||||
/* PCH BWG says to read back the IOAPIC enable register */
|
|
||||||
(void) RCBA16(OIC);
|
|
||||||
|
|
||||||
/* Disable unused devices (board specific) */
|
/* Disable unused devices (board specific) */
|
||||||
reg32 = RCBA32(FD);
|
reg32 = RCBA32(FD);
|
||||||
/* Disable PCI bridge so MRC does not probe this bus */
|
/* Disable PCI bridge so MRC does not probe this bus */
|
||||||
|
|
|
@ -30,19 +30,6 @@
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
void mainboard_pch_lpc_setup(void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Enable:
|
|
||||||
* EC Decode Range Port62/66
|
|
||||||
* SuperIO Port2E/2F
|
|
||||||
* PS/2 Keyboard/Mouse Port60/64
|
|
||||||
* FDD Port3F0h-3F5h and Port3F7h
|
|
||||||
*/
|
|
||||||
pci_write_config16(PCH_LPC_DEV, LPC_EN, KBC_LPC_EN | MC_LPC_EN |
|
|
||||||
CNF1_LPC_EN | FDD_LPC_EN);
|
|
||||||
}
|
|
||||||
|
|
||||||
void mainboard_late_rcba_config(void)
|
void mainboard_late_rcba_config(void)
|
||||||
{
|
{
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
|
@ -85,11 +72,6 @@ void mainboard_late_rcba_config(void)
|
||||||
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
DIR_ROUTE(D22IR, PIRQA, PIRQB, PIRQC, PIRQD);
|
||||||
DIR_ROUTE(D20IR, PIRQD, PIRQE, PIRQF, PIRQG);
|
DIR_ROUTE(D20IR, PIRQD, PIRQE, PIRQF, PIRQG);
|
||||||
|
|
||||||
/* Enable IOAPIC (generic) */
|
|
||||||
RCBA16(OIC) = 0x0100;
|
|
||||||
/* PCH BWG says to read back the IOAPIC enable register */
|
|
||||||
(void) RCBA16(OIC);
|
|
||||||
|
|
||||||
/* Disable unused devices (board specific) */
|
/* Disable unused devices (board specific) */
|
||||||
reg32 = RCBA32(FD);
|
reg32 = RCBA32(FD);
|
||||||
/* Disable PCI bridge so MRC does not probe this bus */
|
/* Disable PCI bridge so MRC does not probe this bus */
|
||||||
|
|
Loading…
Reference in New Issue