All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] ARM CONFIG_OF_CONTROL status
Date: Wed, 04 Jul 2012 08:02:01 +0200	[thread overview]
Message-ID: <4FF3DC59.2080206@monstr.eu> (raw)
In-Reply-To: <CAPnjgZ3qwQmh_aL-bGbX8oS_KONTy6N6rqBZZR6YNkKxdCeGFg@mail.gmail.com>

On 07/03/2012 09:05 PM, Simon Glass wrote:
> Hi,
>
> On Fri, Jun 29, 2012 at 1:22 PM, Stephan Linz <linz at li-pro.net <mailto:linz@li-pro.net>> wrote:
>
>     Am Freitag, den 29.06.2012, 10:18 +0200 schrieb Michal Simek:
>      > On 06/29/2012 04:32 AM, Simon Glass wrote:
>      > > Hi,
>      > >
>      > > --snip--
>      >
>      > I have sent support for Microblaze. Currently without dts because I want to clear this part a little bit.
>
>     Hi Michal,
>
>     looks good, I've been waiting a long time on the FDT support in U-Boot
>     for Microblaze -- great -- PS: see my comment on patch 5 ...
>
>      >
>      > Tegra is using ./arch/arm/dts/tegra20.dtsi and board/nvidia/dts/tegra2-seaboard.dts
>      > and they are composed together in dts/Makefile by calling preprocessor.
>      > Microblaze will be totally different case because every Microblaze hw design is different.
>
>     Yes, that's right. We will never be in the position to define a skeleton
>     or a basic platform configuration.
>
>      > We can use two main buses (little and big endian) and cpu is also configurable.
>      > Based on this for Microblaze is the best solution directly to use dts.
>      > (DTS for Microblaze is also generated directly from design tool).
>
>     ... directly in the context of a board, not arch/cpu, right?
>
>      >
>      >
>      > Anyway - here is the bug message I am getting if I use full dts in board/<name>/dts/microblaze.dts
>      > and empty arch/microblaze/dts/microblaze.dtsi
>      >
>      > <stdin>:34:3: error: invalid preprocessing directive #address
>      > <stdin>:35:3: error: invalid preprocessing directive #size
>      > <stdin>:52:4: error: invalid preprocessing directive #address
>      > <stdin>:53:4: error: invalid preprocessing directive #cpus
>      > <stdin>:54:4: error: invalid preprocessing directive #size
>      > <stdin>:155:4: error: invalid preprocessing directive #address
>      > <stdin>:156:4: error: invalid preprocessing directive #size
>      > <stdin>:160:5: error: invalid preprocessing directive #gpio
>      > <stdin>:192:5: error: invalid preprocessing directive #gpio
>      > <stdin>:209:5: error: invalid preprocessing directive #gpio
>      > <stdin>:241:5: error: invalid preprocessing directive #gpio
>      > <stdin>:267:5: error: invalid preprocessing directive #address
>      > <stdin>:268:5: error: invalid preprocessing directive #size
>      > <stdin>:394:5: error: invalid preprocessing directive #interrupt
>      >
>      > This is error for opposite case - empty microblaze.dts and full microblaze.dtsi.
>
>     That are CPP errors, because the auto generated xilinx.dts is full of
>     CPP pragma like syntax (#something) that are wrong (invalid).
>
>
> Yes - we want to move away from this and use a newer dtc which supports -i for include files, but can't yet. Stephen Warren suggested including the new dtc inside the U-Boot tree.


ok

>
>
>      >
>      > make[1]: Entering directory `/mnt/projects/u-boot/dts'
>      > rc=$( cat /mnt/projects/u-boot/board/petalogix/dts/microblaze.dts | microblaze-unknown-linux-gnu-gcc -E
>      > -P -DARCH_CPU_DTS=\"/mnt/projects/u-boot/arch/microblaze/dts/microblaze.dtsi\" - | { { dtc -R 4 -p 0x1000
>      > -O dtb -o dt.dtb - 2>&1 ; echo $? >&3 ; } | grep -v '^DTC: dts->dtb  on file' ; } 3>&1 ) ; \
>      >       exit $rc
>      > /bin/sh: line 1: exit: too many arguments
>      > make[1]: *** [dt.dtb] Error 1
>      > make[1]: Leaving directory `/mnt/projects/u-boot/dts'
>      >
>      >
>      > I have just tried to fix it by introducing new CONFIG option for skipping that preprocessor
>      > part.
>
>     Instead of disable / skipp the CPP step you can hide the auto generated
>     xilinx.dts with a second include stage, for example:
>
>     board/microblaze/dts/microblaze.dts looks like:
>
>     /include/ ARCH_CPU_DTS
>     /include/ BOARD_DTS
>
>
>     Right, only two lines.   The arch/microblaze/dts/microblaze.dtsi remains
>     empty as you have said above. Just new is BOARD_DTS -- with the attached
>     patch for dts/Makefile you can copy the auto generated xilinx.dts into
>     the specific board directory and the CPP step substitute the right place
>     to board/microblaze/microblaze-generic/dts/microblaze.dts
>
>     I think there are no side effects with other ports like the tegra2.
>
>     If you want you can omit the ARCH_CPU_DTS inclusion. The architectural
>     microblaze.dtsi file is empty and (!!) have to be empty, because the DTC
>     will break with an error on multiple "/dts-v1/;" lines!
>
>     Here is the patch:
>
>     diff --git a/dts/Makefile b/dts/Makefile
>     index 914e479..b1f47a1 100644
>     --- a/dts/Makefile
>     +++ b/dts/Makefile
>     @@ -36,7 +36,8 @@ $(error Your architecture does not have device tree
>     support enabled. \
>     Please define CONFIG_ARCH_DEVICE_TREE))
>
>     # We preprocess the device tree file provide a useful define
>     -DTS_CPPFLAGS := -DARCH_CPU_DTS=
>     \"$(SRCTREE)/arch/$(ARCH)/dts/$(CONFIG_ARCH_DEVICE_TREE).dtsi\"
>     +DTS_CPPFLAGS := -DARCH_CPU_DTS=
>     \"$(SRCTREE)/arch/$(ARCH)/dts/$(CONFIG_ARCH_DEVICE_TREE).dtsi\" \
>     +               -DBOARD_DTS=
>     \"$(SRCTREE)/board/$(VENDOR)/$(BOARD)/dts/$(DEVICE_TREE).dts\"
>
>     all:   $(obj).depend $(LIB)
>
>
> I suppose this is ok. Really the better plan would be to use -i and specify the various directories where we can get include files. But for now, ok.

