Skip to content

Commit bf1d987

Browse files
committed
Merge tag 'omap-for-v3.16/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
Merge "Two regression fixes for omaps and one fix for device signaling" from Tony Lindgren: - L2 cache regression fix for a warning about trying to access a read-only register - GPMC ECC software fallback regression fix for omap3 - Fix for dra7 pinctrl pull-up direction that causes signal issues for anybody trying to use the internal pull up or down * tag 'omap-for-v3.16/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: gpmc: fix gpmc_hwecc_bch_capable() pinctrl: dra: dt-bindings: Fix pull enable/disable ARM: OMAP2+: l2c: squelch warning dump on power control setting Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 683809f + 33753cd commit bf1d987

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

arch/arm/mach-omap2/gpmc-nand.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,23 @@ static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt)
5050
soc_is_omap54xx() || soc_is_dra7xx())
5151
return 1;
5252

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+
5363
/* OMAP3xxx do not have ELM engine, so cannot support ECC schemes
5464
* which require H/W based ECC error detection */
5565
if ((cpu_is_omap34xx() || cpu_is_omap3630()) &&
5666
((ecc_opt == OMAP_ECC_BCH4_CODE_HW) ||
5767
(ecc_opt == OMAP_ECC_BCH8_CODE_HW)))
5868
return 0;
5969

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-
6870
/* legacy platforms support only HAM1 (1-bit Hamming) ECC scheme */
6971
if (ecc_opt == OMAP_ECC_HAM1_CODE_HW)
7072
return 1;

arch/arm/mach-omap2/omap4-common.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ static void omap4_l2c310_write_sec(unsigned long val, unsigned reg)
168168
smc_op = OMAP4_MON_L2X0_PREFETCH_INDEX;
169169
break;
170170

171+
case L310_POWER_CTRL:
172+
pr_info_once("OMAP L2C310: ROM does not support power control setting\n");
173+
return;
174+
171175
default:
172176
WARN_ONCE(1, "OMAP L2C310: ignoring write to reg 0x%x\n", reg);
173177
return;

include/dt-bindings/pinctrl/dra.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,19 @@
3030
#define MUX_MODE14 0xe
3131
#define MUX_MODE15 0xf
3232

33-
#define PULL_ENA (1 << 16)
33+
#define PULL_ENA (0 << 16)
34+
#define PULL_DIS (1 << 16)
3435
#define PULL_UP (1 << 17)
3536
#define INPUT_EN (1 << 18)
3637
#define SLEWCONTROL (1 << 19)
3738
#define WAKEUP_EN (1 << 24)
3839
#define WAKEUP_EVENT (1 << 25)
3940

4041
/* Active pin states */
41-
#define PIN_OUTPUT 0
42+
#define PIN_OUTPUT (0 | PULL_DIS)
4243
#define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP)
4344
#define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA)
44-
#define PIN_INPUT INPUT_EN
45+
#define PIN_INPUT (INPUT_EN | PULL_DIS)
4546
#define PIN_INPUT_SLEW (INPUT_EN | SLEWCONTROL)
4647
#define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP)
4748
#define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN)

0 commit comments

Comments
 (0)