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 Original line Diff line number Diff line
@@ -150,8 +150,8 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx
machine-$(CONFIG_ARCH_MMP)		:= mmp
machine-$(CONFIG_ARCH_MMP)		:= mmp
machine-$(CONFIG_ARCH_MSM)		:= msm
machine-$(CONFIG_ARCH_MSM)		:= msm
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_MX1)		:= mx1
machine-$(CONFIG_ARCH_MX1)		:= imx
machine-$(CONFIG_ARCH_MX2)		:= mx2
machine-$(CONFIG_ARCH_MX2)		:= imx
machine-$(CONFIG_ARCH_MX25)		:= mx25
machine-$(CONFIG_ARCH_MX25)		:= mx25
machine-$(CONFIG_ARCH_MX3)		:= mx3
machine-$(CONFIG_ARCH_MX3)		:= mx3
machine-$(CONFIG_ARCH_MX5)		:= mx5
machine-$(CONFIG_ARCH_MX5)		:= mx5
+89 −12
Original line number Original line 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
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
choice
	prompt "CPUs:"
	prompt "CPUs:"
	default MACH_MX21
	default MACH_MX21


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


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


endchoice
endchoice


comment "MX2 platforms:"
endif

if MACH_MX21

comment "MX21 platforms:"


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


endif

if MACH_MX27

comment "MX27 platforms:"

config MACH_MX27ADS
config MACH_MX27ADS
	bool "MX27ADS platform"
	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
	help
	  Include support for MX27ADS platform. This includes specific
	  Include support for MX27ADS platform. This includes specific
	  configurations for the board and its peripherals.
	  configurations for the board and its peripherals.


config MACH_PCM038
config MACH_PCM038
	bool "Phytec phyCORE-i.MX27 CPU module (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
	select MXC_ULPI if USB_ULPI
	help
	help
	  Include support for phyCORE-i.MX27 (aka pcm038) platform. This
	  Include support for phyCORE-i.MX27 (aka pcm038) platform. This
@@ -58,7 +119,9 @@ endchoice


config MACH_CPUIMX27
config MACH_CPUIMX27
	bool "Eukrea CPUIMX27 module"
	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
	help
	  Include support for Eukrea CPUIMX27 platform. This includes
	  Include support for Eukrea CPUIMX27 platform. This includes
	  specific configurations for the module and its peripherals.
	  specific configurations for the module and its peripherals.
@@ -67,9 +130,16 @@ config MACH_EUKREA_CPUIMX27_USESDHC2
	bool "CPUIMX27 integrates SDHC2 module"
	bool "CPUIMX27 integrates SDHC2 module"
	depends on MACH_CPUIMX27
	depends on MACH_CPUIMX27
	help
	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.
	  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
choice
	prompt "Baseboard"
	prompt "Baseboard"
	depends on MACH_CPUIMX27
	depends on MACH_CPUIMX27
@@ -78,6 +148,8 @@ choice
config MACH_EUKREA_MBIMX27_BASEBOARD
config MACH_EUKREA_MBIMX27_BASEBOARD
	prompt "Eukrea MBIMX27 development board"
	prompt "Eukrea MBIMX27 development board"
	bool
	bool
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	help
	  This adds board specific devices that can be found on Eukrea's
	  This adds board specific devices that can be found on Eukrea's
	  MBIMX27 evaluation board.
	  MBIMX27 evaluation board.
@@ -86,21 +158,24 @@ endchoice


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


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


config MACH_PCA100
config MACH_PCA100
	bool "Phytec phyCARD-s (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
	select MXC_ULPI if USB_ULPI
	help
	help
	  Include support for phyCARD-s (aka pca100) platform. This
	  Include support for phyCARD-s (aka pca100) platform. This
@@ -108,7 +183,9 @@ config MACH_PCA100


config MACH_MXT_TD60
config MACH_MXT_TD60
	bool "Maxtrack i-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
	help
	  Include support for i-MXT (aka td60) platform. This
	  Include support for i-MXT (aka td60) platform. This
	  includes specific configurations for the module and its peripherals.
	  includes specific configurations for the module and its peripherals.
+14 −4
Original line number Original line Diff line number Diff line
@@ -4,14 +4,24 @@


# Object file lists.
# 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_ARCH_MX1) += clock-imx1.o mm-imx1.o
obj-$(CONFIG_MACH_MX27) += clock_imx27.o mm-imx27.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_MX21ADS) += mach-mx21ads.o

obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o
obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o
obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o
obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o
obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o
obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o
+4 −0
Original line number Original line 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
zreladdr-$(CONFIG_MACH_MX21)	:= 0xC0008000
params_phys-$(CONFIG_MACH_MX21)	:= 0xC0000100
params_phys-$(CONFIG_MACH_MX21)	:= 0xC0000100
initrd_phys-$(CONFIG_MACH_MX21)	:= 0xC0800000
initrd_phys-$(CONFIG_MACH_MX21)	:= 0xC0800000
+42 −8
Original line number Original line Diff line number Diff line
@@ -2,18 +2,17 @@
 *  Copyright (C) 2008 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
 *  Copyright (C) 2008 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
 *
 *
 * This program is free software; you can redistribute it and/or modify
 * 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
 * it under the terms of the GNU General Public License version 2 as
 * the Free Software Foundation; either version 2 of the License, or
 * published by the Free Software Foundation.
 * (at your option) any later version.
 *
 *
 * This program is distributed in the hope that it will be useful,
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * GNU General Public License for more details.
 *
 *
 * You should have received a copy of the GNU General Public License
 * You should have received a copy of the GNU General Public License along
 * along with this program; if not, write to the Free Software
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 */
 */


#include <linux/kernel.h>
#include <linux/kernel.h>
@@ -29,7 +28,41 @@
#include <mach/clock.h>
#include <mach/clock.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/common.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)
static int _clk_enable(struct clk *clk)
{
{
@@ -596,7 +629,8 @@ int __init mx1_clocks_init(unsigned long fref)
	clk_enable(&hclk);
	clk_enable(&hclk);
	clk_enable(&fclk);
	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;
	return 0;
}
}
Loading