2 * Copyright (C) 2013, Intel Corporation
3 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
5 * SPDX-License-Identifier: Intel
9 #include <asm/arch/fsp/azalia.h>
10 #include <asm/fsp/fsp_support.h>
12 /* ALC262 Verb Table - 10EC0262 */
13 static const uint32_t verb_table_data13[] = {
14 /* Pin Complex (NID 0x11) */
19 /* Pin Complex (NID 0x12) */
24 /* Pin Complex (NID 0x14) */
29 /* Pin Complex (NID 0x15) */
34 /* Pin Complex (NID 0x16) */
39 /* Pin Complex (NID 0x18) */
44 /* Pin Complex (NID 0x19) */
49 /* Pin Complex (NID 0x1A) */
82 * This needs to be in ROM since if we put it in CAR, FSP init loses it when
85 * TODO(sjg@chromium.org): Move to device tree when FSP allows it
87 * VerbTable: (RealTek ALC262)
88 * Revision ID = 0xFF, support all steps
89 * Codec Verb Table For AZALIA
90 * Codec Address: CAd value (0/1/2)
91 * Codec Vendor: 0x10EC0262
93 static const struct pch_azalia_verb_table azalia_verb_table[] = {
107 const struct pch_azalia_config azalia_config = {
109 .docking_supported = 1,
110 .docking_attached = 0,
111 .hdmi_codec_enable = 1,
112 .azalia_v_ci_enable = 1,
114 .azalia_verb_table_num = 1,
115 .azalia_verb_table = azalia_verb_table,
116 .reset_wait_timer_us = 300
119 void update_fsp_upd(struct upd_region *fsp_upd)
121 struct memory_down_data *mem;
124 * Configure everything here to avoid the poor hard-pressed user
125 * needing to run Intel's binary configuration tool. It may also allow
126 * us to support the 1GB single core variant easily.
128 * TODO(sjg@chromium.org): Move to device tree
130 fsp_upd->mrc_init_tseg_size = 8;
131 fsp_upd->mrc_init_mmio_size = 0x800;
132 fsp_upd->emmc_boot_mode = 0xff;
133 fsp_upd->enable_sdio = 1;
134 fsp_upd->enable_sdcard = 1;
135 fsp_upd->enable_hsuart0 = 1;
136 fsp_upd->azalia_config_ptr = (uint32_t)&azalia_config;
137 fsp_upd->enable_i2_c0 = 0;
138 fsp_upd->enable_i2_c2 = 0;
139 fsp_upd->enable_i2_c3 = 0;
140 fsp_upd->enable_i2_c4 = 0;
141 fsp_upd->enable_xhci = 0;
142 fsp_upd->igd_render_standby = 1;
144 mem = &fsp_upd->memory_params;
145 mem->enable_memory_down = 1;
148 mem->dimm_density = 2;
150 mem->dimm_trpt_rcd = 0xb;
155 mem->dimm_tfaw = 0x14;