diff options
Diffstat (limited to 'arch/arm')
31 files changed, 236 insertions, 77 deletions
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 5df26a9976a2..fc871e719aae 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile | |||
@@ -59,9 +59,11 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | |||
59 | 59 | ||
60 | endif | 60 | endif |
61 | 61 | ||
62 | targets += $(dtb-y) | ||
63 | |||
62 | # Rule to build device tree blobs | 64 | # Rule to build device tree blobs |
63 | $(obj)/%.dtb: $(src)/dts/%.dts | 65 | $(obj)/%.dtb: $(src)/dts/%.dts FORCE |
64 | $(call cmd,dtc) | 66 | $(call if_changed_dep,dtc) |
65 | 67 | ||
66 | $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) | 68 | $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) |
67 | 69 | ||
diff --git a/arch/arm/include/asm/hwcap.h b/arch/arm/include/asm/hwcap.h index c93a22a8b924..917626128a1d 100644 --- a/arch/arm/include/asm/hwcap.h +++ b/arch/arm/include/asm/hwcap.h | |||
@@ -25,7 +25,8 @@ | |||
25 | #define HWCAP_IDIVT (1 << 18) | 25 | #define HWCAP_IDIVT (1 << 18) |
26 | #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) | 26 | #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) |
27 | 27 | ||
28 | #if defined(__KERNEL__) && !defined(__ASSEMBLY__) | 28 | #if defined(__KERNEL__) |
29 | #if !defined(__ASSEMBLY__) | ||
29 | /* | 30 | /* |
30 | * This yields a mask that user programs can use to figure out what | 31 | * This yields a mask that user programs can use to figure out what |
31 | * instruction set this cpu supports. | 32 | * instruction set this cpu supports. |
@@ -33,5 +34,6 @@ | |||
33 | #define ELF_HWCAP (elf_hwcap) | 34 | #define ELF_HWCAP (elf_hwcap) |
34 | extern unsigned int elf_hwcap; | 35 | extern unsigned int elf_hwcap; |
35 | #endif | 36 | #endif |
37 | #endif | ||
36 | 38 | ||
37 | #endif | 39 | #endif |
diff --git a/arch/arm/include/asm/swab.h b/arch/arm/include/asm/swab.h index 32ee164a2f6b..b859d82e30ca 100644 --- a/arch/arm/include/asm/swab.h +++ b/arch/arm/include/asm/swab.h | |||
@@ -22,7 +22,8 @@ | |||
22 | # define __SWAB_64_THRU_32__ | 22 | # define __SWAB_64_THRU_32__ |
23 | #endif | 23 | #endif |
24 | 24 | ||
25 | #if defined(__KERNEL__) && __LINUX_ARM_ARCH__ >= 6 | 25 | #if defined(__KERNEL__) |
26 | #if __LINUX_ARM_ARCH__ >= 6 | ||
26 | 27 | ||
27 | static inline __attribute_const__ __u32 __arch_swahb32(__u32 x) | 28 | static inline __attribute_const__ __u32 __arch_swahb32(__u32 x) |
28 | { | 29 | { |
@@ -39,8 +40,10 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x) | |||
39 | } | 40 | } |
40 | #define __arch_swab32 __arch_swab32 | 41 | #define __arch_swab32 __arch_swab32 |
41 | 42 | ||
42 | #else | 43 | #endif |
44 | #endif | ||
43 | 45 | ||
46 | #if !defined(__KERNEL__) || __LINUX_ARM_ARCH__ < 6 | ||
44 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) | 47 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) |
45 | { | 48 | { |
46 | __u32 t; | 49 | __u32 t; |
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h index 4a1123783806..512cd1473454 100644 --- a/arch/arm/include/asm/unistd.h +++ b/arch/arm/include/asm/unistd.h | |||
@@ -427,7 +427,8 @@ | |||
427 | /* | 427 | /* |
428 | * The following syscalls are obsolete and no longer available for EABI. | 428 | * The following syscalls are obsolete and no longer available for EABI. |
429 | */ | 429 | */ |
430 | #if defined(__ARM_EABI__) && !defined(__KERNEL__) | 430 | #if !defined(__KERNEL__) |
431 | #if defined(__ARM_EABI__) | ||
431 | #undef __NR_time | 432 | #undef __NR_time |
432 | #undef __NR_umount | 433 | #undef __NR_umount |
433 | #undef __NR_stime | 434 | #undef __NR_stime |
@@ -441,6 +442,7 @@ | |||
441 | #undef __NR_syscall | 442 | #undef __NR_syscall |
442 | #undef __NR_ipc | 443 | #undef __NR_ipc |
443 | #endif | 444 | #endif |
445 | #endif | ||
444 | 446 | ||
445 | #ifdef __KERNEL__ | 447 | #ifdef __KERNEL__ |
446 | 448 | ||
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 2ceb75d21eb2..39fba9df17fb 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -602,20 +602,6 @@ static void __init omap_sfh7741prox_init(void) | |||
602 | __func__, OMAP4_SFH7741_ENABLE_GPIO, error); | 602 | __func__, OMAP4_SFH7741_ENABLE_GPIO, error); |
603 | } | 603 | } |
604 | 604 | ||
605 | static void sdp4430_hdmi_mux_init(void) | ||
606 | { | ||
607 | /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ | ||
608 | omap_mux_init_signal("hdmi_hpd", | ||
609 | OMAP_PIN_INPUT_PULLUP); | ||
610 | omap_mux_init_signal("hdmi_cec", | ||
611 | OMAP_PIN_INPUT_PULLUP); | ||
612 | /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ | ||
613 | omap_mux_init_signal("hdmi_ddc_scl", | ||
614 | OMAP_PIN_INPUT_PULLUP); | ||
615 | omap_mux_init_signal("hdmi_ddc_sda", | ||
616 | OMAP_PIN_INPUT_PULLUP); | ||
617 | } | ||
618 | |||
619 | static struct gpio sdp4430_hdmi_gpios[] = { | 605 | static struct gpio sdp4430_hdmi_gpios[] = { |
620 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, | 606 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, |
621 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, | 607 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, |
@@ -833,9 +819,16 @@ static void omap_4430sdp_display_init(void) | |||
833 | pr_err("%s: Could not get display_sel GPIO\n", __func__); | 819 | pr_err("%s: Could not get display_sel GPIO\n", __func__); |
834 | 820 | ||
835 | sdp4430_lcd_init(); | 821 | sdp4430_lcd_init(); |
836 | sdp4430_hdmi_mux_init(); | ||
837 | sdp4430_picodlp_init(); | 822 | sdp4430_picodlp_init(); |
838 | omap_display_init(&sdp4430_dss_data); | 823 | omap_display_init(&sdp4430_dss_data); |
824 | /* | ||
825 | * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and | ||
826 | * later have external pull up on the HDMI I2C lines | ||
827 | */ | ||
828 | if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2) | ||
829 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); | ||
830 | else | ||
831 | omap_hdmi_init(0); | ||
839 | } | 832 | } |
840 | 833 | ||
841 | #ifdef CONFIG_OMAP_MUX | 834 | #ifdef CONFIG_OMAP_MUX |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index e96a2e7ad36f..30ad40db2cf3 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -412,21 +412,6 @@ int __init omap4_panda_dvi_init(void) | |||
412 | return r; | 412 | return r; |
413 | } | 413 | } |
414 | 414 | ||
415 | |||
416 | static void omap4_panda_hdmi_mux_init(void) | ||
417 | { | ||
418 | /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ | ||
419 | omap_mux_init_signal("hdmi_hpd", | ||
420 | OMAP_PIN_INPUT_PULLUP); | ||
421 | omap_mux_init_signal("hdmi_cec", | ||
422 | OMAP_PIN_INPUT_PULLUP); | ||
423 | /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ | ||
424 | omap_mux_init_signal("hdmi_ddc_scl", | ||
425 | OMAP_PIN_INPUT_PULLUP); | ||
426 | omap_mux_init_signal("hdmi_ddc_sda", | ||
427 | OMAP_PIN_INPUT_PULLUP); | ||
428 | } | ||
429 | |||
430 | static struct gpio panda_hdmi_gpios[] = { | 415 | static struct gpio panda_hdmi_gpios[] = { |
431 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, | 416 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, |
432 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, | 417 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, |
@@ -478,8 +463,16 @@ void omap4_panda_display_init(void) | |||
478 | if (r) | 463 | if (r) |
479 | pr_err("error initializing panda DVI\n"); | 464 | pr_err("error initializing panda DVI\n"); |
480 | 465 | ||
481 | omap4_panda_hdmi_mux_init(); | ||
482 | omap_display_init(&omap4_panda_dss_data); | 466 | omap_display_init(&omap4_panda_dss_data); |
467 | |||
468 | /* | ||
469 | * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and | ||
470 | * later have external pull up on the HDMI I2C lines | ||
471 | */ | ||
472 | if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2) | ||
473 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); | ||
474 | else | ||
475 | omap_hdmi_init(0); | ||
483 | } | 476 | } |
484 | 477 | ||
485 | static void __init omap4_panda_init(void) | 478 | static void __init omap4_panda_init(void) |
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index bc6cf863a563..3c446d1a1781 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <plat/omap-pm.h> | 30 | #include <plat/omap-pm.h> |
31 | #include "common.h" | 31 | #include "common.h" |
32 | 32 | ||
33 | #include "mux.h" | ||
33 | #include "control.h" | 34 | #include "control.h" |
34 | #include "display.h" | 35 | #include "display.h" |
35 | 36 | ||
@@ -97,6 +98,36 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initdata = { | |||
97 | { "dss_hdmi", "omapdss_hdmi", -1 }, | 98 | { "dss_hdmi", "omapdss_hdmi", -1 }, |
98 | }; | 99 | }; |
99 | 100 | ||
101 | static void omap4_hdmi_mux_pads(enum omap_hdmi_flags flags) | ||
102 | { | ||
103 | u32 reg; | ||
104 | u16 control_i2c_1; | ||
105 | |||
106 | /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ | ||
107 | omap_mux_init_signal("hdmi_hpd", | ||
108 | OMAP_PIN_INPUT_PULLUP); | ||
109 | omap_mux_init_signal("hdmi_cec", | ||
110 | OMAP_PIN_INPUT_PULLUP); | ||
111 | /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ | ||
112 | omap_mux_init_signal("hdmi_ddc_scl", | ||
113 | OMAP_PIN_INPUT_PULLUP); | ||
114 | omap_mux_init_signal("hdmi_ddc_sda", | ||
115 | OMAP_PIN_INPUT_PULLUP); | ||
116 | |||
117 | /* | ||
118 | * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and | ||
119 | * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable | ||
120 | * internal pull up resistor. | ||
121 | */ | ||
122 | if (flags & OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP) { | ||
123 | control_i2c_1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_I2C_1; | ||
124 | reg = omap4_ctrl_pad_readl(control_i2c_1); | ||
125 | reg |= (OMAP4_HDMI_DDC_SDA_PULLUPRESX_MASK | | ||
126 | OMAP4_HDMI_DDC_SCL_PULLUPRESX_MASK); | ||
127 | omap4_ctrl_pad_writel(reg, control_i2c_1); | ||
128 | } | ||
129 | } | ||
130 | |||
100 | static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) | 131 | static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) |
101 | { | 132 | { |
102 | u32 enable_mask, enable_shift; | 133 | u32 enable_mask, enable_shift; |
@@ -130,6 +161,14 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) | |||
130 | return 0; | 161 | return 0; |
131 | } | 162 | } |
132 | 163 | ||
164 | int omap_hdmi_init(enum omap_hdmi_flags flags) | ||
165 | { | ||
166 | if (cpu_is_omap44xx()) | ||
167 | omap4_hdmi_mux_pads(flags); | ||
168 | |||
169 | return 0; | ||
170 | } | ||
171 | |||
133 | static int omap_dsi_enable_pads(int dsi_id, unsigned lane_mask) | 172 | static int omap_dsi_enable_pads(int dsi_id, unsigned lane_mask) |
134 | { | 173 | { |
135 | if (cpu_is_omap44xx()) | 174 | if (cpu_is_omap44xx()) |
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index 0069561464f9..e62962117763 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c | |||
@@ -117,17 +117,14 @@ static void __init realview_eb_map_io(void) | |||
117 | 117 | ||
118 | static struct pl061_platform_data gpio0_plat_data = { | 118 | static struct pl061_platform_data gpio0_plat_data = { |
119 | .gpio_base = 0, | 119 | .gpio_base = 0, |
120 | .irq_base = -1, | ||
121 | }; | 120 | }; |
122 | 121 | ||
123 | static struct pl061_platform_data gpio1_plat_data = { | 122 | static struct pl061_platform_data gpio1_plat_data = { |
124 | .gpio_base = 8, | 123 | .gpio_base = 8, |
125 | .irq_base = -1, | ||
126 | }; | 124 | }; |
127 | 125 | ||
128 | static struct pl061_platform_data gpio2_plat_data = { | 126 | static struct pl061_platform_data gpio2_plat_data = { |
129 | .gpio_base = 16, | 127 | .gpio_base = 16, |
130 | .irq_base = -1, | ||
131 | }; | 128 | }; |
132 | 129 | ||
133 | static struct pl022_ssp_controller ssp0_plat_data = { | 130 | static struct pl022_ssp_controller ssp0_plat_data = { |
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c index 8fe395568a47..e4abe94fb11a 100644 --- a/arch/arm/mach-realview/realview_pb1176.c +++ b/arch/arm/mach-realview/realview_pb1176.c | |||
@@ -113,17 +113,14 @@ static void __init realview_pb1176_map_io(void) | |||
113 | 113 | ||
114 | static struct pl061_platform_data gpio0_plat_data = { | 114 | static struct pl061_platform_data gpio0_plat_data = { |
115 | .gpio_base = 0, | 115 | .gpio_base = 0, |
116 | .irq_base = -1, | ||
117 | }; | 116 | }; |
118 | 117 | ||
119 | static struct pl061_platform_data gpio1_plat_data = { | 118 | static struct pl061_platform_data gpio1_plat_data = { |
120 | .gpio_base = 8, | 119 | .gpio_base = 8, |
121 | .irq_base = -1, | ||
122 | }; | 120 | }; |
123 | 121 | ||
124 | static struct pl061_platform_data gpio2_plat_data = { | 122 | static struct pl061_platform_data gpio2_plat_data = { |
125 | .gpio_base = 16, | 123 | .gpio_base = 16, |
126 | .irq_base = -1, | ||
127 | }; | 124 | }; |
128 | 125 | ||
129 | static struct pl022_ssp_controller ssp0_plat_data = { | 126 | static struct pl022_ssp_controller ssp0_plat_data = { |
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 34a26011bb89..127a3fd42ab1 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
@@ -112,17 +112,14 @@ static void __init realview_pb11mp_map_io(void) | |||
112 | 112 | ||
113 | static struct pl061_platform_data gpio0_plat_data = { | 113 | static struct pl061_platform_data gpio0_plat_data = { |
114 | .gpio_base = 0, | 114 | .gpio_base = 0, |
115 | .irq_base = -1, | ||
116 | }; | 115 | }; |
117 | 116 | ||
118 | static struct pl061_platform_data gpio1_plat_data = { | 117 | static struct pl061_platform_data gpio1_plat_data = { |
119 | .gpio_base = 8, | 118 | .gpio_base = 8, |
120 | .irq_base = -1, | ||
121 | }; | 119 | }; |
122 | 120 | ||
123 | static struct pl061_platform_data gpio2_plat_data = { | 121 | static struct pl061_platform_data gpio2_plat_data = { |
124 | .gpio_base = 16, | 122 | .gpio_base = 16, |
125 | .irq_base = -1, | ||
126 | }; | 123 | }; |
127 | 124 | ||
128 | static struct pl022_ssp_controller ssp0_plat_data = { | 125 | static struct pl022_ssp_controller ssp0_plat_data = { |
diff --git a/arch/arm/mach-realview/realview_pba8.c b/arch/arm/mach-realview/realview_pba8.c index d26a6def1d65..25b2e59296f8 100644 --- a/arch/arm/mach-realview/realview_pba8.c +++ b/arch/arm/mach-realview/realview_pba8.c | |||
@@ -102,17 +102,14 @@ static void __init realview_pba8_map_io(void) | |||
102 | 102 | ||
103 | static struct pl061_platform_data gpio0_plat_data = { | 103 | static struct pl061_platform_data gpio0_plat_data = { |
104 | .gpio_base = 0, | 104 | .gpio_base = 0, |
105 | .irq_base = -1, | ||
106 | }; | 105 | }; |
107 | 106 | ||
108 | static struct pl061_platform_data gpio1_plat_data = { | 107 | static struct pl061_platform_data gpio1_plat_data = { |
109 | .gpio_base = 8, | 108 | .gpio_base = 8, |
110 | .irq_base = -1, | ||
111 | }; | 109 | }; |
112 | 110 | ||
113 | static struct pl061_platform_data gpio2_plat_data = { | 111 | static struct pl061_platform_data gpio2_plat_data = { |
114 | .gpio_base = 16, | 112 | .gpio_base = 16, |
115 | .irq_base = -1, | ||
116 | }; | 113 | }; |
117 | 114 | ||
118 | static struct pl022_ssp_controller ssp0_plat_data = { | 115 | static struct pl022_ssp_controller ssp0_plat_data = { |
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c index a250fb4124bf..ac715645b860 100644 --- a/arch/arm/mach-realview/realview_pbx.c +++ b/arch/arm/mach-realview/realview_pbx.c | |||
@@ -124,17 +124,14 @@ static void __init realview_pbx_map_io(void) | |||
124 | 124 | ||
125 | static struct pl061_platform_data gpio0_plat_data = { | 125 | static struct pl061_platform_data gpio0_plat_data = { |
126 | .gpio_base = 0, | 126 | .gpio_base = 0, |
127 | .irq_base = -1, | ||
128 | }; | 127 | }; |
129 | 128 | ||
130 | static struct pl061_platform_data gpio1_plat_data = { | 129 | static struct pl061_platform_data gpio1_plat_data = { |
131 | .gpio_base = 8, | 130 | .gpio_base = 8, |
132 | .irq_base = -1, | ||
133 | }; | 131 | }; |
134 | 132 | ||
135 | static struct pl061_platform_data gpio2_plat_data = { | 133 | static struct pl061_platform_data gpio2_plat_data = { |
136 | .gpio_base = 16, | 134 | .gpio_base = 16, |
137 | .irq_base = -1, | ||
138 | }; | 135 | }; |
139 | 136 | ||
140 | static struct pl022_ssp_controller ssp0_plat_data = { | 137 | static struct pl022_ssp_controller ssp0_plat_data = { |
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c index 6b93e200bcac..5bc6b3837b20 100644 --- a/arch/arm/mach-sa1100/assabet.c +++ b/arch/arm/mach-sa1100/assabet.c | |||
@@ -202,6 +202,7 @@ static struct irda_platform_data assabet_irda_data = { | |||
202 | static struct mcp_plat_data assabet_mcp_data = { | 202 | static struct mcp_plat_data assabet_mcp_data = { |
203 | .mccr0 = MCCR0_ADM, | 203 | .mccr0 = MCCR0_ADM, |
204 | .sclk_rate = 11981000, | 204 | .sclk_rate = 11981000, |
205 | .codec = "ucb1x00", | ||
205 | }; | 206 | }; |
206 | 207 | ||
207 | static void __init assabet_init(void) | 208 | static void __init assabet_init(void) |
@@ -252,6 +253,17 @@ static void __init assabet_init(void) | |||
252 | sa11x0_register_mtd(&assabet_flash_data, assabet_flash_resources, | 253 | sa11x0_register_mtd(&assabet_flash_data, assabet_flash_resources, |
253 | ARRAY_SIZE(assabet_flash_resources)); | 254 | ARRAY_SIZE(assabet_flash_resources)); |
254 | sa11x0_register_irda(&assabet_irda_data); | 255 | sa11x0_register_irda(&assabet_irda_data); |
256 | |||
257 | /* | ||
258 | * Setup the PPC unit correctly. | ||
259 | */ | ||
260 | PPDR &= ~PPC_RXD4; | ||
261 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
262 | PSDR |= PPC_RXD4; | ||
263 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
264 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
265 | |||
266 | ASSABET_BCR_set(ASSABET_BCR_CODEC_RST); | ||
255 | sa11x0_register_mcp(&assabet_mcp_data); | 267 | sa11x0_register_mcp(&assabet_mcp_data); |
256 | } | 268 | } |
257 | 269 | ||
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index 11bb6d0b9be3..d12d0f48b1dc 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -124,12 +124,23 @@ static void __init cerf_map_io(void) | |||
124 | static struct mcp_plat_data cerf_mcp_data = { | 124 | static struct mcp_plat_data cerf_mcp_data = { |
125 | .mccr0 = MCCR0_ADM, | 125 | .mccr0 = MCCR0_ADM, |
126 | .sclk_rate = 11981000, | 126 | .sclk_rate = 11981000, |
127 | .codec = "ucb1x00", | ||
127 | }; | 128 | }; |
128 | 129 | ||
129 | static void __init cerf_init(void) | 130 | static void __init cerf_init(void) |
130 | { | 131 | { |
131 | platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices)); | 132 | platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices)); |
132 | sa11x0_register_mtd(&cerf_flash_data, &cerf_flash_resource, 1); | 133 | sa11x0_register_mtd(&cerf_flash_data, &cerf_flash_resource, 1); |
134 | |||
135 | /* | ||
136 | * Setup the PPC unit correctly. | ||
137 | */ | ||
138 | PPDR &= ~PPC_RXD4; | ||
139 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
140 | PSDR |= PPC_RXD4; | ||
141 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
142 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
143 | |||
133 | sa11x0_register_mcp(&cerf_mcp_data); | 144 | sa11x0_register_mcp(&cerf_mcp_data); |
134 | } | 145 | } |
135 | 146 | ||
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index b9060e236def..c483912d08af 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/timer.h> | 27 | #include <linux/timer.h> |
28 | #include <linux/gpio.h> | 28 | #include <linux/gpio.h> |
29 | #include <linux/pda_power.h> | 29 | #include <linux/pda_power.h> |
30 | #include <linux/mfd/ucb1x00.h> | ||
30 | 31 | ||
31 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
32 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
@@ -85,10 +86,15 @@ static struct scoop_pcmcia_config collie_pcmcia_config = { | |||
85 | .num_devs = 1, | 86 | .num_devs = 1, |
86 | }; | 87 | }; |
87 | 88 | ||
89 | static struct ucb1x00_plat_data collie_ucb1x00_data = { | ||
90 | .gpio_base = COLLIE_TC35143_GPIO_BASE, | ||
91 | }; | ||
92 | |||
88 | static struct mcp_plat_data collie_mcp_data = { | 93 | static struct mcp_plat_data collie_mcp_data = { |
89 | .mccr0 = MCCR0_ADM | MCCR0_ExtClk, | 94 | .mccr0 = MCCR0_ADM | MCCR0_ExtClk, |
90 | .sclk_rate = 9216000, | 95 | .sclk_rate = 9216000, |
91 | .gpio_base = COLLIE_TC35143_GPIO_BASE, | 96 | .codec = "ucb1x00", |
97 | .codec_pdata = &collie_ucb1x00_data, | ||
92 | }; | 98 | }; |
93 | 99 | ||
94 | /* | 100 | /* |
@@ -351,6 +357,16 @@ static void __init collie_init(void) | |||
351 | 357 | ||
352 | sa11x0_register_mtd(&collie_flash_data, collie_flash_resources, | 358 | sa11x0_register_mtd(&collie_flash_data, collie_flash_resources, |
353 | ARRAY_SIZE(collie_flash_resources)); | 359 | ARRAY_SIZE(collie_flash_resources)); |
360 | |||
361 | /* | ||
362 | * Setup the PPC unit correctly. | ||
363 | */ | ||
364 | PPDR &= ~PPC_RXD4; | ||
365 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
366 | PSDR |= PPC_RXD4; | ||
367 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
368 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
369 | |||
354 | sa11x0_register_mcp(&collie_mcp_data); | 370 | sa11x0_register_mcp(&collie_mcp_data); |
355 | 371 | ||
356 | sharpsl_save_param(); | 372 | sharpsl_save_param(); |
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c index 480d2ea46b00..e3a28ca2a7b7 100644 --- a/arch/arm/mach-sa1100/generic.c +++ b/arch/arm/mach-sa1100/generic.c | |||
@@ -217,10 +217,15 @@ static struct platform_device sa11x0uart3_device = { | |||
217 | static struct resource sa11x0mcp_resources[] = { | 217 | static struct resource sa11x0mcp_resources[] = { |
218 | [0] = { | 218 | [0] = { |
219 | .start = __PREG(Ser4MCCR0), | 219 | .start = __PREG(Ser4MCCR0), |
220 | .end = __PREG(Ser4MCCR0) + 0xffff, | 220 | .end = __PREG(Ser4MCCR0) + 0x1C - 1, |
221 | .flags = IORESOURCE_MEM, | 221 | .flags = IORESOURCE_MEM, |
222 | }, | 222 | }, |
223 | [1] = { | 223 | [1] = { |
224 | .start = __PREG(Ser4MCCR1), | ||
225 | .end = __PREG(Ser4MCCR1) + 0x4 - 1, | ||
226 | .flags = IORESOURCE_MEM, | ||
227 | }, | ||
228 | [2] = { | ||
224 | .start = IRQ_Ser4MCP, | 229 | .start = IRQ_Ser4MCP, |
225 | .end = IRQ_Ser4MCP, | 230 | .end = IRQ_Ser4MCP, |
226 | .flags = IORESOURCE_IRQ, | 231 | .flags = IORESOURCE_IRQ, |
diff --git a/arch/arm/mach-sa1100/include/mach/gpio.h b/arch/arm/mach-sa1100/include/mach/gpio.h index 703631887c94..a38fc4f54241 100644 --- a/arch/arm/mach-sa1100/include/mach/gpio.h +++ b/arch/arm/mach-sa1100/include/mach/gpio.h | |||
@@ -51,7 +51,4 @@ static inline void gpio_set_value(unsigned gpio, int value) | |||
51 | 51 | ||
52 | #define gpio_cansleep __gpio_cansleep | 52 | #define gpio_cansleep __gpio_cansleep |
53 | 53 | ||
54 | #define gpio_to_irq(gpio) ((gpio < 11) ? (IRQ_GPIO0 + gpio) : \ | ||
55 | (IRQ_GPIO11 - 11 + gpio)) | ||
56 | |||
57 | #endif | 54 | #endif |
diff --git a/arch/arm/mach-sa1100/include/mach/mcp.h b/arch/arm/mach-sa1100/include/mach/mcp.h index ed1a331508a7..586cec898b35 100644 --- a/arch/arm/mach-sa1100/include/mach/mcp.h +++ b/arch/arm/mach-sa1100/include/mach/mcp.h | |||
@@ -17,6 +17,8 @@ struct mcp_plat_data { | |||
17 | u32 mccr1; | 17 | u32 mccr1; |
18 | unsigned int sclk_rate; | 18 | unsigned int sclk_rate; |
19 | int gpio_base; | 19 | int gpio_base; |
20 | const char *codec; | ||
21 | void *codec_pdata; | ||
20 | }; | 22 | }; |
21 | 23 | ||
22 | #endif | 24 | #endif |
diff --git a/arch/arm/mach-sa1100/lart.c b/arch/arm/mach-sa1100/lart.c index af4e2761f3db..d117ceab6215 100644 --- a/arch/arm/mach-sa1100/lart.c +++ b/arch/arm/mach-sa1100/lart.c | |||
@@ -24,10 +24,20 @@ | |||
24 | static struct mcp_plat_data lart_mcp_data = { | 24 | static struct mcp_plat_data lart_mcp_data = { |
25 | .mccr0 = MCCR0_ADM, | 25 | .mccr0 = MCCR0_ADM, |
26 | .sclk_rate = 11981000, | 26 | .sclk_rate = 11981000, |
27 | .codec = "ucb1x00", | ||
27 | }; | 28 | }; |
28 | 29 | ||
29 | static void __init lart_init(void) | 30 | static void __init lart_init(void) |
30 | { | 31 | { |
32 | /* | ||
33 | * Setup the PPC unit correctly. | ||
34 | */ | ||
35 | PPDR &= ~PPC_RXD4; | ||
36 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
37 | PSDR |= PPC_RXD4; | ||
38 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
39 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
40 | |||
31 | sa11x0_register_mcp(&lart_mcp_data); | 41 | sa11x0_register_mcp(&lart_mcp_data); |
32 | } | 42 | } |
33 | 43 | ||
diff --git a/arch/arm/mach-sa1100/shannon.c b/arch/arm/mach-sa1100/shannon.c index 318b2b766a0b..748d34435b3f 100644 --- a/arch/arm/mach-sa1100/shannon.c +++ b/arch/arm/mach-sa1100/shannon.c | |||
@@ -55,11 +55,22 @@ static struct resource shannon_flash_resource = { | |||
55 | static struct mcp_plat_data shannon_mcp_data = { | 55 | static struct mcp_plat_data shannon_mcp_data = { |
56 | .mccr0 = MCCR0_ADM, | 56 | .mccr0 = MCCR0_ADM, |
57 | .sclk_rate = 11981000, | 57 | .sclk_rate = 11981000, |
58 | .codec = "ucb1x00", | ||
58 | }; | 59 | }; |
59 | 60 | ||
60 | static void __init shannon_init(void) | 61 | static void __init shannon_init(void) |
61 | { | 62 | { |
62 | sa11x0_register_mtd(&shannon_flash_data, &shannon_flash_resource, 1); | 63 | sa11x0_register_mtd(&shannon_flash_data, &shannon_flash_resource, 1); |
64 | |||
65 | /* | ||
66 | * Setup the PPC unit correctly. | ||
67 | */ | ||
68 | PPDR &= ~PPC_RXD4; | ||
69 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
70 | PSDR |= PPC_RXD4; | ||
71 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
72 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
73 | |||
63 | sa11x0_register_mcp(&shannon_mcp_data); | 74 | sa11x0_register_mcp(&shannon_mcp_data); |
64 | } | 75 | } |
65 | 76 | ||
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c index e17c04d6e324..458ececefa58 100644 --- a/arch/arm/mach-sa1100/simpad.c +++ b/arch/arm/mach-sa1100/simpad.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/mtd/partitions.h> | 14 | #include <linux/mtd/partitions.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <linux/mfd/ucb1x00.h> | ||
17 | 18 | ||
18 | #include <asm/irq.h> | 19 | #include <asm/irq.h> |
19 | #include <mach/hardware.h> | 20 | #include <mach/hardware.h> |
@@ -187,10 +188,15 @@ static struct resource simpad_flash_resources [] = { | |||
187 | } | 188 | } |
188 | }; | 189 | }; |
189 | 190 | ||
191 | static struct ucb1x00_plat_data simpad_ucb1x00_data = { | ||
192 | .gpio_base = SIMPAD_UCB1X00_GPIO_BASE, | ||
193 | }; | ||
194 | |||
190 | static struct mcp_plat_data simpad_mcp_data = { | 195 | static struct mcp_plat_data simpad_mcp_data = { |
191 | .mccr0 = MCCR0_ADM, | 196 | .mccr0 = MCCR0_ADM, |
192 | .sclk_rate = 11981000, | 197 | .sclk_rate = 11981000, |
193 | .gpio_base = SIMPAD_UCB1X00_GPIO_BASE, | 198 | .codec = "ucb1300", |
199 | .codec_pdata = &simpad_ucb1x00_data, | ||
194 | }; | 200 | }; |
195 | 201 | ||
196 | 202 | ||
@@ -378,6 +384,16 @@ static int __init simpad_init(void) | |||
378 | 384 | ||
379 | sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources, | 385 | sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources, |
380 | ARRAY_SIZE(simpad_flash_resources)); | 386 | ARRAY_SIZE(simpad_flash_resources)); |
387 | |||
388 | /* | ||
389 | * Setup the PPC unit correctly. | ||
390 | */ | ||
391 | PPDR &= ~PPC_RXD4; | ||
392 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
393 | PSDR |= PPC_RXD4; | ||
394 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
395 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
396 | |||
381 | sa11x0_register_mcp(&simpad_mcp_data); | 397 | sa11x0_register_mcp(&simpad_mcp_data); |
382 | 398 | ||
383 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); | 399 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index a4e6ca04e319..eff8a96c75ee 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -271,7 +271,7 @@ static struct sh_mobile_lcdc_info lcdc0_info = { | |||
271 | .flags = LCDC_FLAGS_DWPOL, | 271 | .flags = LCDC_FLAGS_DWPOL, |
272 | .lcd_size_cfg.width = 44, | 272 | .lcd_size_cfg.width = 44, |
273 | .lcd_size_cfg.height = 79, | 273 | .lcd_size_cfg.height = 79, |
274 | .bpp = 16, | 274 | .fourcc = V4L2_PIX_FMT_RGB565, |
275 | .lcd_cfg = lcdc0_modes, | 275 | .lcd_cfg = lcdc0_modes, |
276 | .num_cfg = ARRAY_SIZE(lcdc0_modes), | 276 | .num_cfg = ARRAY_SIZE(lcdc0_modes), |
277 | .board_cfg = { | 277 | .board_cfg = { |
@@ -321,12 +321,46 @@ static struct resource mipidsi0_resources[] = { | |||
321 | }, | 321 | }, |
322 | }; | 322 | }; |
323 | 323 | ||
324 | #define DSI0PHYCR 0xe615006c | ||
325 | static int sh_mipi_set_dot_clock(struct platform_device *pdev, | ||
326 | void __iomem *base, | ||
327 | int enable) | ||
328 | { | ||
329 | struct clk *pck; | ||
330 | int ret; | ||
331 | |||
332 | pck = clk_get(&pdev->dev, "dsip_clk"); | ||
333 | if (IS_ERR(pck)) { | ||
334 | ret = PTR_ERR(pck); | ||
335 | goto sh_mipi_set_dot_clock_pck_err; | ||
336 | } | ||
337 | |||
338 | if (enable) { | ||
339 | clk_set_rate(pck, clk_round_rate(pck, 24000000)); | ||
340 | __raw_writel(0x2a809010, DSI0PHYCR); | ||
341 | clk_enable(pck); | ||
342 | } else { | ||
343 | clk_disable(pck); | ||
344 | } | ||
345 | |||
346 | ret = 0; | ||
347 | |||
348 | clk_put(pck); | ||
349 | |||
350 | sh_mipi_set_dot_clock_pck_err: | ||
351 | return ret; | ||
352 | } | ||
353 | |||
324 | static struct sh_mipi_dsi_info mipidsi0_info = { | 354 | static struct sh_mipi_dsi_info mipidsi0_info = { |
325 | .data_format = MIPI_RGB888, | 355 | .data_format = MIPI_RGB888, |
326 | .lcd_chan = &lcdc0_info.ch[0], | 356 | .lcd_chan = &lcdc0_info.ch[0], |
357 | .lane = 2, | ||
327 | .vsynw_offset = 20, | 358 | .vsynw_offset = 20, |
328 | .clksrc = 1, | 359 | .clksrc = 1, |
329 | .flags = SH_MIPI_DSI_HSABM, | 360 | .flags = SH_MIPI_DSI_HSABM | |
361 | SH_MIPI_DSI_SYNC_PULSES_MODE | | ||
362 | SH_MIPI_DSI_HSbyteCLK, | ||
363 | .set_dot_clock = sh_mipi_set_dot_clock, | ||
330 | }; | 364 | }; |
331 | 365 | ||
332 | static struct platform_device mipidsi0_device = { | 366 | static struct platform_device mipidsi0_device = { |
@@ -472,8 +506,6 @@ static void __init ag5evm_map_io(void) | |||
472 | shmobile_setup_console(); | 506 | shmobile_setup_console(); |
473 | } | 507 | } |
474 | 508 | ||
475 | #define DSI0PHYCR 0xe615006c | ||
476 | |||
477 | static void __init ag5evm_init(void) | 509 | static void __init ag5evm_init(void) |
478 | { | 510 | { |
479 | sh73a0_pinmux_init(); | 511 | sh73a0_pinmux_init(); |
@@ -554,9 +586,6 @@ static void __init ag5evm_init(void) | |||
554 | gpio_direction_output(GPIO_PORT235, 0); | 586 | gpio_direction_output(GPIO_PORT235, 0); |
555 | lcd_backlight_reset(); | 587 | lcd_backlight_reset(); |
556 | 588 | ||
557 | /* MIPI-DSI clock setup */ | ||
558 | __raw_writel(0x2a809010, DSI0PHYCR); | ||
559 | |||
560 | /* enable SDHI0 on CN15 [SD I/F] */ | 589 | /* enable SDHI0 on CN15 [SD I/F] */ |
561 | gpio_request(GPIO_FN_SDHICD0, NULL); | 590 | gpio_request(GPIO_FN_SDHICD0, NULL); |
562 | gpio_request(GPIO_FN_SDHIWP0, NULL); | 591 | gpio_request(GPIO_FN_SDHIWP0, NULL); |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index d2e7b73aa9b6..aab0a349f759 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -491,7 +491,7 @@ static struct sh_mobile_lcdc_info lcdc_info = { | |||
491 | .meram_dev = &meram_info, | 491 | .meram_dev = &meram_info, |
492 | .ch[0] = { | 492 | .ch[0] = { |
493 | .chan = LCDC_CHAN_MAINLCD, | 493 | .chan = LCDC_CHAN_MAINLCD, |
494 | .bpp = 16, | 494 | .fourcc = V4L2_PIX_FMT_RGB565, |
495 | .lcd_cfg = ap4evb_lcdc_modes, | 495 | .lcd_cfg = ap4evb_lcdc_modes, |
496 | .num_cfg = ARRAY_SIZE(ap4evb_lcdc_modes), | 496 | .num_cfg = ARRAY_SIZE(ap4evb_lcdc_modes), |
497 | .meram_cfg = &lcd_meram_cfg, | 497 | .meram_cfg = &lcd_meram_cfg, |
@@ -564,6 +564,30 @@ static struct platform_device keysc_device = { | |||
564 | }; | 564 | }; |
565 | 565 | ||
566 | /* MIPI-DSI */ | 566 | /* MIPI-DSI */ |
567 | #define PHYCTRL 0x0070 | ||
568 | static int sh_mipi_set_dot_clock(struct platform_device *pdev, | ||
569 | void __iomem *base, | ||
570 | int enable) | ||
571 | { | ||
572 | struct clk *pck = clk_get(&pdev->dev, "dsip_clk"); | ||
573 | void __iomem *phy = base + PHYCTRL; | ||
574 | |||
575 | if (IS_ERR(pck)) | ||
576 | return PTR_ERR(pck); | ||
577 | |||
578 | if (enable) { | ||
579 | clk_set_rate(pck, clk_round_rate(pck, 24000000)); | ||
580 | iowrite32(ioread32(phy) | (0xb << 8), phy); | ||
581 | clk_enable(pck); | ||
582 | } else { | ||
583 | clk_disable(pck); | ||
584 | } | ||
585 | |||
586 | clk_put(pck); | ||
587 | |||
588 | return 0; | ||
589 | } | ||
590 | |||
567 | static struct resource mipidsi0_resources[] = { | 591 | static struct resource mipidsi0_resources[] = { |
568 | [0] = { | 592 | [0] = { |
569 | .start = 0xffc60000, | 593 | .start = 0xffc60000, |
@@ -580,7 +604,11 @@ static struct resource mipidsi0_resources[] = { | |||
580 | static struct sh_mipi_dsi_info mipidsi0_info = { | 604 | static struct sh_mipi_dsi_info mipidsi0_info = { |
581 | .data_format = MIPI_RGB888, | 605 | .data_format = MIPI_RGB888, |
582 | .lcd_chan = &lcdc_info.ch[0], | 606 | .lcd_chan = &lcdc_info.ch[0], |
607 | .lane = 2, | ||
583 | .vsynw_offset = 17, | 608 | .vsynw_offset = 17, |
609 | .flags = SH_MIPI_DSI_SYNC_PULSES_MODE | | ||
610 | SH_MIPI_DSI_HSbyteCLK, | ||
611 | .set_dot_clock = sh_mipi_set_dot_clock, | ||
584 | }; | 612 | }; |
585 | 613 | ||
586 | static struct platform_device mipidsi0_device = { | 614 | static struct platform_device mipidsi0_device = { |
@@ -798,7 +826,7 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc1_info = { | |||
798 | .meram_dev = &meram_info, | 826 | .meram_dev = &meram_info, |
799 | .ch[0] = { | 827 | .ch[0] = { |
800 | .chan = LCDC_CHAN_MAINLCD, | 828 | .chan = LCDC_CHAN_MAINLCD, |
801 | .bpp = 16, | 829 | .fourcc = V4L2_PIX_FMT_RGB565, |
802 | .interface_type = RGB24, | 830 | .interface_type = RGB24, |
803 | .clock_divider = 1, | 831 | .clock_divider = 1, |
804 | .flags = LCDC_FLAGS_DWPOL, | 832 | .flags = LCDC_FLAGS_DWPOL, |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index cbc5934ae03f..9b42fbd10f8e 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -388,7 +388,7 @@ static struct sh_mobile_lcdc_info lcdc_info = { | |||
388 | .clock_source = LCDC_CLK_BUS, | 388 | .clock_source = LCDC_CLK_BUS, |
389 | .ch[0] = { | 389 | .ch[0] = { |
390 | .chan = LCDC_CHAN_MAINLCD, | 390 | .chan = LCDC_CHAN_MAINLCD, |
391 | .bpp = 16, | 391 | .fourcc = V4L2_PIX_FMT_RGB565, |
392 | .lcd_cfg = mackerel_lcdc_modes, | 392 | .lcd_cfg = mackerel_lcdc_modes, |
393 | .num_cfg = ARRAY_SIZE(mackerel_lcdc_modes), | 393 | .num_cfg = ARRAY_SIZE(mackerel_lcdc_modes), |
394 | .interface_type = RGB24, | 394 | .interface_type = RGB24, |
@@ -451,7 +451,7 @@ static struct sh_mobile_lcdc_info hdmi_lcdc_info = { | |||
451 | .clock_source = LCDC_CLK_EXTERNAL, | 451 | .clock_source = LCDC_CLK_EXTERNAL, |
452 | .ch[0] = { | 452 | .ch[0] = { |
453 | .chan = LCDC_CHAN_MAINLCD, | 453 | .chan = LCDC_CHAN_MAINLCD, |
454 | .bpp = 16, | 454 | .fourcc = V4L2_PIX_FMT_RGB565, |
455 | .interface_type = RGB24, | 455 | .interface_type = RGB24, |
456 | .clock_divider = 1, | 456 | .clock_divider = 1, |
457 | .flags = LCDC_FLAGS_DWPOL, | 457 | .flags = LCDC_FLAGS_DWPOL, |
diff --git a/arch/arm/mach-shmobile/clock-sh7372.c b/arch/arm/mach-shmobile/clock-sh7372.c index e349c22a0d71..293456d8dcfd 100644 --- a/arch/arm/mach-shmobile/clock-sh7372.c +++ b/arch/arm/mach-shmobile/clock-sh7372.c | |||
@@ -612,8 +612,8 @@ static struct clk_lookup lookups[] = { | |||
612 | CLKDEV_CON_ID("hdmi_clk", &div6_reparent_clks[DIV6_HDMI]), | 612 | CLKDEV_CON_ID("hdmi_clk", &div6_reparent_clks[DIV6_HDMI]), |
613 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]), | 613 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]), |
614 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]), | 614 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]), |
615 | CLKDEV_ICK_ID("dsi0p_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]), | 615 | CLKDEV_ICK_ID("dsip_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]), |
616 | CLKDEV_ICK_ID("dsi1p_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]), | 616 | CLKDEV_ICK_ID("dsip_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]), |
617 | 617 | ||
618 | /* MSTP32 clocks */ | 618 | /* MSTP32 clocks */ |
619 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* IIC2 */ | 619 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* IIC2 */ |
diff --git a/arch/arm/mach-shmobile/clock-sh73a0.c b/arch/arm/mach-shmobile/clock-sh73a0.c index 34944d01bf1e..afbead6a6e17 100644 --- a/arch/arm/mach-shmobile/clock-sh73a0.c +++ b/arch/arm/mach-shmobile/clock-sh73a0.c | |||
@@ -427,8 +427,8 @@ static struct clk_lookup lookups[] = { | |||
427 | CLKDEV_CON_ID("sdhi2_clk", &div6_clks[DIV6_SDHI2]), | 427 | CLKDEV_CON_ID("sdhi2_clk", &div6_clks[DIV6_SDHI2]), |
428 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]), | 428 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]), |
429 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]), | 429 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]), |
430 | CLKDEV_ICK_ID("dsi0p_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]), | 430 | CLKDEV_ICK_ID("dsip_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]), |
431 | CLKDEV_ICK_ID("dsi1p_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]), | 431 | CLKDEV_ICK_ID("dsip_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]), |
432 | 432 | ||
433 | /* MSTP32 clocks */ | 433 | /* MSTP32 clocks */ |
434 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* I2C2 */ | 434 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* I2C2 */ |
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 9361a5290177..5c00712907d1 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -19,11 +19,11 @@ | |||
19 | #include <linux/amba/pl022.h> | 19 | #include <linux/amba/pl022.h> |
20 | #include <linux/amba/serial.h> | 20 | #include <linux/amba/serial.h> |
21 | #include <linux/spi/spi.h> | 21 | #include <linux/spi/spi.h> |
22 | #include <linux/mfd/ab8500.h> | 22 | #include <linux/mfd/abx500/ab8500.h> |
23 | #include <linux/regulator/ab8500.h> | 23 | #include <linux/regulator/ab8500.h> |
24 | #include <linux/mfd/tc3589x.h> | 24 | #include <linux/mfd/tc3589x.h> |
25 | #include <linux/mfd/tps6105x.h> | 25 | #include <linux/mfd/tps6105x.h> |
26 | #include <linux/mfd/ab8500/gpio.h> | 26 | #include <linux/mfd/abx500/ab8500-gpio.h> |
27 | #include <linux/leds-lp5521.h> | 27 | #include <linux/leds-lp5521.h> |
28 | #include <linux/input.h> | 28 | #include <linux/input.h> |
29 | #include <linux/smsc911x.h> | 29 | #include <linux/smsc911x.h> |
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c index fe1569b67c91..9de9e9c4dbbb 100644 --- a/arch/arm/mach-ux500/board-u5500.c +++ b/arch/arm/mach-ux500/board-u5500.c | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <linux/amba/bus.h> | 10 | #include <linux/amba/bus.h> |
11 | #include <linux/irq.h> | 11 | #include <linux/irq.h> |
12 | #include <linux/i2c.h> | 12 | #include <linux/i2c.h> |
13 | #include <linux/mfd/ab5500/ab5500.h> | 13 | #include <linux/mfd/abx500/ab5500.h> |
14 | 14 | ||
15 | #include <asm/hardware/gic.h> | 15 | #include <asm/hardware/gic.h> |
16 | #include <asm/mach/arch.h> | 16 | #include <asm/mach/arch.h> |
diff --git a/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h b/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h index 47969909836c..d2d4131435a6 100644 --- a/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h +++ b/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #define __MACH_IRQS_BOARD_MOP500_H | 9 | #define __MACH_IRQS_BOARD_MOP500_H |
10 | 10 | ||
11 | /* Number of AB8500 irqs is taken from header file */ | 11 | /* Number of AB8500 irqs is taken from header file */ |
12 | #include <linux/mfd/ab8500.h> | 12 | #include <linux/mfd/abx500/ab8500.h> |
13 | 13 | ||
14 | #define MOP500_AB8500_IRQ_BASE IRQ_BOARD_START | 14 | #define MOP500_AB8500_IRQ_BASE IRQ_BOARD_START |
15 | #define MOP500_AB8500_IRQ_END (MOP500_AB8500_IRQ_BASE \ | 15 | #define MOP500_AB8500_IRQ_END (MOP500_AB8500_IRQ_BASE \ |
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h index 656dc00d30ed..f82f888b91a9 100644 --- a/arch/arm/plat-samsung/include/plat/sdhci.h +++ b/arch/arm/plat-samsung/include/plat/sdhci.h | |||
@@ -63,6 +63,7 @@ enum clk_types { | |||
63 | struct s3c_sdhci_platdata { | 63 | struct s3c_sdhci_platdata { |
64 | unsigned int max_width; | 64 | unsigned int max_width; |
65 | unsigned int host_caps; | 65 | unsigned int host_caps; |
66 | unsigned int pm_caps; | ||
66 | enum cd_types cd_type; | 67 | enum cd_types cd_type; |
67 | enum clk_types clk_type; | 68 | enum clk_types clk_type; |
68 | 69 | ||
diff --git a/arch/arm/plat-samsung/platformdata.c b/arch/arm/plat-samsung/platformdata.c index ceb9fa3a80c0..0f707184eae0 100644 --- a/arch/arm/plat-samsung/platformdata.c +++ b/arch/arm/plat-samsung/platformdata.c | |||
@@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd, | |||
53 | set->cfg_gpio = pd->cfg_gpio; | 53 | set->cfg_gpio = pd->cfg_gpio; |
54 | if (pd->host_caps) | 54 | if (pd->host_caps) |
55 | set->host_caps |= pd->host_caps; | 55 | set->host_caps |= pd->host_caps; |
56 | if (pd->pm_caps) | ||
57 | set->pm_caps |= pd->pm_caps; | ||
56 | if (pd->clk_type) | 58 | if (pd->clk_type) |
57 | set->clk_type = pd->clk_type; | 59 | set->clk_type = pd->clk_type; |
58 | } | 60 | } |