Hi,
* Kevin Hilman <[email protected]> [111108 16:23]:
> Ilya Yanok <[email protected]> writes:
>
> > Bits corresponding to the IVA and ISP features in OMAP_STATUS register
> > are reserved on AM35xx and checking for them results in wrong results.
>
> Ouch.
>
> > So we don't want to check for this features on AM35xx.
> >
> > Signed-off-by: Ilya Yanok <[email protected]>
>
> This "feature" selection mechanism is clearly not scaling to newer SoCs.
> While this patch works around the problem, IMO, we need a more scalable
> solution.
Agreed.
> For features like IVA and ISP (and SGX) which are acutally IP blocks on
> the SoC, not "features" per-se, what we really need to be doing is
> checking for the presence of the IP block, not checking a bit in a
> register that's not consistent across various SoCs.
>
> We already have all the knowledge about whether the IP blocks are
> present in the SoC-specific hwmod data. So checking for the "feature"
> of a specific IP block should instead be done using an
> omap_hwmod_lookup().
>
> However, there's a bit of a snag because this "feature" detection is
> currently done before the hwmods are registered.
>
> As a quick-and-dirty proof of concept, the patch/hack below moves the
> feature checking after the hwmod init (omap3 only currently) and uses
> omap_hwmod_lookup() to check whether a given IP block exists.
>
> I only did a quick test on one OMAP3 platform (3430/n900) and it seems
> to work. The init order changes need some more thought, as I didn't
> fully validate whether the feature detection can be safely moved later
> for all platforms.
>
> This is just to show the direction we should be taking this SoC
> detection for newer SoCs.
This should be coordinated with the splitting of feature detection
as posted by Vaibhave in thread "[RFC PATCH] arm:omap: cleanup & split
omap2/3/4_check_revision function" thread.
We no longer need the SoC detection super early, so I suggest we make
the feature detection separate from SoC detection.
The SoC specific init can then call:
omap3_check_revision();
ti816x_check_features();
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html