This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CDL question about CYGHWR_IO_FLASH_DEVICE


Hi Hartley

H Hartley Sweeten wrote:

> I'm trying to cleanup the ep93xx port that Brian Austin from
> Cirrus posted to the Bug Management System on 2009-04-10.
> 
> http://bugs.ecos.sourceware.org/show_bug.cgi?id=1000739

Great. Hopefully the copyright assignment will come through soon.

> I have it almost finished but I am getting a message during
> the build that I don't understand.  I think this happens
> during one of the ecosconfig steps before the actual make.
> The message is:
> 
> C CYGHWR_IO_FLASH_DEVICE, "requires" constraint not satisfied:  CYGHWR_IO_FLASH_DEVICE >= 1 
> 
> I have checked the ecos.ecc file for CYGHWR_IO_FLASH_DEVICE
> and found this:
> 
> # >
> # Hardware FLASH device drivers
> # This calculated option gives the number of flash devices
> # on the current platform. The generic flash support requires
> # at least one device.
> #
> cdl_interface CYGHWR_IO_FLASH_DEVICE {
>     # Implemented by CYGPKG_DEVS_FLASH_EP93XX_28FXXX, active, disabled
>     # Implemented by CYGPKG_DEVS_FLASH_EP93XX_AMD, active, disabled
>     # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
>     # Implemented by CYGPKG_DEVS_FLASH_AMD_AM29XXXXX, inactive, enabled
>     # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, inactive, enabled
>     # This value cannot be modified here.
>     # Flavor: data
>     # Current_value: 1
>     # Requires:  CYGHWR_IO_FLASH_DEVICE >= 1 
>     #     CYGHWR_IO_FLASH_DEVICE == 1
>     #   --> 1
> 
>     # The following properties are affected by this value
>     # interface CYGHWR_IO_FLASH_DEVICE
>     #     Requires:  CYGHWR_IO_FLASH_DEVICE >= 1 
>     # option CYGSEM_IO_FLASH_VERIFY_PROGRAM
>     #     ActiveIf:  CYGHWR_IO_FLASH_INDIRECT_READS < CYGHWR_IO_FLASH_DEVICE 
>     # component CYGPKG_REDBOOT_FLASH
>     #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
> };
> 
> It appears that the "requires" constraint should be ok.  Am I
> missing something?

>From visual inspection, the relevant logic appears to be:

  CYGPKG_DEVS_FLASH_STRATA:
    active_if CYGINT_DEVS_FLASH_STRATA_REQUIRED

  CYGPKG_DEVS_FLASH_EDB93XX_STRATA:
    default_value 0
    requires CYGPKG_DEVS_FLASH_STRATA
    implements CYGINT_DEVS_FLASH_STRATA_REQUIRED

Firstly, CYGPKG_DEVS_FLASH_STRATA is a hardware package and should
therefore be added to the edb93xx target definition in ecos.db. The
CYGINT_DEVS_FLASH_STRATA_REQUIRED interface will ensure that this
package is inactive if it is not needed.

You can then eliminate the "requires CYGPKG_DEVS_FLASH_STRATA"
constraint on CYGPKG_DEVS_FLASH_EDB93XX_STRATA.

Does this eliminate the unexpected CDL conflict?

John Dallaway

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]