1 ## SPDX-License-Identifier: GPL-2.0-only
7 helper functions for intel DDI operations
21 config INTEL_GMA_BCLV_OFFSET
25 config INTEL_GMA_BCLV_WIDTH
29 config INTEL_GMA_BCLM_OFFSET
33 config INTEL_GMA_BCLM_WIDTH
37 config INTEL_GMA_SSC_ALTERNATE_REF
41 Set when the SSC reference clock for LVDS runs at a different fre-
42 quency than the general display reference clock.
44 To be set by northbridge or mainboard Kconfig. For most platforms,
45 there is no choice, i.e. for i945 and gm45 the SSC reference always
46 differs from the display reference clock (i945: 66Mhz SSC vs. 48MHz
47 DREF; gm45: 100MHz SSC vs. 96Mhz DREF), for Arrandale and newer, it's
48 the same frequency for SSC/non-SSC (120MHz). The only, currently
49 supported platform with a choice seems to be Pineview, where the
50 alternative is 100MHz vs. the default 96MHz.
52 config INTEL_GMA_SWSMISCI
56 Select this option for Atom-based platforms which use the SWSMISCI
57 register (0xe0) rather than the SWSCI register (0xe8).
59 config INTEL_GMA_LIBGFXINIT_EDID
62 config VBT_CBFS_COMPRESSION_DEFAULT_LZ4
65 Set LZ4 VBT compression.
67 config VBT_CBFS_COMPRESSION_DEFAULT_NONE
70 Disable VBT compression.
73 prompt "VBT Compression algorithm"
74 depends on INTEL_GMA_ADD_VBT
75 default VBT_CBFS_COMPRESSION_LZ4 if VBT_CBFS_COMPRESSION_DEFAULT_LZ4
76 default VBT_CBFS_COMPRESSION_NONE if VBT_CBFS_COMPRESSION_DEFAULT_NONE
77 default VBT_CBFS_COMPRESSION_LZMA
79 config VBT_CBFS_COMPRESSION_LZMA
80 bool "Compress VBT with LZMA algorithm"
82 config VBT_CBFS_COMPRESSION_LZ4
83 bool "Compress VBT with LZ4 algorithm"
85 config VBT_CBFS_COMPRESSION_NONE
86 bool "Do not compress VBT"
90 config VBT_CBFS_COMPRESSION_ALGORITHM
92 default "lzma" if VBT_CBFS_COMPRESSION_LZMA
93 default "lz4" if VBT_CBFS_COMPRESSION_LZ4
94 default "none" if VBT_CBFS_COMPRESSION_NONE
96 config GFX_GMA_ANALOG_I2C_HDMI_B
99 config GFX_GMA_ANALOG_I2C_HDMI_C
102 config GFX_GMA_ANALOG_I2C_HDMI_D
105 config GFX_GMA_IGNORE_PRESENCE_STRAPS
107 depends on MAINBOARD_HAS_LIBGFXINIT
109 libgfxinit uses the GPU presence straps to determine if a display port
110 is present/enabled. Select this option if a board doesn't correctly implement
111 these straps, causing libgfxinit to fail to detect an attached panel.
115 depends on NORTHBRIDGE_INTEL_GM45 || NORTHBRIDGE_INTEL_X4X \
116 || NORTHBRIDGE_INTEL_IRONLAKE || NORTHBRIDGE_INTEL_SANDYBRIDGE \
117 || NORTHBRIDGE_INTEL_HASWELL || SOC_INTEL_BROADWELL \
118 || SOC_INTEL_COMMON_SKYLAKE_BASE || SOC_INTEL_APOLLOLAKE \
119 || SOC_INTEL_CANNONLAKE_BASE
120 depends on MAINBOARD_USE_LIBGFXINIT || INTEL_GMA_LIBGFXINIT_EDID
121 select RAMSTAGE_LIBHWBASE
125 depends on SOC_INTEL_ALDERLAKE
126 depends on MAINBOARD_USE_EARLY_LIBGFXINIT
127 select ROMSTAGE_LIBHWBASE
129 config GFX_GMA_DEFAULT_MMIO
131 depends on HWBASE_STATIC_MMIO && (GFX_GMA || EARLY_GFX_GMA)
133 Graphics device MMIO address. This is typically an unused
134 memory mapping region which can be allocated to the MMIO
135 region as graphics PCI device Base Address Range zero.
137 config GFX_GMA_PANEL_1_ON_EDP
139 depends on GFX_GMA || MAINBOARD_HAS_LIBGFXINIT \
140 || MAINBOARD_HAS_EARLY_LIBGFXINIT
141 default n if GFX_GMA_PANEL_1_ON_LVDS
144 config GFX_GMA_PANEL_1_ON_LVDS
146 depends on GFX_GMA || MAINBOARD_HAS_LIBGFXINIT \
147 || MAINBOARD_HAS_EARLY_LIBGFXINIT
148 default y if NORTHBRIDGE_INTEL_GM45 || NORTHBRIDGE_INTEL_IRONLAKE
151 config INTEL_GMA_OPREGION_2_1
155 config INTEL_GMA_VERSION_2
159 Intel display port and pipe related register definitions have changed since
160 Tiger Lake SoC. This option enables support for the updated `TRANS_DDI_FUNC_CTL`
161 register definitions.
163 SoCs that support Intel GMA Version 2 include:
168 If you are unsure whether your SoC supports Intel GMA Version 2, it is safe to
171 if GFX_GMA || EARLY_GFX_GMA
173 config GFX_GMA_DYN_CPU
176 Activates runtime CPU detection in libgfxinit.
178 config GFX_GMA_GENERATION
180 default "Broxton" if SOC_INTEL_APOLLOLAKE
181 default "Skylake" if SOC_INTEL_COMMON_SKYLAKE_BASE || SOC_INTEL_CANNONLAKE_BASE
182 default "Haswell" if NORTHBRIDGE_INTEL_HASWELL || SOC_INTEL_BROADWELL
183 default "Ironlake" if NORTHBRIDGE_INTEL_IRONLAKE || NORTHBRIDGE_INTEL_SANDYBRIDGE
184 default "G45" if NORTHBRIDGE_INTEL_GM45 || NORTHBRIDGE_INTEL_X4X
185 default "Tigerlake" if SOC_INTEL_ALDERLAKE
189 default "Ibex_Peak" if NORTHBRIDGE_INTEL_IRONLAKE
190 default "Cougar_Point" if NORTHBRIDGE_INTEL_SANDYBRIDGE
191 default "Lynx_Point" if NORTHBRIDGE_INTEL_HASWELL || SOC_INTEL_BROADWELL
192 default "Sunrise_Point" if SOC_INTEL_COMMON_SKYLAKE_BASE
193 default "Cannon_Point" if SOC_INTEL_CANNONLAKE_BASE
194 default "Alder_Point" if SOC_INTEL_ALDERLAKE
197 config GFX_GMA_PANEL_1_PORT
199 default "eDP" if GFX_GMA_PANEL_1_ON_EDP
202 config GFX_GMA_PANEL_2_PORT
206 config GFX_GMA_ANALOG_I2C_PORT
208 default "PCH_HDMI_B" if GFX_GMA_ANALOG_I2C_HDMI_B
209 default "PCH_HDMI_C" if GFX_GMA_ANALOG_I2C_HDMI_C
210 default "PCH_HDMI_D" if GFX_GMA_ANALOG_I2C_HDMI_D
213 Boards with a DVI-I connector share the I2C pins for both analog and
214 digital displays. In that case, the EDID for a VGA display has to be
215 read over the I2C interface of the coupled digital port.