diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform_data/wkup_m3.h | 30 | ||||
| -rw-r--r-- | include/linux/remoteproc.h | 9 |
2 files changed, 36 insertions, 3 deletions
diff --git a/include/linux/platform_data/wkup_m3.h b/include/linux/platform_data/wkup_m3.h new file mode 100644 index 000000000000..3f1d77effd71 --- /dev/null +++ b/include/linux/platform_data/wkup_m3.h | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | /* | ||
| 2 | * TI Wakeup M3 remote processor platform data | ||
| 3 | * | ||
| 4 | * Copyright (C) 2014-2015 Texas Instruments, Inc. | ||
| 5 | * | ||
| 6 | * Dave Gerlach <d-gerlach@ti.com> | ||
| 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 version 2 as | ||
| 10 | * published by 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 _LINUX_PLATFORM_DATA_WKUP_M3_H | ||
| 19 | #define _LINUX_PLATFORM_DATA_WKUP_M3_H | ||
| 20 | |||
| 21 | struct platform_device; | ||
| 22 | |||
| 23 | struct wkup_m3_platform_data { | ||
| 24 | const char *reset_name; | ||
| 25 | |||
| 26 | int (*assert_reset)(struct platform_device *pdev, const char *name); | ||
| 27 | int (*deassert_reset)(struct platform_device *pdev, const char *name); | ||
| 28 | }; | ||
| 29 | |||
| 30 | #endif /* _LINUX_PLATFORM_DATA_WKUP_M3_H */ | ||
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index 78b8a9b9d40a..9c4e1384f636 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h | |||
| @@ -36,11 +36,11 @@ | |||
| 36 | #define REMOTEPROC_H | 36 | #define REMOTEPROC_H |
| 37 | 37 | ||
| 38 | #include <linux/types.h> | 38 | #include <linux/types.h> |
| 39 | #include <linux/klist.h> | ||
| 40 | #include <linux/mutex.h> | 39 | #include <linux/mutex.h> |
| 41 | #include <linux/virtio.h> | 40 | #include <linux/virtio.h> |
| 42 | #include <linux/completion.h> | 41 | #include <linux/completion.h> |
| 43 | #include <linux/idr.h> | 42 | #include <linux/idr.h> |
| 43 | #include <linux/of.h> | ||
| 44 | 44 | ||
| 45 | /** | 45 | /** |
| 46 | * struct resource_table - firmware resource table header | 46 | * struct resource_table - firmware resource table header |
| @@ -330,11 +330,13 @@ struct rproc; | |||
| 330 | * @start: power on the device and boot it | 330 | * @start: power on the device and boot it |
| 331 | * @stop: power off the device | 331 | * @stop: power off the device |
| 332 | * @kick: kick a virtqueue (virtqueue id given as a parameter) | 332 | * @kick: kick a virtqueue (virtqueue id given as a parameter) |
| 333 | * @da_to_va: optional platform hook to perform address translations | ||
| 333 | */ | 334 | */ |
| 334 | struct rproc_ops { | 335 | struct rproc_ops { |
| 335 | int (*start)(struct rproc *rproc); | 336 | int (*start)(struct rproc *rproc); |
| 336 | int (*stop)(struct rproc *rproc); | 337 | int (*stop)(struct rproc *rproc); |
| 337 | void (*kick)(struct rproc *rproc, int vqid); | 338 | void (*kick)(struct rproc *rproc, int vqid); |
| 339 | void * (*da_to_va)(struct rproc *rproc, u64 da, int len); | ||
| 338 | }; | 340 | }; |
| 339 | 341 | ||
| 340 | /** | 342 | /** |
| @@ -375,7 +377,7 @@ enum rproc_crash_type { | |||
| 375 | 377 | ||
| 376 | /** | 378 | /** |
| 377 | * struct rproc - represents a physical remote processor device | 379 | * struct rproc - represents a physical remote processor device |
| 378 | * @node: klist node of this rproc object | 380 | * @node: list node of this rproc object |
| 379 | * @domain: iommu domain | 381 | * @domain: iommu domain |
| 380 | * @name: human readable name of the rproc | 382 | * @name: human readable name of the rproc |
| 381 | * @firmware: name of firmware file to be loaded | 383 | * @firmware: name of firmware file to be loaded |
| @@ -407,7 +409,7 @@ enum rproc_crash_type { | |||
| 407 | * @has_iommu: flag to indicate if remote processor is behind an MMU | 409 | * @has_iommu: flag to indicate if remote processor is behind an MMU |
| 408 | */ | 410 | */ |
| 409 | struct rproc { | 411 | struct rproc { |
| 410 | struct klist_node node; | 412 | struct list_head node; |
| 411 | struct iommu_domain *domain; | 413 | struct iommu_domain *domain; |
| 412 | const char *name; | 414 | const char *name; |
| 413 | const char *firmware; | 415 | const char *firmware; |
| @@ -481,6 +483,7 @@ struct rproc_vdev { | |||
| 481 | u32 rsc_offset; | 483 | u32 rsc_offset; |
| 482 | }; | 484 | }; |
| 483 | 485 | ||
| 486 | struct rproc *rproc_get_by_phandle(phandle phandle); | ||
| 484 | struct rproc *rproc_alloc(struct device *dev, const char *name, | 487 | struct rproc *rproc_alloc(struct device *dev, const char *name, |
| 485 | const struct rproc_ops *ops, | 488 | const struct rproc_ops *ops, |
| 486 | const char *firmware, int len); | 489 | const char *firmware, int len); |
