Path: blob/master/arch/arm/mach-mxs/include/mach/devices-common.h
10820 views
/*1* Copyright (C) 2009-2010 Pengutronix2* Uwe Kleine-Koenig <[email protected]>3*4* This program is free software; you can redistribute it and/or modify it under5* the terms of the GNU General Public License version 2 as published by the6* Free Software Foundation.7*/8#include <linux/kernel.h>9#include <linux/platform_device.h>10#include <linux/init.h>11#include <linux/amba/bus.h>1213struct platform_device *mxs_add_platform_device_dmamask(14const char *name, int id,15const struct resource *res, unsigned int num_resources,16const void *data, size_t size_data, u64 dmamask);1718static inline struct platform_device *mxs_add_platform_device(19const char *name, int id,20const struct resource *res, unsigned int num_resources,21const void *data, size_t size_data)22{23return mxs_add_platform_device_dmamask(24name, id, res, num_resources, data, size_data, 0);25}2627int __init mxs_add_amba_device(const struct amba_device *dev);2829/* duart */30int __init mxs_add_duart(const struct amba_device *dev);3132/* auart */33struct mxs_auart_data {34int id;35resource_size_t iobase;36resource_size_t iosize;37resource_size_t irq;38};39struct platform_device *__init mxs_add_auart(40const struct mxs_auart_data *data);4142/* fec */43#include <linux/fec.h>44struct mxs_fec_data {45int id;46resource_size_t iobase;47resource_size_t iosize;48resource_size_t irq;49};50struct platform_device *__init mxs_add_fec(51const struct mxs_fec_data *data,52const struct fec_platform_data *pdata);5354/* flexcan */55#include <linux/can/platform/flexcan.h>56struct mxs_flexcan_data {57int id;58resource_size_t iobase;59resource_size_t iosize;60resource_size_t irq;61};62struct platform_device *__init mxs_add_flexcan(63const struct mxs_flexcan_data *data,64const struct flexcan_platform_data *pdata);6566/* i2c */67struct mxs_mxs_i2c_data {68int id;69resource_size_t iobase;70resource_size_t errirq;71resource_size_t dmairq;72};73struct platform_device * __init mxs_add_mxs_i2c(74const struct mxs_mxs_i2c_data *data);7576/* mmc */77#include <mach/mmc.h>78struct mxs_mxs_mmc_data {79int id;80resource_size_t iobase;81resource_size_t dma;82resource_size_t irq_err;83resource_size_t irq_dma;84};85struct platform_device *__init mxs_add_mxs_mmc(86const struct mxs_mxs_mmc_data *data,87const struct mxs_mmc_platform_data *pdata);8889/* pwm */90struct platform_device *__init mxs_add_mxs_pwm(91resource_size_t iobase, int id);929394