xref: /openbmc/u-boot/arch/x86/include/asm/microcode.h (revision 3f0492f2)
183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
29e66506dSSimon Glass /*
39e66506dSSimon Glass  * Copyright (c) 2015 Google, Inc
49e66506dSSimon Glass  */
59e66506dSSimon Glass 
69e66506dSSimon Glass #ifndef __ASM_ARCH_MICROCODE_H
79e66506dSSimon Glass #define __ASM_ARCH_MICROCODE_H
89e66506dSSimon Glass 
99e66506dSSimon Glass #ifndef __ASSEMBLY__
109e66506dSSimon Glass 
11e77b62e2SSimon Glass /* This is a declaration for ucode_base in start.S */
12e77b62e2SSimon Glass extern u32 ucode_base;
13*8199a145SIvan Gorinov extern u32 ucode_size;
14e77b62e2SSimon Glass 
159e66506dSSimon Glass /**
169e66506dSSimon Glass  * microcode_update_intel() - Apply microcode updates
179e66506dSSimon Glass  *
189e66506dSSimon Glass  * Applies any microcode updates in the device tree.
199e66506dSSimon Glass  *
209e66506dSSimon Glass  * @return 0 if OK, -EEXIST if the updates were already applied, -ENOENT if
219e66506dSSimon Glass  * not updates were found, -EINVAL if an update was invalid
229e66506dSSimon Glass  */
239e66506dSSimon Glass int microcode_update_intel(void);
246bcb675bSSimon Glass 
256bcb675bSSimon Glass /**
266bcb675bSSimon Glass  * microcode_read_rev() - Read the microcode version
276bcb675bSSimon Glass  *
286bcb675bSSimon Glass  * This reads the microcode version of the currently running CPU
296bcb675bSSimon Glass  *
306bcb675bSSimon Glass  * @return microcode version number
316bcb675bSSimon Glass  */
326bcb675bSSimon Glass int microcode_read_rev(void);
339e66506dSSimon Glass #endif /* __ASSEMBLY__ */
349e66506dSSimon Glass 
359e66506dSSimon Glass #endif
36