Merge branch 'davinci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci
* 'davinci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: DaVinci: DM365: Add the device_enable for the DaVinci Keyscan davinci: enable ARCH_HAS_HOLES_MEMORYMODEL for DaVinci davinci: da8xx/omap-l1: mark RTC as a wakeup source davinci: cp_intc: provide set_wake function Davinci VPFE Capture: Take i2c adapter id through platform data
This commit is contained in:
Коммит
b1c0ec8966
|
@ -688,6 +688,7 @@ config ARCH_DAVINCI
|
|||
select HAVE_IDE
|
||||
select COMMON_CLKDEV
|
||||
select GENERIC_ALLOCATOR
|
||||
select ARCH_HAS_HOLES_MEMORYMODEL
|
||||
help
|
||||
Support for TI's DaVinci platform.
|
||||
|
||||
|
|
|
@ -236,6 +236,7 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = {
|
|||
|
||||
static struct vpfe_config vpfe_cfg = {
|
||||
.num_subdevs = ARRAY_SIZE(vpfe_sub_devs),
|
||||
.i2c_adapter_id = 1,
|
||||
.sub_devs = vpfe_sub_devs,
|
||||
.card_name = "DM355 EVM",
|
||||
.ccdc = "DM355 CCDC",
|
||||
|
|
|
@ -192,7 +192,11 @@ static struct davinci_i2c_platform_data i2c_pdata = {
|
|||
.bus_delay = 0 /* usec */,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_KEYBOARD_DAVINCI
|
||||
static int dm365evm_keyscan_enable(struct device *dev)
|
||||
{
|
||||
return davinci_cfg_reg(DM365_KEYSCAN);
|
||||
}
|
||||
|
||||
static unsigned short dm365evm_keymap[] = {
|
||||
KEY_KP2,
|
||||
KEY_LEFT,
|
||||
|
@ -214,6 +218,7 @@ static unsigned short dm365evm_keymap[] = {
|
|||
};
|
||||
|
||||
static struct davinci_ks_platform_data dm365evm_ks_data = {
|
||||
.device_enable = dm365evm_keyscan_enable,
|
||||
.keymap = dm365evm_keymap,
|
||||
.keymapsize = ARRAY_SIZE(dm365evm_keymap),
|
||||
.rep = 1,
|
||||
|
@ -222,7 +227,6 @@ static struct davinci_ks_platform_data dm365evm_ks_data = {
|
|||
.interval = 0x2,
|
||||
.matrix_type = DAVINCI_KEYSCAN_MATRIX_4X4,
|
||||
};
|
||||
#endif
|
||||
|
||||
static int cpld_mmc_get_cd(int module)
|
||||
{
|
||||
|
@ -511,10 +515,7 @@ static __init void dm365_evm_init(void)
|
|||
|
||||
dm365_init_asp(&dm365_evm_snd_data);
|
||||
dm365_init_rtc();
|
||||
|
||||
#ifdef CONFIG_KEYBOARD_DAVINCI
|
||||
dm365_init_ks(&dm365evm_ks_data);
|
||||
#endif
|
||||
}
|
||||
|
||||
static __init void dm365_evm_irq_init(void)
|
||||
|
|
|
@ -247,6 +247,7 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = {
|
|||
|
||||
static struct vpfe_config vpfe_cfg = {
|
||||
.num_subdevs = ARRAY_SIZE(vpfe_sub_devs),
|
||||
.i2c_adapter_id = 1,
|
||||
.sub_devs = vpfe_sub_devs,
|
||||
.card_name = "DM6446 EVM",
|
||||
.ccdc = "DM6446 CCDC",
|
||||
|
|
|
@ -81,12 +81,23 @@ static int cp_intc_set_irq_type(unsigned int irq, unsigned int flow_type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Faking this allows us to to work with suspend functions of
|
||||
* generic drivers which call {enable|disable}_irq_wake for
|
||||
* wake up interrupt sources (eg RTC on DA850).
|
||||
*/
|
||||
static int cp_intc_set_wake(unsigned int irq, unsigned int on)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct irq_chip cp_intc_irq_chip = {
|
||||
.name = "cp_intc",
|
||||
.ack = cp_intc_ack_irq,
|
||||
.mask = cp_intc_mask_irq,
|
||||
.unmask = cp_intc_unmask_irq,
|
||||
.set_type = cp_intc_set_irq_type,
|
||||
.set_wake = cp_intc_set_wake,
|
||||
};
|
||||
|
||||
void __init cp_intc_init(void __iomem *base, unsigned short num_irq,
|
||||
|
|
|
@ -481,11 +481,18 @@ static struct platform_device da8xx_rtc_device = {
|
|||
|
||||
int da8xx_register_rtc(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* Unlock the rtc's registers */
|
||||
__raw_writel(0x83e70b13, IO_ADDRESS(DA8XX_RTC_BASE + 0x6c));
|
||||
__raw_writel(0x95a4f1e0, IO_ADDRESS(DA8XX_RTC_BASE + 0x70));
|
||||
|
||||
return platform_device_register(&da8xx_rtc_device);
|
||||
ret = platform_device_register(&da8xx_rtc_device);
|
||||
if (!ret)
|
||||
/* Atleast on DA850, RTC is a wakeup source */
|
||||
device_init_wakeup(&da8xx_rtc_device.dev, true);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct resource da8xx_cpuidle_resources[] = {
|
||||
|
|
|
@ -993,7 +993,6 @@ void __init dm365_init_asp(struct snd_platform_data *pdata)
|
|||
|
||||
void __init dm365_init_ks(struct davinci_ks_platform_data *pdata)
|
||||
{
|
||||
davinci_cfg_reg(DM365_KEYSCAN);
|
||||
dm365_ks_device.dev.platform_data = pdata;
|
||||
platform_device_register(&dm365_ks_device);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче