diff options
32 files changed, 117 insertions, 80 deletions
diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts index 9b29a623aaf1..3f9abd6b6964 100644 --- a/arch/arm/boot/dts/tegra-ventana.dts +++ b/arch/arm/boot/dts/tegra-ventana.dts | |||
| @@ -22,11 +22,10 @@ | |||
| 22 | sdhci@c8000400 { | 22 | sdhci@c8000400 { |
| 23 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 23 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
| 24 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 24 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
| 25 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ | 25 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ |
| 26 | }; | 26 | }; |
| 27 | 27 | ||
| 28 | sdhci@c8000600 { | 28 | sdhci@c8000600 { |
| 29 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ | ||
| 30 | support-8bit; | 29 | support-8bit; |
| 31 | }; | 30 | }; |
| 32 | }; | 31 | }; |
diff --git a/arch/arm/mach-at91/at91cap9_devices.c b/arch/arm/mach-at91/at91cap9_devices.c index a4401d6b5b07..adad70db70eb 100644 --- a/arch/arm/mach-at91/at91cap9_devices.c +++ b/arch/arm/mach-at91/at91cap9_devices.c | |||
| @@ -98,7 +98,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {} | |||
| 98 | * USB HS Device (Gadget) | 98 | * USB HS Device (Gadget) |
| 99 | * -------------------------------------------------------------------- */ | 99 | * -------------------------------------------------------------------- */ |
| 100 | 100 | ||
| 101 | #if defined(CONFIG_USB_GADGET_ATMEL_USBA) || defined(CONFIG_USB_GADGET_ATMEL_USBA_MODULE) | 101 | #if defined(CONFIG_USB_ATMEL_USBA) || defined(CONFIG_USB_ATMEL_USBA_MODULE) |
| 102 | 102 | ||
| 103 | static struct resource usba_udc_resources[] = { | 103 | static struct resource usba_udc_resources[] = { |
| 104 | [0] = { | 104 | [0] = { |
| @@ -1021,8 +1021,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 1021 | #if defined(CONFIG_SERIAL_ATMEL) | 1021 | #if defined(CONFIG_SERIAL_ATMEL) |
| 1022 | static struct resource dbgu_resources[] = { | 1022 | static struct resource dbgu_resources[] = { |
| 1023 | [0] = { | 1023 | [0] = { |
| 1024 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 1024 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 1025 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 1025 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 1026 | .flags = IORESOURCE_MEM, | 1026 | .flags = IORESOURCE_MEM, |
| 1027 | }, | 1027 | }, |
| 1028 | [1] = { | 1028 | [1] = { |
| @@ -1035,7 +1035,6 @@ static struct resource dbgu_resources[] = { | |||
| 1035 | static struct atmel_uart_data dbgu_data = { | 1035 | static struct atmel_uart_data dbgu_data = { |
| 1036 | .use_dma_tx = 0, | 1036 | .use_dma_tx = 0, |
| 1037 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 1037 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 1038 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 1039 | }; | 1038 | }; |
| 1040 | 1039 | ||
| 1041 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 1040 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 01d8bbd1468b..66591fa53e05 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
| @@ -877,8 +877,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 877 | #if defined(CONFIG_SERIAL_ATMEL) | 877 | #if defined(CONFIG_SERIAL_ATMEL) |
| 878 | static struct resource dbgu_resources[] = { | 878 | static struct resource dbgu_resources[] = { |
| 879 | [0] = { | 879 | [0] = { |
| 880 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 880 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 881 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 881 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 882 | .flags = IORESOURCE_MEM, | 882 | .flags = IORESOURCE_MEM, |
| 883 | }, | 883 | }, |
| 884 | [1] = { | 884 | [1] = { |
| @@ -891,7 +891,6 @@ static struct resource dbgu_resources[] = { | |||
| 891 | static struct atmel_uart_data dbgu_data = { | 891 | static struct atmel_uart_data dbgu_data = { |
| 892 | .use_dma_tx = 0, | 892 | .use_dma_tx = 0, |
| 893 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 893 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 894 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 895 | }; | 894 | }; |
| 896 | 895 | ||
| 897 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 896 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 24b6f8c0440d..25e3464fb07f 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
| @@ -837,8 +837,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 837 | #if defined(CONFIG_SERIAL_ATMEL) | 837 | #if defined(CONFIG_SERIAL_ATMEL) |
| 838 | static struct resource dbgu_resources[] = { | 838 | static struct resource dbgu_resources[] = { |
| 839 | [0] = { | 839 | [0] = { |
| 840 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 840 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 841 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 841 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 842 | .flags = IORESOURCE_MEM, | 842 | .flags = IORESOURCE_MEM, |
| 843 | }, | 843 | }, |
| 844 | [1] = { | 844 | [1] = { |
| @@ -851,7 +851,6 @@ static struct resource dbgu_resources[] = { | |||
| 851 | static struct atmel_uart_data dbgu_data = { | 851 | static struct atmel_uart_data dbgu_data = { |
| 852 | .use_dma_tx = 0, | 852 | .use_dma_tx = 0, |
| 853 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 853 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 854 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 855 | }; | 854 | }; |
| 856 | 855 | ||
| 857 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 856 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 3b70b3897d95..ae78f4d03b73 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
| @@ -816,8 +816,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 816 | #if defined(CONFIG_SERIAL_ATMEL) | 816 | #if defined(CONFIG_SERIAL_ATMEL) |
| 817 | static struct resource dbgu_resources[] = { | 817 | static struct resource dbgu_resources[] = { |
| 818 | [0] = { | 818 | [0] = { |
| 819 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 819 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 820 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 820 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 821 | .flags = IORESOURCE_MEM, | 821 | .flags = IORESOURCE_MEM, |
| 822 | }, | 822 | }, |
| 823 | [1] = { | 823 | [1] = { |
| @@ -830,7 +830,6 @@ static struct resource dbgu_resources[] = { | |||
| 830 | static struct atmel_uart_data dbgu_data = { | 830 | static struct atmel_uart_data dbgu_data = { |
| 831 | .use_dma_tx = 0, | 831 | .use_dma_tx = 0, |
| 832 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 832 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 833 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 834 | }; | 833 | }; |
| 835 | 834 | ||
| 836 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 835 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index 3faa1fde9ad9..ad017eb1f8df 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
| @@ -1196,8 +1196,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 1196 | 1196 | ||
| 1197 | static struct resource dbgu_resources[] = { | 1197 | static struct resource dbgu_resources[] = { |
| 1198 | [0] = { | 1198 | [0] = { |
| 1199 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 1199 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 1200 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 1200 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 1201 | .flags = IORESOURCE_MEM, | 1201 | .flags = IORESOURCE_MEM, |
| 1202 | }, | 1202 | }, |
| 1203 | [1] = { | 1203 | [1] = { |
| @@ -1210,7 +1210,6 @@ static struct resource dbgu_resources[] = { | |||
| 1210 | static struct atmel_uart_data dbgu_data = { | 1210 | static struct atmel_uart_data dbgu_data = { |
| 1211 | .use_dma_tx = 0, | 1211 | .use_dma_tx = 0, |
| 1212 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 1212 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 1213 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 1214 | }; | 1213 | }; |
| 1215 | 1214 | ||
| 1216 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 1215 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c index 000b5e1da965..09a16d6bd5cd 100644 --- a/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/arch/arm/mach-at91/at91sam9g45_devices.c | |||
| @@ -197,7 +197,7 @@ void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data) {} | |||
| 197 | * USB HS Device (Gadget) | 197 | * USB HS Device (Gadget) |
| 198 | * -------------------------------------------------------------------- */ | 198 | * -------------------------------------------------------------------- */ |
| 199 | 199 | ||
| 200 | #if defined(CONFIG_USB_GADGET_ATMEL_USBA) || defined(CONFIG_USB_GADGET_ATMEL_USBA_MODULE) | 200 | #if defined(CONFIG_USB_ATMEL_USBA) || defined(CONFIG_USB_ATMEL_USBA_MODULE) |
| 201 | static struct resource usba_udc_resources[] = { | 201 | static struct resource usba_udc_resources[] = { |
| 202 | [0] = { | 202 | [0] = { |
| 203 | .start = AT91SAM9G45_UDPHS_FIFO, | 203 | .start = AT91SAM9G45_UDPHS_FIFO, |
| @@ -1332,8 +1332,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 1332 | #if defined(CONFIG_SERIAL_ATMEL) | 1332 | #if defined(CONFIG_SERIAL_ATMEL) |
| 1333 | static struct resource dbgu_resources[] = { | 1333 | static struct resource dbgu_resources[] = { |
| 1334 | [0] = { | 1334 | [0] = { |
| 1335 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 1335 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 1336 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 1336 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 1337 | .flags = IORESOURCE_MEM, | 1337 | .flags = IORESOURCE_MEM, |
| 1338 | }, | 1338 | }, |
| 1339 | [1] = { | 1339 | [1] = { |
| @@ -1346,7 +1346,6 @@ static struct resource dbgu_resources[] = { | |||
| 1346 | static struct atmel_uart_data dbgu_data = { | 1346 | static struct atmel_uart_data dbgu_data = { |
| 1347 | .use_dma_tx = 0, | 1347 | .use_dma_tx = 0, |
| 1348 | .use_dma_rx = 0, | 1348 | .use_dma_rx = 0, |
| 1349 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 1350 | }; | 1349 | }; |
| 1351 | 1350 | ||
| 1352 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 1351 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index 305a851b5bff..628eb566d60c 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
| @@ -75,7 +75,7 @@ void __init at91_add_device_hdmac(void) {} | |||
| 75 | * USB HS Device (Gadget) | 75 | * USB HS Device (Gadget) |
| 76 | * -------------------------------------------------------------------- */ | 76 | * -------------------------------------------------------------------- */ |
| 77 | 77 | ||
| 78 | #if defined(CONFIG_USB_GADGET_ATMEL_USBA) || defined(CONFIG_USB_GADGET_ATMEL_USBA_MODULE) | 78 | #if defined(CONFIG_USB_ATMEL_USBA) || defined(CONFIG_USB_ATMEL_USBA_MODULE) |
| 79 | 79 | ||
| 80 | static struct resource usba_udc_resources[] = { | 80 | static struct resource usba_udc_resources[] = { |
| 81 | [0] = { | 81 | [0] = { |
| @@ -908,8 +908,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {} | |||
| 908 | #if defined(CONFIG_SERIAL_ATMEL) | 908 | #if defined(CONFIG_SERIAL_ATMEL) |
| 909 | static struct resource dbgu_resources[] = { | 909 | static struct resource dbgu_resources[] = { |
| 910 | [0] = { | 910 | [0] = { |
| 911 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | 911 | .start = AT91_BASE_SYS + AT91_DBGU, |
| 912 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | 912 | .end = AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, |
| 913 | .flags = IORESOURCE_MEM, | 913 | .flags = IORESOURCE_MEM, |
| 914 | }, | 914 | }, |
| 915 | [1] = { | 915 | [1] = { |
| @@ -922,7 +922,6 @@ static struct resource dbgu_resources[] = { | |||
| 922 | static struct atmel_uart_data dbgu_data = { | 922 | static struct atmel_uart_data dbgu_data = { |
| 923 | .use_dma_tx = 0, | 923 | .use_dma_tx = 0, |
| 924 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 924 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
| 925 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
| 926 | }; | 925 | }; |
| 927 | 926 | ||
| 928 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 927 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c index 649b052231f5..12a3f955162b 100644 --- a/arch/arm/mach-at91/board-yl-9200.c +++ b/arch/arm/mach-at91/board-yl-9200.c | |||
| @@ -384,7 +384,7 @@ static struct spi_board_info yl9200_spi_devices[] = { | |||
| 384 | #include <video/s1d13xxxfb.h> | 384 | #include <video/s1d13xxxfb.h> |
| 385 | 385 | ||
| 386 | 386 | ||
| 387 | static void __init yl9200_init_video(void) | 387 | static void yl9200_init_video(void) |
| 388 | { | 388 | { |
| 389 | /* NWAIT Signal */ | 389 | /* NWAIT Signal */ |
| 390 | at91_set_A_periph(AT91_PIN_PC6, 0); | 390 | at91_set_A_periph(AT91_PIN_PC6, 0); |
diff --git a/arch/arm/mach-at91/include/mach/vmalloc.h b/arch/arm/mach-at91/include/mach/vmalloc.h index 8eb459f3f5b7..8e4a1bd0ab1d 100644 --- a/arch/arm/mach-at91/include/mach/vmalloc.h +++ b/arch/arm/mach-at91/include/mach/vmalloc.h | |||
| @@ -21,6 +21,8 @@ | |||
| 21 | #ifndef __ASM_ARCH_VMALLOC_H | 21 | #ifndef __ASM_ARCH_VMALLOC_H |
| 22 | #define __ASM_ARCH_VMALLOC_H | 22 | #define __ASM_ARCH_VMALLOC_H |
| 23 | 23 | ||
| 24 | #include <mach/hardware.h> | ||
| 25 | |||
| 24 | #define VMALLOC_END (AT91_VIRT_BASE & PGDIR_MASK) | 26 | #define VMALLOC_END (AT91_VIRT_BASE & PGDIR_MASK) |
| 25 | 27 | ||
| 26 | #endif | 28 | #endif |
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index 22d85889f622..cfede5768aa0 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot | |||
| @@ -1,22 +1,26 @@ | |||
| 1 | zreladdr-$(CONFIG_ARCH_MX1) += 0x08008000 | 1 | zreladdr-$(CONFIG_SOC_IMX1) += 0x08008000 |
| 2 | params_phys-$(CONFIG_ARCH_MX1) := 0x08000100 | 2 | params_phys-$(CONFIG_SOC_IMX1) := 0x08000100 |
| 3 | initrd_phys-$(CONFIG_ARCH_MX1) := 0x08800000 | 3 | initrd_phys-$(CONFIG_SOC_IMX1) := 0x08800000 |
| 4 | 4 | ||
| 5 | zreladdr-$(CONFIG_MACH_MX21) += 0xC0008000 | 5 | zreladdr-$(CONFIG_SOC_IMX21) += 0xC0008000 |
| 6 | params_phys-$(CONFIG_MACH_MX21) := 0xC0000100 | 6 | params_phys-$(CONFIG_SOC_IMX21) := 0xC0000100 |
| 7 | initrd_phys-$(CONFIG_MACH_MX21) := 0xC0800000 | 7 | initrd_phys-$(CONFIG_SOC_IMX21) := 0xC0800000 |
| 8 | 8 | ||
| 9 | zreladdr-$(CONFIG_ARCH_MX25) += 0x80008000 | 9 | zreladdr-$(CONFIG_SOC_IMX25) += 0x80008000 |
| 10 | params_phys-$(CONFIG_ARCH_MX25) := 0x80000100 | 10 | params_phys-$(CONFIG_SOC_IMX25) := 0x80000100 |
| 11 | initrd_phys-$(CONFIG_ARCH_MX25) := 0x80800000 | 11 | initrd_phys-$(CONFIG_SOC_IMX25) := 0x80800000 |
| 12 | 12 | ||
| 13 | zreladdr-$(CONFIG_MACH_MX27) += 0xA0008000 | 13 | zreladdr-$(CONFIG_SOC_IMX27) += 0xA0008000 |
| 14 | params_phys-$(CONFIG_MACH_MX27) := 0xA0000100 | 14 | params_phys-$(CONFIG_SOC_IMX27) := 0xA0000100 |
| 15 | initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000 | 15 | initrd_phys-$(CONFIG_SOC_IMX27) := 0xA0800000 |
| 16 | 16 | ||
| 17 | zreladdr-$(CONFIG_ARCH_MX3) += 0x80008000 | 17 | zreladdr-$(CONFIG_SOC_IMX31) += 0x80008000 |
| 18 | params_phys-$(CONFIG_ARCH_MX3) := 0x80000100 | 18 | params_phys-$(CONFIG_SOC_IMX31) := 0x80000100 |
| 19 | initrd_phys-$(CONFIG_ARCH_MX3) := 0x80800000 | 19 | initrd_phys-$(CONFIG_SOC_IMX31) := 0x80800000 |
| 20 | |||
| 21 | zreladdr-$(CONFIG_SOC_IMX35) += 0x80008000 | ||
| 22 | params_phys-$(CONFIG_SOC_IMX35) := 0x80000100 | ||
| 23 | initrd_phys-$(CONFIG_SOC_IMX35) := 0x80800000 | ||
| 20 | 24 | ||
| 21 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 | 25 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 |
| 22 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 | 26 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 |
diff --git a/arch/arm/mach-imx/clock-imx6q.c b/arch/arm/mach-imx/clock-imx6q.c index e0b926dfeced..613a1b993bff 100644 --- a/arch/arm/mach-imx/clock-imx6q.c +++ b/arch/arm/mach-imx/clock-imx6q.c | |||
| @@ -1139,7 +1139,7 @@ static int _clk_set_rate(struct clk *clk, unsigned long rate) | |||
| 1139 | return -EINVAL; | 1139 | return -EINVAL; |
| 1140 | 1140 | ||
| 1141 | max_div = ((d->bm_pred >> d->bp_pred) + 1) * | 1141 | max_div = ((d->bm_pred >> d->bp_pred) + 1) * |
| 1142 | ((d->bm_pred >> d->bp_pred) + 1); | 1142 | ((d->bm_podf >> d->bp_podf) + 1); |
| 1143 | 1143 | ||
| 1144 | div = parent_rate / rate; | 1144 | div = parent_rate / rate; |
| 1145 | if (div == 0) | 1145 | if (div == 0) |
| @@ -2002,6 +2002,21 @@ int __init mx6q_clocks_init(void) | |||
| 2002 | clk_set_rate(&asrc_serial_clk, 1500000); | 2002 | clk_set_rate(&asrc_serial_clk, 1500000); |
| 2003 | clk_set_rate(&enfc_clk, 11000000); | 2003 | clk_set_rate(&enfc_clk, 11000000); |
| 2004 | 2004 | ||
| 2005 | /* | ||
| 2006 | * Before pinctrl API is available, we have to rely on the pad | ||
| 2007 | * configuration set up by bootloader. For usdhc example here, | ||
| 2008 | * u-boot sets up the pads for 49.5 MHz case, and we have to lower | ||
| 2009 | * the usdhc clock from 198 to 49.5 MHz to match the pad configuration. | ||
| 2010 | * | ||
| 2011 | * FIXME: This is should be removed after pinctrl API is available. | ||
| 2012 | * At that time, usdhc driver can call pinctrl API to change pad | ||
| 2013 | * configuration dynamically per different usdhc clock settings. | ||
| 2014 | */ | ||
| 2015 | clk_set_rate(&usdhc1_clk, 49500000); | ||
| 2016 | clk_set_rate(&usdhc2_clk, 49500000); | ||
| 2017 | clk_set_rate(&usdhc3_clk, 49500000); | ||
| 2018 | clk_set_rate(&usdhc4_clk, 49500000); | ||
| 2019 | |||
| 2005 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); | 2020 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); |
| 2006 | base = of_iomap(np, 0); | 2021 | base = of_iomap(np, 0); |
| 2007 | WARN_ON(!base); | 2022 | WARN_ON(!base); |
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 4285dfd80b6f..4ad3969b9881 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile | |||
| @@ -15,6 +15,8 @@ obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o | |||
| 15 | obj-$(CONFIG_MSM_SMD) += last_radio_log.o | 15 | obj-$(CONFIG_MSM_SMD) += last_radio_log.o |
| 16 | obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o | 16 | obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o |
| 17 | 17 | ||
| 18 | CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) | ||
| 19 | |||
| 18 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 20 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
| 19 | obj-$(CONFIG_SMP) += headsmp.o platsmp.o | 21 | obj-$(CONFIG_SMP) += headsmp.o platsmp.o |
| 20 | 22 | ||
diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c index 71de5062c71e..db81ed531031 100644 --- a/arch/arm/mach-msm/board-msm7x30.c +++ b/arch/arm/mach-msm/board-msm7x30.c | |||
| @@ -42,8 +42,8 @@ | |||
| 42 | 42 | ||
| 43 | extern struct sys_timer msm_timer; | 43 | extern struct sys_timer msm_timer; |
| 44 | 44 | ||
| 45 | static void __init msm7x30_fixup(struct machine_desc *desc, struct tag *tag, | 45 | static void __init msm7x30_fixup(struct tag *tag, char **cmdline, |
| 46 | char **cmdline, struct meminfo *mi) | 46 | struct meminfo *mi) |
| 47 | { | 47 | { |
| 48 | for (; tag->hdr.size; tag = tag_next(tag)) | 48 | for (; tag->hdr.size; tag = tag_next(tag)) |
| 49 | if (tag->hdr.tag == ATAG_MEM && tag->u.mem.start == 0x200000) { | 49 | if (tag->hdr.tag == ATAG_MEM && tag->u.mem.start == 0x200000) { |
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c index b04468e7d00e..6dc1cbd2a595 100644 --- a/arch/arm/mach-msm/board-msm8960.c +++ b/arch/arm/mach-msm/board-msm8960.c | |||
| @@ -32,8 +32,8 @@ | |||
| 32 | 32 | ||
| 33 | #include "devices.h" | 33 | #include "devices.h" |
| 34 | 34 | ||
| 35 | static void __init msm8960_fixup(struct machine_desc *desc, struct tag *tag, | 35 | static void __init msm8960_fixup(struct tag *tag, char **cmdline, |
| 36 | char **cmdline, struct meminfo *mi) | 36 | struct meminfo *mi) |
| 37 | { | 37 | { |
| 38 | for (; tag->hdr.size; tag = tag_next(tag)) | 38 | for (; tag->hdr.size; tag = tag_next(tag)) |
| 39 | if (tag->hdr.tag == ATAG_MEM && | 39 | if (tag->hdr.tag == ATAG_MEM && |
diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c index cf38e2284fa9..44bf71688373 100644 --- a/arch/arm/mach-msm/board-msm8x60.c +++ b/arch/arm/mach-msm/board-msm8x60.c | |||
| @@ -28,8 +28,8 @@ | |||
| 28 | #include <mach/board.h> | 28 | #include <mach/board.h> |
| 29 | #include <mach/msm_iomap.h> | 29 | #include <mach/msm_iomap.h> |
| 30 | 30 | ||
| 31 | static void __init msm8x60_fixup(struct machine_desc *desc, struct tag *tag, | 31 | static void __init msm8x60_fixup(struct tag *tag, char **cmdline, |
| 32 | char **cmdline, struct meminfo *mi) | 32 | struct meminfo *mi) |
| 33 | { | 33 | { |
| 34 | for (; tag->hdr.size; tag = tag_next(tag)) | 34 | for (; tag->hdr.size; tag = tag_next(tag)) |
| 35 | if (tag->hdr.tag == ATAG_MEM && | 35 | if (tag->hdr.tag == ATAG_MEM && |
diff --git a/arch/arm/mach-msm/scm.c b/arch/arm/mach-msm/scm.c index 232f97a04504..bafabb502580 100644 --- a/arch/arm/mach-msm/scm.c +++ b/arch/arm/mach-msm/scm.c | |||
| @@ -180,6 +180,9 @@ static u32 smc(u32 cmd_addr) | |||
| 180 | __asmeq("%1", "r0") | 180 | __asmeq("%1", "r0") |
| 181 | __asmeq("%2", "r1") | 181 | __asmeq("%2", "r1") |
| 182 | __asmeq("%3", "r2") | 182 | __asmeq("%3", "r2") |
| 183 | #ifdef REQUIRES_SEC | ||
| 184 | ".arch_extension sec\n" | ||
| 185 | #endif | ||
| 183 | "smc #0 @ switch to secure world\n" | 186 | "smc #0 @ switch to secure world\n" |
| 184 | : "=r" (r0) | 187 | : "=r" (r0) |
| 185 | : "r" (r0), "r" (r1), "r" (r2) | 188 | : "r" (r0), "r" (r1), "r" (r2) |
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c index 2aacf41c48e7..4cb276977190 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c | |||
| @@ -1281,9 +1281,9 @@ DEFINE_CLOCK(gpt_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG9_OFFSET, | |||
| 1281 | NULL, NULL, &ipg_clk, &gpt_ipg_clk); | 1281 | NULL, NULL, &ipg_clk, &gpt_ipg_clk); |
| 1282 | 1282 | ||
| 1283 | DEFINE_CLOCK(pwm1_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG6_OFFSET, | 1283 | DEFINE_CLOCK(pwm1_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG6_OFFSET, |
| 1284 | NULL, NULL, &ipg_clk, NULL); | 1284 | NULL, NULL, &ipg_perclk, NULL); |
| 1285 | DEFINE_CLOCK(pwm2_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG8_OFFSET, | 1285 | DEFINE_CLOCK(pwm2_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG8_OFFSET, |
| 1286 | NULL, NULL, &ipg_clk, NULL); | 1286 | NULL, NULL, &ipg_perclk, NULL); |
| 1287 | 1287 | ||
| 1288 | /* I2C */ | 1288 | /* I2C */ |
| 1289 | DEFINE_CLOCK(i2c1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG9_OFFSET, | 1289 | DEFINE_CLOCK(i2c1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG9_OFFSET, |
| @@ -1634,6 +1634,7 @@ int __init mx53_clocks_init(unsigned long ckil, unsigned long osc, | |||
| 1634 | return 0; | 1634 | return 0; |
| 1635 | } | 1635 | } |
| 1636 | 1636 | ||
| 1637 | #ifdef CONFIG_OF | ||
| 1637 | static void __init clk_get_freq_dt(unsigned long *ckil, unsigned long *osc, | 1638 | static void __init clk_get_freq_dt(unsigned long *ckil, unsigned long *osc, |
| 1638 | unsigned long *ckih1, unsigned long *ckih2) | 1639 | unsigned long *ckih1, unsigned long *ckih2) |
| 1639 | { | 1640 | { |
| @@ -1671,3 +1672,4 @@ int __init mx53_clocks_init_dt(void) | |||
| 1671 | clk_get_freq_dt(&ckil, &osc, &ckih1, &ckih2); | 1672 | clk_get_freq_dt(&ckil, &osc, &ckih1, &ckih2); |
| 1672 | return mx53_clocks_init(ckil, osc, ckih1, ckih2); | 1673 | return mx53_clocks_init(ckil, osc, ckih1, ckih2); |
| 1673 | } | 1674 | } |
| 1675 | #endif | ||
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c index ac2316d53d3c..064ec5abaa55 100644 --- a/arch/arm/mach-mxs/mach-mx28evk.c +++ b/arch/arm/mach-mxs/mach-mx28evk.c | |||
| @@ -471,7 +471,8 @@ static void __init mx28evk_init(void) | |||
| 471 | "mmc0-slot-power"); | 471 | "mmc0-slot-power"); |
| 472 | if (ret) | 472 | if (ret) |
| 473 | pr_warn("failed to request gpio mmc0-slot-power: %d\n", ret); | 473 | pr_warn("failed to request gpio mmc0-slot-power: %d\n", ret); |
| 474 | mx28_add_mxs_mmc(0, &mx28evk_mmc_pdata[0]); | 474 | else |
| 475 | mx28_add_mxs_mmc(0, &mx28evk_mmc_pdata[0]); | ||
| 475 | 476 | ||
| 476 | ret = gpio_request_one(MX28EVK_MMC1_SLOT_POWER, GPIOF_OUT_INIT_LOW, | 477 | ret = gpio_request_one(MX28EVK_MMC1_SLOT_POWER, GPIOF_OUT_INIT_LOW, |
| 477 | "mmc1-slot-power"); | 478 | "mmc1-slot-power"); |
| @@ -480,7 +481,6 @@ static void __init mx28evk_init(void) | |||
| 480 | else | 481 | else |
| 481 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); | 482 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); |
| 482 | 483 | ||
| 483 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); | ||
| 484 | mx28_add_rtc_stmp3xxx(); | 484 | mx28_add_rtc_stmp3xxx(); |
| 485 | 485 | ||
| 486 | gpio_led_register_device(0, &mx28evk_led_data); | 486 | gpio_led_register_device(0, &mx28evk_led_data); |
diff --git a/arch/arm/mach-picoxcell/include/mach/debug-macro.S b/arch/arm/mach-picoxcell/include/mach/debug-macro.S index 8f2c234ed9d9..58d4ee3ae949 100644 --- a/arch/arm/mach-picoxcell/include/mach/debug-macro.S +++ b/arch/arm/mach-picoxcell/include/mach/debug-macro.S | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | 14 | ||
| 15 | #define UART_SHIFT 2 | 15 | #define UART_SHIFT 2 |
| 16 | 16 | ||
| 17 | .macro addruart, rp, rv | 17 | .macro addruart, rp, rv, tmp |
| 18 | ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE) | 18 | ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE) |
| 19 | ldr \rp, =PICOXCELL_UART1_BASE | 19 | ldr \rp, =PICOXCELL_UART1_BASE |
| 20 | .endm | 20 | .endm |
diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c index d368f8dafcfd..74743ad3d2d3 100644 --- a/arch/arm/mach-tegra/board-dt.c +++ b/arch/arm/mach-tegra/board-dt.c | |||
| @@ -101,6 +101,13 @@ static void __init tegra_dt_init(void) | |||
| 101 | 101 | ||
| 102 | tegra_clk_init_from_table(tegra_dt_clk_init_table); | 102 | tegra_clk_init_from_table(tegra_dt_clk_init_table); |
| 103 | 103 | ||
| 104 | /* | ||
| 105 | * Finished with the static registrations now; fill in the missing | ||
| 106 | * devices | ||
| 107 | */ | ||
| 108 | of_platform_populate(NULL, tegra_dt_match_table, | ||
| 109 | tegra20_auxdata_lookup, NULL); | ||
| 110 | |||
| 104 | for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { | 111 | for (i = 0; i < ARRAY_SIZE(pinmux_configs); i++) { |
| 105 | if (of_machine_is_compatible(pinmux_configs[i].machine)) { | 112 | if (of_machine_is_compatible(pinmux_configs[i].machine)) { |
| 106 | pinmux_configs[i].init(); | 113 | pinmux_configs[i].init(); |
| @@ -110,12 +117,6 @@ static void __init tegra_dt_init(void) | |||
| 110 | 117 | ||
| 111 | WARN(i == ARRAY_SIZE(pinmux_configs), | 118 | WARN(i == ARRAY_SIZE(pinmux_configs), |
| 112 | "Unknown platform! Pinmuxing not initialized\n"); | 119 | "Unknown platform! Pinmuxing not initialized\n"); |
| 113 | |||
| 114 | /* | ||
| 115 | * Finished with the static registrations now; fill in the missing | ||
| 116 | * devices | ||
| 117 | */ | ||
| 118 | of_platform_populate(NULL, tegra_dt_match_table, tegra20_auxdata_lookup, NULL); | ||
| 119 | } | 120 | } |
| 120 | 121 | ||
| 121 | static const char * tegra_dt_board_compat[] = { | 122 | static const char * tegra_dt_board_compat[] = { |
diff --git a/arch/arm/mach-tegra/board-harmony-pinmux.c b/arch/arm/mach-tegra/board-harmony-pinmux.c index e99b45618cd0..7a4a26d5174c 100644 --- a/arch/arm/mach-tegra/board-harmony-pinmux.c +++ b/arch/arm/mach-tegra/board-harmony-pinmux.c | |||
| @@ -16,6 +16,8 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
| 18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
| 19 | #include <linux/of.h> | ||
| 20 | |||
| 19 | #include <mach/pinmux.h> | 21 | #include <mach/pinmux.h> |
| 20 | 22 | ||
| 21 | #include "gpio-names.h" | 23 | #include "gpio-names.h" |
| @@ -161,7 +163,9 @@ static struct tegra_gpio_table gpio_table[] = { | |||
| 161 | 163 | ||
| 162 | void harmony_pinmux_init(void) | 164 | void harmony_pinmux_init(void) |
| 163 | { | 165 | { |
| 164 | platform_add_devices(pinmux_devices, ARRAY_SIZE(pinmux_devices)); | 166 | if (!of_machine_is_compatible("nvidia,tegra20")) |
| 167 | platform_add_devices(pinmux_devices, | ||
| 168 | ARRAY_SIZE(pinmux_devices)); | ||
| 165 | 169 | ||
| 166 | tegra_pinmux_config_table(harmony_pinmux, ARRAY_SIZE(harmony_pinmux)); | 170 | tegra_pinmux_config_table(harmony_pinmux, ARRAY_SIZE(harmony_pinmux)); |
| 167 | 171 | ||
diff --git a/arch/arm/mach-tegra/board-paz00-pinmux.c b/arch/arm/mach-tegra/board-paz00-pinmux.c index fb20894862b0..be30e215f4b7 100644 --- a/arch/arm/mach-tegra/board-paz00-pinmux.c +++ b/arch/arm/mach-tegra/board-paz00-pinmux.c | |||
| @@ -16,6 +16,8 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
| 18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
| 19 | #include <linux/of.h> | ||
| 20 | |||
| 19 | #include <mach/pinmux.h> | 21 | #include <mach/pinmux.h> |
| 20 | 22 | ||
| 21 | #include "gpio-names.h" | 23 | #include "gpio-names.h" |
| @@ -158,7 +160,9 @@ static struct tegra_gpio_table gpio_table[] = { | |||
| 158 | 160 | ||
| 159 | void paz00_pinmux_init(void) | 161 | void paz00_pinmux_init(void) |
| 160 | { | 162 | { |
| 161 | platform_add_devices(pinmux_devices, ARRAY_SIZE(pinmux_devices)); | 163 | if (!of_machine_is_compatible("nvidia,tegra20")) |
| 164 | platform_add_devices(pinmux_devices, | ||
| 165 | ARRAY_SIZE(pinmux_devices)); | ||
| 162 | 166 | ||
| 163 | tegra_pinmux_config_table(paz00_pinmux, ARRAY_SIZE(paz00_pinmux)); | 167 | tegra_pinmux_config_table(paz00_pinmux, ARRAY_SIZE(paz00_pinmux)); |
| 164 | 168 | ||
diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index fbce31daa3c9..b1c2972f62fe 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
| 18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
| 19 | #include <linux/of.h> | ||
| 19 | 20 | ||
| 20 | #include <mach/pinmux.h> | 21 | #include <mach/pinmux.h> |
| 21 | #include <mach/pinmux-t2.h> | 22 | #include <mach/pinmux-t2.h> |
| @@ -191,6 +192,7 @@ static struct tegra_gpio_table common_gpio_table[] = { | |||
| 191 | { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, | 192 | { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, |
| 192 | { .gpio = TEGRA_GPIO_LIDSWITCH, .enable = true }, | 193 | { .gpio = TEGRA_GPIO_LIDSWITCH, .enable = true }, |
| 193 | { .gpio = TEGRA_GPIO_POWERKEY, .enable = true }, | 194 | { .gpio = TEGRA_GPIO_POWERKEY, .enable = true }, |
| 195 | { .gpio = TEGRA_GPIO_HP_DET, .enable = true }, | ||
| 194 | { .gpio = TEGRA_GPIO_ISL29018_IRQ, .enable = true }, | 196 | { .gpio = TEGRA_GPIO_ISL29018_IRQ, .enable = true }, |
| 195 | { .gpio = TEGRA_GPIO_CDC_IRQ, .enable = true }, | 197 | { .gpio = TEGRA_GPIO_CDC_IRQ, .enable = true }, |
| 196 | { .gpio = TEGRA_GPIO_USB1, .enable = true }, | 198 | { .gpio = TEGRA_GPIO_USB1, .enable = true }, |
| @@ -218,7 +220,9 @@ static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size) | |||
| 218 | 220 | ||
| 219 | void __init seaboard_common_pinmux_init(void) | 221 | void __init seaboard_common_pinmux_init(void) |
| 220 | { | 222 | { |
| 221 | platform_add_devices(pinmux_devices, ARRAY_SIZE(pinmux_devices)); | 223 | if (!of_machine_is_compatible("nvidia,tegra20")) |
| 224 | platform_add_devices(pinmux_devices, | ||
| 225 | ARRAY_SIZE(pinmux_devices)); | ||
| 222 | 226 | ||
| 223 | tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux)); | 227 | tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux)); |
| 224 | 228 | ||
diff --git a/arch/arm/mach-tegra/board-trimslice-pinmux.c b/arch/arm/mach-tegra/board-trimslice-pinmux.c index 4969dd28a04c..7ab719d46da0 100644 --- a/arch/arm/mach-tegra/board-trimslice-pinmux.c +++ b/arch/arm/mach-tegra/board-trimslice-pinmux.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
| 17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
| 18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
| 19 | #include <linux/of.h> | ||
| 19 | 20 | ||
| 20 | #include <mach/pinmux.h> | 21 | #include <mach/pinmux.h> |
| 21 | 22 | ||
| @@ -157,7 +158,9 @@ static struct tegra_gpio_table gpio_table[] = { | |||
| 157 | 158 | ||
| 158 | void __init trimslice_pinmux_init(void) | 159 | void __init trimslice_pinmux_init(void) |
| 159 | { | 160 | { |
| 160 | platform_add_devices(pinmux_devices, ARRAY_SIZE(pinmux_devices)); | 161 | if (!of_machine_is_compatible("nvidia,tegra20")) |
| 162 | platform_add_devices(pinmux_devices, | ||
| 163 | ARRAY_SIZE(pinmux_devices)); | ||
| 161 | tegra_pinmux_config_table(trimslice_pinmux, ARRAY_SIZE(trimslice_pinmux)); | 164 | tegra_pinmux_config_table(trimslice_pinmux, ARRAY_SIZE(trimslice_pinmux)); |
| 162 | tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table)); | 165 | tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table)); |
| 163 | } | 166 | } |
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index a08a95107a63..b3a1f2b3ada3 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig | |||
| @@ -10,7 +10,7 @@ choice | |||
| 10 | 10 | ||
| 11 | config ARCH_IMX_V4_V5 | 11 | config ARCH_IMX_V4_V5 |
| 12 | bool "i.MX1, i.MX21, i.MX25, i.MX27" | 12 | bool "i.MX1, i.MX21, i.MX25, i.MX27" |
| 13 | select AUTO_ZRELADDR | 13 | select AUTO_ZRELADDR if !ZBOOT_ROM |
| 14 | select ARM_PATCH_PHYS_VIRT | 14 | select ARM_PATCH_PHYS_VIRT |
| 15 | help | 15 | help |
| 16 | This enables support for systems based on the Freescale i.MX ARMv4 | 16 | This enables support for systems based on the Freescale i.MX ARMv4 |
| @@ -26,7 +26,7 @@ config ARCH_IMX_V6_V7 | |||
| 26 | 26 | ||
| 27 | config ARCH_MX5 | 27 | config ARCH_MX5 |
| 28 | bool "i.MX50, i.MX51, i.MX53" | 28 | bool "i.MX50, i.MX51, i.MX53" |
| 29 | select AUTO_ZRELADDR | 29 | select AUTO_ZRELADDR if !ZBOOT_ROM |
| 30 | select ARM_PATCH_PHYS_VIRT | 30 | select ARM_PATCH_PHYS_VIRT |
| 31 | help | 31 | help |
| 32 | This enables support for machines using Freescale's i.MX50 and i.MX53 | 32 | This enables support for machines using Freescale's i.MX50 and i.MX53 |
diff --git a/arch/arm/plat-mxc/avic.c b/arch/arm/plat-mxc/avic.c index 8875fb415f68..55f15699a383 100644 --- a/arch/arm/plat-mxc/avic.c +++ b/arch/arm/plat-mxc/avic.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
| 23 | #include <mach/common.h> | 23 | #include <mach/common.h> |
| 24 | #include <asm/mach/irq.h> | 24 | #include <asm/mach/irq.h> |
| 25 | #include <asm/exception.h> | ||
| 25 | #include <mach/hardware.h> | 26 | #include <mach/hardware.h> |
| 26 | 27 | ||
| 27 | #include "irq-common.h" | 28 | #include "irq-common.h" |
diff --git a/arch/arm/plat-mxc/gic.c b/arch/arm/plat-mxc/gic.c index b3b8eed263b8..12f8f8109010 100644 --- a/arch/arm/plat-mxc/gic.c +++ b/arch/arm/plat-mxc/gic.c | |||
| @@ -28,21 +28,14 @@ asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) | |||
| 28 | if (irqnr == 1023) | 28 | if (irqnr == 1023) |
| 29 | break; | 29 | break; |
| 30 | 30 | ||
| 31 | if (irqnr > 29 && irqnr < 1021) | 31 | if (irqnr > 15 && irqnr < 1021) |
| 32 | handle_IRQ(irqnr, regs); | 32 | handle_IRQ(irqnr, regs); |
| 33 | #ifdef CONFIG_SMP | 33 | #ifdef CONFIG_SMP |
| 34 | else if (irqnr < 16) { | 34 | else { |
| 35 | writel_relaxed(irqstat, gic_cpu_base_addr + | 35 | writel_relaxed(irqstat, gic_cpu_base_addr + |
| 36 | GIC_CPU_EOI); | 36 | GIC_CPU_EOI); |
| 37 | handle_IPI(irqnr, regs); | 37 | handle_IPI(irqnr, regs); |
| 38 | } | 38 | } |
| 39 | #endif | 39 | #endif |
| 40 | #ifdef CONFIG_LOCAL_TIMERS | ||
| 41 | else if (irqnr == 29) { | ||
| 42 | writel_relaxed(irqstat, gic_cpu_base_addr + | ||
| 43 | GIC_CPU_EOI); | ||
| 44 | handle_local_timer(regs); | ||
| 45 | } | ||
| 46 | #endif | ||
| 47 | } while (1); | 40 | } while (1); |
| 48 | } | 41 | } |
diff --git a/arch/arm/plat-mxc/include/mach/entry-macro.S b/arch/arm/plat-mxc/include/mach/entry-macro.S index 9fe0dfcf4e7e..ca5cf26a04b1 100644 --- a/arch/arm/plat-mxc/include/mach/entry-macro.S +++ b/arch/arm/plat-mxc/include/mach/entry-macro.S | |||
| @@ -25,6 +25,3 @@ | |||
| 25 | 25 | ||
| 26 | .macro test_for_ipi, irqnr, irqstat, base, tmp | 26 | .macro test_for_ipi, irqnr, irqstat, base, tmp |
| 27 | .endm | 27 | .endm |
| 28 | |||
| 29 | .macro test_for_ltirq, irqnr, irqstat, base, tmp | ||
| 30 | .endm | ||
diff --git a/arch/arm/plat-mxc/tzic.c b/arch/arm/plat-mxc/tzic.c index e993a184189a..a3c164c7ba82 100644 --- a/arch/arm/plat-mxc/tzic.c +++ b/arch/arm/plat-mxc/tzic.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
| 18 | 18 | ||
| 19 | #include <asm/mach/irq.h> | 19 | #include <asm/mach/irq.h> |
| 20 | #include <asm/exception.h> | ||
| 20 | 21 | ||
| 21 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
| 22 | #include <mach/common.h> | 23 | #include <mach/common.h> |
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index ae57769ba50d..4b976f00ea85 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | /* VENDOR SPEC register */ | 32 | /* VENDOR SPEC register */ |
| 33 | #define SDHCI_VENDOR_SPEC 0xC0 | 33 | #define SDHCI_VENDOR_SPEC 0xC0 |
| 34 | #define SDHCI_VENDOR_SPEC_SDIO_QUIRK 0x00000002 | 34 | #define SDHCI_VENDOR_SPEC_SDIO_QUIRK 0x00000002 |
| 35 | #define SDHCI_WTMK_LVL 0x44 | ||
| 35 | #define SDHCI_MIX_CTRL 0x48 | 36 | #define SDHCI_MIX_CTRL 0x48 |
| 36 | 37 | ||
| 37 | /* | 38 | /* |
| @@ -476,6 +477,13 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev) | |||
| 476 | if (is_imx53_esdhc(imx_data)) | 477 | if (is_imx53_esdhc(imx_data)) |
| 477 | imx_data->flags |= ESDHC_FLAG_MULTIBLK_NO_INT; | 478 | imx_data->flags |= ESDHC_FLAG_MULTIBLK_NO_INT; |
| 478 | 479 | ||
| 480 | /* | ||
| 481 | * The imx6q ROM code will change the default watermark level setting | ||
| 482 | * to something insane. Change it back here. | ||
| 483 | */ | ||
| 484 | if (is_imx6q_usdhc(imx_data)) | ||
| 485 | writel(0x08100810, host->ioaddr + SDHCI_WTMK_LVL); | ||
| 486 | |||
| 479 | boarddata = &imx_data->boarddata; | 487 | boarddata = &imx_data->boarddata; |
| 480 | if (sdhci_esdhc_imx_probe_dt(pdev, boarddata) < 0) { | 488 | if (sdhci_esdhc_imx_probe_dt(pdev, boarddata) < 0) { |
| 481 | if (!host->mmc->parent->platform_data) { | 489 | if (!host->mmc->parent->platform_data) { |
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c index 79665e2e6ec5..16d6a839c7fa 100644 --- a/drivers/spi/spi-atmel.c +++ b/drivers/spi/spi-atmel.c | |||
| @@ -907,7 +907,7 @@ static void atmel_spi_cleanup(struct spi_device *spi) | |||
| 907 | 907 | ||
| 908 | /*-------------------------------------------------------------------------*/ | 908 | /*-------------------------------------------------------------------------*/ |
| 909 | 909 | ||
| 910 | static int __init atmel_spi_probe(struct platform_device *pdev) | 910 | static int __devinit atmel_spi_probe(struct platform_device *pdev) |
| 911 | { | 911 | { |
| 912 | struct resource *regs; | 912 | struct resource *regs; |
| 913 | int irq; | 913 | int irq; |
| @@ -1003,7 +1003,7 @@ out_free: | |||
| 1003 | return ret; | 1003 | return ret; |
| 1004 | } | 1004 | } |
| 1005 | 1005 | ||
| 1006 | static int __exit atmel_spi_remove(struct platform_device *pdev) | 1006 | static int __devexit atmel_spi_remove(struct platform_device *pdev) |
| 1007 | { | 1007 | { |
| 1008 | struct spi_master *master = platform_get_drvdata(pdev); | 1008 | struct spi_master *master = platform_get_drvdata(pdev); |
| 1009 | struct atmel_spi *as = spi_master_get_devdata(master); | 1009 | struct atmel_spi *as = spi_master_get_devdata(master); |
| @@ -1072,6 +1072,7 @@ static struct platform_driver atmel_spi_driver = { | |||
| 1072 | }, | 1072 | }, |
| 1073 | .suspend = atmel_spi_suspend, | 1073 | .suspend = atmel_spi_suspend, |
| 1074 | .resume = atmel_spi_resume, | 1074 | .resume = atmel_spi_resume, |
| 1075 | .probe = atmel_spi_probe, | ||
| 1075 | .remove = __exit_p(atmel_spi_remove), | 1076 | .remove = __exit_p(atmel_spi_remove), |
| 1076 | }; | 1077 | }; |
| 1077 | module_platform_driver(atmel_spi_driver); | 1078 | module_platform_driver(atmel_spi_driver); |
