[U-Boot] mkconfig "arch" link generation

Hi,
I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config). Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig. This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x". Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.
How is the correct way to modify mkconfig? I don't understand mean of link points "arch-mpc512x".
Regards,
Matteo Facchinetti

Matteo Facchinetti wrote:
Hi,
Hi Matteo,
I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config). Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig. This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x".
Yes, the link is broken. However, all boards in the mainline using the MPC512x are compiled clean. This is because asm-offsets.h is included only by arch/powerpc/cpu/mpc512x/start.S with "#include "asm-offsets.h", and the compiler search for the file in the same directory of start.S and can find it. The link is not required to compile the 512x boards supported currently by u-boot, but it must be set for the ARM architecture. Under the kernel, asm-offsets.h is auto-generated (I know, this is the best solution).
However, why do you need this file ? It should be required only by low level initialization in assembly, as it is done by start.S. After that, it is required in u-boot to access to registers/peripherals via C structures and not using offsets.
Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.
How is the correct way to modify mkconfig?
Probably not setting the link for powerpc, because it is not required.
Regards, Stefano Babic

Stefano Babic wrote:
Matteo Facchinetti wrote:
Hi,
Hi Matteo,
Hi Stefano,
I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config). Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig. This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x".
Yes, the link is broken. However, all boards in the mainline using the MPC512x are compiled clean. This is because asm-offsets.h is included only by arch/powerpc/cpu/mpc512x/start.S with "#include "asm-offsets.h", and the compiler search for the file in the same directory of start.S and can find it. The link is not required to compile the 512x boards supported currently by u-boot, but it must be set for the ARM architecture. Under the kernel, asm-offsets.h is auto-generated (I know, this is the best solution).
However, why do you need this file ? It should be required only by low level initialization in assembly, as it is done by start.S. After that, it is required in u-boot to access to registers/peripherals via C structures and not using offsets.
Yes, you're rigth, but I'm tring to write nand_spl driver for add nand boot support for my TWR-MPC5125 evaluation board. In first step I take what I need from LTIB (freescale) and then I adjust the code for uboot mainline. The part takes from LTIB of 2k first stage nandboot code uses directly SRAMBAR and SWCRR defines.
Now, I suppose, correct develop is to use the common c code in nand_spl directory and eventually customizing for my board unless use "include/asm/arch/..." for powerpc arch. Is it true?
Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.
How is the correct way to modify mkconfig?
Probably not setting the link for powerpc, because it is not required.
Regards, Stefano Babic

Matteo Facchinetti wrote:
Hi Stefano,
Hi Matteo,
Yes, you're rigth, but I'm tring to write nand_spl driver for add nand boot support for my TWR-MPC5125 evaluation board. In first step I take what I need from LTIB (freescale) and then I adjust the code for uboot mainline. The part takes from LTIB of 2k first stage nandboot code uses directly SRAMBAR and SWCRR defines.
Now, I suppose, correct develop is to use the common c code in nand_spl directory and eventually customizing for my board unless use "include/asm/arch/..." for powerpc arch. Is it true?
Yes, and if you see under nand_spl/boar you have some examples how to find additional files. You see that in Makefiles some local link are created, and you could use the same mechanism to have a local asm-offsets.h
However, I agree that we should not generate broken link and IMHO the position of asm-offsets.h is wrong. But again, the best thing should be to generate this file automatically importing the mechanism from the kernel.
Best regards, Stefano

Dear Matteo Facchinetti,
In message 4C3D83F3.1040606@sirius-es.it you wrote:
I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).
Which code are you talkign about? There is no target mpc5121_config supported in mainline...
How is the correct way to modify mkconfig? I don't understand mean of link points "arch-mpc512x".
I think you must be doing something wrong. Please give the exact commit id you are referring to, and the exact commands you use.
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
Dear Matteo Facchinetti,
In message 4C3D83F3.1040606@sirius-es.it you wrote:
I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).
Which code are you talkign about? There is no target mpc5121_config supported in mainline...
yes, I've started from mpc5121ads_config but mpc5121ads_rev2_config is the same. U-boot head mainline version. ( 54841ab50c20d6fa6c9cc3eb826989da3a22d934 )
In practice: $ make distclean $ ls -l include/asm/arch ls: cannot access include/asm/arch: No such file or directory
$ make mpc5121ads_config Configuring for mpc5121ads board... $ ls -l include/asm/arch lrwxrwxrwx 1 teox teox 12 2010-07-15 09:02 include/asm/arch -> arch-mpc512x
Regards, Matteo Facchinetti

Dear Matteo Facchinetti,
In message 4C3EB5B4.1050900@sirius-es.it you wrote:
Which code are you talkign about? There is no target mpc5121_config supported in mainline...
yes,
No.
I've started from mpc5121ads_config but mpc5121ads_rev2_config is the same. U-boot head mainline version. ( 54841ab50c20d6fa6c9cc3eb826989da3a22d934 )
Note that there is a difference between "mpc5121ads_config" and "mpc5121_config" - please make sure to be precise in your statements.
In practice: $ make distclean $ ls -l include/asm/arch ls: cannot access include/asm/arch: No such file or directory
$ make mpc5121ads_config Configuring for mpc5121ads board... $ ls -l include/asm/arch lrwxrwxrwx 1 teox teox 12 2010-07-15 09:02 include/asm/arch -> arch-mpc512x
Yes, so what? This doesn't seem to hurt for any of the existing boards?
Best regards,
Wolfgang Denk
participants (3)
-
Matteo Facchinetti
-
Stefano Babic
-
Wolfgang Denk