Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Aug 2010 11:49:51 +0100
From:      Ben Gray <ben.r.gray@gmail.com>
To:        Olivier Houchard <mlfbsd@ci0.org>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: OMAP3530 - Beagleboard and I2C problems
Message-ID:  <4C62804F.5080007@gmail.com>
In-Reply-To: <20100810090533.GA56784@ci0.org>
References:  <4C607639.9050506@gmail.com> <20100810090533.GA56784@ci0.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks Olivier, PSB
> On Mon, Aug 09, 2010 at 10:42:17PM +0100, Ben Gray wrote:
>   
>> Hi,
>>
>>     
>
> Hi Ben,
>
>   
>>    I've been working on a port of FreeBSD to Texas Instruments OMAP3530 
>> for a while now. I have the basic drivers, Clocks, MMC, DMA, GPIO's, 
>> etc. The kernel is coming up, however it crashes with a seg fault when 
>> starting the init process, this is probably caused by the hacks I had to 
>> put in the pmap code to get it to work with ARMv7 MMU's, but that's an 
>> email for another day.
>>
>>     
>
> That's great to hear !
> How hackish is your work ? There's an ongoing work to support armv6/armv7, so
> maybe it's best to avoid duplicating efforts ?
>   
Well it might not be to much of a hack, but I'm reasonably new to ARMv7 
and very new to FreeBSD so some of my assumptions might not be correct.  
I noticed Rafal Jaworowski has posted a link to some ARMv6 code so I'll 
take a look at that as well.

I'll post my changes on googlecode shortly, once I tidy it up and remove 
the extra verbose debugging.
>   
>>    The problem I'm currently having is with the I2C code and it is 
>> perhaps highlighting a more fundamental problem with my port so far.  
>> Currently I have an 'omap3' bus device, which is the parent for all the 
>> other peripheral drivers (I2C, MMC, DMA, etc).  These child bus drivers 
>> are added during the attach call of the parent, but at that time IRQ's 
>> are not enabled and nor is the system clocking code. So the problem I 
>> have is that during the attach phase of the I2C device driver I want to 
>> be able to send messages over the I2C bus, but my bus driver doesn't 
>> work because IRQ's are still disabled.  So what is the correct solution 
>> for this?  How do I delay device initialisation to after this?
>>
>>     
>
> If you need to do stuff once IRQ are enabled, you may try to use 
> config_intrhook_establish(), that should do exactly what you need.
>   
Thanks for this, it looks exactly like what I want :-)
> Regards,
>
> Olivier
>   




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C62804F.5080007>