diff options
Diffstat (limited to 'arch/arm/include')
| -rw-r--r-- | arch/arm/include/asm/arch-mx6/crm_regs.h | 5 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-mx6/imx-regs.h | 63 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-mx6/mx6-pins.h | 4 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-mx6/mx6sl_pins.h | 25 | 
4 files changed, 96 insertions, 1 deletions
| diff --git a/arch/arm/include/asm/arch-mx6/crm_regs.h b/arch/arm/include/asm/arch-mx6/crm_regs.h index 76764571a..b1ed62fa0 100644 --- a/arch/arm/include/asm/arch-mx6/crm_regs.h +++ b/arch/arm/include/asm/arch-mx6/crm_regs.h @@ -244,7 +244,12 @@ struct mxc_ccm_reg {  #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK		(0x7 << 8)  #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET		6  #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK		(0x3 << 6) +#ifdef CONFIG_MX6SL +#define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK		0x1F +#define MXC_CCM_CSCDR1_UART_CLK_SEL			(1 << 6) +#else  #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK		0x3F +#endif  #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET		0  /* Define the bits in register CS1CDR */ diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h index d79ab2f13..09be97461 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h @@ -25,6 +25,13 @@  #define ROMCP_ARB_BASE_ADDR             0x00000000  #define ROMCP_ARB_END_ADDR              0x000FFFFF + +#ifdef CONFIG_MX6SL +#define GPU_2D_ARB_BASE_ADDR            0x02200000 +#define GPU_2D_ARB_END_ADDR             0x02203FFF +#define OPENVG_ARB_BASE_ADDR            0x02204000 +#define OPENVG_ARB_END_ADDR             0x02207FFF +#else  #define CAAM_ARB_BASE_ADDR              0x00100000  #define CAAM_ARB_END_ADDR               0x00103FFF  #define APBH_DMA_ARB_BASE_ADDR          0x00110000 @@ -37,9 +44,14 @@  #define GPU_2D_ARB_END_ADDR             0x00137FFF  #define DTCP_ARB_BASE_ADDR              0x00138000  #define DTCP_ARB_END_ADDR               0x0013BFFF - +#endif	/* CONFIG_MX6SL */  /* GPV - PL301 configuration ports */ +#ifdef CONFIG_MX6SL +#define GPV2_BASE_ADDR                  0x00D00000 +#else  #define GPV2_BASE_ADDR			0x00200000 +#endif +  #define GPV3_BASE_ADDR			0x00300000  #define GPV4_BASE_ADDR			0x00800000  #define IRAM_BASE_ADDR			0x00900000 @@ -70,10 +82,17 @@  #define WEIM_ARB_BASE_ADDR              0x08000000  #define WEIM_ARB_END_ADDR               0x0FFFFFFF +#ifdef CONFIG_MX6SL +#define MMDC0_ARB_BASE_ADDR             0x80000000 +#define MMDC0_ARB_END_ADDR              0xFFFFFFFF +#define MMDC1_ARB_BASE_ADDR             0xC0000000 +#define MMDC1_ARB_END_ADDR              0xFFFFFFFF +#else  #define MMDC0_ARB_BASE_ADDR             0x10000000  #define MMDC0_ARB_END_ADDR              0x7FFFFFFF  #define MMDC1_ARB_BASE_ADDR             0x80000000  #define MMDC1_ARB_END_ADDR              0xFFFFFFFF +#endif  #define IPU_SOC_BASE_ADDR		IPU1_ARB_BASE_ADDR  #define IPU_SOC_OFFSET			0x00200000 @@ -89,6 +108,16 @@  #define ECSPI2_BASE_ADDR            (ATZ1_BASE_ADDR + 0x0C000)  #define ECSPI3_BASE_ADDR            (ATZ1_BASE_ADDR + 0x10000)  #define ECSPI4_BASE_ADDR            (ATZ1_BASE_ADDR + 0x14000) +#ifdef CONFIG_MX6SL +#define UART5_IPS_BASE_ADDR         (ATZ1_BASE_ADDR + 0x18000) +#define UART1_IPS_BASE_ADDR         (ATZ1_BASE_ADDR + 0x20000) +#define UART2_IPS_BASE_ADDR         (ATZ1_BASE_ADDR + 0x24000) +#define SSI1_IPS_BASE_ADDR          (ATZ1_BASE_ADDR + 0x28000) +#define SSI2_IPS_BASE_ADDR          (ATZ1_BASE_ADDR + 0x2C000) +#define SSI3_IPS_BASE_ADDR          (ATZ1_BASE_ADDR + 0x30000) +#define UART3_IPS_BASE_ADDR         (ATZ1_BASE_ADDR + 0x34000) +#define UART4_IPS_BASE_ADDR         (ATZ1_BASE_ADDR + 0x38000) +#else  #define ECSPI5_BASE_ADDR            (ATZ1_BASE_ADDR + 0x18000)  #define UART1_BASE                  (ATZ1_BASE_ADDR + 0x20000)  #define ESAI1_BASE_ADDR             (ATZ1_BASE_ADDR + 0x24000) @@ -96,6 +125,8 @@  #define SSI2_BASE_ADDR              (ATZ1_BASE_ADDR + 0x2C000)  #define SSI3_BASE_ADDR              (ATZ1_BASE_ADDR + 0x30000)  #define ASRC_BASE_ADDR              (ATZ1_BASE_ADDR + 0x34000) +#endif +  #define SPBA_BASE_ADDR              (ATZ1_BASE_ADDR + 0x3C000)  #define VPU_BASE_ADDR               (ATZ1_BASE_ADDR + 0x40000)  #define AIPS1_ON_BASE_ADDR          (ATZ1_BASE_ADDR + 0x7C000) @@ -128,18 +159,35 @@  #define SRC_BASE_ADDR               (AIPS1_OFF_BASE_ADDR + 0x58000)  #define GPC_BASE_ADDR               (AIPS1_OFF_BASE_ADDR + 0x5C000)  #define IOMUXC_BASE_ADDR            (AIPS1_OFF_BASE_ADDR + 0x60000) +#ifdef CONFIG_MX6SL +#define CSI_BASE_ADDR               (AIPS1_OFF_BASE_ADDR + 0x64000) +#define SIPIX_BASE_ADDR             (AIPS1_OFF_BASE_ADDR + 0x68000) +#define SDMA_PORT_HOST_BASE_ADDR    (AIPS1_OFF_BASE_ADDR + 0x6C000) +#else  #define DCIC1_BASE_ADDR             (AIPS1_OFF_BASE_ADDR + 0x64000)  #define DCIC2_BASE_ADDR             (AIPS1_OFF_BASE_ADDR + 0x68000)  #define DMA_REQ_PORT_HOST_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000) +#endif  #define AIPS2_ON_BASE_ADDR          (ATZ2_BASE_ADDR + 0x7C000)  #define AIPS2_OFF_BASE_ADDR         (ATZ2_BASE_ADDR + 0x80000)  #define CAAM_BASE_ADDR              (ATZ2_BASE_ADDR)  #define ARM_BASE_ADDR		    (ATZ2_BASE_ADDR + 0x40000) +#ifdef CONFIG_MX6SL +#define USBO2H_PL301_IPS_BASE_ADDR  (AIPS2_OFF_BASE_ADDR + 0x0000) +#define USBO2H_USB_BASE_ADDR        (AIPS2_OFF_BASE_ADDR + 0x4000) +#else  #define USBOH3_PL301_BASE_ADDR      (AIPS2_OFF_BASE_ADDR + 0x0000)  #define USBOH3_USB_BASE_ADDR        (AIPS2_OFF_BASE_ADDR + 0x4000) +#endif +  #define ENET_BASE_ADDR              (AIPS2_OFF_BASE_ADDR + 0x8000) +#ifdef CONFIG_MX6SL +#define MSHC_IPS_BASE_ADDR          (AIPS2_OFF_BASE_ADDR + 0xC000) +#else  #define MLB_BASE_ADDR               (AIPS2_OFF_BASE_ADDR + 0xC000) +#endif +  #define USDHC1_BASE_ADDR            (AIPS2_OFF_BASE_ADDR + 0x10000)  #define USDHC2_BASE_ADDR            (AIPS2_OFF_BASE_ADDR + 0x14000)  #define USDHC3_BASE_ADDR            (AIPS2_OFF_BASE_ADDR + 0x18000) @@ -149,7 +197,12 @@  #define I2C3_BASE_ADDR              (AIPS2_OFF_BASE_ADDR + 0x28000)  #define ROMCP_BASE_ADDR             (AIPS2_OFF_BASE_ADDR + 0x2C000)  #define MMDC_P0_BASE_ADDR           (AIPS2_OFF_BASE_ADDR + 0x30000) +#ifdef CONFIG_MX6SL +#define RNGB_IPS_BASE_ADDR          (AIPS2_OFF_BASE_ADDR + 0x34000) +#else  #define MMDC_P1_BASE_ADDR           (AIPS2_OFF_BASE_ADDR + 0x34000) +#endif +  #define WEIM_BASE_ADDR              (AIPS2_OFF_BASE_ADDR + 0x38000)  #define OCOTP_BASE_ADDR             (AIPS2_OFF_BASE_ADDR + 0x3C000)  #define CSU_BASE_ADDR               (AIPS2_OFF_BASE_ADDR + 0x40000) @@ -365,12 +418,20 @@ struct cspi_regs {  #define MXC_CSPICON_POL		4  #define MXC_CSPICON_PHA		0  #define MXC_CSPICON_SSPOL	12 +#ifdef CONFIG_MX6SL +#define MXC_SPI_BASE_ADDRESSES \ +	ECSPI1_BASE_ADDR, \ +	ECSPI2_BASE_ADDR, \ +	ECSPI3_BASE_ADDR, \ +	ECSPI4_BASE_ADDR +#else  #define MXC_SPI_BASE_ADDRESSES \  	ECSPI1_BASE_ADDR, \  	ECSPI2_BASE_ADDR, \  	ECSPI3_BASE_ADDR, \  	ECSPI4_BASE_ADDR, \  	ECSPI5_BASE_ADDR +#endif  struct iim_regs {  	u32	ctrl; diff --git a/arch/arm/include/asm/arch-mx6/mx6-pins.h b/arch/arm/include/asm/arch-mx6/mx6-pins.h index 63f485666..ce865a6b8 100644 --- a/arch/arm/include/asm/arch-mx6/mx6-pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6-pins.h @@ -24,7 +24,11 @@  #if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S)  #include "mx6dl_pins.h"  #else +#if defined(CONFIG_MX6SL) +#include "mx6sl_pins.h" +#else  #error "Please select cpu" +#endif	/* CONFIG_MX6SL */  #endif	/* CONFIG_MX6DL or CONFIG_MX6S */  #endif	/* CONFIG_MX6Q */ diff --git a/arch/arm/include/asm/arch-mx6/mx6sl_pins.h b/arch/arm/include/asm/arch-mx6/mx6sl_pins.h new file mode 100644 index 000000000..3c0ede0e5 --- /dev/null +++ b/arch/arm/include/asm/arch-mx6/mx6sl_pins.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved. + * + * 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 __ASM_ARCH_MX6_MX6SL_PINS_H__ +#define __ASM_ARCH_MX6_MX6SL_PINS_H__ + +#include <asm/imx-common/iomux-v3.h> + +enum { +	MX6_PAD_SD2_CLK__USDHC2_CLK				= IOMUX_PAD(0x055C, 0x0254, 0, 0x0000, 0, 0), +	MX6_PAD_SD2_CMD__USDHC2_CMD				= IOMUX_PAD(0x0560, 0x0258, 0, 0x0000, 0, 0), +	MX6_PAD_SD2_DAT0__USDHC2_DAT0				= IOMUX_PAD(0x0564, 0x025C, 0, 0x0000, 0, 0), +	MX6_PAD_SD2_DAT1__USDHC2_DAT1				= IOMUX_PAD(0x0568, 0x0260, 0, 0x0000, 0, 0), +	MX6_PAD_SD2_DAT2__USDHC2_DAT2				= IOMUX_PAD(0x056C, 0x0264, 0, 0x0000, 0, 0), +	MX6_PAD_SD2_DAT3__USDHC2_DAT3				= IOMUX_PAD(0x0570, 0x0268, 0, 0x0000, 0, 0), +	MX6_PAD_UART1_RXD__UART1_RXD				= IOMUX_PAD(0x05A0, 0x0298, 0, 0x07FC, 0, 0), +	MX6_PAD_UART1_TXD__UART1_TXD				= IOMUX_PAD(0x05A4, 0x029C, 0, 0x0000, 0, 0), +}; +#endif	/* __ASM_ARCH_MX6_MX6SL_PINS_H__ */ |