diff options
Diffstat (limited to 'include/soc.h')
-rw-r--r-- | include/soc.h | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/include/soc.h b/include/soc.h deleted file mode 100644 index a55eb1b572..0000000000 --- a/include/soc.h +++ /dev/null @@ -1,145 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/ - * Dave Gerlach <d-gerlach@ti.com> - */ - -#ifndef __SOC_H -#define __SOC_H - -#define SOC_MAX_STR_SIZE 128 - -/** - * struct soc_attr - Contains SoC identify information to be used in - * SoC matching. An array of these structs - * representing different SoCs can be passed to - * soc_device_match and the struct matching the SoC - * in use will be returned. - * - * @family - Name of SoC family that can include multiple related SoC - * variants. Example: am33 - * @machine - Name of a specific SoC. Example: am3352 - * @revision - Name of a specific SoC revision. Example: SR1.1 - * @data - A pointer to user data for the SoC variant - */ -struct soc_attr { - const char *family; - const char *machine; - const char *revision; - const void *data; -}; - -struct soc_ops { - /** - * get_machine() - Get machine name of an SOC - * - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ - int (*get_machine)(struct udevice *dev, char *buf, int size); - - /** - * get_revision() - Get revision name of a SOC - * - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ - int (*get_revision)(struct udevice *dev, char *buf, int size); - - /** - * get_family() - Get family name of an SOC - * - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ - int (*get_family)(struct udevice *dev, char *buf, int size); -}; - -#define soc_get_ops(dev) ((struct soc_ops *)(dev)->driver->ops) - -#ifdef CONFIG_SOC_DEVICE -/** - * soc_get() - Return the soc device for the soc in use. - * @devp: Pointer to structure to receive the soc device. - * - * Since there can only be at most one SOC instance, the API can supply a - * function that returns the unique device. - * - * Return: 0 if OK, -ve on error. - */ -int soc_get(struct udevice **devp); - -/** - * soc_get_machine() - Get machine name of an SOC - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * - * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ -int soc_get_machine(struct udevice *dev, char *buf, int size); - -/** - * soc_get_revision() - Get revision name of an SOC - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * - * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ -int soc_get_revision(struct udevice *dev, char *buf, int size); - -/** - * soc_get_family() - Get family name of an SOC - * @dev: Device to check (UCLASS_SOC) - * @buf: Buffer to place string - * @size: Size of string space - * - * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error - */ -int soc_get_family(struct udevice *dev, char *buf, int size); - -/** - * soc_device_match() - Return match from an array of soc_attr - * @matches: Array with any combination of family, revision or machine set - * - * Return: Pointer to struct from matches array with set attributes matching - * those provided by the soc device, or NULL if no match found. - */ -const struct soc_attr * -soc_device_match(const struct soc_attr *matches); - -#else -static inline int soc_get(struct udevice **devp) -{ - return -ENOSYS; -} - -static inline int soc_get_machine(struct udevice *dev, char *buf, int size) -{ - return -ENOSYS; -} - -static inline int soc_get_revision(struct udevice *dev, char *buf, int size) -{ - return -ENOSYS; -} - -static inline int soc_get_family(struct udevice *dev, char *buf, int size) -{ - return -ENOSYS; -} - -static inline const struct soc_attr * -soc_device_match(const struct soc_attr *matches) -{ - return NULL; -} -#endif -#endif /* _SOC_H */ |