diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-05 18:34:51 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-05 18:34:51 -0500 |
commit | 1087f4dbf368d7d800a1cae5b85aa600629d36e3 (patch) | |
tree | 1cd9d546a1229083f9c1b1deb827e497ba094b91 | |
parent | d37d79ed8af1de90535e6a877081d720205d6cd9 (diff) | |
parent | 26246919329c045d8c1bd70dfebd44c54a5cf657 (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.debug | 31 | ||||
-rw-r--r-- | arch/arm/configs/imx_v6_v7_defconfig | 7 | ||||
-rw-r--r-- | arch/arm/include/debug/imx-uart.h | 88 | ||||
-rw-r--r-- | arch/arm/include/debug/imx.S | 29 |
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 | ||
472 | endchoice | 479 | endchoice |
473 | 480 | ||
474 | config DEBUG_IMX6Q_UART_PORT | 481 | config 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 | |||
151 | CONFIG_REGULATOR=y | 151 | CONFIG_REGULATOR=y |
152 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | 152 | CONFIG_REGULATOR_FIXED_VOLTAGE=y |
153 | CONFIG_REGULATOR_DA9052=y | 153 | CONFIG_REGULATOR_DA9052=y |
154 | CONFIG_REGULATOR_ANATOP=y | ||
154 | CONFIG_REGULATOR_MC13783=y | 155 | CONFIG_REGULATOR_MC13783=y |
155 | CONFIG_REGULATOR_MC13892=y | 156 | CONFIG_REGULATOR_MC13892=y |
156 | CONFIG_MEDIA_SUPPORT=y | 157 | CONFIG_MEDIA_SUPPORT=y |
@@ -159,6 +160,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y | |||
159 | CONFIG_MEDIA_CAMERA_SUPPORT=y | 160 | CONFIG_MEDIA_CAMERA_SUPPORT=y |
160 | CONFIG_SOC_CAMERA=y | 161 | CONFIG_SOC_CAMERA=y |
161 | CONFIG_SOC_CAMERA_OV2640=y | 162 | CONFIG_SOC_CAMERA_OV2640=y |
163 | CONFIG_DRM=y | ||
162 | CONFIG_VIDEO_MX3=y | 164 | CONFIG_VIDEO_MX3=y |
163 | CONFIG_FB=y | 165 | CONFIG_FB=y |
164 | CONFIG_LCD_PLATFORM=y | 166 | CONFIG_LCD_PLATFORM=y |
@@ -197,9 +199,14 @@ CONFIG_RTC_CLASS=y | |||
197 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y | 199 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y |
198 | CONFIG_RTC_DRV_MC13XXX=y | 200 | CONFIG_RTC_DRV_MC13XXX=y |
199 | CONFIG_RTC_DRV_MXC=y | 201 | CONFIG_RTC_DRV_MXC=y |
202 | CONFIG_RTC_DRV_SNVS=y | ||
200 | CONFIG_DMADEVICES=y | 203 | CONFIG_DMADEVICES=y |
201 | CONFIG_IMX_SDMA=y | 204 | CONFIG_IMX_SDMA=y |
202 | CONFIG_MXS_DMA=y | 205 | CONFIG_MXS_DMA=y |
206 | CONFIG_STAGING=y | ||
207 | CONFIG_DRM_IMX=y | ||
208 | CONFIG_DRM_IMX_IPUV3_CORE=y | ||
209 | CONFIG_DRM_IMX_IPUV3=y | ||
203 | CONFIG_COMMON_CLK_DEBUG=y | 210 | CONFIG_COMMON_CLK_DEBUG=y |
204 | # CONFIG_IOMMU_SUPPORT is not set | 211 | # CONFIG_IOMMU_SUPPORT is not set |
205 | CONFIG_EXT2_FS=y | 212 | CONFIG_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 |