diff options
Diffstat (limited to 'arch/arm/mach-omap2/gpmc-nand.c')
-rw-r--r-- | arch/arm/mach-omap2/gpmc-nand.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c index db969a5c4998..afc1e8c32d6c 100644 --- a/arch/arm/mach-omap2/gpmc-nand.c +++ b/arch/arm/mach-omap2/gpmc-nand.c | |||
@@ -89,20 +89,21 @@ static int omap2_nand_gpmc_retime( | |||
89 | return 0; | 89 | return 0; |
90 | } | 90 | } |
91 | 91 | ||
92 | static bool __init gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) | 92 | static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) |
93 | { | 93 | { |
94 | /* support only OMAP3 class */ | 94 | /* support only OMAP3 class */ |
95 | if (!cpu_is_omap34xx()) { | 95 | if (!cpu_is_omap34xx() && !soc_is_am33xx()) { |
96 | pr_err("BCH ecc is not supported on this CPU\n"); | 96 | pr_err("BCH ecc is not supported on this CPU\n"); |
97 | return 0; | 97 | return 0; |
98 | } | 98 | } |
99 | 99 | ||
100 | /* | 100 | /* |
101 | * For now, assume 4-bit mode is only supported on OMAP3630 ES1.x, x>=1. | 101 | * For now, assume 4-bit mode is only supported on OMAP3630 ES1.x, x>=1 |
102 | * Other chips may be added if confirmed to work. | 102 | * and AM33xx derivates. Other chips may be added if confirmed to work. |
103 | */ | 103 | */ |
104 | if ((ecc_opt == OMAP_ECC_BCH4_CODE_HW) && | 104 | if ((ecc_opt == OMAP_ECC_BCH4_CODE_HW) && |
105 | (!cpu_is_omap3630() || (GET_OMAP_REVISION() == 0))) { | 105 | (!cpu_is_omap3630() || (GET_OMAP_REVISION() == 0)) && |
106 | (!soc_is_am33xx())) { | ||
106 | pr_err("BCH 4-bit mode is not supported on this CPU\n"); | 107 | pr_err("BCH 4-bit mode is not supported on this CPU\n"); |
107 | return 0; | 108 | return 0; |
108 | } | 109 | } |
@@ -110,8 +111,8 @@ static bool __init gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) | |||
110 | return 1; | 111 | return 1; |
111 | } | 112 | } |
112 | 113 | ||
113 | int __init gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, | 114 | int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, |
114 | struct gpmc_timings *gpmc_t) | 115 | struct gpmc_timings *gpmc_t) |
115 | { | 116 | { |
116 | int err = 0; | 117 | int err = 0; |
117 | struct device *dev = &gpmc_nand_device.dev; | 118 | struct device *dev = &gpmc_nand_device.dev; |