Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1/*
 2 * coreboot_table.h
 3 *
 4 * Internal header for coreboot table access.
 5 *
 6 * Copyright 2017 Google Inc.
 7 *
 8 * This program is free software; you can redistribute it and/or modify
 9 * it under the terms of the GNU General Public License v2.0 as published by
10 * the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 */
17
18#ifndef __COREBOOT_TABLE_H
19#define __COREBOOT_TABLE_H
20
21#include <linux/io.h>
22
23/* List of coreboot entry structures that is used */
24struct lb_cbmem_ref {
25	uint32_t tag;
26	uint32_t size;
27
28	uint64_t cbmem_addr;
29};
30
31/* Coreboot table header structure */
32struct coreboot_table_header {
33	char signature[4];
34	u32 header_bytes;
35	u32 header_checksum;
36	u32 table_bytes;
37	u32 table_checksum;
38	u32 table_entries;
39};
40
41/* Retrieve coreboot table entry with tag *tag* and copy it to data */
42int coreboot_table_find(int tag, void *data, size_t data_size);
43
44/* Initialize coreboot table module given a pointer to iomem */
45int coreboot_table_init(void __iomem *ptr);
46
47/* Cleanup coreboot table module */
48int coreboot_table_exit(void);
49
50#endif /* __COREBOOT_TABLE_H */