ARM: arm-soc: Cleanups on various subarchitectures
Cleanup patches for various ARM platforms and some of their associated drivers. There's also a branch in here that enables Freescale i.MX to be part of the multiplatform support -- the first "big" SoC that is moved over (more multiplatform work comes in a separate branch later during the merge window). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJQx2p9AAoJEIwa5zzehBx3aPUQAIjV3VDf/ACkA4KUQu0BFg5U 57OIkl6RCZvfKhYgq5+6OJ2AK6VkGh9PqTmXkDS7Nj3QMS/uWcb3U419aPJsd3Z/ vNGpTl+J/YcAcFrKMqTyNv98TAiAOJlpm70CqmRbkhpMfoJb7//1JKqGTJPBO+tj 8ZEwNGC0WbRNOSQTY/TTAhbZE1sqXwKy9mDLGmcwqKBY8H1TFHyPB6yWYFSxMHxS JAegbYhYO9FawOOLoi9ovT+2vUR9vDu0xxV4zUK9f5DqKcCb/wYuN0QkusjnEutm RfIt7iXHHzi35YPxtlrGgSz9EIYXKAafSzkgf3Ydpjci5DH/vbVexm/CT+V+SwOT SvucYJMALI/aOEFJWN/50L6B9zipSrWb51tK7WFXz/sUCrMQrXH3Mu99mjHZXSoL 1cylsvs3DFQC7vHFLSjRpX6eJdfE+Hb0LZ878eXSbDVCOnU8odAQrofugqfmeVDk eN0+BWmchJgvljOiKVUQMC3PCquCaAAO1lm/HU7bWPlVigTuHSW0uisDyCYAtlt1 dGxnbbhoFJvSH7CMOoMO7hIFnoNJEe6+uVUuwA/+iJouMXMJLoY6Da4L72h1Mp81 o4Hr6Kxly/SMtURZ/6pCycx5ahb5TaahstYAoe7Qp1dMj5U2m6fUVfKkG7tUx1CW MIuvN3qJeW2qKWKmZRVM =zfPd -----END PGP SIGNATURE----- Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups on various subarchitectures from Olof Johansson: "Cleanup patches for various ARM platforms and some of their associated drivers. There's also a branch in here that enables Freescale i.MX to be part of the multiplatform support -- the first "big" SoC that is moved over (more multiplatform work comes in a separate branch later during the merge window)." Conflicts fixed as per Olof, including a silent semantic one in arch/arm/mach-omap2/board-generic.c (omap_prcm_restart() was renamed to omap3xxx_restart(), and a new user of the old name was added). * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (189 commits) ARM: omap: fix typo on timer cleanup ARM: EXYNOS: Remove unused regs-mem.h file ARM: EXYNOS: Remove unused non-dt support for dwmci controller ARM: Kirkwood: Use hw_pci.ops instead of hw_pci.scan ARM: OMAP3: cm-t3517: use GPTIMER for system clock ARM: OMAP2+: timer: remove CONFIG_OMAP_32K_TIMER ARM: SAMSUNG: use devm_ functions for ADC driver ARM: EXYNOS: no duplicate mask/unmask in eint0_15 ARM: S3C24XX: SPI clock channel setup is fixed for S3C2443 ARM: EXYNOS: Remove i2c0 resource information and setting of device names ARM: Kirkwood: checkpatch cleanups ARM: Kirkwood: Fix sparse warnings. ARM: Kirkwood: Remove unused includes ARM: kirkwood: cleanup lsxl board includes ARM: integrator: use BUG_ON where possible ARM: integrator: push down SC dependencies ARM: integrator: delete static UART1 mapping ARM: integrator: delete SC mapping on the CP ARM: integrator: remove static CP syscon mapping ARM: integrator: remove static AP syscon mapping ...
This commit is contained in:
commit
d01e4afdbb
496 changed files with 4717 additions and 4090 deletions
177
include/linux/dma/ipu-dma.h
Normal file
177
include/linux/dma/ipu-dma.h
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
/*
|
||||
* Copyright (C) 2008
|
||||
* Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
|
||||
*
|
||||
* Copyright (C) 2005-2007 Freescale Semiconductor, 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.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_DMA_IPU_DMA_H
|
||||
#define __LINUX_DMA_IPU_DMA_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/dmaengine.h>
|
||||
|
||||
/* IPU DMA Controller channel definitions. */
|
||||
enum ipu_channel {
|
||||
IDMAC_IC_0 = 0, /* IC (encoding task) to memory */
|
||||
IDMAC_IC_1 = 1, /* IC (viewfinder task) to memory */
|
||||
IDMAC_ADC_0 = 1,
|
||||
IDMAC_IC_2 = 2,
|
||||
IDMAC_ADC_1 = 2,
|
||||
IDMAC_IC_3 = 3,
|
||||
IDMAC_IC_4 = 4,
|
||||
IDMAC_IC_5 = 5,
|
||||
IDMAC_IC_6 = 6,
|
||||
IDMAC_IC_7 = 7, /* IC (sensor data) to memory */
|
||||
IDMAC_IC_8 = 8,
|
||||
IDMAC_IC_9 = 9,
|
||||
IDMAC_IC_10 = 10,
|
||||
IDMAC_IC_11 = 11,
|
||||
IDMAC_IC_12 = 12,
|
||||
IDMAC_IC_13 = 13,
|
||||
IDMAC_SDC_0 = 14, /* Background synchronous display data */
|
||||
IDMAC_SDC_1 = 15, /* Foreground data (overlay) */
|
||||
IDMAC_SDC_2 = 16,
|
||||
IDMAC_SDC_3 = 17,
|
||||
IDMAC_ADC_2 = 18,
|
||||
IDMAC_ADC_3 = 19,
|
||||
IDMAC_ADC_4 = 20,
|
||||
IDMAC_ADC_5 = 21,
|
||||
IDMAC_ADC_6 = 22,
|
||||
IDMAC_ADC_7 = 23,
|
||||
IDMAC_PF_0 = 24,
|
||||
IDMAC_PF_1 = 25,
|
||||
IDMAC_PF_2 = 26,
|
||||
IDMAC_PF_3 = 27,
|
||||
IDMAC_PF_4 = 28,
|
||||
IDMAC_PF_5 = 29,
|
||||
IDMAC_PF_6 = 30,
|
||||
IDMAC_PF_7 = 31,
|
||||
};
|
||||
|
||||
/* Order significant! */
|
||||
enum ipu_channel_status {
|
||||
IPU_CHANNEL_FREE,
|
||||
IPU_CHANNEL_INITIALIZED,
|
||||
IPU_CHANNEL_READY,
|
||||
IPU_CHANNEL_ENABLED,
|
||||
};
|
||||
|
||||
#define IPU_CHANNELS_NUM 32
|
||||
|
||||
enum pixel_fmt {
|
||||
/* 1 byte */
|
||||
IPU_PIX_FMT_GENERIC,
|
||||
IPU_PIX_FMT_RGB332,
|
||||
IPU_PIX_FMT_YUV420P,
|
||||
IPU_PIX_FMT_YUV422P,
|
||||
IPU_PIX_FMT_YUV420P2,
|
||||
IPU_PIX_FMT_YVU422P,
|
||||
/* 2 bytes */
|
||||
IPU_PIX_FMT_RGB565,
|
||||
IPU_PIX_FMT_RGB666,
|
||||
IPU_PIX_FMT_BGR666,
|
||||
IPU_PIX_FMT_YUYV,
|
||||
IPU_PIX_FMT_UYVY,
|
||||
/* 3 bytes */
|
||||
IPU_PIX_FMT_RGB24,
|
||||
IPU_PIX_FMT_BGR24,
|
||||
/* 4 bytes */
|
||||
IPU_PIX_FMT_GENERIC_32,
|
||||
IPU_PIX_FMT_RGB32,
|
||||
IPU_PIX_FMT_BGR32,
|
||||
IPU_PIX_FMT_ABGR32,
|
||||
IPU_PIX_FMT_BGRA32,
|
||||
IPU_PIX_FMT_RGBA32,
|
||||
};
|
||||
|
||||
enum ipu_color_space {
|
||||
IPU_COLORSPACE_RGB,
|
||||
IPU_COLORSPACE_YCBCR,
|
||||
IPU_COLORSPACE_YUV
|
||||
};
|
||||
|
||||
/*
|
||||
* Enumeration of IPU rotation modes
|
||||
*/
|
||||
enum ipu_rotate_mode {
|
||||
/* Note the enum values correspond to BAM value */
|
||||
IPU_ROTATE_NONE = 0,
|
||||
IPU_ROTATE_VERT_FLIP = 1,
|
||||
IPU_ROTATE_HORIZ_FLIP = 2,
|
||||
IPU_ROTATE_180 = 3,
|
||||
IPU_ROTATE_90_RIGHT = 4,
|
||||
IPU_ROTATE_90_RIGHT_VFLIP = 5,
|
||||
IPU_ROTATE_90_RIGHT_HFLIP = 6,
|
||||
IPU_ROTATE_90_LEFT = 7,
|
||||
};
|
||||
|
||||
/*
|
||||
* Enumeration of DI ports for ADC.
|
||||
*/
|
||||
enum display_port {
|
||||
DISP0,
|
||||
DISP1,
|
||||
DISP2,
|
||||
DISP3
|
||||
};
|
||||
|
||||
struct idmac_video_param {
|
||||
unsigned short in_width;
|
||||
unsigned short in_height;
|
||||
uint32_t in_pixel_fmt;
|
||||
unsigned short out_width;
|
||||
unsigned short out_height;
|
||||
uint32_t out_pixel_fmt;
|
||||
unsigned short out_stride;
|
||||
bool graphics_combine_en;
|
||||
bool global_alpha_en;
|
||||
bool key_color_en;
|
||||
enum display_port disp;
|
||||
unsigned short out_left;
|
||||
unsigned short out_top;
|
||||
};
|
||||
|
||||
/*
|
||||
* Union of initialization parameters for a logical channel. So far only video
|
||||
* parameters are used.
|
||||
*/
|
||||
union ipu_channel_param {
|
||||
struct idmac_video_param video;
|
||||
};
|
||||
|
||||
struct idmac_tx_desc {
|
||||
struct dma_async_tx_descriptor txd;
|
||||
struct scatterlist *sg; /* scatterlist for this */
|
||||
unsigned int sg_len; /* tx-descriptor. */
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
struct idmac_channel {
|
||||
struct dma_chan dma_chan;
|
||||
dma_cookie_t completed; /* last completed cookie */
|
||||
union ipu_channel_param params;
|
||||
enum ipu_channel link; /* input channel, linked to the output */
|
||||
enum ipu_channel_status status;
|
||||
void *client; /* Only one client per channel */
|
||||
unsigned int n_tx_desc;
|
||||
struct idmac_tx_desc *desc; /* allocated tx-descriptors */
|
||||
struct scatterlist *sg[2]; /* scatterlist elements in buffer-0 and -1 */
|
||||
struct list_head free_list; /* free tx-descriptors */
|
||||
struct list_head queue; /* queued tx-descriptors */
|
||||
spinlock_t lock; /* protects sg[0,1], queue */
|
||||
struct mutex chan_mutex; /* protects status, cookie, free_list */
|
||||
bool sec_chan_en;
|
||||
int active_buffer;
|
||||
unsigned int eof_irq;
|
||||
char eof_name[16]; /* EOF IRQ name for request_irq() */
|
||||
};
|
||||
|
||||
#define to_tx_desc(tx) container_of(tx, struct idmac_tx_desc, txd)
|
||||
#define to_idmac_chan(c) container_of(c, struct idmac_channel, dma_chan)
|
||||
|
||||
#endif /* __LINUX_DMA_IPU_DMA_H */
|
||||
|
|
@ -17,5 +17,7 @@ struct imx_ssi_platform_data {
|
|||
void (*ac97_warm_reset)(struct snd_ac97 *ac97);
|
||||
};
|
||||
|
||||
extern int mxc_set_irq_fiq(unsigned int irq, unsigned int type);
|
||||
|
||||
#endif /* __MACH_SSI_H */
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,9 @@ static inline int imx_dma_is_ipu(struct dma_chan *chan)
|
|||
static inline int imx_dma_is_general_purpose(struct dma_chan *chan)
|
||||
{
|
||||
return strstr(dev_name(chan->device->dev), "sdma") ||
|
||||
!strcmp(dev_name(chan->device->dev), "imx-dma");
|
||||
!strcmp(dev_name(chan->device->dev), "imx1-dma") ||
|
||||
!strcmp(dev_name(chan->device->dev), "imx21-dma") ||
|
||||
!strcmp(dev_name(chan->device->dev), "imx27-dma");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
31
include/linux/platform_data/dmtimer-omap.h
Normal file
31
include/linux/platform_data/dmtimer-omap.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* DMTIMER platform data for TI OMAP platforms
|
||||
*
|
||||
* Copyright (C) 2012 Texas Instruments
|
||||
* Author: Jon Hunter <jon-hunter@ti.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.
|
||||
*
|
||||
* 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __PLATFORM_DATA_DMTIMER_OMAP_H__
|
||||
#define __PLATFORM_DATA_DMTIMER_OMAP_H__
|
||||
|
||||
struct dmtimer_platform_data {
|
||||
/* set_timer_src - Only used for OMAP1 devices */
|
||||
int (*set_timer_src)(struct platform_device *pdev, int source);
|
||||
u32 timer_capability;
|
||||
u32 timer_errata;
|
||||
int (*get_context_loss_count)(struct device *);
|
||||
};
|
||||
|
||||
#endif /* __PLATFORM_DATA_DMTIMER_OMAP_H__ */
|
||||
38
include/linux/platform_data/omap-wd-timer.h
Normal file
38
include/linux/platform_data/omap-wd-timer.h
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* OMAP2+ WDTIMER-specific function prototypes
|
||||
*
|
||||
* Copyright (C) 2012 Texas Instruments, Inc.
|
||||
* Paul Walmsley
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_PLATFORM_DATA_OMAP_WD_TIMER_H
|
||||
#define __LINUX_PLATFORM_DATA_OMAP_WD_TIMER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Standardized OMAP reset source bits
|
||||
*
|
||||
* This is a subset of the ones listed in arch/arm/mach-omap2/prm.h
|
||||
* and are the only ones needed in the watchdog driver.
|
||||
*/
|
||||
#define OMAP_MPU_WD_RST_SRC_ID_SHIFT 3
|
||||
|
||||
/**
|
||||
* struct omap_wd_timer_platform_data - WDTIMER integration to the host SoC
|
||||
* @read_reset_sources - fn ptr for the SoC to indicate the last reset cause
|
||||
*
|
||||
* The function pointed to by @read_reset_sources must return its data
|
||||
* in a standard format - search for RST_SRC_ID_SHIFT in
|
||||
* arch/arm/mach-omap2
|
||||
*/
|
||||
struct omap_wd_timer_platform_data {
|
||||
u32 (*read_reset_sources)(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
19
include/linux/tegra-ahb.h
Normal file
19
include/linux/tegra-ahb.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope 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.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_AHB_H__
|
||||
#define __LINUX_AHB_H__
|
||||
|
||||
extern int tegra_ahb_enable_smmu(struct device_node *ahb);
|
||||
|
||||
#endif /* __LINUX_AHB_H__ */
|
||||
Loading…
Add table
Add a link
Reference in a new issue