]> git.ipfire.org Git - people/ms/u-boot.git/blob - include/pch.h
Merge branch 'master' of git://git.denx.de/u-boot-net
[people/ms/u-boot.git] / include / pch.h
1 /*
2 * Copyright (c) 2015 Google, Inc
3 * Written by Simon Glass <sjg@chromium.org>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8 #ifndef __pch_h
9 #define __pch_h
10
11 enum pch_version {
12 PCHV_UNKNOWN,
13 PCHV_7,
14 PCHV_9,
15 };
16
17 #define PCH_RCBA 0xf0
18
19 #define BIOS_CTRL_BIOSWE BIT(0)
20
21 /* Operations for the Platform Controller Hub */
22 struct pch_ops {
23 /**
24 * get_sbase() - get the address of SPI base
25 *
26 * @dev: PCH device to check
27 * @sbasep: Returns address of SPI base if available, else 0
28 * @return 0 if OK, -ve on error (e.g. there is no SPI base)
29 */
30 int (*get_sbase)(struct udevice *dev, ulong *sbasep);
31
32 /**
33 * get_version() - get the PCH version
34 *
35 * @return version, or -ENOSYS if unknown
36 */
37 enum pch_version (*get_version)(struct udevice *dev);
38
39 /**
40 * set_spi_protect() - set whether SPI flash is protected or not
41 *
42 * @dev: PCH device to adjust
43 * @protect: true to protect, false to unprotect
44 *
45 * @return 0 on success, -ENOSYS if not implemented
46 */
47 int (*set_spi_protect)(struct udevice *dev, bool protect);
48 };
49
50 #define pch_get_ops(dev) ((struct pch_ops *)(dev)->driver->ops)
51
52 /**
53 * pch_get_sbase() - get the address of SPI base
54 *
55 * @dev: PCH device to check
56 * @sbasep: Returns address of SPI base if available, else 0
57 * @return 0 if OK, -ve on error (e.g. there is no SPI base)
58 */
59 int pch_get_sbase(struct udevice *dev, ulong *sbasep);
60
61 /**
62 * pch_get_version() - get the PCH version
63 *
64 * @return version, or -ENOSYS if unknown
65 */
66 enum pch_version pch_get_version(struct udevice *dev);
67
68 /**
69 * set_spi_protect() - set whether SPI flash is protected or not
70 *
71 * @dev: PCH device to adjust
72 * @protect: true to protect, false to unprotect
73 *
74 * @return 0 on success, -ENOSYS if not implemented
75 */
76 int pch_set_spi_protect(struct udevice *dev, bool protect);
77
78 #endif