This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: CDL question about CYGHWR_IO_FLASH_DEVICE
- From: John Dallaway <john at dallaway dot org dot uk>
- To: H Hartley Sweeten <hartleys at visionengravers dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Sat, 07 Nov 2009 12:00:20 +0000
- Subject: [ECOS] Re: CDL question about CYGHWR_IO_FLASH_DEVICE
- References: <BD79186B4FD85F4B8E60E381CAEE190901E84942@mi8nycmail19.Mi8.com>
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