diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-07-29 13:28:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-07-29 13:28:38 -0400 |
commit | c98158eda754b3730bb6a72e5779a63932b2ceff (patch) | |
tree | 5da91c6c79ebc78b040f4349c32edc9c6c380ab6 | |
parent | 0ef135152353d323daa1fef2db94a23e9ae31fb6 (diff) | |
parent | a1ae5b128365f36a3fa2143cfa9de14fc71c51d8 (diff) |
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Arnd Bergmann:
"A nice small set of bug fixes for arm-soc:
- two incorrect register addresses in DT files on shmobile and hisilicon
- one revert for a regression on omap
- one bug fix for a newly introduced pin controller binding
- one regression fix for the memory controller on omap
- one patch to avoid a harmless WARN_ON"
* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: dts: Revert enabling of twl configuration for n900
ARM: dts: fix L2 address in Hi3620
ARM: OMAP2+: gpmc: fix gpmc_hwecc_bch_capable()
pinctrl: dra: dt-bindings: Fix pull enable/disable
ARM: shmobile: r8a7791: Fix SD2CKCR register address
ARM: OMAP2+: l2c: squelch warning dump on power control setting
-rw-r--r-- | arch/arm/boot/dts/hi3620.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap3-n900.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/r8a7791.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/gpmc-nand.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap4-common.c | 4 | ||||
-rw-r--r-- | include/dt-bindings/pinctrl/dra.h | 7 |
6 files changed, 22 insertions, 15 deletions
diff --git a/arch/arm/boot/dts/hi3620.dtsi b/arch/arm/boot/dts/hi3620.dtsi index ab1116d086be..83a5b8685bd9 100644 --- a/arch/arm/boot/dts/hi3620.dtsi +++ b/arch/arm/boot/dts/hi3620.dtsi | |||
@@ -73,7 +73,7 @@ | |||
73 | 73 | ||
74 | L2: l2-cache { | 74 | L2: l2-cache { |
75 | compatible = "arm,pl310-cache"; | 75 | compatible = "arm,pl310-cache"; |
76 | reg = <0xfc10000 0x100000>; | 76 | reg = <0x100000 0x100000>; |
77 | interrupts = <0 15 4>; | 77 | interrupts = <0 15 4>; |
78 | cache-unified; | 78 | cache-unified; |
79 | cache-level = <2>; | 79 | cache-level = <2>; |
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts index 1fe45d1f75ec..b15f1a77d684 100644 --- a/arch/arm/boot/dts/omap3-n900.dts +++ b/arch/arm/boot/dts/omap3-n900.dts | |||
@@ -353,7 +353,7 @@ | |||
353 | }; | 353 | }; |
354 | 354 | ||
355 | twl_power: power { | 355 | twl_power: power { |
356 | compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off"; | 356 | compatible = "ti,twl4030-power-n900"; |
357 | ti,use_poweroff; | 357 | ti,use_poweroff; |
358 | }; | 358 | }; |
359 | }; | 359 | }; |
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi index 8d7ffaeff6e0..79f68acfd5d4 100644 --- a/arch/arm/boot/dts/r8a7791.dtsi +++ b/arch/arm/boot/dts/r8a7791.dtsi | |||
@@ -540,9 +540,9 @@ | |||
540 | #clock-cells = <0>; | 540 | #clock-cells = <0>; |
541 | clock-output-names = "sd1"; | 541 | clock-output-names = "sd1"; |
542 | }; | 542 | }; |
543 | sd2_clk: sd3_clk@e615007c { | 543 | sd2_clk: sd3_clk@e615026c { |
544 | compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock"; | 544 | compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock"; |
545 | reg = <0 0xe615007c 0 4>; | 545 | reg = <0 0xe615026c 0 4>; |
546 | clocks = <&pll1_div2_clk>; | 546 | clocks = <&pll1_div2_clk>; |
547 | #clock-cells = <0>; | 547 | #clock-cells = <0>; |
548 | clock-output-names = "sd2"; | 548 | clock-output-names = "sd2"; |
diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c index 17cd39360afe..93914d220069 100644 --- a/arch/arm/mach-omap2/gpmc-nand.c +++ b/arch/arm/mach-omap2/gpmc-nand.c | |||
@@ -50,6 +50,16 @@ static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) | |||
50 | soc_is_omap54xx() || soc_is_dra7xx()) | 50 | soc_is_omap54xx() || soc_is_dra7xx()) |
51 | return 1; | 51 | return 1; |
52 | 52 | ||
53 | if (ecc_opt == OMAP_ECC_BCH4_CODE_HW_DETECTION_SW || | ||
54 | ecc_opt == OMAP_ECC_BCH8_CODE_HW_DETECTION_SW) { | ||
55 | if (cpu_is_omap24xx()) | ||
56 | return 0; | ||
57 | else if (cpu_is_omap3630() && (GET_OMAP_REVISION() == 0)) | ||
58 | return 0; | ||
59 | else | ||
60 | return 1; | ||
61 | } | ||
62 | |||
53 | /* OMAP3xxx do not have ELM engine, so cannot support ECC schemes | 63 | /* OMAP3xxx do not have ELM engine, so cannot support ECC schemes |
54 | * which require H/W based ECC error detection */ | 64 | * which require H/W based ECC error detection */ |
55 | if ((cpu_is_omap34xx() || cpu_is_omap3630()) && | 65 | if ((cpu_is_omap34xx() || cpu_is_omap3630()) && |
@@ -57,14 +67,6 @@ static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) | |||
57 | (ecc_opt == OMAP_ECC_BCH8_CODE_HW))) | 67 | (ecc_opt == OMAP_ECC_BCH8_CODE_HW))) |
58 | return 0; | 68 | return 0; |
59 | 69 | ||
60 | /* | ||
61 | * For now, assume 4-bit mode is only supported on OMAP3630 ES1.x, x>=1 | ||
62 | * and AM33xx derivates. Other chips may be added if confirmed to work. | ||
63 | */ | ||
64 | if ((ecc_opt == OMAP_ECC_BCH4_CODE_HW_DETECTION_SW) && | ||
65 | (!cpu_is_omap3630() || (GET_OMAP_REVISION() == 0))) | ||
66 | return 0; | ||
67 | |||
68 | /* legacy platforms support only HAM1 (1-bit Hamming) ECC scheme */ | 70 | /* legacy platforms support only HAM1 (1-bit Hamming) ECC scheme */ |
69 | if (ecc_opt == OMAP_ECC_HAM1_CODE_HW) | 71 | if (ecc_opt == OMAP_ECC_HAM1_CODE_HW) |
70 | return 1; | 72 | return 1; |
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index 539e8106eb96..a0fe747634c1 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -168,6 +168,10 @@ static void omap4_l2c310_write_sec(unsigned long val, unsigned reg) | |||
168 | smc_op = OMAP4_MON_L2X0_PREFETCH_INDEX; | 168 | smc_op = OMAP4_MON_L2X0_PREFETCH_INDEX; |
169 | break; | 169 | break; |
170 | 170 | ||
171 | case L310_POWER_CTRL: | ||
172 | pr_info_once("OMAP L2C310: ROM does not support power control setting\n"); | ||
173 | return; | ||
174 | |||
171 | default: | 175 | default: |
172 | WARN_ONCE(1, "OMAP L2C310: ignoring write to reg 0x%x\n", reg); | 176 | WARN_ONCE(1, "OMAP L2C310: ignoring write to reg 0x%x\n", reg); |
173 | return; | 177 | return; |
diff --git a/include/dt-bindings/pinctrl/dra.h b/include/dt-bindings/pinctrl/dra.h index 002a2855c046..3d33794e4f3e 100644 --- a/include/dt-bindings/pinctrl/dra.h +++ b/include/dt-bindings/pinctrl/dra.h | |||
@@ -30,7 +30,8 @@ | |||
30 | #define MUX_MODE14 0xe | 30 | #define MUX_MODE14 0xe |
31 | #define MUX_MODE15 0xf | 31 | #define MUX_MODE15 0xf |
32 | 32 | ||
33 | #define PULL_ENA (1 << 16) | 33 | #define PULL_ENA (0 << 16) |
34 | #define PULL_DIS (1 << 16) | ||
34 | #define PULL_UP (1 << 17) | 35 | #define PULL_UP (1 << 17) |
35 | #define INPUT_EN (1 << 18) | 36 | #define INPUT_EN (1 << 18) |
36 | #define SLEWCONTROL (1 << 19) | 37 | #define SLEWCONTROL (1 << 19) |
@@ -38,10 +39,10 @@ | |||
38 | #define WAKEUP_EVENT (1 << 25) | 39 | #define WAKEUP_EVENT (1 << 25) |
39 | 40 | ||
40 | /* Active pin states */ | 41 | /* Active pin states */ |
41 | #define PIN_OUTPUT 0 | 42 | #define PIN_OUTPUT (0 | PULL_DIS) |
42 | #define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP) | 43 | #define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP) |
43 | #define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA) | 44 | #define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA) |
44 | #define PIN_INPUT INPUT_EN | 45 | #define PIN_INPUT (INPUT_EN | PULL_DIS) |
45 | #define PIN_INPUT_SLEW (INPUT_EN | SLEWCONTROL) | 46 | #define PIN_INPUT_SLEW (INPUT_EN | SLEWCONTROL) |
46 | #define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP) | 47 | #define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP) |
47 | #define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN) | 48 | #define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN) |