-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: OMAP: Merge driver headers from N800 tree
This patch merges omap specific driver headers from N800 tree. Signed-off-by: Kai Svahn <kai.svahn@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
- Loading branch information
Kai Svahn
authored and
Tony Lindgren
committed
Sep 20, 2007
1 parent
2330059
commit 8777297
Showing
5 changed files
with
219 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#ifndef _BLIZZARD_H | ||
#define _BLIZZARD_H | ||
|
||
struct blizzard_platform_data { | ||
void (*power_up)(struct device *dev); | ||
void (*power_down)(struct device *dev); | ||
unsigned long (*get_clock_rate)(struct device *dev); | ||
|
||
unsigned te_connected : 1; | ||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
/* | ||
* linux/include/asm-arm/arch-omap2/eac.h | ||
* | ||
* Defines for Enhanced Audio Controller | ||
* | ||
* Contact: Jarkko Nikula <jarkko.nikula@nokia.com> | ||
* | ||
* Copyright (C) 2006 Nokia Corporation | ||
* Copyright (C) 2004 Texas Instruments, Inc. | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* version 2 as published by the Free Software Foundation. | ||
* | ||
* This program is distributed in the hope that it will be useful, but | ||
* WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
* 02110-1301 USA | ||
* | ||
*/ | ||
|
||
#ifndef __ASM_ARM_ARCH_OMAP2_EAC_H | ||
#define __ASM_ARM_ARCH_OMAP2_EAC_H | ||
|
||
#include <asm/arch/io.h> | ||
#include <asm/arch/hardware.h> | ||
#include <asm/irq.h> | ||
|
||
#include <sound/driver.h> | ||
#include <sound/core.h> | ||
|
||
/* master codec clock source */ | ||
#define EAC_MCLK_EXT_MASK 0x100 | ||
enum eac_mclk_src { | ||
EAC_MCLK_INT_11290000, /* internal 96 MHz / 8.5 = 11.29 Mhz */ | ||
EAC_MCLK_EXT_11289600 = EAC_MCLK_EXT_MASK, | ||
EAC_MCLK_EXT_12288000, | ||
EAC_MCLK_EXT_2x11289600, | ||
EAC_MCLK_EXT_2x12288000, | ||
}; | ||
|
||
/* codec port interface mode */ | ||
enum eac_codec_mode { | ||
EAC_CODEC_PCM, | ||
EAC_CODEC_AC97, | ||
EAC_CODEC_I2S_MASTER, /* codec port, I.e. EAC is the master */ | ||
EAC_CODEC_I2S_SLAVE, | ||
}; | ||
|
||
/* configuration structure for I2S mode */ | ||
struct eac_i2s_conf { | ||
/* if enabled, then first data slot (left channel) is signaled as | ||
* positive level of frame sync EAC.AC_FS */ | ||
unsigned polarity_changed_mode:1; | ||
/* if enabled, then serial data starts one clock cycle after the | ||
* of EAC.AC_FS for first audio slot */ | ||
unsigned sync_delay_enable:1; | ||
}; | ||
|
||
/* configuration structure for EAC codec port */ | ||
struct eac_codec { | ||
enum eac_mclk_src mclk_src; | ||
|
||
enum eac_codec_mode codec_mode; | ||
union { | ||
struct eac_i2s_conf i2s; | ||
} codec_conf; | ||
|
||
int default_rate; /* audio sampling rate */ | ||
|
||
int (* set_power)(void *private_data, int dac, int adc); | ||
int (* register_controls)(void *private_data, | ||
struct snd_card *card); | ||
const char *short_name; | ||
|
||
void *private_data; | ||
}; | ||
|
||
/* structure for passing platform dependent data to the EAC driver */ | ||
struct eac_platform_data { | ||
int (* init)(struct device *eac_dev); | ||
void (* cleanup)(struct device *eac_dev); | ||
/* these callbacks are used to configure & control external MCLK | ||
* source. NULL if not used */ | ||
int (* enable_ext_clocks)(struct device *eac_dev); | ||
void (* disable_ext_clocks)(struct device *eac_dev); | ||
}; | ||
|
||
extern void omap_init_eac(struct eac_platform_data *pdata); | ||
|
||
extern int eac_register_codec(struct device *eac_dev, struct eac_codec *codec); | ||
extern void eac_unregister_codec(struct device *eac_dev); | ||
|
||
extern int eac_set_mode(struct device *eac_dev, int play, int rec); | ||
|
||
#endif /* __ASM_ARM_ARCH_OMAP2_EAC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* | ||
* MMC definitions for OMAP2 | ||
* | ||
* Copyright (C) 2006 Nokia Corporation | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#ifndef __OMAP2_MMC_H | ||
#define __OMAP2_MMC_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/device.h> | ||
#include <linux/mmc/host.h> | ||
|
||
#define OMAP_MMC_MAX_SLOTS 2 | ||
|
||
struct omap_mmc_platform_data { | ||
unsigned enabled:1; | ||
/* number of slots on board */ | ||
unsigned nr_slots:2; | ||
/* nomux means "standard" muxing is wrong on this board, and that | ||
* board-specific code handled it before common init logic. | ||
*/ | ||
unsigned nomux:1; | ||
/* 4 wire signaling is optional, and is only used for SD/SDIO and | ||
* MMCv4 */ | ||
unsigned wire4:1; | ||
/* set if your board has components or wiring that limits the | ||
* maximum frequency on the MMC bus */ | ||
unsigned int max_freq; | ||
|
||
/* switch the bus to a new slot */ | ||
int (* switch_slot)(struct device *dev, int slot); | ||
/* initialize board-specific MMC functionality, can be NULL if | ||
* not supported */ | ||
int (* init)(struct device *dev); | ||
void (* cleanup)(struct device *dev); | ||
|
||
struct omap_mmc_slot_data { | ||
int (* set_bus_mode)(struct device *dev, int slot, int bus_mode); | ||
int (* set_power)(struct device *dev, int slot, int power_on, int vdd); | ||
int (* get_ro)(struct device *dev, int slot); | ||
|
||
/* return MMC cover switch state, can be NULL if not supported. | ||
* | ||
* possible return values: | ||
* 0 - open | ||
* 1 - closed | ||
*/ | ||
int (* get_cover_state)(struct device *dev, int slot); | ||
|
||
const char *name; | ||
u32 ocr_mask; | ||
} slots[OMAP_MMC_MAX_SLOTS]; | ||
}; | ||
|
||
extern void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info); | ||
|
||
/* called from board-specific card detection service routine */ | ||
extern void omap_mmc_notify_card_detect(struct device *dev, int slot, int detected); | ||
extern void omap_mmc_notify_cover_event(struct device *dev, int slot, int is_closed); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* | ||
* include/asm-arm/arch-omap/onenand.h | ||
* | ||
* Copyright (C) 2006 Nokia Corporation | ||
* Author: Juha Yrjola | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#include <linux/mtd/partitions.h> | ||
|
||
struct omap_onenand_platform_data { | ||
int cs; | ||
int gpio_irq; | ||
struct mtd_partition *parts; | ||
int nr_parts; | ||
int (*onenand_setup)(void __iomem *); | ||
int dma_channel; | ||
}; |