mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00:00
SPEAr13xx: Add header files
This patch adds basic header files for SPEAr13xx Machines. Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
This commit is contained in:
parent
66a2886d86
commit
b31e23726b
11 changed files with 331 additions and 0 deletions
14
arch/arm/mach-spear13xx/include/mach/debug-macro.S
Normal file
14
arch/arm/mach-spear13xx/include/mach/debug-macro.S
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/debug-macro.S
|
||||
*
|
||||
* Debugging macro include header spear13xx machine family
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include <plat/debug-macro.S>
|
128
arch/arm/mach-spear13xx/include/mach/dma.h
Normal file
128
arch/arm/mach-spear13xx/include/mach/dma.h
Normal file
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/dma.h
|
||||
*
|
||||
* DMA information for SPEAr13xx machine family
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_DMA_H
|
||||
#define __MACH_DMA_H
|
||||
|
||||
/* request id of all the peripherals */
|
||||
enum dma_master_info {
|
||||
/* Accessible from only one master */
|
||||
DMA_MASTER_MCIF = 0,
|
||||
DMA_MASTER_FSMC = 1,
|
||||
/* Accessible from both 0 & 1 */
|
||||
DMA_MASTER_MEMORY = 0,
|
||||
DMA_MASTER_ADC = 0,
|
||||
DMA_MASTER_UART0 = 0,
|
||||
DMA_MASTER_SSP0 = 0,
|
||||
DMA_MASTER_I2C0 = 0,
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1310
|
||||
/* Accessible from only one master */
|
||||
SPEAR1310_DMA_MASTER_JPEG = 1,
|
||||
|
||||
/* Accessible from both 0 & 1 */
|
||||
SPEAR1310_DMA_MASTER_I2S = 0,
|
||||
SPEAR1310_DMA_MASTER_UART1 = 0,
|
||||
SPEAR1310_DMA_MASTER_UART2 = 0,
|
||||
SPEAR1310_DMA_MASTER_UART3 = 0,
|
||||
SPEAR1310_DMA_MASTER_UART4 = 0,
|
||||
SPEAR1310_DMA_MASTER_UART5 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C1 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C2 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C3 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C4 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C5 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C6 = 0,
|
||||
SPEAR1310_DMA_MASTER_I2C7 = 0,
|
||||
SPEAR1310_DMA_MASTER_SSP1 = 0,
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1340
|
||||
/* Accessible from only one master */
|
||||
SPEAR1340_DMA_MASTER_I2S_PLAY = 1,
|
||||
SPEAR1340_DMA_MASTER_I2S_REC = 1,
|
||||
SPEAR1340_DMA_MASTER_I2C1 = 1,
|
||||
SPEAR1340_DMA_MASTER_UART1 = 1,
|
||||
|
||||
/* following are accessible from both master 0 & 1 */
|
||||
SPEAR1340_DMA_MASTER_SPDIF = 0,
|
||||
SPEAR1340_DMA_MASTER_CAM = 1,
|
||||
SPEAR1340_DMA_MASTER_VIDEO_IN = 0,
|
||||
SPEAR1340_DMA_MASTER_MALI = 0,
|
||||
#endif
|
||||
};
|
||||
|
||||
enum request_id {
|
||||
DMA_REQ_ADC = 0,
|
||||
DMA_REQ_SSP0_TX = 4,
|
||||
DMA_REQ_SSP0_RX = 5,
|
||||
DMA_REQ_UART0_TX = 6,
|
||||
DMA_REQ_UART0_RX = 7,
|
||||
DMA_REQ_I2C0_TX = 8,
|
||||
DMA_REQ_I2C0_RX = 9,
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1310
|
||||
SPEAR1310_DMA_REQ_FROM_JPEG = 2,
|
||||
SPEAR1310_DMA_REQ_TO_JPEG = 3,
|
||||
SPEAR1310_DMA_REQ_I2S_TX = 10,
|
||||
SPEAR1310_DMA_REQ_I2S_RX = 11,
|
||||
|
||||
SPEAR1310_DMA_REQ_I2C1_RX = 0,
|
||||
SPEAR1310_DMA_REQ_I2C1_TX = 1,
|
||||
SPEAR1310_DMA_REQ_I2C2_RX = 2,
|
||||
SPEAR1310_DMA_REQ_I2C2_TX = 3,
|
||||
SPEAR1310_DMA_REQ_I2C3_RX = 4,
|
||||
SPEAR1310_DMA_REQ_I2C3_TX = 5,
|
||||
SPEAR1310_DMA_REQ_I2C4_RX = 6,
|
||||
SPEAR1310_DMA_REQ_I2C4_TX = 7,
|
||||
SPEAR1310_DMA_REQ_I2C5_RX = 8,
|
||||
SPEAR1310_DMA_REQ_I2C5_TX = 9,
|
||||
SPEAR1310_DMA_REQ_I2C6_RX = 10,
|
||||
SPEAR1310_DMA_REQ_I2C6_TX = 11,
|
||||
SPEAR1310_DMA_REQ_UART1_RX = 12,
|
||||
SPEAR1310_DMA_REQ_UART1_TX = 13,
|
||||
SPEAR1310_DMA_REQ_UART2_RX = 14,
|
||||
SPEAR1310_DMA_REQ_UART2_TX = 15,
|
||||
SPEAR1310_DMA_REQ_UART5_RX = 16,
|
||||
SPEAR1310_DMA_REQ_UART5_TX = 17,
|
||||
SPEAR1310_DMA_REQ_SSP1_RX = 18,
|
||||
SPEAR1310_DMA_REQ_SSP1_TX = 19,
|
||||
SPEAR1310_DMA_REQ_I2C7_RX = 20,
|
||||
SPEAR1310_DMA_REQ_I2C7_TX = 21,
|
||||
SPEAR1310_DMA_REQ_UART3_RX = 28,
|
||||
SPEAR1310_DMA_REQ_UART3_TX = 29,
|
||||
SPEAR1310_DMA_REQ_UART4_RX = 30,
|
||||
SPEAR1310_DMA_REQ_UART4_TX = 31,
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1340
|
||||
SPEAR1340_DMA_REQ_SPDIF_TX = 2,
|
||||
SPEAR1340_DMA_REQ_SPDIF_RX = 3,
|
||||
SPEAR1340_DMA_REQ_I2S_TX = 10,
|
||||
SPEAR1340_DMA_REQ_I2S_RX = 11,
|
||||
SPEAR1340_DMA_REQ_UART1_TX = 12,
|
||||
SPEAR1340_DMA_REQ_UART1_RX = 13,
|
||||
SPEAR1340_DMA_REQ_I2C1_TX = 14,
|
||||
SPEAR1340_DMA_REQ_I2C1_RX = 15,
|
||||
SPEAR1340_DMA_REQ_CAM0_EVEN = 0,
|
||||
SPEAR1340_DMA_REQ_CAM0_ODD = 1,
|
||||
SPEAR1340_DMA_REQ_CAM1_EVEN = 2,
|
||||
SPEAR1340_DMA_REQ_CAM1_ODD = 3,
|
||||
SPEAR1340_DMA_REQ_CAM2_EVEN = 4,
|
||||
SPEAR1340_DMA_REQ_CAM2_ODD = 5,
|
||||
SPEAR1340_DMA_REQ_CAM3_EVEN = 6,
|
||||
SPEAR1340_DMA_REQ_CAM3_ODD = 7,
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif /* __MACH_DMA_H */
|
49
arch/arm/mach-spear13xx/include/mach/generic.h
Normal file
49
arch/arm/mach-spear13xx/include/mach/generic.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/generic.h
|
||||
*
|
||||
* spear13xx machine family generic header file
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_GENERIC_H
|
||||
#define __MACH_GENERIC_H
|
||||
|
||||
#include <linux/dmaengine.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
/* Add spear13xx structure declarations here */
|
||||
extern struct sys_timer spear13xx_timer;
|
||||
extern struct pl022_ssp_controller pl022_plat_data;
|
||||
extern struct dw_dma_platform_data dmac_plat_data;
|
||||
extern struct dw_dma_slave cf_dma_priv;
|
||||
extern struct dw_dma_slave nand_read_dma_priv;
|
||||
extern struct dw_dma_slave nand_write_dma_priv;
|
||||
|
||||
/* Add spear13xx family function declarations here */
|
||||
void __init spear_setup_of_timer(void);
|
||||
void __init spear13xx_map_io(void);
|
||||
void __init spear13xx_dt_init_irq(void);
|
||||
void __init spear13xx_l2x0_init(void);
|
||||
bool dw_dma_filter(struct dma_chan *chan, void *slave);
|
||||
void spear_restart(char, const char *);
|
||||
void spear13xx_secondary_startup(void);
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1310
|
||||
void __init spear1310_clk_init(void);
|
||||
#else
|
||||
static inline void spear1310_clk_init(void) {}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_SPEAR1340
|
||||
void __init spear1340_clk_init(void);
|
||||
#else
|
||||
static inline void spear1340_clk_init(void) {}
|
||||
#endif
|
||||
|
||||
#endif /* __MACH_GENERIC_H */
|
19
arch/arm/mach-spear13xx/include/mach/gpio.h
Normal file
19
arch/arm/mach-spear13xx/include/mach/gpio.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/gpio.h
|
||||
*
|
||||
* GPIO macros for SPEAr13xx machine family
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_GPIO_H
|
||||
#define __MACH_GPIO_H
|
||||
|
||||
#include <plat/gpio.h>
|
||||
|
||||
#endif /* __MACH_GPIO_H */
|
1
arch/arm/mach-spear13xx/include/mach/hardware.h
Normal file
1
arch/arm/mach-spear13xx/include/mach/hardware.h
Normal file
|
@ -0,0 +1 @@
|
|||
/* empty */
|
20
arch/arm/mach-spear13xx/include/mach/irqs.h
Normal file
20
arch/arm/mach-spear13xx/include/mach/irqs.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/irqs.h
|
||||
*
|
||||
* IRQ helper macros for spear13xx machine family
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_IRQS_H
|
||||
#define __MACH_IRQS_H
|
||||
|
||||
#define IRQ_GIC_END 160
|
||||
#define NR_IRQS IRQ_GIC_END
|
||||
|
||||
#endif /* __MACH_IRQS_H */
|
62
arch/arm/mach-spear13xx/include/mach/spear.h
Normal file
62
arch/arm/mach-spear13xx/include/mach/spear.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/spear.h
|
||||
*
|
||||
* spear13xx Machine family specific definition
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_SPEAR13XX_H
|
||||
#define __MACH_SPEAR13XX_H
|
||||
|
||||
#include <asm/memory.h>
|
||||
|
||||
#define PERIP_GRP2_BASE UL(0xB3000000)
|
||||
#define VA_PERIP_GRP2_BASE UL(0xFE000000)
|
||||
#define MCIF_SDHCI_BASE UL(0xB3000000)
|
||||
#define SYSRAM0_BASE UL(0xB3800000)
|
||||
#define VA_SYSRAM0_BASE UL(0xFE800000)
|
||||
#define SYS_LOCATION (VA_SYSRAM0_BASE + 0x600)
|
||||
|
||||
#define PERIP_GRP1_BASE UL(0xE0000000)
|
||||
#define VA_PERIP_GRP1_BASE UL(0xFD000000)
|
||||
#define UART_BASE UL(0xE0000000)
|
||||
#define VA_UART_BASE UL(0xFD000000)
|
||||
#define SSP_BASE UL(0xE0100000)
|
||||
#define MISC_BASE UL(0xE0700000)
|
||||
#define VA_MISC_BASE IOMEM(UL(0xFD700000))
|
||||
|
||||
#define A9SM_AND_MPMC_BASE UL(0xEC000000)
|
||||
#define VA_A9SM_AND_MPMC_BASE UL(0xFC000000)
|
||||
|
||||
/* A9SM peripheral offsets */
|
||||
#define A9SM_PERIP_BASE UL(0xEC800000)
|
||||
#define VA_A9SM_PERIP_BASE UL(0xFC800000)
|
||||
#define VA_SCU_BASE (VA_A9SM_PERIP_BASE + 0x00)
|
||||
|
||||
#define L2CC_BASE UL(0xED000000)
|
||||
#define VA_L2CC_BASE IOMEM(UL(0xFB000000))
|
||||
|
||||
/* others */
|
||||
#define DMAC0_BASE UL(0xEA800000)
|
||||
#define DMAC1_BASE UL(0xEB000000)
|
||||
#define MCIF_CF_BASE UL(0xB2800000)
|
||||
|
||||
/* Devices present in SPEAr1310 */
|
||||
#ifdef CONFIG_MACH_SPEAR1310
|
||||
#define SPEAR1310_RAS_GRP1_BASE UL(0xD8000000)
|
||||
#define VA_SPEAR1310_RAS_GRP1_BASE UL(0xFA000000)
|
||||
#define SPEAR1310_RAS_BASE UL(0xD8400000)
|
||||
#define VA_SPEAR1310_RAS_BASE IOMEM(UL(0xFA400000))
|
||||
#endif /* CONFIG_MACH_SPEAR1310 */
|
||||
|
||||
/* Debug uart for linux, will be used for debug and uncompress messages */
|
||||
#define SPEAR_DBG_UART_BASE UART_BASE
|
||||
#define VA_SPEAR_DBG_UART_BASE VA_UART_BASE
|
||||
|
||||
#endif /* __MACH_SPEAR13XX_H */
|
19
arch/arm/mach-spear13xx/include/mach/timex.h
Normal file
19
arch/arm/mach-spear13xx/include/mach/timex.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* arch/arm/mach-spear3xx/include/mach/timex.h
|
||||
*
|
||||
* SPEAr3XX machine family specific timex definitions
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_TIMEX_H
|
||||
#define __MACH_TIMEX_H
|
||||
|
||||
#include <plat/timex.h>
|
||||
|
||||
#endif /* __MACH_TIMEX_H */
|
19
arch/arm/mach-spear13xx/include/mach/uncompress.h
Normal file
19
arch/arm/mach-spear13xx/include/mach/uncompress.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* arch/arm/mach-spear13xx/include/mach/uncompress.h
|
||||
*
|
||||
* Serial port stubs for kernel decompress status messages
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.kumar@st.com>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __MACH_UNCOMPRESS_H
|
||||
#define __MACH_UNCOMPRESS_H
|
||||
|
||||
#include <plat/uncompress.h>
|
||||
|
||||
#endif /* __MACH_UNCOMPRESS_H */
|
Loading…
Reference in a new issue