Linux Audio

Check our new training course

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