aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-02-05 18:34:51 -0500
committerOlof Johansson <olof@lixom.net>2013-02-05 18:34:51 -0500
commit1087f4dbf368d7d800a1cae5b85aa600629d36e3 (patch)
tree1cd9d546a1229083f9c1b1deb827e497ba094b91
parentd37d79ed8af1de90535e6a877081d720205d6cd9 (diff)
parent26246919329c045d8c1bd70dfebd44c54a5cf657 (diff)
Merge tag 'imx-soc-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
From Shawn Guo: imx soc changes for 3.9 - Sort out imx DEBUG_LL uart port selection - A couple of imx_v6_v7_defconfig updates * tag 'imx-soc-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: imx_v6_v7_defconfig: enable anatop regulator and snvs rtc ARM: imx: support DEBUG_LL uart port selection for all i.MX SoCs ARM: imx: use separated debug uart symbol for imx31 and imx35 ARM: imx_v6_v7_defconfig: Select IPUV3 driver
-rw-r--r--arch/arm/Kconfig.debug31
-rw-r--r--arch/arm/configs/imx_v6_v7_defconfig7
-rw-r--r--arch/arm/include/debug/imx-uart.h88
-rw-r--r--arch/arm/include/debug/imx.S29
4 files changed, 118 insertions, 37 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 0cc8e3652b0e..305ceb8ed03d 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -205,12 +205,19 @@ choice
205 Say Y here if you want kernel low-level debugging support 205 Say Y here if you want kernel low-level debugging support
206 on i.MX28. 206 on i.MX28.
207 207
208 config DEBUG_IMX31_IMX35_UART 208 config DEBUG_IMX31_UART
209 bool "i.MX31 and i.MX35 Debug UART" 209 bool "i.MX31 Debug UART"
210 depends on SOC_IMX31 || SOC_IMX35 210 depends on SOC_IMX31
211 help 211 help
212 Say Y here if you want kernel low-level debugging support 212 Say Y here if you want kernel low-level debugging support
213 on i.MX31 or i.MX35. 213 on i.MX31.
214
215 config DEBUG_IMX35_UART
216 bool "i.MX35 Debug UART"
217 depends on SOC_IMX35
218 help
219 Say Y here if you want kernel low-level debugging support
220 on i.MX35.
214 221
215 config DEBUG_IMX51_UART 222 config DEBUG_IMX51_UART
216 bool "i.MX51 Debug UART" 223 bool "i.MX51 Debug UART"
@@ -471,11 +478,16 @@ choice
471 478
472endchoice 479endchoice
473 480
474config DEBUG_IMX6Q_UART_PORT 481config DEBUG_IMX_UART_PORT
475 int "i.MX6Q Debug UART Port (1-5)" if DEBUG_IMX6Q_UART 482 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
476 range 1 5 483 DEBUG_IMX25_UART || \
484 DEBUG_IMX21_IMX27_UART || \
485 DEBUG_IMX31_UART || \
486 DEBUG_IMX35_UART || \
487 DEBUG_IMX51_UART || \
488 DEBUG_IMX50_IMX53_UART || \
489 DEBUG_IMX6Q_UART
477 default 1 490 default 1
478 depends on SOC_IMX6Q
479 help 491 help
480 Choose UART port on which kernel low-level debug messages 492 Choose UART port on which kernel low-level debug messages
481 should be output. 493 should be output.
@@ -516,7 +528,8 @@ config DEBUG_LL_INCLUDE
516 default "debug/imx.S" if DEBUG_IMX1_UART || \ 528 default "debug/imx.S" if DEBUG_IMX1_UART || \
517 DEBUG_IMX25_UART || \ 529 DEBUG_IMX25_UART || \
518 DEBUG_IMX21_IMX27_UART || \ 530 DEBUG_IMX21_IMX27_UART || \
519 DEBUG_IMX31_IMX35_UART || \ 531 DEBUG_IMX31_UART || \
532 DEBUG_IMX35_UART || \
520 DEBUG_IMX51_UART || \ 533 DEBUG_IMX51_UART || \
521 DEBUG_IMX53_UART ||\ 534 DEBUG_IMX53_UART ||\
522 DEBUG_IMX6Q_UART 535 DEBUG_IMX6Q_UART
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index d946372c4300..0a3966787563 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -151,6 +151,7 @@ CONFIG_MFD_MC13XXX_I2C=y
151CONFIG_REGULATOR=y 151CONFIG_REGULATOR=y
152CONFIG_REGULATOR_FIXED_VOLTAGE=y 152CONFIG_REGULATOR_FIXED_VOLTAGE=y
153CONFIG_REGULATOR_DA9052=y 153CONFIG_REGULATOR_DA9052=y
154CONFIG_REGULATOR_ANATOP=y
154CONFIG_REGULATOR_MC13783=y 155CONFIG_REGULATOR_MC13783=y
155CONFIG_REGULATOR_MC13892=y 156CONFIG_REGULATOR_MC13892=y
156CONFIG_MEDIA_SUPPORT=y 157CONFIG_MEDIA_SUPPORT=y
@@ -159,6 +160,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
159CONFIG_MEDIA_CAMERA_SUPPORT=y 160CONFIG_MEDIA_CAMERA_SUPPORT=y
160CONFIG_SOC_CAMERA=y 161CONFIG_SOC_CAMERA=y
161CONFIG_SOC_CAMERA_OV2640=y 162CONFIG_SOC_CAMERA_OV2640=y
163CONFIG_DRM=y
162CONFIG_VIDEO_MX3=y 164CONFIG_VIDEO_MX3=y
163CONFIG_FB=y 165CONFIG_FB=y
164CONFIG_LCD_PLATFORM=y 166CONFIG_LCD_PLATFORM=y
@@ -197,9 +199,14 @@ CONFIG_RTC_CLASS=y
197CONFIG_RTC_INTF_DEV_UIE_EMUL=y 199CONFIG_RTC_INTF_DEV_UIE_EMUL=y
198CONFIG_RTC_DRV_MC13XXX=y 200CONFIG_RTC_DRV_MC13XXX=y
199CONFIG_RTC_DRV_MXC=y 201CONFIG_RTC_DRV_MXC=y
202CONFIG_RTC_DRV_SNVS=y
200CONFIG_DMADEVICES=y 203CONFIG_DMADEVICES=y
201CONFIG_IMX_SDMA=y 204CONFIG_IMX_SDMA=y
202CONFIG_MXS_DMA=y 205CONFIG_MXS_DMA=y
206CONFIG_STAGING=y
207CONFIG_DRM_IMX=y
208CONFIG_DRM_IMX_IPUV3_CORE=y
209CONFIG_DRM_IMX_IPUV3=y
203CONFIG_COMMON_CLK_DEBUG=y 210CONFIG_COMMON_CLK_DEBUG=y
204# CONFIG_IOMMU_SUPPORT is not set 211# CONFIG_IOMMU_SUPPORT is not set
205CONFIG_EXT2_FS=y 212CONFIG_EXT2_FS=y
diff --git a/arch/arm/include/debug/imx-uart.h b/arch/arm/include/debug/imx-uart.h
new file mode 100644
index 000000000000..91d38e38a0b4
--- /dev/null
+++ b/arch/arm/include/debug/imx-uart.h
@@ -0,0 +1,88 @@
1/*
2 * Copyright (C) 2012 Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef __DEBUG_IMX_UART_H
10#define __DEBUG_IMX_UART_H
11
12#define IMX1_UART1_BASE_ADDR 0x00206000
13#define IMX1_UART2_BASE_ADDR 0x00207000
14#define IMX1_UART_BASE_ADDR(n) IMX1_UART##n##_BASE_ADDR
15#define IMX1_UART_BASE(n) IMX1_UART_BASE_ADDR(n)
16
17#define IMX21_UART1_BASE_ADDR 0x1000a000
18#define IMX21_UART2_BASE_ADDR 0x1000b000
19#define IMX21_UART3_BASE_ADDR 0x1000c000
20#define IMX21_UART4_BASE_ADDR 0x1000d000
21#define IMX21_UART_BASE_ADDR(n) IMX21_UART##n##_BASE_ADDR
22#define IMX21_UART_BASE(n) IMX21_UART_BASE_ADDR(n)
23
24#define IMX25_UART1_BASE_ADDR 0x43f90000
25#define IMX25_UART2_BASE_ADDR 0x43f94000
26#define IMX25_UART3_BASE_ADDR 0x5000c000
27#define IMX25_UART4_BASE_ADDR 0x50008000
28#define IMX25_UART5_BASE_ADDR 0x5002c000
29#define IMX25_UART_BASE_ADDR(n) IMX25_UART##n##_BASE_ADDR
30#define IMX25_UART_BASE(n) IMX25_UART_BASE_ADDR(n)
31
32#define IMX31_UART1_BASE_ADDR 0x43f90000
33#define IMX31_UART2_BASE_ADDR 0x43f94000
34#define IMX31_UART3_BASE_ADDR 0x5000c000
35#define IMX31_UART4_BASE_ADDR 0x43fb0000
36#define IMX31_UART5_BASE_ADDR 0x43fb4000
37#define IMX31_UART_BASE_ADDR(n) IMX31_UART##n##_BASE_ADDR
38#define IMX31_UART_BASE(n) IMX31_UART_BASE_ADDR(n)
39
40#define IMX35_UART1_BASE_ADDR 0x43f90000
41#define IMX35_UART2_BASE_ADDR 0x43f94000
42#define IMX35_UART3_BASE_ADDR 0x5000c000
43#define IMX35_UART_BASE_ADDR(n) IMX35_UART##n##_BASE_ADDR
44#define IMX35_UART_BASE(n) IMX35_UART_BASE_ADDR(n)
45
46#define IMX51_UART1_BASE_ADDR 0x73fbc000
47#define IMX51_UART2_BASE_ADDR 0x73fc0000
48#define IMX51_UART3_BASE_ADDR 0x7000c000
49#define IMX51_UART_BASE_ADDR(n) IMX51_UART##n##_BASE_ADDR
50#define IMX51_UART_BASE(n) IMX51_UART_BASE_ADDR(n)
51
52#define IMX53_UART1_BASE_ADDR 0x53fbc000
53#define IMX53_UART2_BASE_ADDR 0x53fc0000
54#define IMX53_UART3_BASE_ADDR 0x5000c000
55#define IMX53_UART4_BASE_ADDR 0x53ff0000
56#define IMX53_UART5_BASE_ADDR 0x63f90000
57#define IMX53_UART_BASE_ADDR(n) IMX53_UART##n##_BASE_ADDR
58#define IMX53_UART_BASE(n) IMX53_UART_BASE_ADDR(n)
59
60#define IMX6Q_UART1_BASE_ADDR 0x02020000
61#define IMX6Q_UART2_BASE_ADDR 0x021e8000
62#define IMX6Q_UART3_BASE_ADDR 0x021ec000
63#define IMX6Q_UART4_BASE_ADDR 0x021f0000
64#define IMX6Q_UART5_BASE_ADDR 0x021f4000
65#define IMX6Q_UART_BASE_ADDR(n) IMX6Q_UART##n##_BASE_ADDR
66#define IMX6Q_UART_BASE(n) IMX6Q_UART_BASE_ADDR(n)
67
68#define IMX_DEBUG_UART_BASE(soc) soc##_UART_BASE(CONFIG_DEBUG_IMX_UART_PORT)
69
70#ifdef CONFIG_DEBUG_IMX1_UART
71#define UART_PADDR IMX_DEBUG_UART_BASE(IMX1)
72#elif defined(CONFIG_DEBUG_IMX21_IMX27_UART)
73#define UART_PADDR IMX_DEBUG_UART_BASE(IMX21)
74#elif defined(CONFIG_DEBUG_IMX25_UART)
75#define UART_PADDR IMX_DEBUG_UART_BASE(IMX25)
76#elif defined(CONFIG_DEBUG_IMX31_UART)
77#define UART_PADDR IMX_DEBUG_UART_BASE(IMX31)
78#elif defined(CONFIG_DEBUG_IMX35_UART)
79#define UART_PADDR IMX_DEBUG_UART_BASE(IMX35)
80#elif defined(CONFIG_DEBUG_IMX51_UART)
81#define UART_PADDR IMX_DEBUG_UART_BASE(IMX51)
82#elif defined(CONFIG_DEBUG_IMX53_UART)
83#define UART_PADDR IMX_DEBUG_UART_BASE(IMX53)
84#elif defined(CONFIG_DEBUG_IMX6Q_UART)
85#define UART_PADDR IMX_DEBUG_UART_BASE(IMX6Q)
86#endif
87
88#endif /* __DEBUG_IMX_UART_H */
diff --git a/arch/arm/include/debug/imx.S b/arch/arm/include/debug/imx.S
index c6f294cf18f0..619d8cc1ac12 100644
--- a/arch/arm/include/debug/imx.S
+++ b/arch/arm/include/debug/imx.S
@@ -10,35 +10,8 @@
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 * 11 *
12 */ 12 */
13#define IMX6Q_UART1_BASE_ADDR 0x02020000
14#define IMX6Q_UART2_BASE_ADDR 0x021e8000
15#define IMX6Q_UART3_BASE_ADDR 0x021ec000
16#define IMX6Q_UART4_BASE_ADDR 0x021f0000
17#define IMX6Q_UART5_BASE_ADDR 0x021f4000
18 13
19/* 14#include "imx-uart.h"
20 * IMX6Q_UART_BASE_ADDR is put in the middle to force the expansion
21 * of IMX6Q_UART##n##_BASE_ADDR.
22 */
23#define IMX6Q_UART_BASE_ADDR(n) IMX6Q_UART##n##_BASE_ADDR
24#define IMX6Q_UART_BASE(n) IMX6Q_UART_BASE_ADDR(n)
25#define IMX6Q_DEBUG_UART_BASE IMX6Q_UART_BASE(CONFIG_DEBUG_IMX6Q_UART_PORT)
26
27#ifdef CONFIG_DEBUG_IMX1_UART
28#define UART_PADDR 0x00206000
29#elif defined (CONFIG_DEBUG_IMX25_UART)
30#define UART_PADDR 0x43f90000
31#elif defined (CONFIG_DEBUG_IMX21_IMX27_UART)
32#define UART_PADDR 0x1000a000
33#elif defined (CONFIG_DEBUG_IMX31_IMX35_UART)
34#define UART_PADDR 0x43f90000
35#elif defined (CONFIG_DEBUG_IMX51_UART)
36#define UART_PADDR 0x73fbc000
37#elif defined (CONFIG_DEBUG_IMX53_UART)
38#define UART_PADDR 0x53fbc000
39#elif defined (CONFIG_DEBUG_IMX6Q_UART)
40#define UART_PADDR IMX6Q_DEBUG_UART_BASE
41#endif
42 15
43/* 16/*
44 * FIXME: This is a copy of IMX_IO_P2V in hardware.h, and needs to 17 * FIXME: This is a copy of IMX_IO_P2V in hardware.h, and needs to