blob: 154345599c9552234fcb88ae1600139c39db5537 [file] [log] [blame]
Peichao Wang3b34db62019-12-04 07:51:27 +08001chip soc/intel/apollolake
2
3 # 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" = "0x0b0c"
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" = "0x1c282929"
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" = "0x00181b1b"
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" = "0x10028"
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" = "0x0b0b"
43
44 # 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 #+-------------------+---------------------------+
57 register "common_soc_config" = "{
58 .gspi[0] = {
59 .speed_mhz = 1,
60 .early_init = 1,
61 },
62 .i2c[0] = {
63 .speed = I2C_SPEED_FAST,
64 .rise_time_ns = 66,
65 .fall_time_ns = 90,
66 },
67 .i2c[5] = {
68 .speed = I2C_SPEED_FAST,
69 .rise_time_ns = 104,
70 .fall_time_ns = 52,
71 },
72 .i2c[6] = {
73 .speed = I2C_SPEED_FAST,
74 .rise_time_ns = 66,
75 .fall_time_ns = 90,
76 .data_hold_time_ns = 350,
77 },
78 .i2c[7] = {
79 .speed = I2C_SPEED_FAST,
80 .rise_time_ns = 76,
81 .fall_time_ns = 164,
82 },
83 }"
84
85 device domain 0 on
86 device pci 16.0 on
87 chip drivers/i2c/hid
88 register "generic.hid" = ""WCOM50C1""
89 register "generic.desc" = ""WCOM Digitizer""
90 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_139_IRQ)"
91 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
92 register "generic.reset_delay_ms" = "20"
93 register "generic.has_power_resource" = "1"
94 register "hid_desc_reg_offset" = "0x1"
95 device i2c 0x9 on end
96 end
97 end # - I2C 0
98 device pci 17.1 on
99 chip drivers/i2c/da7219
100 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)"
101 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800102 register "mic_det_thr" = "200"
Peichao Wang3b34db62019-12-04 07:51:27 +0800103 register "jack_ins_deb" = "20"
104 register "jack_det_rate" = ""32ms_64ms""
105 register "jack_rem_deb" = "1"
106 register "a_d_btn_thr" = "0xa"
107 register "d_b_btn_thr" = "0x16"
108 register "b_c_btn_thr" = "0x21"
109 register "c_mic_btn_thr" = "0x3e"
110 register "btn_avg" = "4"
111 register "adc_1bit_rpt" = "1"
112 register "micbias_lvl" = "2600"
113 register "mic_amp_in_sel" = ""diff""
114 device i2c 1a on end
115 end
116 end # - I2C 5
117 device pci 17.2 on
118 chip drivers/i2c/generic
119 register "hid" = ""ELAN0000""
120 register "desc" = ""ELAN Touchpad""
Matt DeVillierdc807452022-03-30 12:30:21 -0500121 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPIO_135_IRQ)"
Peichao Wang3b34db62019-12-04 07:51:27 +0800122 register "wake" = "GPE0_DW3_27"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500123 register "detect" = "1"
Peichao Wang3b34db62019-12-04 07:51:27 +0800124 device i2c 15 on end
125 end
126 chip drivers/i2c/hid
Matt DeVillier27937162022-12-19 15:15:52 -0600127 register "generic.hid" = ""SYNA0000""
128 register "generic.cid" = ""ACPI0C50""
Peichao Wang3b34db62019-12-04 07:51:27 +0800129 register "generic.desc" = ""Synaptics Touchpad""
Karthikeyan Ramasubramanian61a53912020-11-10 14:37:38 -0700130 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPIO_135_IRQ)"
Peichao Wang3b34db62019-12-04 07:51:27 +0800131 register "generic.wake" = "GPE0_DW3_27"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500132 register "generic.detect" = "1"
Peichao Wang3b34db62019-12-04 07:51:27 +0800133 register "hid_desc_reg_offset" = "0x20"
134 device i2c 0x2c on end
135 end
136 end # - I2C 6
137 device pci 17.3 on
Tommiea1d7db82020-02-11 12:53:34 +0800138 chip drivers/i2c/hid
139 register "generic.hid" = ""ELAN90FC""
140 register "generic.desc" = ""ELAN Touchscreen""
Karthikeyan Ramasubramanian61a53912020-11-10 14:37:38 -0700141 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_212_IRQ)"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500142 register "generic.detect" = "1"
Tommiea1d7db82020-02-11 12:53:34 +0800143 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)"
144 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)"
145 register "generic.reset_delay_ms" = "20"
146 register "generic.has_power_resource" = "1"
Tommiea1d7db82020-02-11 12:53:34 +0800147 register "hid_desc_reg_offset" = "0x01"
Peichao Wang3b34db62019-12-04 07:51:27 +0800148 device i2c 10 on end
149 end
150 chip drivers/i2c/hid
151 register "generic.hid" = ""SYTS7817""
152 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanian61a53912020-11-10 14:37:38 -0700153 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_212_IRQ)"
Matt DeVillier0c3806d2022-03-28 22:44:32 -0500154 register "generic.detect" = "1"
Peichao Wang3b34db62019-12-04 07:51:27 +0800155 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)"
156 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)"
157 register "generic.reset_delay_ms" = "45"
158 register "generic.has_power_resource" = "1"
Peichao Wang3b34db62019-12-04 07:51:27 +0800159 register "hid_desc_reg_offset" = "0x20"
160 device i2c 20 on end
161 end
162 end # - I2C 7
163 end
Tommieca203f82020-04-30 15:21:47 +0800164
165 # Disable xHCI compliance mode
Mario Scheithauerfeafddb2023-06-15 14:22:22 +0200166 register "disable_compliance_mode" = "1"
Peichao Wang3b34db62019-12-04 07:51:27 +0800167end