All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Nishanth Menon <nm@ti.com>, Felipe Balbi <balbi@ti.com>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>,
	Aaro Koskinen <aaro.koskinen@iki.fi>,
	Sebastian Reichel <sre@kernel.org>, Pavel Machek <pavel@ucw.cz>,
	linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-crypto@vger.kernel.org
Subject: Re: Nokia N900: omap aes is broken
Date: Tue, 24 Feb 2015 18:38:44 +0100	[thread overview]
Message-ID: <201502241838.44317@pali> (raw)
In-Reply-To: <20150224172512.GC28244@atomide.com>

[-- Attachment #1: Type: Text/Plain, Size: 3607 bytes --]

On Tuesday 24 February 2015 18:25:12 Tony Lindgren wrote:
> * Pali Rohár <pali.rohar@gmail.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@48306000 {
> > > 
> > > @@ -550,6 +552,8 @@
> > > 
> > >  			ti,hwmods = "sham";
> > >  			reg = <0x480c3000 0x64>;
> > >  			interrupts = <49>;
> > > 
> > > +			dmas = <&sdma 96>;
> > > +			dma-names = "rx";
> > > 
> > >  		};
> > >  		
> > >  		smartreflex_core: smartreflex@480cb000 {
> > > 
> > > 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

Ok, it looks like second patch (omap_hwmod_3xxx_data.c) needs 
that aes-enabled bootloader.

But first patch (omap3.dtsi) is needed for proper definitions. 
Otherwise omap-aes driver will never work on DT systems.

-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2015-02-24 17:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-18 12:21 Nokia N900: omap aes is broken Pali Rohár
2015-02-18 21:02 ` Pali Rohár
2015-02-18 21:27   ` Pali Rohár
2015-02-24 17:25     ` Tony Lindgren
2015-02-24 17:25       ` Tony Lindgren
2015-02-24 17:38       ` Pali Rohár [this message]
2015-02-24 17:37         ` Tony Lindgren
2015-02-24 17:37           ` Tony Lindgren
2015-02-24 17:49           ` Pali Rohár
2015-02-24 17:50             ` Tony Lindgren
2015-02-25  9:50           ` Pavel Machek
2015-02-25 10:18             ` Pali Rohár

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201502241838.44317@pali \
    --to=pali.rohar@gmail.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=balbi@ti.com \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=pavel@ucw.cz \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.