12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Defines for the SRAM driver
- */
- #ifndef __SRAM_H
- #define __SRAM_H
- struct sram_config {
- int (*init)(void);
- bool map_only_reserved;
- };
- struct sram_partition {
- void __iomem *base;
- struct gen_pool *pool;
- struct bin_attribute battr;
- struct mutex lock;
- struct list_head list;
- };
- struct sram_dev {
- const struct sram_config *config;
- struct device *dev;
- void __iomem *virt_base;
- bool no_memory_wc;
- struct gen_pool *pool;
- struct clk *clk;
- struct sram_partition *partition;
- u32 partitions;
- };
- struct sram_reserve {
- struct list_head list;
- u32 start;
- u32 size;
- struct resource res;
- bool export;
- bool pool;
- bool protect_exec;
- const char *label;
- };
- #ifdef CONFIG_SRAM_EXEC
- int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
- struct sram_partition *part);
- int sram_add_protect_exec(struct sram_partition *part);
- #else
- static inline int sram_check_protect_exec(struct sram_dev *sram,
- struct sram_reserve *block,
- struct sram_partition *part)
- {
- return -ENODEV;
- }
- static inline int sram_add_protect_exec(struct sram_partition *part)
- {
- return -ENODEV;
- }
- #endif /* CONFIG_SRAM_EXEC */
- #endif /* __SRAM_H */
|