blob: 7d04977996e1c4e83d9544a428f53bdae20c1635 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Bin Meng12d41052015-06-12 14:52:20 +08002/*
3 * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
Bin Meng12d41052015-06-12 14:52:20 +08004 */
5
6#ifndef _ASM_CPU_X86_H
7#define _ASM_CPU_X86_H
8
9/**
10 * cpu_x86_bind() - Bind an x86 CPU with the driver
11 *
12 * This updates cpu device's platform data with information from device tree,
13 * like the processor local apic id.
14 *
15 * @dev: Device to check (UCLASS_CPU)
Heinrich Schuchardt47b4c022022-01-19 18:05:50 +010016 * Return: 0 always
Bin Meng12d41052015-06-12 14:52:20 +080017 */
18int cpu_x86_bind(struct udevice *dev);
19
20/**
21 * cpu_x86_get_desc() - Get a description string for an x86 CPU
22 *
23 * This uses cpu_get_name() and is suitable to use as the get_desc() method for
24 * the CPU uclass.
25 *
26 * @dev: Device to check (UCLASS_CPU)
27 * @buf: Buffer to place string
28 * @size: Size of string space
29 * @return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
30 */
Simon Glass791fa452020-01-26 22:06:27 -070031int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size);
Bin Meng12d41052015-06-12 14:52:20 +080032
Alexander Graf67f66bd2016-08-19 01:23:27 +020033/**
Wolfgang Wallnerb9655582020-02-25 13:19:47 +010034 * cpu_x86_get_count() - Get the number of cores for an x86 CPU
35 *
36 * This function is suitable to use as the get_count() method for
37 * the CPU uclass.
38 *
39 * @dev: Device to check (UCLASS_CPU)
40 * @return: Number of cores if successful,
41 * -ENOENT if not "/cpus" entry is found in the device tree
42 */
Simon Glass791fa452020-01-26 22:06:27 -070043int cpu_x86_get_count(const struct udevice *dev);
Wolfgang Wallnerb9655582020-02-25 13:19:47 +010044
45/**
Alexander Graf67f66bd2016-08-19 01:23:27 +020046 * cpu_x86_get_vendor() - Get a vendor string for an x86 CPU
47 *
48 * This uses cpu_vendor_name() and is suitable to use as the get_vendor()
49 * method for the CPU uclass.
50 *
51 * @dev: Device to check (UCLASS_CPU)
52 * @buf: Buffer to place string
53 * @size: Size of string space
54 * @return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
55 */
Simon Glass791fa452020-01-26 22:06:27 -070056int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size);
Alexander Graf67f66bd2016-08-19 01:23:27 +020057
Bin Meng12d41052015-06-12 14:52:20 +080058#endif /* _ASM_CPU_X86_H */