aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/platform_data/wkup_m3.h30
-rw-r--r--include/linux/remoteproc.h9
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
21struct platform_device;
22
23struct 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 */
334struct rproc_ops { 335struct 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 */
409struct rproc { 411struct 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
486struct rproc *rproc_get_by_phandle(phandle phandle);
484struct rproc *rproc_alloc(struct device *dev, const char *name, 487struct 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);