blob: 4ab75049315d3b301692e5fd4290d33af02f5958 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Simon Glass77f9b1f2014-11-12 22:42:21 -07002/*
3 * Copyright (c) 2015 Google, Inc
Simon Glass77f9b1f2014-11-12 22:42:21 -07004 */
5
6#ifndef __ASM_ARCH_MICROCODE_H
7#define __ASM_ARCH_MICROCODE_H
8
Simon Glassc72f74e2015-01-01 16:18:14 -07009#ifndef __ASSEMBLY__
10
Simon Glasse77b62e2016-03-11 22:07:11 -070011/* This is a declaration for ucode_base in start.S */
12extern u32 ucode_base;
Ivan Gorinov8199a142018-06-21 21:16:16 -070013extern u32 ucode_size;
Simon Glasse77b62e2016-03-11 22:07:11 -070014
Simon Glass77f9b1f2014-11-12 22:42:21 -070015/**
16 * microcode_update_intel() - Apply microcode updates
17 *
18 * Applies any microcode updates in the device tree.
19 *
20 * @return 0 if OK, -EEXIST if the updates were already applied, -ENOENT if
21 * not updates were found, -EINVAL if an update was invalid
22 */
23int microcode_update_intel(void);
Simon Glass6bcb6752016-03-11 22:07:09 -070024
25/**
26 * microcode_read_rev() - Read the microcode version
27 *
28 * This reads the microcode version of the currently running CPU
29 *
30 * @return microcode version number
31 */
32int microcode_read_rev(void);
Simon Glassc72f74e2015-01-01 16:18:14 -070033#endif /* __ASSEMBLY__ */
Simon Glass77f9b1f2014-11-12 22:42:21 -070034
35#endif