[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150224172512.GC28244@atomide.com>
Date: Tue, 24 Feb 2015 09:25:12 -0800
From: Tony Lindgren <tony@...mide.com>
To: Pali Rohár <pali.rohar@...il.com>
Cc: Nishanth Menon <nm@...com>, Felipe Balbi <balbi@...com>,
Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>,
Aaro Koskinen <aaro.koskinen@....fi>,
Sebastian Reichel <sre@...nel.org>,
Pavel Machek <pavel@....cz>, linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org, linux-crypto@...r.kernel.org
Subject: Re: Nokia N900: omap aes is broken
* Pali Rohár <pali.rohar@...il.com> [150218 16:03]:
> On Wednesday 18 February 2015 22:02:30 Pali Rohár wrote:
> > On Wednesday 18 February 2015 13:21:03 Pali Rohár wrote:
> > > Hello,
> > >
> > > I tried to test OMAP AES driver on Nokia N900 with special
> > > Nokia bootloader which enable L3 firewall for OMAP AES HW
> > > support.
> > >
> > > I modified arch/arm/boot/dts/omap34xx-hs.dtsi file and
> > > commented aes line which disable aes support in DT.
> > >
> > > Then I booted kernel and loaded omap-aes.ko module. And I
> > > got this output in dmesg:
> > >
> > > [ 0.222930] platform 480c5000.aes: Cannot lookup hwmod
> > > 'aes' [ 27.758148] omap-aes 480c5000.aes:
> > > _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
> > > [ 27.765960] omap-aes 480c5000.aes: omap_aes_probe: failed
> > > to get_sync(-19)
> > > [ 29.257690] omap-aes 480c5000.aes: initialization failed.
> > >
> > > So it looks like some initialization data are missing for
> > > Nokia N900 (omap3430 device).
> > >
> > > Can somebody look at it? I have patched 2.6.28 kernel were
> > > omap aes support on this N900 device (with special
> > > bootloader) is working.
> > >
> > > Maybe some other data are missing in DT or in hwmod?
> >
> > dma channels are missing in DT. I applied this patch:
> >
> > diff --git a/arch/arm/boot/dts/omap3.dtsi
> > b/arch/arm/boot/dts/omap3.dtsi index 01b7111..473d460 100644
> > --- a/arch/arm/boot/dts/omap3.dtsi
> > +++ b/arch/arm/boot/dts/omap3.dtsi
> > @@ -92,6 +92,8 @@
> > ti,hwmods = "aes";
> > reg = <0x480c5000 0x50>;
> > interrupts = <0>;
> > + dmas = <&sdma 65 &sdma 66>;
> > + dma-names = "tx", "rx";
> > };
> >
> > prm: prm@...06000 {
> > @@ -550,6 +552,8 @@
> > ti,hwmods = "sham";
> > reg = <0x480c3000 0x64>;
> > interrupts = <49>;
> > + dmas = <&sdma 96>;
> > + dma-names = "rx";
> > };
> >
> > smartreflex_core: smartreflex@...cb000 {
> >
> >
> > and omap-aes driver was successfully loaded. now it is in
> > /proc/crypto
> >
> > I copied dma names and numbers from file
> > arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
>
> And I also needed to apply this patch:
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 11468ee..3281f30 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -3938,8 +3938,9 @@ int __init omap3xxx_hwmod_init(void)
> if (r < 0)
> return r;
>
> - /* Register GP-only hwmod links. */
> - if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) {
> +// /* Register GP-only hwmod links. */
> +// if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) {
> + if (h_gp) {
> r = omap_hwmod_register_links(h_gp);
> if (r < 0)
> return r;
>
> aes hwmod is defined in GP-only hwmod...
Doesn't this depend on the bootloader version of n900 to work?
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists