blob: 495b5713da9649721c4c0cf193a4a76ec1663cdb [file] [log] [blame]
Reka Normanf2f785d2022-05-06 20:22:21 +10001fw_config
Ren Kuodfc4c1c2023-11-01 09:32:38 +08002 field AUDIO_CONFIG 28
3 option AMP_GPIO 0
4 option AMP_RT5650 1
5 end
Reka Norman974f7b22022-11-14 16:50:25 +11006 field SD_BOOT 29
7 option SD_BOOT_ENABLE 0
8 option SD_BOOT_DISABLE 1
9 end
Reka Normanf2f785d2022-05-06 20:22:21 +100010 field STORAGE 30 31
11 option STORAGE_EMMC 0
12 option STORAGE_NVME 1
13 option STORAGE_UFS 2
14 end
15end
16
Reka Normane7640cc2021-12-20 10:24:55 +110017chip soc/intel/alderlake
Kangheui Won168c25b2022-01-17 17:12:00 +110018
19 # GPE configuration
20 register "pmc_gpe0_dw0" = "GPP_A"
21 register "pmc_gpe0_dw1" = "GPP_H"
22 register "pmc_gpe0_dw2" = "GPP_F"
23
24 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
25 register "gen1_dec" = "0x00fc0801"
26 register "gen2_dec" = "0x000c0201"
27 # EC memory map range is 0x900-0x9ff
28 register "gen3_dec" = "0x00fc0901"
29
30 # S0ix enable
31 register "s0ix_enable" = "1"
32
Vidya Gopalakrishnan9ffc9eb2022-03-22 18:12:47 +053033 # DPTF enable
34 register "dptf_enable" = "1"
35
Sumeet Pawnikar47570532022-05-25 16:36:57 +053036 register "tcc_offset" = "10" # TCC of 90
37
Kangheui Won168c25b2022-01-17 17:12:00 +110038 # Enable CNVi BT
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053039 register "cnvi_bt_core" = "true"
Kangheui Won168c25b2022-01-17 17:12:00 +110040
Reka Norman5bba93e2022-02-16 10:12:36 +110041 # eMMC HS400
42 register "emmc_enable_hs400_mode" = "1"
43
Usha P0a3bbe82022-05-09 08:36:51 +053044 #eMMC DLL tuning parameters
45 #Adding the intermediate eMMC DLL tuning override values
46 #TODO SoC implementation with the finalized verified values from EV Team
47 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
48 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
49 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C2A2828"
50 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C1B1D3C"
51 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10049"
52 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x11515"
53
Kangheui Won168c25b2022-01-17 17:12:00 +110054 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C0
55 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
56 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # USB2_A0
57 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # USB2_A1
58 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
Kangheui Won168c25b2022-01-17 17:12:00 +110059
60 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type A port A0
61 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type A port A1
62
63 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
64 register "tcss_ports[1]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
65
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053066 register "serial_io_i2c_mode" = "{
Kangheui Won168c25b2022-01-17 17:12:00 +110067 [PchSerialIoIndexI2C0] = PchSerialIoPci,
68 [PchSerialIoIndexI2C1] = PchSerialIoPci,
69 [PchSerialIoIndexI2C2] = PchSerialIoPci,
70 [PchSerialIoIndexI2C3] = PchSerialIoPci,
71 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
72 [PchSerialIoIndexI2C5] = PchSerialIoPci,
73 }"
74
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053075 register "serial_io_gspi_mode" = "{
Kangheui Won168c25b2022-01-17 17:12:00 +110076 [PchSerialIoIndexGSPI0] = PchSerialIoDisabled,
77 [PchSerialIoIndexGSPI1] = PchSerialIoDisabled,
78 }"
79
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053080 register "serial_io_uart_mode" = "{
Kangheui Won168c25b2022-01-17 17:12:00 +110081 [PchSerialIoIndexUART0] = PchSerialIoPci,
82 [PchSerialIoIndexUART1] = PchSerialIoDisabled,
83 [PchSerialIoIndexUART2] = PchSerialIoDisabled,
84 }"
85
86 # HD Audio
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053087 register "pch_hda_dsp_enable" = "1"
88 register "pch_hda_idisp_link_tmode" = "HDA_TMODE_8T"
89 register "pch_hda_idisp_link_frequency" = "HDA_LINKFREQ_96MHZ"
90 register "pch_hda_idisp_codec_enable" = "1"
Kangheui Won168c25b2022-01-17 17:12:00 +110091
V Sowmya0f7580e2022-07-05 20:56:55 +053092 # FIXME: To be enabled in future based on PNP impact data.
93 # Disable Package C-state demotion for nissa baseboard.
94 register "disable_package_c_state_demotion" = "1"
95
Kangheui Won168c25b2022-01-17 17:12:00 +110096 # Intel Common SoC Config
97 #+-------------------+---------------------------+
98 #| Field | Value |
99 #+-------------------+---------------------------+
100 #| I2C0 | TPM. Early init is |
101 #| | required to set up a BAR |
102 #| | for TPM communication |
103 #| I2C1 | Touchscreen |
104 #| I2C2 | Sub-board(PSensor)/WCAM |
105 #| I2C3 | Audio |
106 #| I2C5 | Trackpad |
107 #+-------------------+---------------------------+
108 register "common_soc_config" = "{
109 .i2c[0] = {
110 .early_init = 1,
Reka Normand9cb7252022-09-27 16:08:08 +1000111 .speed = I2C_SPEED_FAST_PLUS,
Reka Norman46694d82022-04-08 15:14:35 +1000112 .speed_config[0] = {
Reka Normand9cb7252022-09-27 16:08:08 +1000113 .speed = I2C_SPEED_FAST_PLUS,
114 .scl_lcnt = 55,
115 .scl_hcnt = 30,
Reka Norman69c9b012022-06-03 16:31:09 +1000116 .sda_hold = 7,
Reka Norman46694d82022-04-08 15:14:35 +1000117 }
Kangheui Won168c25b2022-01-17 17:12:00 +1100118 },
119 .i2c[1] = {
120 .speed = I2C_SPEED_FAST,
Reka Norman46694d82022-04-08 15:14:35 +1000121 .speed_config[0] = {
Reka Norman69c9b012022-06-03 16:31:09 +1000122 .speed = I2C_SPEED_FAST,
123 .scl_lcnt = 158,
124 .scl_hcnt = 79,
125 .sda_hold = 7,
Reka Norman46694d82022-04-08 15:14:35 +1000126 }
Kangheui Won168c25b2022-01-17 17:12:00 +1100127 },
128 .i2c[2] = {
129 .speed = I2C_SPEED_FAST,
Reka Norman46694d82022-04-08 15:14:35 +1000130 .speed_config[0] = {
Reka Norman69c9b012022-06-03 16:31:09 +1000131 .speed = I2C_SPEED_FAST,
132 .scl_lcnt = 158,
133 .scl_hcnt = 79,
134 .sda_hold = 7,
Reka Norman46694d82022-04-08 15:14:35 +1000135 }
Kangheui Won168c25b2022-01-17 17:12:00 +1100136 },
137 .i2c[3] = {
138 .speed = I2C_SPEED_FAST,
Reka Norman46694d82022-04-08 15:14:35 +1000139 .speed_config[0] = {
Reka Norman69c9b012022-06-03 16:31:09 +1000140 .speed = I2C_SPEED_FAST,
141 .scl_lcnt = 158,
142 .scl_hcnt = 79,
143 .sda_hold = 7,
Reka Norman46694d82022-04-08 15:14:35 +1000144 }
Kangheui Won168c25b2022-01-17 17:12:00 +1100145 },
146 .i2c[5] = {
147 .speed = I2C_SPEED_FAST,
Reka Norman46694d82022-04-08 15:14:35 +1000148 .speed_config[0] = {
Reka Norman69c9b012022-06-03 16:31:09 +1000149 .speed = I2C_SPEED_FAST,
150 .scl_lcnt = 158,
151 .scl_hcnt = 79,
152 .sda_hold = 7,
Reka Norman46694d82022-04-08 15:14:35 +1000153 }
Kangheui Won168c25b2022-01-17 17:12:00 +1100154 },
155 }"
156
Reka Normane7640cc2021-12-20 10:24:55 +1100157 device domain 0 on
Ronak Kanabar3a5ed9b2023-11-06 14:54:16 +0530158 # The timing values can be derived from datasheet of display panel
159 # You can use EDID string to identify the type of display on the board
160 # use below command to get display info from EDID
161 # strings /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/edid
162
163 # refer to display PRM document (Volume 2b: Command Reference: Registers)
164 # for more info on display control registers
165 # https://01.org/linuxgraphics/documentation/hardware-specification-prms
166 #+-----------------------------+---------------------------------------+-----+
167 #| Intel docs | devicetree.cb | eDP |
168 #+-----------------------------+---------------------------------------+-----+
169 #| Power up delay | `gpu_panel_power_up_delay` | T3 |
170 #+-----------------------------+---------------------------------------+-----+
171 #| Power on to backlight on | `gpu_panel_power_backlight_on_delay` | T7 |
172 #+-----------------------------+---------------------------------------+-----+
173 #| Power Down delay | `gpu_panel_power_down_delay` | T10 |
174 #+-----------------------------+---------------------------------------+-----+
175 #| Backlight off to power down | `gpu_panel_power_backlight_off_delay` | T9 |
176 #+-----------------------------+---------------------------------------+-----+
177 #| Power Cycle Delay | `gpu_panel_power_cycle_delay` | T12 |
178 #+-----------------------------+---------------------------------------+-----+
179 device ref igpu on
180 register "panel_cfg" = "{
181 .up_delay_ms = 200,
182 .down_delay_ms = 50,
183 .cycle_delay_ms = 500,
184 .backlight_on_delay_ms = 1,
185 .backlight_off_delay_ms = 200,
186 .backlight_pwm_hz = 200,
187 }"
188 end
Kangheui Won168c25b2022-01-17 17:12:00 +1100189 device ref dtt on end
190 device ref tcss_xhci on end
191 device ref xhci on end
192 device ref shared_sram on end
193 device ref cnvi_wifi on
194 chip drivers/wifi/generic
195 register "wake" = "GPE0_PME_B0"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530196 register "add_acpi_dma_property" = "true"
Kangheui Won168c25b2022-01-17 17:12:00 +1100197 device generic 0 on end
198 end
199 end
200 device ref i2c0 on
201 chip drivers/i2c/tpm
202 register "hid" = ""GOOG0005""
203 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
204 device i2c 50 on end
205 end
206 end
207 device ref heci1 on end
208 device ref emmc on end
209 device ref pcie_rp7 on
210 # Enable SD Card PCIE 7 using clk 3
211 register "pch_pcie_rp[PCH_RP(7)]" = "{
212 .clk_src = 3,
213 .clk_req = 3,
214 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
215 }"
216 chip soc/intel/common/block/pcie/rtd3
217 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
218 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H12)"
219 register "srcclk_pin" = "3"
220 device generic 0 on end
221 end
222 end #PCIE7 SD card
223 device ref uart0 on end
224 device ref pch_espi on
225 chip ec/google/chromeec
226 device pnp 0c09.0 on end
227 end
228 end
229 device ref hda on end
Reka Normane7640cc2021-12-20 10:24:55 +1100230 end
231end