public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "Trenton D. Adams" <tadams@theone.dnsalias.com>
To: <bartv@redhat.com>
Cc: <ecos-discuss@sourceware.cygnus.com>
Subject: RE: [ECOS] ethernet driver package idea
Date: Fri, 24 Aug 2001 08:47:00 -0000	[thread overview]
Message-ID: <002101c12cb4$0568e360$090110ac@TRENT> (raw)
In-Reply-To: <200108241541.f7OFfuI06348@sheesh.cambridge.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3256 bytes --]

We are going to have two interfaces on our board.  The cs8900 and the
Wavelan PC card.  So, this option is helpful because I can change them
to any device I want without going and editing the CDL and source.

The new CDL is attached if you want to incorporate it.

ETH_DRV_SC(edb7xxx_sc,
           &_cs8900_priv_data, // Driver specific data
           CYGDAT_ETHDRV_NAME,             // Name for this interface
           cs8900_start,
           cs8900_stop,
           cs8900_control,
           cs8900_can_send,
           cs8900_send,
           cs8900_recv,
           cs8900_deliver,     // "pseudoDSR" called from fast net
thread
           cs8900_int,         // poll function, encapsulates ISR and
DSR
           cs8900_int_vector);

-----Original Message-----
From: ecos-discuss-owner@sources.redhat.com
[ mailto:ecos-discuss-owner@sources.redhat.com ] On Behalf Of Bart Veer
Sent: Friday, August 24, 2001 9:42 AM
To: tadams@theone.dnsalias.com
Cc: ecos-discuss@sourceware.cygnus.com
Subject: Re: [ECOS] ethernet driver package idea


>>>>> "Trenton" == Trenton D Adams <tadams@theone.dnsalias.com> writes:

    Trenton> But this is only done on the USB interface then?

When an ethernet driver is likely to be the only one present on a
given target then it can just default to eth0 - in most circumstances
that will work just fine. For example, if the processor has a single
on-chip ethernet device then usually that will be the only ethernet
device in the target system.

The USB ethernet device is different, in that it has no way of
guessing whether or not another ethernet device is present. Hence it
has more complicated CDL which makes sure that the right thing
happens: if it provides the only ethernet interface in the system then
it will use eth0; if there is a real ethernet device then that can
stay as eth0 and the USB-ethernet will become eth1.

For something like a driver for a PCMCIA plugin card, much the same
applies. That driver has no way of knowing whether or not another
ethernet device is present on the target hardware, so it should adapt. 

    Trenton> Doing it the way I did it wouldn't require an update of
    Trenton> the config tool though! Also, do you have the new tool
    Trenton> ready for download? I personally don't have the time at
    Trenton> the moment to install wxWindows, and then recompile the
    Trenton> tool. If anything goes wrong, it's wasted my employer's
    Trenton> money, and I don't want to do that.

    Trenton> Besides, yours seems to work with the Windows GUI config
    Trenton> tool 2.04. I can't be sure because I don't have two
    Trenton> ethernet interfaces to check it with. Is the conflict
    Trenton> resolution thing the only problem with it?

I do not know offhand whether 2.04 includes the required libcdl
changes, that is why I included the libcdl ChangeLog entry. If 2.04
was built before 2001-07-10 then it cannot have the required changes.
If it was built after 2001-07-10 then it almost certainly does have
the required changes. Take a look at Help->About to find out when the
configtool was built. The libcdl changes were specifically to cope
with targets that already have an ethernet interface and you are now
adding a second one such as USB-ethernet.

Bart

