eCos port to Freescale MAC7100

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

eCos port to Freescale MAC7100

Ilija Kocho [Илија Кочо]
Dear colleagues.
We're just concluding eCos port to Freescale's ARM 7 based MAC7100 family.

Port consists of: MAC7100 variant, a platform for our board (MACE 1) and
serial device drivers for ESCI (Enhanced Serial Communication Interface
found on latest Freescale's auto-motive/industrial controllers).
Following parts are functional at present: boot loader (MAC7100 hardware
setup initialization), INTC interrupt controller support, and ESCI
serial drivers (both high level and hal_diag).

Needles to say we are willing to contribute it, so I need instructions
how to.

Looking forward to hear from you.

Best regards

Ilija Koco
SIvA Software Engineering Automation
Reply | Threaded
Open this post in threaded view
|

Re: eCos port to Freescale MAC7100

Andrew Lunn-2
On Tue, Apr 25, 2006 at 03:12:52PM +0200, Ilija Koco wrote:

> Dear colleagues.
> We're just concluding eCos port to Freescale's ARM 7 based MAC7100 family.
>
> Port consists of: MAC7100 variant, a platform for our board (MACE 1) and
> serial device drivers for ESCI (Enhanced Serial Communication Interface
> found on latest Freescale's auto-motive/industrial controllers).
> Following parts are functional at present: boot loader (MAC7100 hardware
> setup initialization), INTC interrupt controller support, and ESCI
> serial drivers (both high level and hal_diag).
>
> Needles to say we are willing to contribute it, so I need instructions
> how to.
>
> Looking forward to hear from you.

Hi

This sounds good.

We will first need a copyright assignment. Please could you take a
look at http://ecos.sourceware.org/assign.html.

Once we have received the copyright assignment we will review the
code. There is a bit of a backlog for big contributions like this at
the moment. So it might take us a while to get around to it.

    Andrew
Reply | Threaded
Open this post in threaded view
|

Re: eCos port to Freescale MAC7100

Ilija Kocho [Илија Кочо]
Andrew Lunn wrote:

> On Tue, Apr 25, 2006 at 03:12:52PM +0200, Ilija Koco wrote:
>  
>> Dear colleagues.
>> We're just concluding eCos port to Freescale's ARM 7 based MAC7100 family.
>>
>> Port consists of: MAC7100 variant, a platform for our board (MACE 1) and
>> serial device drivers for ESCI (Enhanced Serial Communication Interface
>> found on latest Freescale's auto-motive/industrial controllers).
>> Following parts are functional at present: boot loader (MAC7100 hardware
>> setup initialization), INTC interrupt controller support, and ESCI
>> serial drivers (both high level and hal_diag).
>>
>> Needles to say we are willing to contribute it, so I need instructions
>> how to.
>>
>> Looking forward to hear from you.
>>    
>
> Hi
>
> This sounds good.
>
> We will first need a copyright assignment. Please could you take a
> look at http://ecos.sourceware.org/assign.html.
>  
OK. We'll do it. Please send me the document/template/instructions.
> Once we have received the copyright assignment we will review the
> code.
> There is a bit of a backlog for big contributions like this at
> the moment. So it might take us a while to get around to it.
>  
I tried to follow instructions and fashion in which eCos ports are made
so I guess it shall not be hard for you to track it.

Also I have some questions regarding organization of some packages.
Namely most of MAC7100 peripherals are (or will be) also implemented on
other Freescale chips, but with different architecture: PowerPC (MPC5500
family), ColdFire, so it would be useful to enable sharing of driver
sources. Therefore I created ...devs/serial/freescale/esci directory
rather than .../mac7100/.... I plan to do so for watchdog too. The
question is what to do with interrupt controller (INTC). As far as i
have seen in eCos repository interrupt controller software is bonded
with respective variant (or platform). The rationale is that interrupt
controllers are more closely bonded to processors than other
peripherals. I have followed this approach but might try to place INTC
sources elsewhere, thus make it sharable with other architectures.
I would like to have opinion from eCos architects (else one is welcome
too). Does it pay off? Does it introduce some contradiction with
existing eCos organization?

I have some more questions/ suggestions, but this is all for now.

Best regards
Ilija

Reply | Threaded
Open this post in threaded view
|

Re: eCos port to Freescale MAC7100

Andrew Lunn-2
> >We will first need a copyright assignment. Please could you take a
> >look at http://ecos.sourceware.org/assign.html.
> >  
> OK. We'll do it. Please send me the document/template/instructions.

See the URL i said above!

> I tried to follow instructions and fashion in which eCos ports are made
> so I guess it shall not be hard for you to track it.

O.K. Thart is good.

> Also I have some questions regarding organization of some packages.
> Namely most of MAC7100 peripherals are (or will be) also implemented on
> other Freescale chips, but with different architecture: PowerPC (MPC5500
> family), ColdFire, so it would be useful to enable sharing of driver
> sources. Therefore I created ...devs/serial/freescale/esci directory
> rather than .../mac7100/.... I plan to do so for watchdog too.

This is fine. You might also want to take a look at

http://ecos.sourceware.org/ml/ecos-patches/2005-11/msg00016.html

It is still on my TODO list to get this intergrated into anoncvs. Can
any code be shared with this?

> The
> question is what to do with interrupt controller (INTC). As far as i
> have seen in eCos repository interrupt controller software is bonded
> with respective variant (or platform). The rationale is that interrupt
> controllers are more closely bonded to processors than other
> peripherals. I have followed this approach but might try to place INTC
> sources elsewhere, thus make it sharable with other architectures.

This is not normal. But that should not stop you from doing it. I
guess you will want to keep hal_platform_ints.h in the HAL, but move
the hal_interrupt_* from the <HAL>_misc.c file into your INTC package.

There is also the question of where to put the new package in the eCos
tree. eg packages/dev/interrupt/freescale, or
packages/hal/shared/freescale etc.

     Andrew