2 * This file is part of the coreboot project.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
21 #include <intelblocks/cfg.h>
24 struct soc_intel_xeon_sp_config
{
25 /* Common struct containing soc config data required by common code */
26 struct soc_intel_common_config common_soc_config
;
29 * Interrupt Routing configuration
30 * If bit7 is 1, the interrupt is disabled.
32 uint8_t pirqa_routing
;
33 uint8_t pirqb_routing
;
34 uint8_t pirqc_routing
;
35 uint8_t pirqd_routing
;
36 uint8_t pirqe_routing
;
37 uint8_t pirqf_routing
;
38 uint8_t pirqg_routing
;
39 uint8_t pirqh_routing
;
42 * Device Interrupt Routing configuration
43 * Interrupt Pin x Route.
53 uint16_t ir00_routing
;
54 uint16_t ir01_routing
;
55 uint16_t ir02_routing
;
56 uint16_t ir03_routing
;
57 uint16_t ir04_routing
;
60 * Device Interrupt Polarity Control
61 * ipc0 - IRQ-00-31 - 1: Active low to IOAPIC, 0: Active high to IOAPIC
62 * ipc1 - IRQ-32-63 - 1: Active low to IOAPIC, 0: Active high to IOAPIC
63 * ipc2 - IRQ-64-95 - 1: Active low to IOAPIC, 0: Active high to IOAPIC
64 * ipc3 - IRQ-96-119 - 1: Active low to IOAPIC, 0: Active high to IOAPIC
71 uint64_t turbo_ratio_limit
;
72 uint64_t turbo_ratio_limit_cores
;
74 uint32_t pstate_req_ratio
;
77 uint32_t coherency_support
;
81 extern struct chip_operations soc_intel_xeon_sp_ops
;
83 typedef struct soc_intel_xeon_sp_config config_t
;