~ubuntu-branches/ubuntu/precise/linux-linaro-u8500/precise

« back to all changes in this revision

Viewing changes to arch/arm/mach-tegra/board-harmony.c

  • Committer: Bazaar Package Importer
  • Author(s): John Rigby, Upstream Fixes, Andy Green, John Rigby
  • Date: 2011-04-14 12:16:06 UTC
  • Revision ID: james.westby@ubuntu.com-20110414121606-b77podkyqgr2oix7
Tags: 2.6.38-1002.3
[ Upstream Fixes ]

* MUSB: shutdown: Make sure block is awake before doing shutdown
  - LP: #745737
* Fixed gpio polarity of gpio USB-phy reset.
  - LP: #747639

[ Andy Green ]

* LINARO: SAUCE: disable CONFIG_OMAP_RESET_CLOCKS
  - LP: #752900

[ John Rigby ]

* Rebase to new upstreams:
  Linux v2.6.38.1
  linaro-linux-2.6.38-upstream-29Mar2011
  Ubuntu-2.6.38-7.35
* SAUCE: OMAP4: clock: wait for module to become accessible on
  a clk enable
  - LP: #745737
* Rebase to new upstreams:
  Linux v2.6.38.2
  linaro-linux-2.6.38-upstream-5Apr2011
  Ubuntu-2.6.38-8.41
  - LP: #732842
* Update configs for device tree, dvfs and lttng
* LINARO: add building of dtb's
* LINARO: SAUCE: Disable lowest operating freqs on omap34xx
  - LP: #732912

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
 
31
31
#include <mach/iomap.h>
32
32
#include <mach/irqs.h>
 
33
#include <mach/sdhci.h>
33
34
 
34
35
#include "board.h"
35
36
#include "board-harmony.h"
36
37
#include "clock.h"
37
 
 
38
 
/* NVidia bootloader tags */
39
 
#define ATAG_NVIDIA             0x41000801
40
 
 
41
 
#define ATAG_NVIDIA_RM                  0x1
42
 
#define ATAG_NVIDIA_DISPLAY             0x2
43
 
#define ATAG_NVIDIA_FRAMEBUFFER         0x3
44
 
#define ATAG_NVIDIA_CHIPSHMOO           0x4
45
 
#define ATAG_NVIDIA_CHIPSHMOOPHYS       0x5
46
 
#define ATAG_NVIDIA_PRESERVED_MEM_0     0x10000
47
 
#define ATAG_NVIDIA_PRESERVED_MEM_N     2
48
 
#define ATAG_NVIDIA_FORCE_32            0x7fffffff
49
 
 
50
 
struct tag_tegra {
51
 
        __u32 bootarg_key;
52
 
        __u32 bootarg_len;
53
 
        char bootarg[1];
54
 
};
55
 
 
56
 
static int __init parse_tag_nvidia(const struct tag *tag)
57
 
{
58
 
 
59
 
        return 0;
60
 
}
61
 
__tagtable(ATAG_NVIDIA, parse_tag_nvidia);
 
38
#include "devices.h"
 
39
#include "gpio-names.h"
62
40
 
63
41
static struct plat_serial8250_port debug_uart_platform_data[] = {
64
42
        {
84
62
 
85
63
static struct platform_device *harmony_devices[] __initdata = {
86
64
        &debug_uart,
 
65
        &tegra_sdhci_device1,
 
66
        &tegra_sdhci_device2,
 
67
        &tegra_sdhci_device4,
87
68
};
88
69
 
89
70
static void __init tegra_harmony_fixup(struct machine_desc *desc,
102
83
        { NULL,         NULL,           0,              0},
103
84
};
104
85
 
 
86
 
 
87
static struct tegra_sdhci_platform_data sdhci_pdata1 = {
 
88
        .cd_gpio        = -1,
 
89
        .wp_gpio        = -1,
 
90
        .power_gpio     = -1,
 
91
};
 
92
 
 
93
static struct tegra_sdhci_platform_data sdhci_pdata2 = {
 
94
        .cd_gpio        = TEGRA_GPIO_PI5,
 
95
        .wp_gpio        = TEGRA_GPIO_PH1,
 
96
        .power_gpio     = TEGRA_GPIO_PT3,
 
97
};
 
98
 
 
99
static struct tegra_sdhci_platform_data sdhci_pdata4 = {
 
100
        .cd_gpio        = TEGRA_GPIO_PH2,
 
101
        .wp_gpio        = TEGRA_GPIO_PH3,
 
102
        .power_gpio     = TEGRA_GPIO_PI6,
 
103
        .is_8bit        = 1,
 
104
};
 
105
 
105
106
static void __init tegra_harmony_init(void)
106
107
{
107
 
        tegra_common_init();
108
 
 
109
108
        tegra_clk_init_from_table(harmony_clk_init_table);
110
109
 
111
110
        harmony_pinmux_init();
112
111
 
 
112
        tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1;
 
113
        tegra_sdhci_device2.dev.platform_data = &sdhci_pdata2;
 
114
        tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;
 
115
 
113
116
        platform_add_devices(harmony_devices, ARRAY_SIZE(harmony_devices));
114
117
}
115
118
 
116
 
static const char * tegra_harmony_board_compat[] = {
 
119
static const char * tegra_harmony_dt_compat[] = {
117
120
        "nvidia,harmony",
118
121
        NULL
119
122
};
121
124
MACHINE_START(HARMONY, "harmony")
122
125
        .boot_params  = 0x00000100,
123
126
        .fixup          = tegra_harmony_fixup,
 
127
        .map_io         = tegra_map_common_io,
 
128
        .init_early     = tegra_init_early,
124
129
        .init_irq       = tegra_init_irq,
 
130
        .timer          = &tegra_timer,
125
131
        .init_machine   = tegra_harmony_init,
126
 
        .map_io         = tegra_map_common_io,
127
 
        .timer          = &tegra_timer,
128
 
        .dt_compat      = tegra_harmony_board_compat,
 
132
        .dt_compat      = tegra_harmony_dt_compat,
129
133
MACHINE_END