Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d50f58bb authored by Russell King's avatar Russell King
Browse files

Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable

parents 129961ec 79d3c2c2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -150,8 +150,8 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx
machine-$(CONFIG_ARCH_MMP)		:= mmp
machine-$(CONFIG_ARCH_MSM)		:= msm
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_MX1)		:= mx1
machine-$(CONFIG_ARCH_MX2)		:= mx2
machine-$(CONFIG_ARCH_MX1)		:= imx
machine-$(CONFIG_ARCH_MX2)		:= imx
machine-$(CONFIG_ARCH_MX25)		:= mx25
machine-$(CONFIG_ARCH_MX3)		:= mx3
machine-$(CONFIG_ARCH_MX5)		:= mx5
+89 −12
Original line number Diff line number Diff line
config IMX_HAVE_DMA_V1
	bool

if ARCH_MX1

config SOC_IMX1
	select CPU_ARM920T
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	bool

comment "MX1 platforms:"
config MACH_MXLADS
	bool

config ARCH_MX1ADS
	bool "MX1ADS platform"
	select MACH_MXLADS
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Say Y here if you are using Motorola MX1ADS/MXLADS boards

config MACH_SCB9328
	bool "Synertronixx scb9328"
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Say Y here if you are using a Synertronixx scb9328 board

endif

if ARCH_MX2

config SOC_IMX21
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	bool

config SOC_IMX27
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	bool

choice
	prompt "CPUs:"
	default MACH_MX21

config MACH_MX21
	bool "i.MX21 support"
	select ARCH_MXC_AUDMUX_V1
	select SOC_IMX21
	help
	  This enables support for Freescale's MX2 based i.MX21 processor.

config MACH_MX27
	bool "i.MX27 support"
	select ARCH_MXC_AUDMUX_V1
	select SOC_IMX27
	help
	  This enables support for Freescale's MX2 based i.MX27 processor.

endchoice

comment "MX2 platforms:"
endif

if MACH_MX21

comment "MX21 platforms:"

config MACH_MX21ADS
	bool "MX21ADS platform"
	depends on MACH_MX21
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for MX21ADS platform. This includes specific
	  configurations for the board and its peripherals.

endif

if MACH_MX27

comment "MX27 platforms:"

config MACH_MX27ADS
	bool "MX27ADS platform"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for MX27ADS platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_PCM038
	bool "Phytec phyCORE-i.MX27 CPU module (pcm038)"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	help
	  Include support for phyCORE-i.MX27 (aka pcm038) platform. This
@@ -58,7 +119,9 @@ endchoice

config MACH_CPUIMX27
	bool "Eukrea CPUIMX27 module"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for Eukrea CPUIMX27 platform. This includes
	  specific configurations for the module and its peripherals.
@@ -67,9 +130,16 @@ config MACH_EUKREA_CPUIMX27_USESDHC2
	bool "CPUIMX27 integrates SDHC2 module"
	depends on MACH_CPUIMX27
	help
	  This adds support for the internal SDHC2 used on CPUIMX27 used
	  This adds support for the internal SDHC2 used on CPUIMX27
	  for wifi or eMMC.

config MACH_EUKREA_CPUIMX27_USEUART4
	bool "CPUIMX27 integrates UART4 module"
	depends on MACH_CPUIMX27
	help
	  This adds support for the internal UART4 used on CPUIMX27
	  for bluetooth.

choice
	prompt "Baseboard"
	depends on MACH_CPUIMX27
@@ -78,6 +148,8 @@ choice
config MACH_EUKREA_MBIMX27_BASEBOARD
	prompt "Eukrea MBIMX27 development board"
	bool
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMX27 evaluation board.
@@ -86,21 +158,24 @@ endchoice

config MACH_MX27_3DS
	bool "MX27PDK platform"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Include support for MX27PDK platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_IMX27LITE
	bool "LogicPD MX27 LITEKIT platform"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Include support for MX27 LITEKIT platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_PCA100
	bool "Phytec phyCARD-s (pca100)"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	help
	  Include support for phyCARD-s (aka pca100) platform. This
@@ -108,7 +183,9 @@ config MACH_PCA100

config MACH_MXT_TD60
	bool "Maxtrack i-MXT TD60"
	depends on MACH_MX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for i-MXT (aka td60) platform. This
	  includes specific configurations for the module and its peripherals.
+14 −4
Original line number Diff line number Diff line
@@ -4,14 +4,24 @@