What is the problem to add the latest dtc?

Thanks,
Michal




---
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

  reply	other threads:[~2012-07-04  6:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-27  9:29 [U-Boot] ARM CONFIG_OF_CONTROL status Michal Simek
2012-06-27 13:58 ` Simon Glass
2012-06-27 14:35   ` Michal Simek
2012-06-28  1:10     ` Simon Glass
2012-06-28  5:50       ` Michal Simek
2012-06-28  5:57         ` Simon Glass
2012-06-28  6:49           ` Michal Simek
2012-06-29  2:32             ` Simon Glass
2012-06-29  8:18               ` Michal Simek
2012-06-29 20:22                 ` Stephan Linz
2012-07-02  5:43                   ` Michal Simek
2012-07-03 19:21                     ` Simon Glass
2012-07-03 20:22                       ` Stephan Linz
2012-07-04  1:48                         ` Simon Glass
2012-07-04  6:13                           ` Michal Simek
2012-07-04  6:24                         ` Michal Simek
2012-07-04 20:27                           ` Stephan Linz
2012-07-09  7:58                             ` Michal Simek
2012-07-03 19:38                     ` Stephan Linz
2012-07-03 19:05                   ` Simon Glass
2012-07-04  6:02                     ` Michal Simek [this message]
2012-07-05 15:34                       ` Stephen Warren
2012-07-09  7:59                         ` Michal Simek
2012-07-03  9:21               ` Michal Simek
2012-07-03 19:07                 ` Simon Glass
2012-07-04  5:46                   ` Michal Simek

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=4FF3DC59.2080206@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.