I think Nathan's reply sorts my particular issue. Best Regards Peter
On 5 October 2017 at 14:57, <[email protected]> wrote: > Hi Nathan, > > Thanks for the clarification on the intent of this recipe. I am able to > use the device-tree-generation recipe in meta-xilinx-tools to generate a > device tree, but I have not yet tracked down why there are some missing > entries. In particular, for the ZCU102 I expect to see nodes associated > with the TI I2C-based GPIO controller to set the GTR on-board muxes. Here > is an example of these entries when building with bitbake/poky 1.32.0 and > the 2017.2 tag of meta-xilinx and meta-xilinx-tools (per directions > provided by Xilinx's wiki) -- > > i2c@ff020000 { > compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; > status = "okay"; > interrupt-parent = <0x4>; > interrupts = <0x0 0x11 0x4>; > reg = <0x0 0xff020000 0x0 0x1000>; > #address-cells = <0x1>; > #size-cells = <0x0>; > power-domains = <0x15>; > clocks = <0x3 0x3d>; > pinctrl-names = "default", "gpio"; > pinctrl-0 = <0x16>; > pinctrl-1 = <0x17>; > scl-gpios = <0x18 0xe 0x0>; > sda-gpios = <0x18 0xf 0x0>; > clock-frequency = <0x61a80>; > > gpio@20 { > compatible = "ti,tca6416"; > reg = <0x20>; > gpio-controller; > #gpio-cells = <0x2>; > > gtr_sel0 { > gpio-hog; > gpios = <0x0 0x0>; > output-low; > line-name = "sel0"; > }; > > gtr_sel1 { > gpio-hog; > gpios = <0x1 0x0>; > output-low; > line-name = "sel1"; > }; > ... > > > > As mentioned, when I build with the device-tree-generation recipe my dts > contains nodes for the gpio@20, gpio@21, etc. but does not contain the > gtr_sel0/1/2/3 sub-nodes. I can see that these nodes exist in the kernel's > dts for the ZCU102 here -- https://github.com/Xilinx/ > linux-xlnx/blob/master/arch/arm64/boot/dts/xilinx/zynqmp- > zcu102-revA.dts#L184 > > Essentially my end-goal is to have my device tree recipe build the > dts/dtb which includes the kernel source dts's and any additional custom > entries required by my custom hardware (described within the hdf). What am > I missing to achieve this? It seems like the device-tree-generation recipe > only deals with the HDF file and the device-tree recipe only deals with > additions to the kernel source dts's. > > Thanks, > Holden > > > > From: Nathan Rossi <[email protected]> > To: [email protected] > Cc: [email protected] > Date: 10/05/2017 04:05 AM > Subject: Re: [meta-xilinx] meta-xilinx device-tree recipe on > master / yocto pyro > ------------------------------ > > > > On 5 October 2017 at 07:34, <[email protected]> wrote: > > Hi all, > > > > I'm hoping this is a quick and easy issue someone already knows the > answer > > to. I'm working with a ZCU102, using meta-petalinux, meta-xilinx, > > meta-xilinx-tools and bitbake/poky 1.34.0 -- both meta-xilinx and > > meta-xilinx-tools on the master branch and am having an issue with the > > meta-xilinx device-tree recipe. Just for quick and easy reference, the > > device-tree recipe is here: > > https://github.com/Xilinx/meta-xilinx/blob/master/ > recipes-bsp/device-tree/device-tree.bb > > > > The issue that I'm running into is that when I run "bitbake device-tree" > I > > get an error that there are no dts files in the device-tree/1.0-r0 > > directory. Full error shown below: > > > > ERROR: device-tree-1.0-r0 do_compile: Function failed: do_compile (log > file > > is located at > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884) > > ERROR: Logfile of failure stored in: > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884 > > Log data follows: > > | DEBUG: Executing shell function do_compile > > | > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0 > > | gcc: error: > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0/*.dts: > > No such file or directory > > | gcc: warning: ‘-x assembler-with-cpp’ after last input file has no > effect > > | gcc: fatal error: no input files > > | compilation terminated. > > | WARNING: > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0/temp/run.do_compile.15884:1 > > exit 4 from 'gcc -E -nostdinc -Ulinux -x assembler-with-cpp > > -I/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0 > > -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102- > zynqmp/kernel-source/arch/arm64/boot/dts > > -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102- > zynqmp/kernel-source/arch/arm64/boot/dts/include > > -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102- > zynqmp/kernel-source/arch/arm64/boot/dts/xilinx > > -o `basename ${DTS_FILE}`.pp ${DTS_FILE}' > > | ERROR: Function failed: do_compile (log file is located at > > /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp- > xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884) > > ERROR: Task > > (/work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/ > recipes-bsp/device-tree/device-tree.bb:do_compile) > > failed with exit code '1' > > NOTE: Tasks Summary: Attempted 534 tasks of which 464 didn't need to be > > rerun and 1 failed. > > > > Summary: 1 task failed: > > > > /work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/ > recipes-bsp/device-tree/device-tree.bb:do_compile > > Summary: There were 5 WARNING messages shown. > > Summary: There was 1 ERROR message shown, returning a non-zero exit code. > > > > After reviewing the history on this recipe, it appears the recipe was > > restructured months ago to "Improve, clean up and remove > > MACHINE_DEVICETREE". Based on this commit, it appears the intent was to > use > > the dts/dtsi files within the kernel sources as a base for generating a > > device tree. There was a line added to ensure that > > "virtual/kernel:do_shared_workdir" is run prior to the device-tree > recipe. > > My assumption is that the kernel recipe do_shared_workdir task is > supposed > > to copy the selected machine's dts files into the shared workdir so they > can > > be used by this device-tree recipe. However, this does not seem to > happen in > > my case -- > > > > /work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102- > zynqmp/kernel-source$ > > ls > > arch COPYING Documentation fs ipc kernel Makefile > > README scripts tools > > block CREDITS drivers include Kbuild lib mm > > REPORTING-BUGS security usr > > certs crypto firmware init Kconfig MAINTAINERS net > > samples sound virt > > > > Additionally, the device-tree recipe loops over any *.dts files in the > ${S} > > directory, which is mapped to ${WORKDIR} in this recipe > > (https://github.com/Xilinx/meta-xilinx/blob/master/ > recipes-bsp/device-tree/device-tree.bb#L51). > > This loop will effectively do an ls in the > > build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0 directory > to > > check for any *.dts files. This directory definitely does not contain any > > dts files. > > > > I'm guessing I'm missing something small/simple here. Can anyone provide > any > > guidance? > > The 'device-tree' recipe is intended to build custom source > device-trees within OE outside of the kernel source itself (whilst > still being able to reference the kernel dts includes). > > Unless you have provided some additional device tree sources via a > .bbappend to device-tree (like meta-xilinx does for some specific > machines https://github.com/Xilinx/meta-xilinx/blob/master/ > recipes-bsp/device-tree/device-tree.bbappend) > there will be no dts files in the ${S} directory of the device-tree > recipe build and it will fail. > > The zcu102-zynqmp board already has device trees in the linux-xlnx > kernel source (built by setting KERNEL_DEVICETREE in the machine > conf), so there is no need to use device-tree for that machine. > > If you are using meta-xilinx-tools you might be confusing > 'device-tree' for the 'device-tree-generation' recipe? Which uses > Xilinx tools to generate device trees from your HDF design. > > Regards, > Nathan > > > > NOTICE: The contents of this document are proprietary to Ultra Electronics > Flightline Systems and the noted recipient/s and shall not be disclosed, > disseminated, copied, in whole or in part or used except for the purposes > expressly authorized in writing by Ultra Electronics Flightline Systems. > This document may contain technical data, which may be restricted for > export under the International Traffic in Arms Regulations (ITAR) or the > Export Administration Regulations (EAR). Violations of these export laws > may be subject to fines and penalties under the Arms Export Control Act (22 > U.S.C. 2778) > > -- > _______________________________________________ > meta-xilinx mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-xilinx > >
-- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
