Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *  linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  *  Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) enum s3cmci_waitfor {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 	COMPLETION_NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 	COMPLETION_FINALIZE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 	COMPLETION_CMDSENT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	COMPLETION_RSPFIN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	COMPLETION_XFERFINISH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	COMPLETION_XFERFINISH_RSPFIN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) struct s3cmci_host {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	struct platform_device	*pdev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	struct s3c24xx_mci_pdata *pdata;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	struct mmc_host		*mmc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	struct resource		*mem;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	struct clk		*clk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	void __iomem		*base;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	int			irq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	int			irq_cd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	struct dma_chan		*dma;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	unsigned long		clk_rate;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	unsigned long		clk_div;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	unsigned long		real_rate;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	u8			prescaler;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	int			is2440;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	unsigned		sdiimsk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	unsigned		sdidata;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	bool			irq_disabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	bool			irq_enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	bool			irq_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	int			sdio_irqen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	struct mmc_request	*mrq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	int			cmd_is_stop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	spinlock_t		complete_lock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	enum s3cmci_waitfor	complete_what;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	int			dma_complete;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 	u32			pio_sgptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	u32			pio_bytes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	u32			pio_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	u32			*pio_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define XFER_NONE 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define XFER_READ 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define XFER_WRITE 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 	u32			pio_active;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	int			bus_width;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 	char 			dbgmsg_cmd[301];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 	char 			dbgmsg_dat[301];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	char			*status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 	unsigned int		ccnt, dcnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	struct tasklet_struct	pio_tasklet;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #ifdef CONFIG_DEBUG_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	struct dentry		*debug_root;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) #ifdef CONFIG_ARM_S3C24XX_CPUFREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	struct notifier_block	freq_transition;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) };