diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-03-04 12:28:21 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-04-19 07:51:23 -0400 |
commit | cc014f3e29e15140e35e14fa194034baee92df2a (patch) | |
tree | 0cdd69202fef892fb3f14e4d8f534493329f166b /arch/arm/plat-samsung/include | |
parent | f76da510d61a8793c990bee9acc10744ee2b2a8c (diff) |
mmc: sdhci-s3c: remove platform dependencies
plat/regs-sdhci.h is not used anywhere but in the sdhci-s3c
driver, so it can become a local file there and all other
inclusions removed.
plat/sdhci.h is used only to define the platform devices,
and with the exception of the platform_data structure not
needed by the driver, so we can split out the platform_data
definition instead and leave the rest to platform code.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'arch/arm/plat-samsung/include')
-rw-r--r-- | arch/arm/plat-samsung/include/plat/regs-sdhci.h | 87 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/sdhci.h | 56 |
2 files changed, 1 insertions, 142 deletions
diff --git a/arch/arm/plat-samsung/include/plat/regs-sdhci.h b/arch/arm/plat-samsung/include/plat/regs-sdhci.h deleted file mode 100644 index e34049ad44cc..000000000000 --- a/arch/arm/plat-samsung/include/plat/regs-sdhci.h +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-s3c/include/plat/regs-sdhci.h | ||
2 | * | ||
3 | * Copyright 2008 Openmoko, Inc. | ||
4 | * Copyright 2008 Simtec Electronics | ||
5 | * http://armlinux.simtec.co.uk/ | ||
6 | * Ben Dooks <ben@simtec.co.uk> | ||
7 | * | ||
8 | * S3C Platform - SDHCI (HSMMC) register definitions | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #ifndef __PLAT_S3C_SDHCI_REGS_H | ||
16 | #define __PLAT_S3C_SDHCI_REGS_H __FILE__ | ||
17 | |||
18 | #define S3C_SDHCI_CONTROL2 (0x80) | ||
19 | #define S3C_SDHCI_CONTROL3 (0x84) | ||
20 | #define S3C64XX_SDHCI_CONTROL4 (0x8C) | ||
21 | |||
22 | #define S3C64XX_SDHCI_CTRL2_ENSTAASYNCCLR (1 << 31) | ||
23 | #define S3C64XX_SDHCI_CTRL2_ENCMDCNFMSK (1 << 30) | ||
24 | #define S3C_SDHCI_CTRL2_CDINVRXD3 (1 << 29) | ||
25 | #define S3C_SDHCI_CTRL2_SLCARDOUT (1 << 28) | ||
26 | |||
27 | #define S3C_SDHCI_CTRL2_FLTCLKSEL_MASK (0xf << 24) | ||
28 | #define S3C_SDHCI_CTRL2_FLTCLKSEL_SHIFT (24) | ||
29 | #define S3C_SDHCI_CTRL2_FLTCLKSEL(_x) ((_x) << 24) | ||
30 | |||
31 | #define S3C_SDHCI_CTRL2_LVLDAT_MASK (0xff << 16) | ||
32 | #define S3C_SDHCI_CTRL2_LVLDAT_SHIFT (16) | ||
33 | #define S3C_SDHCI_CTRL2_LVLDAT(_x) ((_x) << 16) | ||
34 | |||
35 | #define S3C_SDHCI_CTRL2_ENFBCLKTX (1 << 15) | ||
36 | #define S3C_SDHCI_CTRL2_ENFBCLKRX (1 << 14) | ||
37 | #define S3C_SDHCI_CTRL2_SDCDSEL (1 << 13) | ||
38 | #define S3C_SDHCI_CTRL2_SDSIGPC (1 << 12) | ||
39 | #define S3C_SDHCI_CTRL2_ENBUSYCHKTXSTART (1 << 11) | ||
40 | |||
41 | #define S3C_SDHCI_CTRL2_DFCNT_MASK (0x3 << 9) | ||
42 | #define S3C_SDHCI_CTRL2_DFCNT_SHIFT (9) | ||
43 | #define S3C_SDHCI_CTRL2_DFCNT_NONE (0x0 << 9) | ||
44 | #define S3C_SDHCI_CTRL2_DFCNT_4SDCLK (0x1 << 9) | ||
45 | #define S3C_SDHCI_CTRL2_DFCNT_16SDCLK (0x2 << 9) | ||
46 | #define S3C_SDHCI_CTRL2_DFCNT_64SDCLK (0x3 << 9) | ||
47 | |||
48 | #define S3C_SDHCI_CTRL2_ENCLKOUTHOLD (1 << 8) | ||
49 | #define S3C_SDHCI_CTRL2_RWAITMODE (1 << 7) | ||
50 | #define S3C_SDHCI_CTRL2_DISBUFRD (1 << 6) | ||
51 | #define S3C_SDHCI_CTRL2_SELBASECLK_MASK (0x3 << 4) | ||
52 | #define S3C_SDHCI_CTRL2_SELBASECLK_SHIFT (4) | ||
53 | #define S3C_SDHCI_CTRL2_PWRSYNC (1 << 3) | ||
54 | #define S3C_SDHCI_CTRL2_ENCLKOUTMSKCON (1 << 1) | ||
55 | #define S3C_SDHCI_CTRL2_HWINITFIN (1 << 0) | ||
56 | |||
57 | #define S3C_SDHCI_CTRL3_FCSEL3 (1 << 31) | ||
58 | #define S3C_SDHCI_CTRL3_FCSEL2 (1 << 23) | ||
59 | #define S3C_SDHCI_CTRL3_FCSEL1 (1 << 15) | ||
60 | #define S3C_SDHCI_CTRL3_FCSEL0 (1 << 7) | ||
61 | |||
62 | #define S3C_SDHCI_CTRL3_FIA3_MASK (0x7f << 24) | ||
63 | #define S3C_SDHCI_CTRL3_FIA3_SHIFT (24) | ||
64 | #define S3C_SDHCI_CTRL3_FIA3(_x) ((_x) << 24) | ||
65 | |||
66 | #define S3C_SDHCI_CTRL3_FIA2_MASK (0x7f << 16) | ||
67 | #define S3C_SDHCI_CTRL3_FIA2_SHIFT (16) | ||
68 | #define S3C_SDHCI_CTRL3_FIA2(_x) ((_x) << 16) | ||
69 | |||
70 | #define S3C_SDHCI_CTRL3_FIA1_MASK (0x7f << 8) | ||
71 | #define S3C_SDHCI_CTRL3_FIA1_SHIFT (8) | ||
72 | #define S3C_SDHCI_CTRL3_FIA1(_x) ((_x) << 8) | ||
73 | |||
74 | #define S3C_SDHCI_CTRL3_FIA0_MASK (0x7f << 0) | ||
75 | #define S3C_SDHCI_CTRL3_FIA0_SHIFT (0) | ||
76 | #define S3C_SDHCI_CTRL3_FIA0(_x) ((_x) << 0) | ||
77 | |||
78 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_MASK (0x3 << 16) | ||
79 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_SHIFT (16) | ||
80 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_2mA (0x0 << 16) | ||
81 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_4mA (0x1 << 16) | ||
82 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_7mA (0x2 << 16) | ||
83 | #define S3C64XX_SDHCI_CONTROL4_DRIVE_9mA (0x3 << 16) | ||
84 | |||
85 | #define S3C64XX_SDHCI_CONTROL4_BUSY (1) | ||
86 | |||
87 | #endif /* __PLAT_S3C_SDHCI_REGS_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h index 9b87f38fc4f4..1e0aab08c13f 100644 --- a/arch/arm/plat-samsung/include/plat/sdhci.h +++ b/arch/arm/plat-samsung/include/plat/sdhci.h | |||
@@ -18,62 +18,9 @@ | |||
18 | #ifndef __PLAT_S3C_SDHCI_H | 18 | #ifndef __PLAT_S3C_SDHCI_H |
19 | #define __PLAT_S3C_SDHCI_H __FILE__ | 19 | #define __PLAT_S3C_SDHCI_H __FILE__ |
20 | 20 | ||
21 | #include <linux/platform_data/mmc-sdhci-s3c.h> | ||
21 | #include <plat/devs.h> | 22 | #include <plat/devs.h> |
22 | 23 | ||
23 | struct platform_device; | ||
24 | struct mmc_host; | ||
25 | struct mmc_card; | ||
26 | struct mmc_ios; | ||
27 | |||
28 | enum cd_types { | ||
29 | S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */ | ||
30 | S3C_SDHCI_CD_EXTERNAL, /* use external callback */ | ||
31 | S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */ | ||
32 | S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */ | ||
33 | S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */ | ||
34 | }; | ||
35 | |||
36 | /** | ||
37 | * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI | ||
38 | * @max_width: The maximum number of data bits supported. | ||
39 | * @host_caps: Standard MMC host capabilities bit field. | ||
40 | * @host_caps2: The second standard MMC host capabilities bit field. | ||
41 | * @cd_type: Type of Card Detection method (see cd_types enum above) | ||
42 | * @ext_cd_init: Initialize external card detect subsystem. Called on | ||
43 | * sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
44 | * notify_func argument is a callback to the sdhci-s3c driver | ||
45 | * that triggers the card detection event. Callback arguments: | ||
46 | * dev is pointer to platform device of the host controller, | ||
47 | * state is new state of the card (0 - removed, 1 - inserted). | ||
48 | * @ext_cd_cleanup: Cleanup external card detect subsystem. Called on | ||
49 | * sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
50 | * notify_func argument is the same callback as for ext_cd_init. | ||
51 | * @ext_cd_gpio: gpio pin used for external CD line, valid only if | ||
52 | * cd_type == S3C_SDHCI_CD_GPIO | ||
53 | * @ext_cd_gpio_invert: invert values for external CD gpio line | ||
54 | * @cfg_gpio: Configure the GPIO for a specific card bit-width | ||
55 | * | ||
56 | * Initialisation data specific to either the machine or the platform | ||
57 | * for the device driver to use or call-back when configuring gpio or | ||
58 | * card speed information. | ||
59 | */ | ||
60 | struct s3c_sdhci_platdata { | ||
61 | unsigned int max_width; | ||
62 | unsigned int host_caps; | ||
63 | unsigned int host_caps2; | ||
64 | unsigned int pm_caps; | ||
65 | enum cd_types cd_type; | ||
66 | |||
67 | int ext_cd_gpio; | ||
68 | bool ext_cd_gpio_invert; | ||
69 | int (*ext_cd_init)(void (*notify_func)(struct platform_device *, | ||
70 | int state)); | ||
71 | int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *, | ||
72 | int state)); | ||
73 | |||
74 | void (*cfg_gpio)(struct platform_device *dev, int width); | ||
75 | }; | ||
76 | |||
77 | /* s3c_sdhci_set_platdata() - common helper for setting SDHCI platform data | 24 | /* s3c_sdhci_set_platdata() - common helper for setting SDHCI platform data |
78 | * @pd: The default platform data for this device. | 25 | * @pd: The default platform data for this device. |
79 | * @set: Pointer to the platform data to fill in. | 26 | * @set: Pointer to the platform data to fill in. |
@@ -378,5 +325,4 @@ static inline void s3c_sdhci_setname(int id, char *name) | |||
378 | break; | 325 | break; |
379 | } | 326 | } |
380 | } | 327 | } |
381 | |||
382 | #endif /* __PLAT_S3C_SDHCI_H */ | 328 | #endif /* __PLAT_S3C_SDHCI_H */ |