With recent changes in omap gpmc driver code, in case of DT
boot mode, where bootloader does not configure gpmc cs space
will result into kernel BUG() inside gpmc_mem_init() function,
as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
gpmc_config7[0].baseaddress is set to '0' on reset.
This use-case is applicable for any board/EVM which doesn't have
any peripheral connected to gpmc cs0, for example BeagleXM and
BeagleBone, so DT boot mode fails.
This patch adds of_have_populated_dt() check before creating
device, so that for DT boot mode, gpmc probe will not be called
which is expected behavior, as gpmc is not supported yet from DT.
Signed-off-by: Vaibhav Hiremath <[email protected]>
Cc: Afzal Mohammed <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc Paul Walmsley <[email protected]>
---
This should go in for rc1, as this breaks AM33xx boot.
arch/arm/mach-omap2/gpmc.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 8ab1e1b..c68f9e1 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -981,6 +981,10 @@ static int __init omap_gpmc_init(void)
struct platform_device *pdev;
char *oh_name = "gpmc";
+ /* If dtb is there, the devices will be created dynamically */
+ if (of_have_populated_dt())
+ return -ENODEV;
+
oh = omap_hwmod_lookup(oh_name);
if (!oh) {
pr_err("Could not look up %s\n", oh_name);
--
1.7.0.4
On Tuesday 09 October 2012 02:27 PM, Vaibhav Hiremath wrote:
> This patch adds of_have_populated_dt() check before creating
> Signed-off-by: Vaibhav Hiremath<[email protected]>
> Cc: Afzal Mohammed<[email protected]>
Reviewed-by: Afzal Mohammed <[email protected]>
On Tue, Oct 09, 2012 at 02:27:20PM +0530, Vaibhav Hiremath wrote:
> With recent changes in omap gpmc driver code, in case of DT
> boot mode, where bootloader does not configure gpmc cs space
> will result into kernel BUG() inside gpmc_mem_init() function,
> as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
> gpmc_config7[0].baseaddress is set to '0' on reset.
>
> This use-case is applicable for any board/EVM which doesn't have
> any peripheral connected to gpmc cs0, for example BeagleXM and
> BeagleBone, so DT boot mode fails.
>
> This patch adds of_have_populated_dt() check before creating
> device, so that for DT boot mode, gpmc probe will not be called
> which is expected behavior, as gpmc is not supported yet from DT.
>
> Signed-off-by: Vaibhav Hiremath <[email protected]>
> Cc: Afzal Mohammed <[email protected]>
> Cc: Tony Lindgren <[email protected]>
> Cc Paul Walmsley <[email protected]>
> ---
> This should go in for rc1, as this breaks AM33xx boot.
Fixes BeagleBone on mainline.
Tested-by: Matt Porter <[email protected]>
-Matt
On Wed, Oct 10, 2012 at 19:30:27, Porter, Matt wrote:
> On Tue, Oct 09, 2012 at 02:27:20PM +0530, Vaibhav Hiremath wrote:
> > With recent changes in omap gpmc driver code, in case of DT
> > boot mode, where bootloader does not configure gpmc cs space
> > will result into kernel BUG() inside gpmc_mem_init() function,
> > as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
> > gpmc_config7[0].baseaddress is set to '0' on reset.
> >
> > This use-case is applicable for any board/EVM which doesn't have
> > any peripheral connected to gpmc cs0, for example BeagleXM and
> > BeagleBone, so DT boot mode fails.
> >
> > This patch adds of_have_populated_dt() check before creating
> > device, so that for DT boot mode, gpmc probe will not be called
> > which is expected behavior, as gpmc is not supported yet from DT.
> >
> > Signed-off-by: Vaibhav Hiremath <[email protected]>
> > Cc: Afzal Mohammed <[email protected]>
> > Cc: Tony Lindgren <[email protected]>
> > Cc Paul Walmsley <[email protected]>
> > ---
> > This should go in for rc1, as this breaks AM33xx boot.
>
> Fixes BeagleBone on mainline.
>
> Tested-by: Matt Porter <[email protected]>
>
Thanks Matt and Afzal,
Tony can this be picked up for rc1?? I know you have already sent pull
request for rc1, but by any chance you are planning to send another request?
Thanks,
Vaibhav
> -Matt
>
On Wed, Oct 10, 2012 at 02:19:40PM +0000, Vaibhav Hiremath wrote:
> On Wed, Oct 10, 2012 at 19:30:27, Porter, Matt wrote:
> > On Tue, Oct 09, 2012 at 02:27:20PM +0530, Vaibhav Hiremath wrote:
> > > With recent changes in omap gpmc driver code, in case of DT
> > > boot mode, where bootloader does not configure gpmc cs space
> > > will result into kernel BUG() inside gpmc_mem_init() function,
> > > as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
> > > gpmc_config7[0].baseaddress is set to '0' on reset.
> > >
> > > This use-case is applicable for any board/EVM which doesn't have
> > > any peripheral connected to gpmc cs0, for example BeagleXM and
> > > BeagleBone, so DT boot mode fails.
> > >
> > > This patch adds of_have_populated_dt() check before creating
> > > device, so that for DT boot mode, gpmc probe will not be called
> > > which is expected behavior, as gpmc is not supported yet from DT.
> > >
> > > Signed-off-by: Vaibhav Hiremath <[email protected]>
> > > Cc: Afzal Mohammed <[email protected]>
> > > Cc: Tony Lindgren <[email protected]>
> > > Cc Paul Walmsley <[email protected]>
> > > ---
> > > This should go in for rc1, as this breaks AM33xx boot.
> >
> > Fixes BeagleBone on mainline.
> >
> > Tested-by: Matt Porter <[email protected]>
> >
>
> Thanks Matt and Afzal,
>
> Tony can this be picked up for rc1?? I know you have already sent pull
> request for rc1, but by any chance you are planning to send another request?
I also found a separate problem with the mcasp clock data that's needed
for rc1. I just posted a patch for that as I need both this patch and the
clock data fix to boot from current mainline.
-Matt
On Wed, Oct 10, 2012 at 10:35:01AM -0400, Matt Porter wrote:
> On Wed, Oct 10, 2012 at 02:19:40PM +0000, Vaibhav Hiremath wrote:
> > On Wed, Oct 10, 2012 at 19:30:27, Porter, Matt wrote:
> > > On Tue, Oct 09, 2012 at 02:27:20PM +0530, Vaibhav Hiremath wrote:
> > > > With recent changes in omap gpmc driver code, in case of DT
> > > > boot mode, where bootloader does not configure gpmc cs space
> > > > will result into kernel BUG() inside gpmc_mem_init() function,
> > > > as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
> > > > gpmc_config7[0].baseaddress is set to '0' on reset.
> > > >
> > > > This use-case is applicable for any board/EVM which doesn't have
> > > > any peripheral connected to gpmc cs0, for example BeagleXM and
> > > > BeagleBone, so DT boot mode fails.
> > > >
> > > > This patch adds of_have_populated_dt() check before creating
> > > > device, so that for DT boot mode, gpmc probe will not be called
> > > > which is expected behavior, as gpmc is not supported yet from DT.
> > > >
> > > > Signed-off-by: Vaibhav Hiremath <[email protected]>
> > > > Cc: Afzal Mohammed <[email protected]>
> > > > Cc: Tony Lindgren <[email protected]>
> > > > Cc Paul Walmsley <[email protected]>
> > > > ---
> > > > This should go in for rc1, as this breaks AM33xx boot.
> > >
> > > Fixes BeagleBone on mainline.
> > >
> > > Tested-by: Matt Porter <[email protected]>
> > >
> >
> > Thanks Matt and Afzal,
> >
> > Tony can this be picked up for rc1?? I know you have already sent pull
> > request for rc1, but by any chance you are planning to send another request?
>
> I also found a separate problem with the mcasp clock data that's needed
> for rc1. I just posted a patch for that as I need both this patch and the
> clock data fix to boot from current mainline.
Disregard now that you got me pointed to the pull request with this :)
-Matt
* Matt Porter <[email protected]> [121010 07:38]:
> On Wed, Oct 10, 2012 at 10:35:01AM -0400, Matt Porter wrote:
> > On Wed, Oct 10, 2012 at 02:19:40PM +0000, Vaibhav Hiremath wrote:
> > > On Wed, Oct 10, 2012 at 19:30:27, Porter, Matt wrote:
> > > > On Tue, Oct 09, 2012 at 02:27:20PM +0530, Vaibhav Hiremath wrote:
> > > > > With recent changes in omap gpmc driver code, in case of DT
> > > > > boot mode, where bootloader does not configure gpmc cs space
> > > > > will result into kernel BUG() inside gpmc_mem_init() function,
> > > > > as gpmc cs0 gpmc_config7[0].csvalid bit is set to '1' and
> > > > > gpmc_config7[0].baseaddress is set to '0' on reset.
> > > > >
> > > > > This use-case is applicable for any board/EVM which doesn't have
> > > > > any peripheral connected to gpmc cs0, for example BeagleXM and
> > > > > BeagleBone, so DT boot mode fails.
> > > > >
> > > > > This patch adds of_have_populated_dt() check before creating
> > > > > device, so that for DT boot mode, gpmc probe will not be called
> > > > > which is expected behavior, as gpmc is not supported yet from DT.
> > > > >
> > > > > Signed-off-by: Vaibhav Hiremath <[email protected]>
> > > > > Cc: Afzal Mohammed <[email protected]>
> > > > > Cc: Tony Lindgren <[email protected]>
> > > > > Cc Paul Walmsley <[email protected]>
> > > > > ---
> > > > > This should go in for rc1, as this breaks AM33xx boot.
> > > >
> > > > Fixes BeagleBone on mainline.
> > > >
> > > > Tested-by: Matt Porter <[email protected]>
> > > >
> > >
> > > Thanks Matt and Afzal,
> > >
> > > Tony can this be picked up for rc1?? I know you have already sent pull
> > > request for rc1, but by any chance you are planning to send another request?
> >
> > I also found a separate problem with the mcasp clock data that's needed
> > for rc1. I just posted a patch for that as I need both this patch and the
> > clock data fix to boot from current mainline.
>
> Disregard now that you got me pointed to the pull request with this :)
Thanks applying $Subject patch into omap-for-v3.7-rc1/fixes-part2 and
ignoring the comments about the mcasp clock as it sounds like the mcasp
is already fixed.
Regards,
Tony