• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1chip soc/intel/cannonlake
2	register "power_limits_config" = "{
3		.tdp_pl1_override = 13,
4		.tdp_pl2_override = 64,
5	}"
6
7	register "SerialIoDevMode" = "{
8		[PchSerialIoIndexI2C0] = PchSerialIoPci,
9		[PchSerialIoIndexI2C1] = PchSerialIoPci,
10		[PchSerialIoIndexI2C2] = PchSerialIoDisabled,
11		[PchSerialIoIndexI2C3] = PchSerialIoDisabled,
12		[PchSerialIoIndexI2C4] = PchSerialIoPci,
13		[PchSerialIoIndexI2C5] = PchSerialIoDisabled,
14		[PchSerialIoIndexSPI0] = PchSerialIoPci,
15		[PchSerialIoIndexSPI1] = PchSerialIoPci,
16		[PchSerialIoIndexSPI2] = PchSerialIoDisabled,
17		[PchSerialIoIndexUART0] = PchSerialIoSkipInit,
18		[PchSerialIoIndexUART1] = PchSerialIoDisabled,
19		[PchSerialIoIndexUART2] = PchSerialIoDisabled,
20	}"
21
22	# Enable Root port 9(x2) for NVMe.
23	register "PcieRpEnable[8]" = "1"
24	register "PcieRpLtrEnable[8]" = "1"
25	# RP 9 uses CLK SRC 1
26	register "PcieClkSrcUsage[1]" = "8"
27	# ClkReq-to-ClkSrc mapping for CLK SRC 1
28	register "PcieClkSrcClkReq[1]" = "1"
29
30	# Enable Root port 11(x2) for NVMe.
31	register "PcieRpEnable[10]" = "1"
32	register "PcieRpLtrEnable[10]" = "1"
33	# RP 11 uses CLK SRC 2
34	register "PcieClkSrcUsage[2]" = "10"
35	# ClkReq-to-ClkSrc mapping for CLK SRC 2
36	register "PcieClkSrcClkReq[2]" = "1"
37
38	# No PCIe WiFi
39	register "PcieRpEnable[13]" = "0"
40
41	# Intel Common SoC Config
42	#+-------------------+---------------------------+
43	#| Field	     |	Value			 |
44	#+-------------------+---------------------------+
45	#| GSPI1             | FP MCU                    |
46	#| I2C0		     | Trackpad			 |
47	#| I2C1		     | Touchscreen		 |
48	#| I2C4		     | Audio			 |
49	#+-------------------+---------------------------+
50	register "common_soc_config" = "{
51		.i2c[0] = {
52			.speed = I2C_SPEED_FAST,
53			.rise_time_ns = 50,
54			.fall_time_ns = 15,
55			.data_hold_time_ns = 330,
56		},
57		.i2c[1] = {
58			.speed = I2C_SPEED_FAST,
59			.rise_time_ns = 60,
60			.fall_time_ns = 25,
61		},
62		.i2c[3] = {
63			.speed = I2C_SPEED_FAST,
64			.rise_time_ns = 150,
65			.fall_time_ns = 150,
66		},
67		.i2c[4] = {
68			.speed = I2C_SPEED_FAST,
69			.rise_time_ns = 120,
70			.fall_time_ns = 120,
71		},
72		.gspi[0] = {
73		       .speed_mhz = 1,
74		       .early_init = 1,
75		},
76	}"
77
78	device domain 0 on
79		device ref igpu		on
80			register "gfx" = "GMA_DEFAULT_PANEL(0)"
81		end
82		device ref xhci		on
83			chip drivers/usb/acpi
84				device ref xhci_root_hub on
85					chip drivers/usb/acpi
86						# No Type-A port
87						device ref usb2_port3 off end
88					end
89					chip drivers/usb/acpi
90						# No Type-A Port
91						device ref usb2_port4 off end
92					end
93					chip drivers/usb/acpi
94						# No WWAN
95						device ref usb2_port6 off end
96					end
97					chip drivers/usb/acpi
98						# No WWAN
99						device ref usb3_port5 off end
100					end
101				end
102			end
103		end
104		device ref i2c0		on
105			chip drivers/i2c/generic
106				register "hid" = ""ELAN0000""
107				register "desc" = ""ELAN Touchpad""
108				register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A21_IRQ)"
109				register "wake" = "GPE0_DW0_21"
110				device i2c 15 on end
111			end
112		end
113		device ref i2c1		on
114			chip drivers/i2c/hid
115				register "generic.hid" = ""GDIX0000""
116				register "generic.desc" = ""Goodix Touchscreen""
117				register "generic.irq" =
118					"ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
119				register "generic.detect" = "1"
120				register "generic.reset_gpio" =
121					"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
122				register "generic.reset_delay_ms" = "500"
123				register "generic.reset_off_delay_ms" = "1"
124				register "generic.enable_gpio" =
125					"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D9)"
126				register "generic.enable_delay_ms" = "10"
127				register "generic.enable_off_delay_ms" = "1"
128				register "generic.has_power_resource" = "1"
129				register "hid_desc_reg_offset" = "0x01"
130				device i2c 5d on end
131			end
132			chip drivers/generic/gpio_keys
133				register "name" = ""PENH""
134				register "gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A8)"
135				register "key.wake_gpe" = "GPE0_DW0_08"
136				register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
137				register "key.wakeup_event_action" = "EV_ACT_ASSERTED"
138				register "key.dev_name" = ""EJCT""
139				register "key.linux_code" = "SW_PEN_INSERTED"
140				register "key.linux_input_type" = "EV_SW"
141				register "key.label" = ""pen_eject""
142				device generic 0 on end
143			end
144		end # I2C 1
145		device ref i2c4		on
146			chip drivers/i2c/generic
147				register "hid" = ""10EC5682""
148				register "name" = ""RT58""
149				register "desc" = ""Realtek RT5682""
150				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_H0)"
151				register "property_count" = "1"
152				# Set the jd_src to RT5668_JD1 for jack detection
153				register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
154				register "property_list[0].name" = ""realtek,jd-src""
155				register "property_list[0].integer" = "1"
156				device i2c 1a on end
157			end
158			chip drivers/i2c/generic
159				register "hid" = ""10EC1011""
160				register "desc" = ""RT1011 Tweeter Left Speaker Amp""
161				register "uid" = "0"
162				register "name" = ""TL""
163				device i2c 38 on end
164			end
165			chip drivers/i2c/generic
166				register "hid" = ""10EC1011""
167				register "desc" = ""RT1011 Tweeter Right Speaker Amp""
168				register "uid" = "1"
169				register "name" = ""TR""
170				device i2c 39 on end
171			end
172			chip drivers/i2c/generic
173				register "hid" = ""10EC1011""
174				register "desc" = ""RT1011 Woofer Left Speaker Amp""
175				register "uid" = "2"
176				register "name" = ""WL""
177				device i2c 3a on end
178			end
179			chip drivers/i2c/generic
180				register "hid" = ""10EC1011""
181				register "desc" = ""RT1011 Woofer Right Speaker Amp""
182				register "uid" = "3"
183				register "name" = ""WR""
184				device i2c 3b on end
185			end
186		end #I2C #4
187		device ref pcie_rp9	on end # (x2 NVMe)
188		device ref pcie_rp11	on end # (x2 NVMe)
189		device ref gspi1	on
190			chip drivers/spi/acpi
191				register "name" = ""CRFP""
192				register "hid" = "ACPI_DT_NAMESPACE_HID"
193				register "uid" = "1"
194				register "compat_string" = ""google,cros-ec-spi""
195				register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A23_IRQ)"
196				register "wake" = "GPE0_DW0_23"
197				device spi 1 hidden end
198			end # FPMCU
199		end
200		device ref hda		on
201			chip drivers/generic/max98357a
202				register "hid" = ""MX98357A""
203				register "sdmode_gpio" =  "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
204				register "sdmode_delay" = "5"
205				device generic 0 on end
206			end
207			chip drivers/sof
208				register "spkr_tplg" = "rt1011"
209				register "jack_tplg" = "rt5682"
210				register "mic_tplg" = "_2ch_pdm0"
211				device generic 0 on end
212			end
213		end
214	end
215end
216