[-- Attachment #2: edb7xxx_eth_drivers.cdl --]
[-- Type: text/plain, Size: 4965 bytes --]

# ====================================================================
#
#      edb7xxx_eth_drivers.cdl
#
#      Ethernet drivers - platform dependent support for Cirrus Logic
#                         EDB7xxx family of development boards
#
# ====================================================================
#####COPYRIGHTBEGIN####
#                                                                          
# -------------------------------------------                              
# The contents of this file are subject to the Red Hat eCos Public License 
# Version 1.1 (the "License"); you may not use this file except in         
# compliance with the License.  You may obtain a copy of the License at    
# http://www.redhat.com/                                                   
#                                                                          
# Software distributed under the License is distributed on an "AS IS"      
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
# License for the specific language governing rights and limitations under 
# the License.                                                             
#                                                                          
# The Original Code is eCos - Embedded Configurable Operating System,      
# released September 30, 1998.                                             
#                                                                          
# The Initial Developer of the Original Code is Red Hat.                   
# Portions created by Red Hat are                                          
# Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
# All Rights Reserved.                                                     
# -------------------------------------------                              
#                                                                          
#####COPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s):      gthomas
# Original data:  gthomas
# Contributors:
# Date:           2000-01-25
#
#####DESCRIPTIONEND####
#
# ====================================================================

cdl_package CYGPKG_DEVS_ETH_ARM_EDB7XXX {
    display       "Cirrus Logic ethernet driver"

    parent        CYGPKG_IO_ETH_DRIVERS
    active_if	  CYGPKG_IO_ETH_DRIVERS
    active_if	  CYGPKG_HAL_ARM_EDB7XXX
    implements    CYGHWR_NET_DRIVERS

    include_dir   .
    include_files ; # none _exported_ whatsoever
    description   "Ethernet driver for Cirrus Logic EDB7xxx boards."
    compile       -library=libextras.a if_edb7xxx.c

    cdl_component CYGSEM_ARM_EDB7XXX_SET_ESA {
        display       "Set the ethernet station address"
        flavor        bool
        default_value 0
        description   "Enabling this option will allow the ethernet
          station address to be forced to the value set by the
          configuration.  This may be required if the hardware does
          not include a serial EEPROM for the ESA."

        cdl_option CYGDAT_ARM_EDB7XXX_ESA {
          display       "The ethernet station address"
          flavor        data
          default_value {"{0x08, 0x88, 0x12, 0x34, 0x56, 0x78}"}
          description   "The ethernet station address"
        }
    }


	cdl_option CYGDAT_ETHDRV_NAME {
	    display       "Name to use for this network device"
	    flavor        data
	    default_value { (1 == CYGHWR_NET_DRIVERS) ? "\"eth0\"" : "\"eth1\"" }
	    description "
	        The name of this network device for control purposes.
	    "
	}

        cdl_option CYGPKG_DEVS_ETH_ARM_EDB7XXX_NET_DRIVER_ETH0 {
            display "Use 'eth0'"
            flavor bool
            implements CYGHWR_NET_DRIVER_ETH0
            calculated    { "\"eth0\"" == CYGDAT_ETHDRV_NAME }
            no_define
            description "Select this option to use the ethernet driver as eth0"
        }

        cdl_option CYGPKG_DEVS_ETH_ARM_EDB7XXX_NET_DRIVER_ETH1 {
            display "Use 'eth1'"
            flavor bool
            implements CYGHWR_NET_DRIVER_ETH1
            calculated    { "\"eth1\"" == CYGDAT_ETHDRV_NAME }
            no_define
            description "Select this option to use the ethernet driver as eth1"
        }

    cdl_component CYGPKG_DEVS_ETH_ARM_EDB7XXX_OPTIONS {
        display "Cirrus Logic ethernet driver build options"
        flavor  none
	no_define

        cdl_option CYGPKG_DEVS_ETH_ARM_EDB7XXX_CFLAGS_ADD {
            display "Additional compiler flags"
            flavor  data
            no_define
            default_value { "-D_KERNEL -D__ECOS" }
            description   "
                This option modifies the set of compiler flags for
                building the Cirrus Logic ethernet driver package.
                These flags are used in addition
                to the set of global flags."
        }
    }
}




  reply	other threads:[~2001-08-24  8:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-23 11:41 Trenton D. Adams
2001-08-23 12:24 ` Trenton D. Adams
2001-08-23 13:30   ` [ECOS] CS8900 ethernet driver PATCH Trenton D. Adams
2001-08-24  4:22   ` [ECOS] ethernet driver package idea Bart Veer
2001-08-24  7:59     ` Trenton D. Adams
2001-08-24  8:42       ` Bart Veer
2001-08-24  8:47         ` Trenton D. Adams [this message]
2001-08-29 10:18           ` Trenton D. Adams
2001-09-03 11:01             ` Bart Veer
2001-09-06 12:20               ` Jonathan Larmour
2001-09-11 10:58                 ` Hugo Tyson

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='002101c12cb4$0568e360$090110ac@TRENT' \
    --to=tadams@theone.dnsalias.com \
    --cc=bartv@redhat.com \
    --cc=ecos-discuss@sourceware.cygnus.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).