Re: crypto on WRT1900ACS. I'm closer to understanding why it won't load. Info in log:
marvell-cesa: probe of f1090000.crypto failed with error -22
I think this is code EINVAL, which is only in a few places in the driver. I think this is the likely code:
if (!res || resource_size(res) < cesa->sram_size)
return -EINVAL;
It's trying to allocate SRAM in a call from the initialization routine. This works on the WRT1900ACV1, not on the ACS.
Here's a thread showing some debug was required on a similar platform:
http://lists.infradead.org/pipermail/li … 05560.html
Not encouraging for the short term, but it looks to me like the dtb for this platform might have a bug? I'll keep digging but I have an identical config for both platforms -- one works, the other doesn't.
EDIT: found the problem. Here is an excerpt from the mamba dts (missing from all cobra/caiman/shelby dts):
crypto@90000 {
compatible = "marvell,armada-375-crypto";
reg = <0x90000 0x10000>;
reg-names = "regs";
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 30>, <&gateclk 31>,
<&gateclk 28>, <&gateclk 29>;
clock-names = "cesa0", "cesa1",
"cesaz0", "cesaz1";
marvell,crypto-srams = <&crypto_sram0>,
<&crypto_sram1>;
marvell,crypto-sram-size = <0x800>;
};
There's the missing property. Hopefully I can track down the right information to populate from somewhere, and it looks like there may be some other missing stuff. Fun fun!
(Last edited by InkblotAdmirer on 15 Apr 2016, 19:08)