include/memory/renesas-rpc-if.h

Source file repositories/reference/linux-study-clean/include/memory/renesas-rpc-if.h

File Facts

System
Linux kernel
Corpus path
include/memory/renesas-rpc-if.h
Extension
.h
Size
1480 bytes
Lines
84
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rpcif_op {
	struct {
		u8 buswidth;
		u8 opcode;
		bool ddr;
	} cmd, ocmd;

	struct {
		u8 nbytes;
		u8 buswidth;
		bool ddr;
		u64 val;
	} addr;

	struct {
		u8 ncycles;
		u8 buswidth;
	} dummy;

	struct {
		u8 nbytes;
		u8 buswidth;
		bool ddr;
		u32 val;
	} option;

	struct {
		u8 buswidth;
		unsigned int nbytes;
		enum rpcif_data_dir dir;
		bool ddr;
		union {
			void *in;
			const void *out;
		} buf;
	} data;
};

enum rpcif_type {
	RPCIF_RCAR_GEN3,
	RPCIF_RCAR_GEN4,
	RPCIF_RZ_G2L,
	XSPI_RZ_G3E,
};

struct rpcif {
	struct device *dev;
	void __iomem *dirmap;
	size_t size;
	bool xspi;
};

int rpcif_sw_init(struct rpcif *rpc, struct device *dev);
int rpcif_hw_init(struct device *dev, bool hyperflash);
void rpcif_prepare(struct device *dev, const struct rpcif_op *op, u64 *offs,
		   size_t *len);
int rpcif_manual_xfer(struct device *dev);
ssize_t rpcif_dirmap_read(struct device *dev, u64 offs, size_t len, void *buf);
ssize_t xspi_dirmap_write(struct device *dev, u64 offs, size_t len,
			  const void *buf);

#endif // __RENESAS_RPC_IF_H

Annotation

Implementation Notes