#include <console/console.h> #include <device/device.h> #include <device/pci.h> #include <device/pci_def.h> #include <device/pci_ids.h> #include <reg_script.h> #include <soc/intel/common/hda_verb.h> #include <soc/iomap.h> #include <soc/iosf.h> #include <soc/pci_devs.h> #include <soc/ramstage.h> static const struct reg_script init_ops[] = { /* Enable no snoop traffic. */ REG_PCI_OR16(0x78, 1 << 11), /* Configure HDMI codec connection. */ REG_PCI_OR32(0xc4, 1 << 1), REG_PCI_OR8(0x43, (1 << 3) | (1 << 6)), REG_IOSF_WRITE(IOSF_PORT_PMC, PUNIT_PWRGT_CONTROL, 0xc0), REG_IOSF_WRITE(IOSF_PORT_PMC, PUNIT_PWRGT_CONTROL, 0x00), /* Configure internal settings. */ REG_PCI_OR32(0xc0, 0x7 << 21), REG_PCI_OR32(0xc4, (0x3 << 26) | (1 << 13) | (1 << 10)), REG_PCI_WRITE32(0xc8, 0x82a30000), REG_PCI_RMW32(0xd0, ~(1 << 31), 0x0), /* Disable docking. */ REG_PCI_RMW8(0x4d, ~(1 << 7), 0), REG_SCRIPT_END, };
#include <stdint.h> #include <reg_script.h> #include <baytrail/iomap.h> #include <baytrail/iosf.h> #include <baytrail/pci_devs.h> #include <baytrail/pmc.h> #include <baytrail/ramstage.h> #include <baytrail/ehci.h> #include "chip.h" static const struct reg_script ehci_init_script[] = { /* Enable S0 PLL shutdown * D29:F0:7A[12,10,7,6,4,3,2,1]=11111111b */ REG_PCI_OR16(0x7a, 0x14de), /* Enable SB local clock gating * D29:F0:7C[14,3,2]=111b (14 set in clock gating step) */ REG_PCI_OR32(0x7c, 0x0000000c), REG_PCI_OR32(0x8c, 0x00000001), /* Enable dynamic clock gating 0x4001=0xCE */ REG_IOSF_RMW(IOSF_PORT_USBPHY, 0x4001, 0xFFFFFF00, 0xCE), /* Magic RCBA register set sequence */ /* RCBA + 0x200=0x1 */ REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x200, 0x00000001), /* RCBA + 0x204=0x2 */ REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x204, 0x00000002), /* RCBA + 0x208=0x0 */ REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x208, 0x00000000), /* RCBA + 0x240[4,3,2,1,0]=00000b */ REG_MMIO_RMW32(RCBA_BASE_ADDRESS + 0x240, ~0x0000001f, 0),
#include <bootstate.h> #include <console/console.h> #include <console/post_codes.h> #include <cpu/x86/smm.h> #include <reg_script.h> #include <spi-generic.h> #include <stdlib.h> #include <soc/pci_devs.h> #include <soc/lpc.h> #include <soc/me.h> #include <soc/rcba.h> #include <soc/spi.h> #include <soc/systemagent.h> const struct reg_script system_agent_finalize_script[] = { REG_PCI_OR16(0x50, 1 << 0), /* GGC */ REG_PCI_OR32(0x5c, 1 << 0), /* DPR */ REG_PCI_OR32(0x78, 1 << 10), /* ME */ REG_PCI_OR32(0x90, 1 << 0), /* REMAPBASE */ REG_PCI_OR32(0x98, 1 << 0), /* REMAPLIMIT */ REG_PCI_OR32(0xa0, 1 << 0), /* TOM */ REG_PCI_OR32(0xa8, 1 << 0), /* TOUUD */ REG_PCI_OR32(0xb0, 1 << 0), /* BDSM */ REG_PCI_OR32(0xb4, 1 << 0), /* BGSM */ REG_PCI_OR32(0xb8, 1 << 0), /* TSEGMB */ REG_PCI_OR32(0xbc, 1 << 0), /* TOLUD */ REG_MMIO_OR32(MCH_BASE_ADDRESS + 0x5500, 1 << 0), /* PAVP */ REG_MMIO_OR32(MCH_BASE_ADDRESS + 0x5f00, 1 << 31), /* SA PM */ REG_MMIO_OR32(MCH_BASE_ADDRESS + 0x6020, 1 << 0), /* UMA GFX */ REG_MMIO_OR32(MCH_BASE_ADDRESS + 0x63fc, 1 << 0), /* VTDTRK */ REG_MMIO_OR32(MCH_BASE_ADDRESS + 0x6800, 1 << 31),