# Object file lists.

obj-y	:=  devices.o serial.o
obj-y	:=  devices.o

obj-$(CONFIG_MACH_MX21) += clock_imx21.o mm-imx21.o
obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o

obj-$(CONFIG_MACH_MX27) += cpu_imx27.o
obj-$(CONFIG_MACH_MX27) += clock_imx27.o mm-imx27.o
obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o
obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o

obj-$(CONFIG_MACH_MX27) += cpu-imx27.o pm-imx27.o
obj-$(CONFIG_MACH_MX27) += clock-imx27.o mm-imx27.o

# Support for CMOS sensor interface
obj-$(CONFIG_MX1_VIDEO)	+= mx1-camera-fiq.o mx1-camera-fiq-ksym.o

obj-$(CONFIG_ARCH_MX1ADS) += mach-mx1ads.o
obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o

obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o

obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o
obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o
obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o
+4 −0
Original line number Diff line number Diff line
zreladdr-$(CONFIG_ARCH_MX1)	:= 0x08008000
params_phys-$(CONFIG_ARCH_MX1)	:= 0x08000100
initrd_phys-$(CONFIG_ARCH_MX1)	:= 0x08800000

zreladdr-$(CONFIG_MACH_MX21)	:= 0xC0008000
params_phys-$(CONFIG_MACH_MX21)	:= 0xC0000100
initrd_phys-$(CONFIG_MACH_MX21)	:= 0xC0800000
+42 −8
Original line number Diff line number Diff line
@@ -2,18 +2,17 @@
 *  Copyright (C) 2008 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
 *
 * 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.
 * 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, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 */

#include <linux/kernel.h>
@@ -29,7 +28,41 @@
#include <mach/clock.h>
#include <mach/hardware.h>
#include <mach/common.h>
#include "crm_regs.h"

#define IO_ADDR_CCM(off)	(MX1_IO_ADDRESS(MX1_CCM_BASE_ADDR + (off)))

/* CCM register addresses */
#define CCM_CSCR	IO_ADDR_CCM(0x0)
#define CCM_MPCTL0	IO_ADDR_CCM(0x4)
#define CCM_SPCTL0	IO_ADDR_CCM(0xc)
#define CCM_PCDR	IO_ADDR_CCM(0x20)

#define CCM_CSCR_CLKO_OFFSET	29
#define CCM_CSCR_CLKO_MASK	(0x7 << 29)
#define CCM_CSCR_USB_OFFSET	26
#define CCM_CSCR_USB_MASK	(0x7 << 26)
#define CCM_CSCR_OSC_EN_SHIFT	17
#define CCM_CSCR_SYSTEM_SEL	(1 << 16)
#define CCM_CSCR_BCLK_OFFSET	10
#define CCM_CSCR_BCLK_MASK	(0xf << 10)
#define CCM_CSCR_PRESC		(1 << 15)

#define CCM_PCDR_PCLK3_OFFSET	16
#define CCM_PCDR_PCLK3_MASK	(0x7f << 16)
#define CCM_PCDR_PCLK2_OFFSET	4
#define CCM_PCDR_PCLK2_MASK	(0xf << 4)
#define CCM_PCDR_PCLK1_OFFSET	0
#define CCM_PCDR_PCLK1_MASK	0xf

#define IO_ADDR_SCM(off)	(MX1_IO_ADDRESS(MX1_SCM_BASE_ADDR + (off)))

/* SCM register addresses */
#define SCM_GCCR	IO_ADDR_SCM(0xc)

#define SCM_GCCR_DMA_CLK_EN_OFFSET	3
#define SCM_GCCR_CSI_CLK_EN_OFFSET	2
#define SCM_GCCR_MMA_CLK_EN_OFFSET	1
#define SCM_GCCR_USBD_CLK_EN_OFFSET	0

static int _clk_enable(struct clk *clk)
{
@@ -596,7 +629,8 @@ int __init mx1_clocks_init(unsigned long fref)
	clk_enable(&hclk);
	clk_enable(&fclk);

	mxc_timer_init(&gpt_clk, IO_ADDRESS(TIM1_BASE_ADDR), TIM1_INT);
	mxc_timer_init(&gpt_clk, MX1_IO_ADDRESS(MX1_TIM1_BASE_ADDR),
			MX1_TIM1_INT);

	return 0;
}
Loading