From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Grandegger Date: Sun, 20 May 2007 15:05:03 +0200 Subject: [U-Boot-Users] Ideas on U-Boot configuration with FDT In-Reply-To: <20070520093335.9FF32353428@atlas.denx.de> References: <20070520093335.9FF32353428@atlas.denx.de> Message-ID: <4650477F.3040007@grandegger.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <46500875.6060706@grandegger.com> you wrote: >> CFG_FDT_ADDR_FLASH: >> If defined, "fdt" is set to that address at compile time. The >> FDT can be used from the early beginning of the boot. > > Just nitpicking: maybe we should call this CFG_FDT_ADDR_STATIC or > CFG_FDT_ADDR_DEFAULT or CFG_FDT_ADDR_INIT or something like that. > Rationale: flash is just one of the possible storage devies - it > could be ROM instead, or even RAM in certain configurations. > > Also, while we are defining this, please keep in mind that sooner or > later someone will come up with the idea of storing the FDT in EEPROM, > so we might want to reserve such identifiers. Then something similar to the ENV could be chosen: CFG_FDT_ADDR CFG_FDT_IS_IN_FLASH CFG_FDT_IS_IN_xxx ... >> CFG_FDT_ADDR_BY_ENV: >> If defined, the env variable "fdtaddr" is looked up early in the >> boot and "fdt" is set accordingly. This allows to hold more than >> one blob in FLASH and select one via env setting. This would >> allow for _one_ combination of images of U-Boot + Linux + Blobs >> for a _set_ of boards. > > Traditionally, that should be named CFG_FDT_ADDR_IN_ENV OK for me. >> CFG_FDT_ADDR_RAM: >> If defined, the blob is moved to RAM after relocation for >> further preparation or for performance reasons. "fdt" is re-set >> accordingly. The blob is then ready and in place for booting >> Linux. If CFG_FDT_ADDR_RAM is set to 0, the blob will be copied >> to a default location, e.g. before the initrd location. > > I'm not sure I understand this - will CFG_FDT_ADDR_RAM hold the > *address* in RAM where the FDT gets copied to? That sounds pretty > static to me. Well, yes, this address must be suitable for Linux and should be treated similar to the initial ramdisk. Therefore a proper default address seems sufficient. >> A board-specific checkboad function is called as early as possible to >> verify the FDT. > > "checkboard()" is a name that can mean anything. If the function is > to check or to verify the FDT, the function name should represent > this, i. e. please callit checkfdt() or verifyfdt() of probably > fdtcheck() / fdtverify() or fdt_check() / fdt_verify(). Then checkfdt(). In principle, this could be done in the already existing board-specific checkboard function, but a dedicated function for verifying the FDT makes sense, I think. Wolfgang.