blob: db12aa36ebcd7d20f36536341d30517cca498bcd [file] [log] [blame]
Jan Sameka2035cc2022-11-21 09:59:53 +01001chip soc/intel/elkhartlake
2
Arthur Heymans69cd7292022-11-07 13:52:11 +01003 device cpu_cluster 0 on end
Jan Sameka2035cc2022-11-21 09:59:53 +01004
5 # GPE configuration
6 # Note that GPE events called out in ASL code rely on this
7 # route. i.e. If this route changes then the affected GPE
8 # offset bits also need to be changed.
9 register "pmc_gpe0_dw0" = "GPP_B"
10 register "pmc_gpe0_dw1" = "GPP_F"
11 register "pmc_gpe0_dw2" = "GPP_E"
12
13 # FSP configuration
14 register "SaGv" = "SaGv_Disabled"
15
16 # Enable IBECC for the complete memory
17 register "ibecc" = "{
18 .enable = 1,
19 .mode = IBECC_ALL
20 }"
21
22 # USB related UPDs
Jan Samekfc8ad372023-06-15 10:25:05 +020023 register "usb2_ports[0]" = "USB2_PORT_EMPTY" # UNUSED
Jan Samekd0627c72023-06-09 13:11:45 +020024 register "usb2_ports[1]" = "USB2_PORT_EMPTY" # UNUSED
Jan Sameka2035cc2022-11-21 09:59:53 +010025 register "usb2_ports[2]" = "USB2_PORT_MID(OC0)" # X145/X155
26 register "usb2_ports[3]" = "USB2_PORT_MID(OC0)" # X145/X155
27 register "usb2_ports[4]" = "USB2_PORT_MID(OC3)" # USB Panel
28 register "usb2_ports[5]" = "USB2_PORT_MID(OC3)" # USB Panel
29 register "usb2_ports[6]" = "USB2_PORT_EMPTY"
30 register "usb2_ports[7]" = "USB2_PORT_EMPTY"
31 register "usb2_ports[8]" = "USB2_PORT_EMPTY"
32 register "usb2_ports[9]" = "USB2_PORT_EMPTY"
33
Jan Samekfc8ad372023-06-15 10:25:05 +020034 register "usb3_ports[0]" = "USB3_PORT_EMPTY" # UNUSED
Jan Samekd0627c72023-06-09 13:11:45 +020035 register "usb3_ports[1]" = "USB3_PORT_EMPTY" # UNUSED
Jan Sameka2035cc2022-11-21 09:59:53 +010036 register "usb3_ports[2]" = "USB3_PORT_EMPTY" # UNUSED
37 register "usb3_ports[3]" = "USB3_PORT_EMPTY" # UNUSED
38
39 # Skip the CPU replacement check
40 register "SkipCpuReplacementCheck" = "1"
41
42 # PCIe root ports related UPDs
Jan Sameka2035cc2022-11-21 09:59:53 +010043 register "PcieClkSrcUsage[0]" = "PCIE_CLK_NOTUSED"
44 register "PcieClkSrcUsage[1]" = "PCIE_CLK_FREE"
Jan Sameka1a8f582022-12-01 14:52:51 +010045 register "PcieClkSrcUsage[2]" = "PCIE_CLK_FREE"
Jan Sameka2035cc2022-11-21 09:59:53 +010046 register "PcieClkSrcUsage[3]" = "PCIE_CLK_NOTUSED"
Jan Sameka1a8f582022-12-01 14:52:51 +010047 register "PcieClkSrcUsage[4]" = "PCIE_CLK_NOTUSED"
48 register "PcieClkSrcUsage[5]" = "PCIE_CLK_FREE"
Jan Sameka2035cc2022-11-21 09:59:53 +010049
50 register "PcieClkSrcClkReq[0]" = "PCIE_CLK_NOTUSED"
51 register "PcieClkSrcClkReq[1]" = "PCIE_CLK_NOTUSED"
52 register "PcieClkSrcClkReq[2]" = "PCIE_CLK_NOTUSED"
53 register "PcieClkSrcClkReq[3]" = "PCIE_CLK_NOTUSED"
54 register "PcieClkSrcClkReq[4]" = "PCIE_CLK_NOTUSED"
55 register "PcieClkSrcClkReq[5]" = "PCIE_CLK_NOTUSED"
56
57 # Disable all L1 substates for PCIe root ports
58 register "PcieRpL1Substates[1]" = "L1_SS_DISABLED"
Jan Sameka1a8f582022-12-01 14:52:51 +010059 register "PcieRpL1Substates[2]" = "L1_SS_DISABLED"
60 register "PcieRpL1Substates[4]" = "L1_SS_DISABLED"
Jan Sameka2035cc2022-11-21 09:59:53 +010061
62 # Disable LTR for all PCIe root ports
63 register "PcieRpLtrDisable[1]" = "true"
Jan Sameka1a8f582022-12-01 14:52:51 +010064 register "PcieRpLtrDisable[2]" = "true"
65 register "PcieRpLtrDisable[4]" = "true"
Jan Sameka2035cc2022-11-21 09:59:53 +010066
67 # Storage (SDCARD/EMMC) related UPDs
68 register "ScsEmmcHs400Enabled" = "0"
69 register "ScsEmmcDdr50Enabled" = "1"
70 register "SdCardPowerEnableActiveHigh" = "1"
71
72 # GPIO for SD card detect
73 register "sdcard_cd_gpio" = "GPP_G5"
74
75 # LPSS Serial IO (I2C/UART/GSPI) related UPDs
76 register "SerialIoI2cMode" = "{
77 [PchSerialIoIndexI2C0] = PchSerialIoPci,
78 [PchSerialIoIndexI2C1] = PchSerialIoPci,
79 [PchSerialIoIndexI2C2] = PchSerialIoPci,
80 [PchSerialIoIndexI2C3] = PchSerialIoPci,
81 [PchSerialIoIndexI2C4] = PchSerialIoPci,
82 [PchSerialIoIndexI2C5] = PchSerialIoPci,
83 [PchSerialIoIndexI2C6] = PchSerialIoDisabled,
84 [PchSerialIoIndexI2C7] = PchSerialIoDisabled,
85 }"
86
87 register "SerialIoUartMode" = "{
88 [PchSerialIoIndexUART0] = PchSerialIoPci,
89 [PchSerialIoIndexUART1] = PchSerialIoPci,
90 [PchSerialIoIndexUART2] = PchSerialIoPci,
91 }"
92
93 register "SerialIoUartDmaEnable" = "{
94 [PchSerialIoIndexUART0] = 1,
95 [PchSerialIoIndexUART1] = 1,
96 [PchSerialIoIndexUART2] = 1,
97 }"
98
99 # TSN GBE related UPDs
100 register "PchTsnGbeLinkSpeed" = "Tsn_1_Gbps"
101 register "PchTsnGbeSgmiiEnable" = "1"
102 register "PseDmaOwn[0]" = "Host_Owned"
103 register "PseDmaOwn[1]" = "Host_Owned"
104 register "pch_tsn_phy_irq_edge" = "RISING_EDGE"
105 register "pse_tsn_phy_irq_edge[0]" = "RISING_EDGE"
106 register "pse_tsn_phy_irq_edge[1]" = "RISING_EDGE"
107
108 register "common_soc_config" = "{
109 .i2c[1] = {
110 .speed = I2C_SPEED_STANDARD,
111 .speed_config[0] = {
112 .speed = I2C_SPEED_STANDARD,
113 .scl_hcnt = 0x1e1,
114 .scl_lcnt = 0x1f4,
115 .sda_hold = 0x64
116 },
117 },
118 .i2c[2] = {
119 .speed = I2C_SPEED_STANDARD,
120 .speed_config[0] = {
121 .speed = I2C_SPEED_STANDARD,
122 .scl_hcnt = 0x1df,
123 .scl_lcnt = 0x1f4,
124 .sda_hold = 0x64
125 },
126 },
127 }"
128
129 # FIVR related settings
130 register "fivr" = "{
131 .fivr_config_en = true,
132 .vcc_low_high_us = 50,
133 }"
134
135 # Disable L1 prefetcher for real-time demands
136 register "L1_prefetcher_disable" = "true"
137
138 device domain 0 on
139 device pci 00.0 on end # Host Bridge
140 device pci 02.0 on end # Integrated Graphics Device
141
142 device pci 14.0 on end # USB3.1 xHCI
143
144 device pci 15.0 on end # I2C0
145 device pci 15.1 on # I2C1
146 # Enable external RTC chip
147 chip drivers/i2c/rv3028c7
148 register "bus_speed" = "I2C_SPEED_STANDARD"
149 register "set_user_date" = "1"
150 register "user_year" = "04"
151 register "user_month" = "07"
152 register "user_day" = "01"
153 register "user_weekday" = "4"
154 register "bckup_sw_mode" = "BACKUP_SW_LEVEL"
155 register "cap_charge" = "CHARGE_OFF"
156 device i2c 0x52 on end # RTC RV3028-C7
157 end
158 end
159 device pci 15.2 on # I2C2
Jan Samekd6244532022-12-02 12:44:24 +0100160 # Enable external display bridge (eDP to LVDS)
161 chip drivers/i2c/ptn3460
162 device i2c 0x20 on end # PTN3460 DP2LVDS Bridge
163 end
164 # Add dummy I2C device to limit BUS speed to 100 kHz in OS
Jan Sameka2035cc2022-11-21 09:59:53 +0100165 chip drivers/i2c/generic
166 register "hid" = ""PRP0001""
167 register "speed" = "I2C_SPEED_STANDARD"
168 device i2c 0x7f on end
169 end
170 end
171 device pci 15.3 on end # I2C3
172
173 device pci 16.0 hidden end # Management Engine Interface 1
174
175 device pci 19.0 on end # I2C4
176 device pci 19.1 on end # I2C5
177 device pci 19.2 on end # UART2
178
179 device pci 1a.0 on end # eMMC
180 device pci 1a.1 on end # SD
181
Jan Sameka1a8f582022-12-01 14:52:51 +0100182 device pci 1c.1 on end # RP2
183 device pci 1c.2 on end # RP3
184 device pci 1c.4 on end # RP5
Jan Sameka2035cc2022-11-21 09:59:53 +0100185
186 device pci 1d.0 off end # Intel PSE IPC (local host to PSE)
Jan Samek545c53292023-10-16 10:36:58 +0200187 device pci 1d.1 on # Intel PSE Time-Sensitive Networking GbE 0
Jan Sameka2035cc2022-11-21 09:59:53 +0100188 # Enable external Marvell PHY 88E1512
189 chip drivers/net/phy/m88e1512
190 register "configure_leds" = "true"
191 # LED[0]: On - 1000 Mbps Link, Off - Else
192 register "led_0_ctrl" = "7"
193 # LED[1]: On - Link, Blink - Activity, Off - No Link
194 register "led_1_ctrl" = "1"
195 # INTn is routed to LED[2] pin
196 register "enable_int" = "true"
197 register "downshift_cnt" = "2"
Jan Samek545c53292023-10-16 10:36:58 +0200198 device mdio 0 on # PHY address
Jan Sameka2035cc2022-11-21 09:59:53 +0100199 ops m88e1512_ops
200 end
201 end
202 end
203
204 device pci 1e.0 on end # UART0
205 device pci 1e.1 on end # UART1
206 device pci 1e.4 on # PCH Time-Sensitive Networking GbE
207 # Enable external Marvell PHY 88E1512
208 chip drivers/net/phy/m88e1512
209 register "configure_leds" = "true"
210 # LED[0]: On - 1000 Mbps Link, Off - Else
211 register "led_0_ctrl" = "7"
212 # LED[1]: On - Link, Blink - Activity, Off - No Link
213 register "led_1_ctrl" = "1"
214 # INTn is routed to LED[2] pin
215 register "enable_int" = "true"
216 register "downshift_cnt" = "2"
217 device mdio 1 on # PHY address
218 ops m88e1512_ops
219 end
220 end
221 end
222
223 device pci 1f.0 on # eSPI Interface
224 chip drivers/pc80/tpm
225 device pnp 0c31.0 on end
226 end
227 end
228 device pci 1f.2 hidden end # Power Management Controller
229 device pci 1f.4 on end # SMBus
230 device pci 1f.5 on end # PCH SPI (flash & TPM)
231 end
232end