mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
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:
commit
10fec20ef5
16 changed files with 2249 additions and 76 deletions
36
include/linux/mfd/t7l66xb.h
Normal file
36
include/linux/mfd/t7l66xb.h
Normal file
|
|
@ -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
|
||||
23
include/linux/mfd/tc6387xb.h
Normal file
23
include/linux/mfd/tc6387xb.h
Normal file
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue