blob: e5eaffae925d55cc99082d4cbdad68cf1b95141a [file] [log] [blame]
Justin TerAvestd9400502018-06-25 11:40:08 -06001chip soc/intel/apollolake
2
Bora Guvendik1c88cd62018-12-11 17:15:26 -08003 # EMMC Tx CMD Delay
4 # Refer to EDS-Vol2-16.32.
5 # [14:8] steps of delay for DDR mode, each 125ps.
6 # [6:0] steps of delay for SDR mode, each 125ps.
7 register "emmc_tx_cmd_cntl" = "0x505"
8
9 # EMMC TX DATA Delay 1
10 # Refer to EDS-Vol2-16.33.
11 # [14:8] steps of delay for HS400, each 125ps.
12 # [6:0] steps of delay for SDR104/HS200, each 125ps.
13 register "emmc_tx_data_cntl1" = "0x0a0b"
14
15 # EMMC TX DATA Delay 2
16 # Refer to EDS-Vol2-16.34.
17 # [30:24] steps of delay for SDR50, each 125ps.
18 # [22:16] steps of delay for DDR50, each 125ps.
19 # [14:8] steps of delay for SDR25/HS50, each 125ps.
20 # [6:0] steps of delay for SDR12, each 125ps.
21 register "emmc_tx_data_cntl2" = "0x1c272828"
22
23 # EMMC RX CMD/DATA Delay 1
24 # Refer to EDS-Vol2-16.35.
25 # [30:24] steps of delay for SDR50, each 125ps.
26 # [22:16] steps of delay for DDR50, each 125ps.
27 # [14:8] steps of delay for SDR25/HS50, each 125ps.
28 # [6:0] steps of delay for SDR12, each 125ps.
29 register "emmc_rx_cmd_data_cntl1" = "0x00181b1a"
30
31 # EMMC RX CMD/DATA Delay 2
32 # Refer to EDS-Vol2-16.37.
33 # [17:16] stands for Rx Clock before Output Buffer
34 # [14:8] steps of delay for Auto Tuning Mode, each 125ps.
35 # [6:0] steps of delay for HS200, each 125ps.
36 register "emmc_rx_cmd_data_cntl2" = "0x10021"
37
38 # EMMC Rx Strobe Delay
39 # Refer to EDS-Vol2-16.36.
40 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps.
41 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps.
42 register "emmc_rx_strobe_cntl" = "0x0a0a"
43
Pan Sheng-Liang4f6eccd2018-10-04 16:17:22 +080044 # Intel Common SoC Config
45 #+-------------------+---------------------------+
46 #| Field | Value |
47 #+-------------------+---------------------------+
48 #| GSPI0 | cr50 TPM. Early init is |
49 #| | required to set up a BAR |
50 #| | for TPM communication |
51 #| | before memory is up |
52 #| I2C0 | Digitizer |
53 #| I2C5 | Audio |
54 #| I2C6 | Trackpad |
55 #| I2C7 | Touchscreen |
56 #+-------------------+---------------------------+
Sumeet Pawnikar36c17192018-11-14 20:27:50 +053057
58 register "tcc_offset" = "10"
59
Pan Sheng-Liang4f6eccd2018-10-04 16:17:22 +080060 register "common_soc_config" = "{
61 .gspi[0] = {
62 .speed_mhz = 1,
63 .early_init = 1,
64 },
65 .i2c[0] = {
66 .speed = I2C_SPEED_FAST,
67 .rise_time_ns = 88,
68 .fall_time_ns = 16,
69 },
Sheng-Liang Panef36cdd2019-11-14 18:39:36 +080070 .i2c[1] = {
71 .speed = I2C_SPEED_FAST,
72 .rise_time_ns = 66,
73 .fall_time_ns = 90,
74 .data_hold_time_ns = 350,
75 },
Pan Sheng-Liang4f6eccd2018-10-04 16:17:22 +080076 .i2c[5] = {
77 .speed = I2C_SPEED_FAST,
78 .rise_time_ns = 104,
79 .fall_time_ns = 52,
80 },
81 .i2c[6] = {
82 .speed = I2C_SPEED_FAST,
83 .rise_time_ns = 66,
84 .fall_time_ns = 90,
85 .data_hold_time_ns = 350,
86 },
87 .i2c[7] = {
88 .speed = I2C_SPEED_FAST,
89 .rise_time_ns = 44,
90 .fall_time_ns = 90,
91 },
92 }"
93
Justin TerAvestd9400502018-06-25 11:40:08 -060094 device domain 0 on
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +080095 device pci 16.0 on
96 chip drivers/i2c/hid
97 register "generic.hid" = ""WCOM50C1""
98 register "generic.desc" = ""WCOM Digitizer""
99 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_139_IRQ)"
100 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
Marco Chen637bef22018-12-25 11:20:58 +0800101 register "generic.reset_delay_ms" = "20"
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800102 register "generic.has_power_resource" = "1"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500103 register "generic.detect" = "1"
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800104 register "hid_desc_reg_offset" = "0x1"
105 device i2c 0x9 on end
106 end
Karthikeyan Ramasubramanian2b27e232018-12-07 11:05:51 -0700107 chip drivers/generic/gpio_keys
108 register "name" = ""PENH""
109 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPIO_145)"
110 register "key.dev_name" = ""EJCT""
111 register "key.linux_code" = "SW_PEN_INSERTED"
112 register "key.linux_input_type" = "EV_SW"
113 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700114 register "key.wake_gpe" = "GPE0_DW2_04"
115 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
Karthikeyan Ramasubramanian2b27e232018-12-07 11:05:51 -0700116 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
117 device generic 0 on end
118 end
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800119 end # - I2C 0
Sheng-Liang Panef36cdd2019-11-14 18:39:36 +0800120 device pci 16.1 on
121 chip drivers/i2c/sx9310
122 register "desc" = ""SAR Proximity Sensor""
123 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_214_IRQ)"
124 register "uid" = "1"
Gwendal Grignou689c25b2021-01-27 23:29:38 -0800125 register "cs0_ground" = "0x0"
Gwendal Grignou2f135a92021-03-22 12:59:02 -0700126 register "combined_sensors_count" = "2"
127 register "combined_sensors[0]" = "1"
128 register "combined_sensors[1]" = "2"
Gwendal Grignou689c25b2021-01-27 23:29:38 -0800129 register "resolution" = "SX9310_FINEST"
130 register "avg_pos_strength" = "512"
Gwendal Grignou2f135a92021-03-22 12:59:02 -0700131 register "startup_sensor" = "1"
Gwendal Grignou689c25b2021-01-27 23:29:38 -0800132 register "proxraw_strength" = "0"
Sheng-Liang Panef36cdd2019-11-14 18:39:36 +0800133 device i2c 28 on end
134 end
135 end # - I2C 1
Justin TerAvestd9400502018-06-25 11:40:08 -0600136 device pci 17.1 on
137 chip drivers/i2c/da7219
138 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)"
139 register "btn_cfg" = "50"
140 register "mic_det_thr" = "500"
141 register "jack_ins_deb" = "20"
142 register "jack_det_rate" = ""32ms_64ms""
143 register "jack_rem_deb" = "1"
144 register "a_d_btn_thr" = "0xa"
145 register "d_b_btn_thr" = "0x16"
146 register "b_c_btn_thr" = "0x21"
147 register "c_mic_btn_thr" = "0x3e"
148 register "btn_avg" = "4"
149 register "adc_1bit_rpt" = "1"
150 register "micbias_lvl" = "2600"
151 register "mic_amp_in_sel" = ""diff""
152 device i2c 1a on end
153 end
Marco Chen07c80b22020-12-21 22:10:21 +0800154 chip drivers/i2c/generic
155 register "hid" = ""10EC5682""
156 register "name" = ""RT58""
157 register "desc" = ""Realtek RT5682""
158 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)"
159 register "probed" = "1"
160 register "property_count" = "1"
161 # Set the jd_src to RT5668_JD1 for jack detection
162 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
163 register "property_list[0].name" = ""realtek,jd-src""
164 register "property_list[0].integer" = "1"
165 device i2c 1a on end
166 end
Justin TerAvestd9400502018-06-25 11:40:08 -0600167 end # - I2C 5
168 device pci 17.2 on
169 chip drivers/i2c/generic
170 register "hid" = ""ELAN0000""
171 register "desc" = ""ELAN Touchpad""
Matt DeVillierdc807452022-03-30 12:30:21 -0500172 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPIO_135_IRQ)"
Furquan Shaikh2c2650a2018-10-18 16:25:58 -0700173 register "wake" = "GPE0_DW3_27"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500174 register "detect" = "1"
Justin TerAvestd9400502018-06-25 11:40:08 -0600175 device i2c 15 on end
176 end
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800177 chip drivers/i2c/hid
Matt DeVillier27937162022-12-19 15:15:52 -0600178 register "generic.hid" = ""SYNA0000""
179 register "generic.cid" = ""ACPI0C50""
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800180 register "generic.desc" = ""Synaptics Touchpad""
Karthikeyan Ramasubramanian61a53912020-11-10 14:37:38 -0700181 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPIO_135_IRQ)"
Furquan Shaikh2c2650a2018-10-18 16:25:58 -0700182 register "generic.wake" = "GPE0_DW3_27"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500183 register "generic.detect" = "1"
Pan Sheng-Liangc5cca152018-08-24 18:09:52 +0800184 register "hid_desc_reg_offset" = "0x20"
185 device i2c 0x2c on end
186 end
Justin TerAvestd9400502018-06-25 11:40:08 -0600187 end # - I2C 6
188 device pci 17.3 on
189 chip drivers/i2c/generic
190 register "hid" = ""ELAN0001""
191 register "desc" = ""ELAN Touchscreen""
Matt DeVillierdc807452022-03-30 12:30:21 -0500192 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_212_IRQ)"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500193 register "detect" = "1"
Justin TerAvestd9400502018-06-25 11:40:08 -0600194 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)"
195 register "reset_delay_ms" = "20"
Furquan Shaikh63445292018-11-21 14:35:02 -0800196 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)"
Justin TerAvestd9400502018-06-25 11:40:08 -0600197 register "enable_delay_ms" = "1"
198 register "has_power_resource" = "1"
199 device i2c 10 on end
200 end
Pan Sheng-Liang995b99d2018-08-08 17:38:05 +0800201 chip drivers/i2c/generic
202 register "hid" = ""RAYD0001""
203 register "desc" = ""Raydium Touchscreen""
Matt DeVillierdc807452022-03-30 12:30:21 -0500204 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_212_IRQ)"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500205 register "detect" = "1"
Pan Sheng-Liang995b99d2018-08-08 17:38:05 +0800206 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)"
207 register "reset_delay_ms" = "1"
Furquan Shaikh63445292018-11-21 14:35:02 -0800208 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)"
Pan Sheng-Liang995b99d2018-08-08 17:38:05 +0800209 register "enable_delay_ms" = "50"
210 register "has_power_resource" = "1"
211 device i2c 39 on end
212 end
Sheng-Liang Pan1fe129f2020-10-26 10:44:28 +0800213 chip drivers/i2c/hid
214 register "generic.hid" = ""GTCH7502""
215 register "generic.desc" = ""G2TOUCH Touchscreen""
216 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_212_IRQ)"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500217 register "generic.detect" = "1"
Sheng-Liang Pan1fe129f2020-10-26 10:44:28 +0800218 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)"
219 register "generic.reset_delay_ms" = "70"
220 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)"
221 register "generic.enable_delay_ms" = "1"
222 register "generic.has_power_resource" = "1"
223 register "generic.disable_gpio_export_in_crs" = "1"
224 register "hid_desc_reg_offset" = "0x01"
225 device i2c 40 on end
226 end
Justin TerAvestd9400502018-06-25 11:40:08 -0600227 end # - I2C 7
228 end
John Zhaob318be222019-01-10 12:33:35 -0800229
230 # Disable compliance mode
231 register "DisableComplianceMode" = "1"
Sheng-Liang Panf86c3262020-04-10 15:25:01 +0800232 register "disable_xhci_lfps_pm" = "0"
Justin TerAvestd9400502018-06-25 11:40:08 -0600233end