Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd
* 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: tc6393 cleanup and update mfd: have TMIO drivers and subdevices depend on ARM mfd: TMIO MMC driver mfd: driver for the TMIO NAND controller mfd: t7l66 MMC platform data mfd: tc6387 MMC platform data mfd: Fix 7l66 and 6387 according to the new mfd-core API mfd: Fix tc6393 according to the new tmio.h mfd: driver for the TC6387XB TMIO controller. mfd: driver for the T7L66XB TMIO SoC mfd: TMIO MMC structures and accessors.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* This file contains the definitions for the T7L66XB
|
||||
*
|
||||
* (C) Copyright 2005 Ian Molton <spyro@f2s.com>
|
||||
*
|
||||
* 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 MFD_T7L66XB_H
|
||||
#define MFD_T7L66XB_H
|
||||
|
||||
#include <linux/mfd/core.h>
|
||||
#include <linux/mfd/tmio.h>
|
||||
|
||||
struct t7l66xb_platform_data {
|
||||
int (*enable_clk32k)(struct platform_device *dev);
|
||||
void (*disable_clk32k)(struct platform_device *dev);
|
||||
int (*enable)(struct platform_device *dev);
|
||||
int (*disable)(struct platform_device *dev);
|
||||
int (*suspend)(struct platform_device *dev);
|
||||
int (*resume)(struct platform_device *dev);
|
||||
|
||||
int irq_base; /* The base for subdevice irqs */
|
||||
|
||||
struct tmio_nand_data *nand_data;
|
||||
};
|
||||
|
||||
|
||||
#define IRQ_T7L66XB_MMC (1)
|
||||
#define IRQ_T7L66XB_NAND (3)
|
||||
|
||||
#define T7L66XB_NR_IRQS 8
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* This file contains the definitions for the TC6387XB
|
||||
*
|
||||
* (C) Copyright 2005 Ian Molton <spyro@f2s.com>
|
||||
*
|
||||
* May be copied or modified under the terms of the GNU General Public
|
||||
* License. See linux/COPYING for more information.
|
||||
*
|
||||
*/
|
||||
#ifndef MFD_TC6387XB_H
|
||||
#define MFD_TC6387XB_H
|
||||
|
||||
struct tc6387xb_platform_data {
|
||||
int (*enable_clk32k)(struct platform_device *dev);
|
||||
void (*disable_clk32k)(struct platform_device *dev);
|
||||
|
||||
int (*enable)(struct platform_device *dev);
|
||||
int (*disable)(struct platform_device *dev);
|
||||
int (*suspend)(struct platform_device *dev);
|
||||
int (*resume)(struct platform_device *dev);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -14,8 +14,8 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef TC6393XB_H
|
||||
#define TC6393XB_H
|
||||
#ifndef MFD_TC6393XB_H
|
||||
#define MFD_TC6393XB_H
|
||||
|
||||
/* Also one should provide the CK3P6MI clock */
|
||||
struct tc6393xb_platform_data {
|
||||
@@ -29,7 +29,7 @@ struct tc6393xb_platform_data {
|
||||
int (*suspend)(struct platform_device *dev);
|
||||
int (*resume)(struct platform_device *dev);
|
||||
|
||||
int irq_base; /* a base for cascaded irq */
|
||||
int irq_base; /* base for subdevice irqs */
|
||||
int gpio_base;
|
||||
|
||||
struct tmio_nand_data *nand_data;
|
||||
@@ -40,9 +40,6 @@ struct tc6393xb_platform_data {
|
||||
*/
|
||||
#define IRQ_TC6393_NAND 0
|
||||
#define IRQ_TC6393_MMC 1
|
||||
#define IRQ_TC6393_OHCI 2
|
||||
#define IRQ_TC6393_SERIAL 3
|
||||
#define IRQ_TC6393_FB 4
|
||||
|
||||
#define TC6393XB_NR_IRQS 8
|
||||
|
||||
|
||||
@@ -1,6 +1,21 @@
|
||||
#ifndef MFD_TMIO_H
|
||||
#define MFD_TMIO_H
|
||||
|
||||
#define tmio_ioread8(addr) readb(addr)
|
||||
#define tmio_ioread16(addr) readw(addr)
|
||||
#define tmio_ioread16_rep(r, b, l) readsw(r, b, l)
|
||||
#define tmio_ioread32(addr) \
|
||||
(((u32) readw((addr))) | (((u32) readw((addr) + 2)) << 16))
|
||||
|
||||
#define tmio_iowrite8(val, addr) writeb((val), (addr))
|
||||
#define tmio_iowrite16(val, addr) writew((val), (addr))
|
||||
#define tmio_iowrite16_rep(r, b, l) writesw(r, b, l)
|
||||
#define tmio_iowrite32(val, addr) \
|
||||
do { \
|
||||
writew((val), (addr)); \
|
||||
writew((val) >> 16, (addr) + 2); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* data for the NAND controller
|
||||
*/
|
||||
@@ -10,8 +25,4 @@ struct tmio_nand_data {
|
||||
unsigned int num_partitions;
|
||||
};
|
||||
|
||||
#define TMIO_NAND_CONFIG "tmio-nand-config"
|
||||
#define TMIO_NAND_CONTROL "tmio-nand-control"
|
||||
#define TMIO_NAND_IRQ "tmio-nand"
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user