Root/
1 | /* |
2 | * linux/arch/arm/mach-omap1/board-sx1-mmc.c |
3 | * |
4 | * Copyright (C) 2007 Instituto Nokia de Tecnologia - INdT |
5 | * Author: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br> |
6 | * |
7 | * This code is based on linux/arch/arm/mach-omap1/board-h2-mmc.c, which is: |
8 | * Copyright (C) 2007 Instituto Nokia de Tecnologia - INdT |
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 | #include <linux/platform_device.h> |
16 | |
17 | #include <mach/hardware.h> |
18 | #include <plat/mmc.h> |
19 | #include <mach/gpio.h> |
20 | #include <plat/board-sx1.h> |
21 | |
22 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) |
23 | |
24 | static int mmc_set_power(struct device *dev, int slot, int power_on, |
25 | int vdd) |
26 | { |
27 | int err; |
28 | u8 dat = 0; |
29 | |
30 | err = sx1_i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat); |
31 | if (err < 0) |
32 | return err; |
33 | |
34 | if (power_on) |
35 | dat |= SOFIA_MMC_POWER; |
36 | else |
37 | dat &= ~SOFIA_MMC_POWER; |
38 | |
39 | return sx1_i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat); |
40 | } |
41 | |
42 | /* Cover switch is at OMAP_MPUIO(3) */ |
43 | static struct omap_mmc_platform_data mmc1_data = { |
44 | .nr_slots = 1, |
45 | .slots[0] = { |
46 | .set_power = mmc_set_power, |
47 | .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34, |
48 | .name = "mmcblk", |
49 | }, |
50 | }; |
51 | |
52 | static struct omap_mmc_platform_data *mmc_data[OMAP15XX_NR_MMC]; |
53 | |
54 | void __init sx1_mmc_init(void) |
55 | { |
56 | mmc_data[0] = &mmc1_data; |
57 | omap1_init_mmc(mmc_data, OMAP15XX_NR_MMC); |
58 | } |
59 | |
60 | #else |
61 | |
62 | void __init sx1_mmc_init(void) |
63 | { |
64 | } |
65 | |
66 | #endif |
67 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9