blob: 4b985d933e84769fa9c570cc9732bdbf3b3665e6 [file] [log] [blame]
raymondchungd1f30222020-02-11 15:07:39 +08001chip soc/intel/cannonlake
Seunghwan Kimaee0baf2020-04-12 16:00:58 +09002 register "tdp_pl1_override" = "15"
raymondchungd1f30222020-02-11 15:07:39 +08003 register "tdp_pl2_override" = "51"
4
5 register "SerialIoDevMode" = "{
6 [PchSerialIoIndexI2C0] = PchSerialIoPci,
7 [PchSerialIoIndexI2C1] = PchSerialIoPci,
8 [PchSerialIoIndexI2C2] = PchSerialIoPci,
9 [PchSerialIoIndexI2C3] = PchSerialIoPci,
10 [PchSerialIoIndexI2C4] = PchSerialIoPci,
11 [PchSerialIoIndexI2C5] = PchSerialIoPci,
12 [PchSerialIoIndexSPI0] = PchSerialIoPci,
13 [PchSerialIoIndexSPI1] = PchSerialIoPci,
14 [PchSerialIoIndexSPI2] = PchSerialIoDisabled,
15 [PchSerialIoIndexUART0] = PchSerialIoSkipInit,
16 [PchSerialIoIndexUART1] = PchSerialIoDisabled,
17 [PchSerialIoIndexUART2] = PchSerialIoDisabled,
18 }"
19
20 # No PCIe WiFi
21 register "PcieRpEnable[13]" = "0"
22
23 # Enable DMIC1
24 register "PchHdaAudioLinkDmic1" = "1"
25
Elyes HAOUASbfa81662020-03-25 08:05:28 +010026 register "usb2_ports[0]" = "USB2_PORT_LONG(OC2)" # Type-C Port 0
27 register "usb2_ports[1]" = "USB2_PORT_LONG(OC2)" # Type-C Port 1
raymondchungd1f30222020-02-11 15:07:39 +080028 register "usb2_ports[2]" = "USB2_PORT_EMPTY"
29 register "usb2_ports[3]" = "USB2_PORT_EMPTY"
30 register "usb2_ports[4]" = "USB2_PORT_EMPTY"
31 register "usb2_ports[5]" = "USB2_PORT_EMPTY"
Elyes HAOUASbfa81662020-03-25 08:05:28 +010032 register "usb2_ports[6]" = "USB2_PORT_LONG(OC_SKIP)" # Camera
raymondchungd1f30222020-02-11 15:07:39 +080033 register "usb2_ports[7]" = "USB2_PORT_EMPTY"
34 register "usb2_ports[8]" = "USB2_PORT_EMPTY"
Elyes HAOUASbfa81662020-03-25 08:05:28 +010035 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # CnVi BT
raymondchungd1f30222020-02-11 15:07:39 +080036
Elyes HAOUASbfa81662020-03-25 08:05:28 +010037 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 0
38 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 1
raymondchungd1f30222020-02-11 15:07:39 +080039 register "usb3_ports[2]" = "USB3_PORT_EMPTY"
40 register "usb3_ports[3]" = "USB3_PORT_EMPTY"
41 register "usb3_ports[4]" = "USB3_PORT_EMPTY"
42 register "usb3_ports[5]" = "USB3_PORT_EMPTY"
43
44 # Intel Common SoC Config
45 #+-------------------+---------------------------+
46 #| Field | Value |
47 #+-------------------+---------------------------+
48 #| I2C0 | Trackpad |
49 #| I2C1 | Touchscreen |
50 #| I2C2 | Digitizer |
51 #| I2C4 | Audio |
52 #+-------------------+---------------------------+
53 register "common_soc_config" = "{
54 .i2c[0] = {
55 .speed = I2C_SPEED_FAST,
56 .rise_time_ns = 135,
57 .fall_time_ns = 45,
58 },
59 .i2c[1] = {
60 .speed = I2C_SPEED_FAST,
61 .rise_time_ns = 60,
62 .fall_time_ns = 25,
63 },
64 .i2c[2] = {
65 .speed = I2C_SPEED_FAST,
66 .rise_time_ns = 95,
67 .fall_time_ns = 55,
68 },
69 .i2c[4] = {
70 .speed = I2C_SPEED_FAST,
71 .rise_time_ns = 104,
72 .fall_time_ns = 52,
73 },
74 .gspi[0] = {
Elyes HAOUASbfa81662020-03-25 08:05:28 +010075 .speed_mhz = 1,
76 .early_init = 1,
raymondchungd1f30222020-02-11 15:07:39 +080077 },
78 }"
79
80 # GPIO for SD card detect
81 register "sdcard_cd_gpio" = "vSD3_CD_B"
82
83 # Enable eMMC HS400
84 register "ScsEmmcHs400Enabled" = "1"
85
86 # EMMC Tx CMD Delay
87 # Refer to EDS-Vol2-14.3.7.
88 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
89 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
90 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
91
92 # EMMC TX DATA Delay 1
93 # Refer to EDS-Vol2-14.3.8.
94 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
95 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
96 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x911"
97
98 # EMMC TX DATA Delay 2
99 # Refer to EDS-Vol2-14.3.9.
100 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
101 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
102 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
103 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
104 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C262828"
105
106 # EMMC RX CMD/DATA Delay 1
107 # Refer to EDS-Vol2-14.3.10.
108 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
109 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
110 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
111 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
112 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C16583b"
113
114 # EMMC RX CMD/DATA Delay 2
115 # Refer to EDS-Vol2-14.3.12.
116 # [17:16] stands for Rx Clock before Output Buffer,
117 # 00: Rx clock after output buffer,
118 # 01: Rx clock before output buffer,
119 # 10: Automatic selection based on working mode.
120 # 11: Reserved
121 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
122 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
123 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x1001D"
124
125 # EMMC Rx Strobe Delay
126 # Refer to EDS-Vol2-14.3.11.
127 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
128 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
129 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x1515"
130
131 device domain 0 on
132 device pci 14.0 on
133 chip drivers/usb/acpi
134 device usb 0.0 on
135 chip drivers/usb/acpi
136 register "desc" = ""Left Type-C Port""
137 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
138 register "group" = "ACPI_PLD_GROUP(1, 1)"
139 device usb 2.0 on end
140 end
141 chip drivers/usb/acpi
142 register "desc" = ""Right Type-C Port""
143 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
144 register "group" = "ACPI_PLD_GROUP(2, 1)"
145 device usb 2.1 on end
146 end
147 chip drivers/usb/acpi
148 device usb 2.2 off end
149 end
150 chip drivers/usb/acpi
151 device usb 2.3 off end
152 end
153 chip drivers/usb/acpi
154 device usb 2.4 off end
155 end
156 chip drivers/usb/acpi
157 device usb 2.5 off end
158 end
159 chip drivers/usb/acpi
160 register "desc" = ""Camera""
161 register "type" = "UPC_TYPE_INTERNAL"
162 device usb 2.6 on end
163 end
164 chip drivers/usb/acpi
165 device usb 2.7 off end
166 end
167 chip drivers/usb/acpi
168 device usb 2.8 off end
169 end
170 chip drivers/usb/acpi
171 register "desc" = ""Bluetooth""
172 register "type" = "UPC_TYPE_INTERNAL"
173 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C14)"
174 device usb 2.9 on end
175 end
176 chip drivers/usb/acpi
177 register "desc" = ""Left Type-C Port""
178 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
179 register "group" = "ACPI_PLD_GROUP(1, 1)"
180 device usb 3.0 on end
181 end
182 chip drivers/usb/acpi
183 register "desc" = ""Right Type-C Port""
184 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
185 register "group" = "ACPI_PLD_GROUP(2, 1)"
186 device usb 3.1 on end
187 end
188 chip drivers/usb/acpi
189 device usb 3.2 off end
190 end
191 chip drivers/usb/acpi
192 device usb 3.3 off end
193 end
194 chip drivers/usb/acpi
195 device usb 3.4 off end
196 end
197 end
198 end
199 end
200
201 device pci 15.0 on
Seunghwan Kim2144bb52020-03-17 16:18:27 +0900202 chip drivers/i2c/generic
Elyes HAOUASbfa81662020-03-25 08:05:28 +0100203 register "hid" = ""ELAN0000""
204 register "desc" = ""ELAN Touchpad""
205 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_A21_IRQ)"
206 register "probed" = "1"
207 register "wake" = "GPE0_DW0_21"
208 device i2c 0x15 on end
209 end
raymondchungd1f30222020-02-11 15:07:39 +0800210 end # I2C 0
211
212 device pci 15.1 on
Seunghwan Kim2144bb52020-03-17 16:18:27 +0900213 chip drivers/i2c/hid
Elyes HAOUASbfa81662020-03-25 08:05:28 +0100214 register "generic.hid" = ""ELAN902C""
215 register "generic.desc" = ""ELAN Touchscreen""
216 register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
217 register "generic.probed" = "1"
218 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C12)"
219 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
220 register "generic.reset_delay_ms" = "20"
221 register "generic.has_power_resource" = "1"
222 register "generic.disable_gpio_export_in_crs" = "1"
223 register "hid_desc_reg_offset" = "0x01"
224 device i2c 0x10 on end
225 end
raymondchungd1f30222020-02-11 15:07:39 +0800226 end # I2C #1
227
228 device pci 15.2 off end # I2C #2
229
230 device pci 19.0 on
231 chip drivers/i2c/da7219
232 # TODO: these settings were copied from another board
233 # with the same chip. verify the settings
234 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_H0)"
235 register "btn_cfg" = "50"
236 register "mic_det_thr" = "500"
237 register "jack_ins_deb" = "20"
238 register "jack_det_rate" = ""32ms_64ms""
239 register "jack_rem_deb" = "1"
240 register "a_d_btn_thr" = "0xa"
241 register "d_b_btn_thr" = "0x16"
242 register "b_c_btn_thr" = "0x21"
243 register "c_mic_btn_thr" = "0x3e"
244 register "btn_avg" = "4"
245 register "adc_1bit_rpt" = "1"
246 register "micbias_lvl" = "2600"
247 register "mic_amp_in_sel" = ""diff""
248 device i2c 0x1a on end
249 end
250 end
251
252 # No PCIe WiFi
253 device pci 1d.5 off end
254 device pci 1a.0 on end #eMMC
255 device pci 1e.3 off end # GSPI #1
256 device pci 1f.3 on
257 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530258 register "hid" = ""MX98357A""
raymondchungd1f30222020-02-11 15:07:39 +0800259 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
260 register "sdmode_delay" = "5"
261 device generic 0 on end
262 end
263 end # Intel HDA
264 end # domain
265end