diff options
author | Olof Johansson <olof@lixom.net> | 2013-12-23 21:57:11 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-12-23 21:57:11 -0500 |
commit | f89bc02fe535b6f14b741df2eb268ce8eb716c31 (patch) | |
tree | f0b3585497340d92a60deb54f7b7ff3e1399e4eb | |
parent | 40d0c522a9d5f80fd89fbeb4d98d0ef044585cb5 (diff) | |
parent | ca7c11fc8df0657ddeffc1cd98428abd739e1e10 (diff) |
Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical
From Kukjin Kim:
Samsung non-critical 2nd fixes for v3.14
- Correct HSMMC1 card detection type for s3c6410-mini6410
- Fix different key mapping backslash and search key for exynos5250-snow
- Fix definitions of div_mmc_pre4 divider for CLK_SET_RATE_PARENT
- Fix clock provider for mshc on exynos4412
- Fix definitions of mshc dt nodes for exynos4x12
- use mshc controller for eMMC for exynos4412-trats2
* tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Use MSHC controller for eMMC memory for exynos4412-trats2
ARM: dts: Fix definition of MSHC device tree nodes for exynos4x12
ARM: dts: add clock provider for mshc node for Exynos4412 SOC
clk: samsung: exynos4: Fix definition of div_mmc_pre4 divider
ARM: dts: Fix exynos5250-snow's search key to be L_META
ARM: dts: Add the missing "\" key in non-US keyboards for exynos5250-snow
ARM: S3C64XX: Correct card detect type for HSMMC1 for MINI6410
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroidx.dts | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-origen.dts | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-trats2.dts | 20 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4x12.dtsi | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow.dts | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-mini6410.c | 10 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-exynos4.c | 3 |
8 files changed, 45 insertions, 21 deletions
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts index 46c678ee119c..8aad5f72ced7 100644 --- a/arch/arm/boot/dts/exynos4412-odroidx.dts +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts | |||
@@ -38,9 +38,7 @@ | |||
38 | }; | 38 | }; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | mshc@12550000 { | 41 | mmc@12550000 { |
42 | #address-cells = <1>; | ||
43 | #size-cells = <0>; | ||
44 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | 42 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; |
45 | pinctrl-names = "default"; | 43 | pinctrl-names = "default"; |
46 | vmmc-supply = <&ldo20_reg &buck8_reg>; | 44 | vmmc-supply = <&ldo20_reg &buck8_reg>; |
@@ -49,7 +47,6 @@ | |||
49 | num-slots = <1>; | 47 | num-slots = <1>; |
50 | supports-highspeed; | 48 | supports-highspeed; |
51 | broken-cd; | 49 | broken-cd; |
52 | fifo-depth = <0x80>; | ||
53 | card-detect-delay = <200>; | 50 | card-detect-delay = <200>; |
54 | samsung,dw-mshc-ciu-div = <3>; | 51 | samsung,dw-mshc-ciu-div = <3>; |
55 | samsung,dw-mshc-sdr-timing = <2 3>; | 52 | samsung,dw-mshc-sdr-timing = <2 3>; |
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts index 95201559c3ad..6bc053924e9e 100644 --- a/arch/arm/boot/dts/exynos4412-origen.dts +++ b/arch/arm/boot/dts/exynos4412-origen.dts | |||
@@ -122,9 +122,7 @@ | |||
122 | status = "okay"; | 122 | status = "okay"; |
123 | }; | 123 | }; |
124 | 124 | ||
125 | mshc@12550000 { | 125 | mmc@12550000 { |
126 | #address-cells = <1>; | ||
127 | #size-cells = <0>; | ||
128 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | 126 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; |
129 | pinctrl-names = "default"; | 127 | pinctrl-names = "default"; |
130 | status = "okay"; | 128 | status = "okay"; |
@@ -132,7 +130,6 @@ | |||
132 | num-slots = <1>; | 130 | num-slots = <1>; |
133 | supports-highspeed; | 131 | supports-highspeed; |
134 | broken-cd; | 132 | broken-cd; |
135 | fifo-depth = <0x80>; | ||
136 | card-detect-delay = <200>; | 133 | card-detect-delay = <200>; |
137 | samsung,dw-mshc-ciu-div = <3>; | 134 | samsung,dw-mshc-ciu-div = <3>; |
138 | samsung,dw-mshc-sdr-timing = <2 3>; | 135 | samsung,dw-mshc-sdr-timing = <2 3>; |
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index fb7b9ae5f399..890ad275cb85 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts | |||
@@ -442,13 +442,25 @@ | |||
442 | }; | 442 | }; |
443 | }; | 443 | }; |
444 | 444 | ||
445 | sdhci@12510000 { | 445 | mmc@12550000 { |
446 | bus-width = <8>; | 446 | num-slots = <1>; |
447 | supports-highspeed; | ||
448 | broken-cd; | ||
447 | non-removable; | 449 | non-removable; |
448 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; | 450 | card-detect-delay = <200>; |
449 | pinctrl-names = "default"; | ||
450 | vmmc-supply = <&vemmc_reg>; | 451 | vmmc-supply = <&vemmc_reg>; |
452 | clock-frequency = <400000000>; | ||
453 | samsung,dw-mshc-ciu-div = <0>; | ||
454 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
455 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
456 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | ||
457 | pinctrl-names = "default"; | ||
451 | status = "okay"; | 458 | status = "okay"; |
459 | |||
460 | slot@0 { | ||
461 | reg = <0>; | ||
462 | bus-width = <8>; | ||
463 | }; | ||
452 | }; | 464 | }; |
453 | 465 | ||
454 | serial@13800000 { | 466 | serial@13800000 { |
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi index e743e677a9e2..85812bd95a86 100644 --- a/arch/arm/boot/dts/exynos4412.dtsi +++ b/arch/arm/boot/dts/exynos4412.dtsi | |||
@@ -61,11 +61,4 @@ | |||
61 | }; | 61 | }; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | mshc@12550000 { | ||
65 | compatible = "samsung,exynos4412-dw-mshc"; | ||
66 | reg = <0x12550000 0x1000>; | ||
67 | interrupts = <0 77 0>; | ||
68 | #address-cells = <1>; | ||
69 | #size-cells = <0>; | ||
70 | }; | ||
71 | }; | 64 | }; |
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index ad531fe6ab95..1917c829e64e 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi | |||
@@ -28,6 +28,7 @@ | |||
28 | pinctrl3 = &pinctrl_3; | 28 | pinctrl3 = &pinctrl_3; |
29 | fimc-lite0 = &fimc_lite_0; | 29 | fimc-lite0 = &fimc_lite_0; |
30 | fimc-lite1 = &fimc_lite_1; | 30 | fimc-lite1 = &fimc_lite_1; |
31 | mshc0 = &mshc_0; | ||
31 | }; | 32 | }; |
32 | 33 | ||
33 | pd_isp: isp-power-domain@10023CA0 { | 34 | pd_isp: isp-power-domain@10023CA0 { |
@@ -176,4 +177,16 @@ | |||
176 | }; | 177 | }; |
177 | }; | 178 | }; |
178 | }; | 179 | }; |
180 | |||
181 | mshc_0: mmc@12550000 { | ||
182 | compatible = "samsung,exynos4412-dw-mshc"; | ||
183 | reg = <0x12550000 0x1000>; | ||
184 | interrupts = <0 77 0>; | ||
185 | #address-cells = <1>; | ||
186 | #size-cells = <0>; | ||
187 | fifo-depth = <0x80>; | ||
188 | clocks = <&clock 301>, <&clock 149>; | ||
189 | clock-names = "biu", "ciu"; | ||
190 | status = "disabled"; | ||
191 | }; | ||
179 | }; | 192 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index fd711e245e8d..c65f52a6dcea 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -85,7 +85,7 @@ | |||
85 | keypad,num-rows = <8>; | 85 | keypad,num-rows = <8>; |
86 | keypad,num-columns = <13>; | 86 | keypad,num-columns = <13>; |
87 | google,needs-ghost-filter; | 87 | google,needs-ghost-filter; |
88 | linux,keymap = <0x0001003a /* CAPSLK */ | 88 | linux,keymap = <0x0001007d /* L_META */ |
89 | 0x0002003b /* F1 */ | 89 | 0x0002003b /* F1 */ |
90 | 0x00030030 /* B */ | 90 | 0x00030030 /* B */ |
91 | 0x00040044 /* F10 */ | 91 | 0x00040044 /* F10 */ |
@@ -130,6 +130,7 @@ | |||
130 | 0x04060024 /* J */ | 130 | 0x04060024 /* J */ |
131 | 0x04080027 /* ; */ | 131 | 0x04080027 /* ; */ |
132 | 0x04090026 /* L */ | 132 | 0x04090026 /* L */ |
133 | 0x040a002b /* \ */ | ||
133 | 0x040b001c /* ENTER */ | 134 | 0x040b001c /* ENTER */ |
134 | 135 | ||
135 | 0x0501002c /* Z */ | 136 | 0x0501002c /* Z */ |
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c index 58d46a3d7b78..97ae4703cb78 100644 --- a/arch/arm/mach-s3c64xx/mach-mini6410.c +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c | |||
@@ -36,7 +36,9 @@ | |||
36 | #include <plat/devs.h> | 36 | #include <plat/devs.h> |
37 | #include <plat/fb.h> | 37 | #include <plat/fb.h> |
38 | #include <linux/platform_data/mtd-nand-s3c2410.h> | 38 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
39 | #include <linux/platform_data/mmc-sdhci-s3c.h> | ||
39 | #include <plat/regs-serial.h> | 40 | #include <plat/regs-serial.h> |
41 | #include <plat/sdhci.h> | ||
40 | #include <linux/platform_data/touchscreen-s3c2410.h> | 42 | #include <linux/platform_data/touchscreen-s3c2410.h> |
41 | 43 | ||
42 | #include <video/platform_lcd.h> | 44 | #include <video/platform_lcd.h> |
@@ -214,6 +216,13 @@ static struct platform_device mini6410_lcd_powerdev = { | |||
214 | .dev.platform_data = &mini6410_lcd_power_data, | 216 | .dev.platform_data = &mini6410_lcd_power_data, |
215 | }; | 217 | }; |
216 | 218 | ||
219 | static struct s3c_sdhci_platdata mini6410_hsmmc1_pdata = { | ||
220 | .max_width = 4, | ||
221 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
222 | .ext_cd_gpio = S3C64XX_GPN(10), | ||
223 | .ext_cd_gpio_invert = true, | ||
224 | }; | ||
225 | |||
217 | static struct platform_device *mini6410_devices[] __initdata = { | 226 | static struct platform_device *mini6410_devices[] __initdata = { |
218 | &mini6410_device_eth, | 227 | &mini6410_device_eth, |
219 | &s3c_device_hsmmc0, | 228 | &s3c_device_hsmmc0, |
@@ -321,6 +330,7 @@ static void __init mini6410_machine_init(void) | |||
321 | 330 | ||
322 | s3c_nand_set_platdata(&mini6410_nand_info); | 331 | s3c_nand_set_platdata(&mini6410_nand_info); |
323 | s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]); | 332 | s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]); |
333 | s3c_sdhci1_set_platdata(&mini6410_hsmmc1_pdata); | ||
324 | s3c24xx_ts_set_platdata(NULL); | 334 | s3c24xx_ts_set_platdata(NULL); |
325 | 335 | ||
326 | /* configure nCS1 width to 16 bits */ | 336 | /* configure nCS1 width to 16 bits */ |
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c index ad5ff50c5f28..d967571d305e 100644 --- a/drivers/clk/samsung/clk-exynos4.c +++ b/drivers/clk/samsung/clk-exynos4.c | |||
@@ -530,7 +530,8 @@ static struct samsung_div_clock exynos4_div_clks[] __initdata = { | |||
530 | DIV(sclk_i2s1, "sclk_i2s1", "sclk_audio1", DIV_PERIL5, 0, 6), | 530 | DIV(sclk_i2s1, "sclk_i2s1", "sclk_audio1", DIV_PERIL5, 0, 6), |
531 | DIV(sclk_i2s2, "sclk_i2s2", "sclk_audio2", DIV_PERIL5, 8, 6), | 531 | DIV(sclk_i2s2, "sclk_i2s2", "sclk_audio2", DIV_PERIL5, 8, 6), |
532 | DIV(none, "div_mmc4", "mout_mmc4", DIV_FSYS3, 0, 4), | 532 | DIV(none, "div_mmc4", "mout_mmc4", DIV_FSYS3, 0, 4), |
533 | DIV(none, "div_mmc_pre4", "div_mmc4", DIV_FSYS3, 8, 8), | 533 | DIV_F(none, "div_mmc_pre4", "div_mmc4", DIV_FSYS3, 8, 8, |
534 | CLK_SET_RATE_PARENT, 0), | ||
534 | DIV(none, "div_uart0", "mout_uart0", DIV_PERIL0, 0, 4), | 535 | DIV(none, "div_uart0", "mout_uart0", DIV_PERIL0, 0, 4), |
535 | DIV(none, "div_uart1", "mout_uart1", DIV_PERIL0, 4, 4), | 536 | DIV(none, "div_uart1", "mout_uart1", DIV_PERIL0, 4, 4), |
536 | DIV(none, "div_uart2", "mout_uart2", DIV_PERIL0, 8, 4), | 537 | DIV(none, "div_uart2", "mout_uart2", DIV_PERIL0, 8, 4), |