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 |
