diff options
-rw-r--r-- | drivers/crypto/marvell/cesa.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/crypto/marvell/cesa.c b/drivers/crypto/marvell/cesa.c index 8e5ea7218bb2..a432633bced4 100644 --- a/drivers/crypto/marvell/cesa.c +++ b/drivers/crypto/marvell/cesa.c | |||
@@ -215,6 +215,15 @@ static const struct mv_cesa_caps orion_caps = { | |||
215 | .has_tdma = false, | 215 | .has_tdma = false, |
216 | }; | 216 | }; |
217 | 217 | ||
218 | static const struct mv_cesa_caps kirkwood_caps = { | ||
219 | .nengines = 1, | ||
220 | .cipher_algs = orion_cipher_algs, | ||
221 | .ncipher_algs = ARRAY_SIZE(orion_cipher_algs), | ||
222 | .ahash_algs = orion_ahash_algs, | ||
223 | .nahash_algs = ARRAY_SIZE(orion_ahash_algs), | ||
224 | .has_tdma = true, | ||
225 | }; | ||
226 | |||
218 | static const struct mv_cesa_caps armada_370_caps = { | 227 | static const struct mv_cesa_caps armada_370_caps = { |
219 | .nengines = 1, | 228 | .nengines = 1, |
220 | .cipher_algs = armada_370_cipher_algs, | 229 | .cipher_algs = armada_370_cipher_algs, |
@@ -235,6 +244,8 @@ static const struct mv_cesa_caps armada_xp_caps = { | |||
235 | 244 | ||
236 | static const struct of_device_id mv_cesa_of_match_table[] = { | 245 | static const struct of_device_id mv_cesa_of_match_table[] = { |
237 | { .compatible = "marvell,orion-crypto", .data = &orion_caps }, | 246 | { .compatible = "marvell,orion-crypto", .data = &orion_caps }, |
247 | { .compatible = "marvell,kirkwood-crypto", .data = &kirkwood_caps }, | ||
248 | { .compatible = "marvell,dove-crypto", .data = &kirkwood_caps }, | ||
238 | { .compatible = "marvell,armada-370-crypto", .data = &armada_370_caps }, | 249 | { .compatible = "marvell,armada-370-crypto", .data = &armada_370_caps }, |
239 | { .compatible = "marvell,armada-xp-crypto", .data = &armada_xp_caps }, | 250 | { .compatible = "marvell,armada-xp-crypto", .data = &armada_xp_caps }, |
240 | { .compatible = "marvell,armada-375-crypto", .data = &armada_xp_caps }, | 251 | { .compatible = "marvell,armada-375-crypto", .data = &armada_xp_caps }, |
@@ -383,7 +394,7 @@ static int mv_cesa_probe(struct platform_device *pdev) | |||
383 | caps = match->data; | 394 | caps = match->data; |
384 | } | 395 | } |
385 | 396 | ||
386 | if (caps == &orion_caps && !allhwsupport) | 397 | if ((caps == &orion_caps || caps == &kirkwood_caps) && !allhwsupport) |
387 | return -ENOTSUPP; | 398 | return -ENOTSUPP; |
388 | 399 | ||
389 | cesa = devm_kzalloc(dev, sizeof(*cesa), GFP_KERNEL); | 400 | cesa = devm_kzalloc(dev, sizeof(*cesa), GFP_KERNEL); |