4 #include <linux/platform_device.h>
5 #include <linux/completion.h>
20 void __iomem
*head_addr
;
21 void __iomem
*tail_addr
;
26 struct mps_fifo upstream
;
27 struct mps_fifo downstream
;
33 MPS_BOOT_ENCRYPTED
= 2,
40 struct resource
*mbox_res
;
41 void __iomem
*mbox_base
;
43 struct resource
*cp1_res
;
44 void __iomem
*cp1_base
;
53 void mps_configure_fifo(struct mps
*mps
, struct mps_fifo
*fifo
,
54 const struct mps_fifo_config
*config
);
56 void mps_configure_mailbox(struct mps
*mps
, struct mps_mailbox
*mbox
,
57 const struct mps_fifo_config
*upstream_config
,
58 const struct mps_fifo_config
*downstream_config
);
60 void mps_load_firmware(struct mps
*mps
, const void *data
, size_t size
,
61 enum mps_boot_config config
);
63 static inline struct mps
*device_to_mps(struct device
*dev
)
65 return (struct mps
*)dev_get_drvdata(dev
);
69 void mps_fifo_init(struct mps_fifo
*fifo
, void __iomem
*data_addr
,
70 void __iomem
*head_addr
, void __iomem
*tail_addr
, uint32_t size
);
71 void mps_fifo_in(struct mps_fifo
*fifo
, const uint32_t *from
, size_t len
);
72 void mps_fifo_out(struct mps_fifo
*fifo
, uint32_t *to
, size_t len
);
73 uint32_t mps_fifo_peek(struct mps_fifo
*fifo
);
74 void mps_fifo_reset(struct mps_fifo
*fifo
);
75 size_t mps_fifo_len(struct mps_fifo
*fifo
);
78 int mps_mailbox_init(struct mps_mailbox
*mbox
, const char *name
, int irq
);
79 int mps_mailbox_command_read(struct mps_mailbox
*mbox
, uint32_t cmd
,
81 int mps_mailbox_command_write(struct mps_mailbox
*mbox
, uint32_t cmd
,
82 const uint32_t *data
);
This page took 0.053086 seconds and 5 git commands to generate.