Re: [linux-yocto] [PATCH 1/1] xilinx-zynqmp: add the basic support xilinx-zynqmp
Ha, yes, thanks Bruce, it's just right time. Have a good trip ~ And I did a quick check, it's OK as well :) zchen@pek-lpggp4:$ bitbake linux-yocto-dev WARNING: You have included the meta-openstack layer, but 'openstack' has not been enabled in your DISTRO_FEATURES. Some bbappend files and preferred version setting may not take effect. See the meta-openstack README for details on enabling openstack support. Parsing recipes: 100% |#| Time: 0:00:38 Parsing of 3648 .bb files complete (0 cached, 3648 parsed). 8552 targets, 5849 skipped, 0 masked, 0 errors. WARNING: No recipes available for: /buildarea1/zchen/build-19/wr19-06-14-arm64/layers/meta-cloud-services/meta-openstack/recipes-connectivity/openssh/openssh_7.%.bbappend /buildarea1/zchen/build-19/wr19-06-14-arm64/layers/meta-cgl/meta-cgl-common/recipes-extended/umip/umip_%.bbappend WARNING: No bb files matched BBFILE_PATTERN_overc '' WARNING: No bb files matched BBFILE_PATTERN_cube '' WARNING: No bb files matched BBFILE_PATTERN_wrlinux-overc '' NOTE: Resolving any missing task queue dependencies Build Configuration: WRLINUX_VERSION = "10.19.24.0" WRLINUX_BRANCH = "development" BB_VERSION = "1.43.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "ubuntu-16.04" DISTRO = "wrlinux-std-sato" DISTRO_VERSION = "10.19.24.0" MACHINE = "xilinx-zynqmp" DEFAULTTUNE = "cortexa53" TARGET_SYS = "aarch64-wrs-linux" TUNE_FEATURES = "aarch64 cortexa53 crc" TARGET_FPU = "" lib32: DEFAULTTUNE = "armv7athf-neon" lib32: TARGET_SYS = "arm-wrsmllib32-linux-gnueabi" lib32: TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" lib32: TARGET_FPU = "hard" wrlinux wrlinux-distro = "master-wr:7fe21fafdfffcfb483bc5a4152fdfeb445b61e80" meta = "wr-10.19-20190610:50529a3a7b1d6867d9e4ec9d47b21f56578444b4" meta-initramfs meta-xfce meta-oe meta-filesystems meta-webserver meta-networking meta-python meta-perl meta-gnome meta-multimedia = "wr-10.19-20190528:9facfad2b487cdc1b335b1073b9182040de9676e" meta-security = "wr-10.19-20190529:b73416279b6b7f1735146911bb953e9bb13eb08f" meta-selinux = "wr-10.19-20190424:a8ed51181e5444c82f9702b6b5d12ca575472a58" intel-x86 = "master-wr:ad411c10245aeb78e8509e9e7b9e888e2fc8eb6c" xilinx-zynqmp = "master:fbb6d4f0affbaae78dbdf8cbdf43d1655b227843" meta-virtualization = "wr-10.19-20190603:e5d65550a5d532501ff245e7cd2a76cc415bf1bc" meta-realtime = "wr-10.19-20190408:9074810c117fdde9cec4058ac9c17c84f0f50420" meta-mingw = "wr-10.19-20190508:714437ac9ba52a4e022b3b199819dbb609d9952e" wr-template = "master-wr:4f4e06413262e09e9eadbad427860218485bb3c3" meta-yocto-bsp meta-poky = "wr-10.19-20190610:2826a58f6a0c103a3938ea5c797ea17923e10902" meta-gplv2 = "wr-10.19-20190610:168a5070bdf3bc45edb5bf2a1add9b7c081f5b64" meta-efi-secure-boot meta-encrypted-storage meta-integrity meta-signing-key = "wr-10.19-20190610:e3ee3d8c9bd7033ccde8d5ce1e23893f3b215ea0" meta-cloud-services = "wr-10.19-20190610:31dfe4207c05faead77514e36cd8af8dabd334e6" meta meta-ids meta-tpm meta-tpm2 = "wr-10.19-20190610:e3ee3d8c9bd7033ccde8d5ce1e23893f3b215ea0" meta-openstack meta-openstack-aio-deploy meta-openstack-compute-deploy meta-openstack-compute-test-config meta-openstack-controller-deploy meta-openstack-controller-test-config meta-openstack-qemu meta-openstack-swift-deploy = "wr-10.19-20190610:31dfe4207c05faead77514e36cd8af8dabd334e6" meta-intel = "wr-10.19-20190610:e51ad5e08182f164077ca6a56a9220857043ad8e" wrlinux-ovp = "master-wr:7fe21fafdfffcfb483bc5a4152fdfeb445b61e80" meta-cgl-common = "wr-10.19-20190508:bfd0554ad9734a210b636f9f5bdc307df19b1e79" wrlinux-cgl = "master-wr:7fe21fafdfffcfb483bc5a4152fdfeb445b61e80" meta-dpdk = "wr-10.19-20190528:95dea5817da2b59a8ce4fa20be4bdcaef03e4e8c" meta-intel-qat = "wr-10.19-20190408:7a49ca357fc1a130d5de2d6862168901f7229b14" meta-anaconda = "wr-10.19-20190610:f0b82870061f17176c5873515749251a2e4bd7b4" meta-overc meta-cube = "wr-10.19-20190520:4f7c0427acdf9ccab4e734840f1149840311a813" meta-iot-cloud = "wr-10.19-20190415:6e522eb46e35173eee5f9dd920bd32638aa00a11" wrlinux-overc = "master-wr:7fe21fafdfffcfb483bc5a4152fdfeb445b61e80" wrlinux-overc-cfg = "master-wr:639a999f5b83640b075c0306ea53b3da8913522d" meta-selinux-dl = "master-wr:0e044fd49b16872966bf1d3c8e99d12df4bc6831" meta-mingw-dl = "master-wr:8fc9becbb6f0d96b86b55969238e69fb9d8d3bb5" meta-security-dl = "master-wr:d43ef6844eee8734f943f23e3e1a983b3094ca9e" meta-efi-secure-boot-dl = "master-wr:b79180d67c83c0fdf317c0583fa9a8e5fdb21b86"
Re: [linux-yocto] [PATCH 1/1] xilinx-zynqmp: add the basic support xilinx-zynqmp
Sorry about that. I was traveling this week, and kept forgetting to create the branch. It should be in place now. Bruce On Thu, Jun 13, 2019 at 3:48 AM Zumeng Chen wrote: > > Ping > > On 6/11/19 9:40 AM, Zumeng Chen wrote: > > Hi Bruce, > > I just finished insane check to build xilinx-zynqmp machine with > core-image-sato, all passed with boot process. > > Could you please help me to create a branch like that standard/xilinx-zynqmp > in the following git repo. in convenient your time, just directly branch out > from origin/standard/base, thanks~ > > git://git.yoctoproject.org/linux-yocto-dev > > > Cheers, > > Zumeng > > On 6/11/19 7:37 AM, Zumeng Chen wrote: > > > On 6/10/19 9:37 PM, Bruce Ashfield wrote: > > On Sun, Jun 9, 2019 at 8:00 PM Zumeng Chen wrote: > > Sounds I like mean, no, I just talk the reality, Xilinx did like the > following: > > https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp > > I think they have a reason to share zynq-7000 series hardware, which > gears to the related hardware > > features, and the way to create dts(a relative complicated process) > corresponding to the hdl related > > features partly as well. And they just want to put zynqmp(arm64) into > recipes-kernel/linux/xilinx-kmeta/bsp/xilinx, > > As you can see, they have almost little in common in hardware features. > > > The reality here I said is about yocto project has not these related > ecosystem to create these whole thing for > > xilinx series(including zynq7000 32bit and zynqmp 64bit), like dts, hdl, > BOOT.BIN etc. there really are a bunch > > of Xilinx things. > > > So do we still want to following their SDK? If yes, fine, just help me > to merge zynqmp part from meta-xilinx, I'll take care the rest. > > I'm actually fine with an approach like we are taking here. Come up > with something that works purely with linux-yocto, and then we can > start factoring and grouping the fragments with the help of people > closer to the h/w. > > In particular as more Xilinx proprietary parts are open sourced, we'll > have the opportunity to tweak the configuration fragments to support > them properly/fully. > > We do want the fragments in the centralized kernel-cache, just as long > as they are appropriated factored/grouped under a xilinx/ subdir where > it makes sense, and have more generic feature groupings available to > be shared in the more common directories. > > What we have is a good start to that goal, so I'll get it merged and > we can start iterating on it in tree. > > > > Thanks Bruce, highly appreciated :) > > > Cheers, > > Zumeng > > > Bruce > > > Cheers, > > Zumeng > > > On 6/6/19 2:55 PM, Zumeng Chen wrote: > > Yes, I checked it, it seems only for zynq 7000 and its special > interfaces. I bet > > the original author didn't mean to share something for both arm64 > and 32 :) > > When I created the structure I had intended for it to include the > zynqmp related configs. I even had some yocto-kernel-cache patches for > it at the time, but zynqmp has changed quite a bit since those initial > patches. Most of those configs still live in meta-xilinx though (some > are specific to the linux-xlnx kernel). > http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx/tree/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta > > > I would highly recommend keeping the xilinx bsp configs together under > the bsp/xilinx/ directory. And try to reuse the existing configs where > possible or splitting some parts of them out to make common configs > since zynq and zynqmp share a number of common drivers. > > > Negative, try to see what had done in the past, a very little can > re-used. And I suspect > > did you even how many features they are sharing. > > I don't think it's worth. To be honestly, they have totally the > different app scenario. > > Cheers, > > Zumeng > > Regards, > Nathan > > And for those common things, I guess some of them might be included > by our > > rootfs build system. > > > sense to locate these fragments there, and to factor out some common > configs. I see some of the issues I'm pointing out here are in the > existing fragments as well, so there's an opportunity for some low > effort fixups. > > + > +CONFIG_PCI=y > +CONFIG_PCI_MSI=y > +CONFIG_PCI_MSI_IRQ_DOMAIN=y > +CONFIG_PCIE_XILINX_NWL=y > +CONFIG_PCIEPORTBUS=y > +CONFIG_PCIE_XDMA_PL=y > + > +#CPU ilde and freq > +CONFIG_CPU_IDLE=y > +CONFIG_ARM_CPUIDLE=y > +CONFIG_CPU_FREQ=y > +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y > +CONFIG_CPU_FREQ_GOV_USERSPACE=y > +CONFIG_CPUFREQ_DT=y > +CONFIG_CPUFREQ_DT_PLATDEV=y > > These are also not tied to h/w. We already have a > features/power/intel.cfg fragment. Can you relocate these to a zynqmp > or xilinx fragment and put it along side of the existing ones ? > > I'll try it with a nice way. > > + > +# CAN Device Drivers > +# > +CONFIG_CAN=y > +CONFIG_CAN_DEV=y > +CONFIG_CAN_XILINXCAN=y > + > +CONFIG_MTD=y > +CONFIG_MTD_OF_PARTS=y > +CONFIG_MTD_BLKDEVS=y >
Re: [linux-yocto] [PATCH 1/1] xilinx-zynqmp: add the basic support xilinx-zynqmp
Ping On 6/11/19 9:40 AM, Zumeng Chen wrote: Hi Bruce, I just finished insane check to build xilinx-zynqmp machine with core-image-sato, all passed with boot process. Could you please help me to create a branch like that standard/xilinx-zynqmp in the following git repo. in convenient your time, just directly branch out from origin/standard/base, thanks~ git://git.yoctoproject.org/linux-yocto-dev Cheers, Zumeng On 6/11/19 7:37 AM, Zumeng Chen wrote: On 6/10/19 9:37 PM, Bruce Ashfield wrote: On Sun, Jun 9, 2019 at 8:00 PM Zumeng Chen wrote: Sounds I like mean, no, I just talk the reality, Xilinx did like the following: https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp I think they have a reason to share zynq-7000 series hardware, which gears to the related hardware features, and the way to create dts(a relative complicated process) corresponding to the hdl related features partly as well. And they just want to put zynqmp(arm64) into recipes-kernel/linux/xilinx-kmeta/bsp/xilinx, As you can see, they have almost little in common in hardware features. The reality here I said is about yocto project has not these related ecosystem to create these whole thing for xilinx series(including zynq7000 32bit and zynqmp 64bit), like dts, hdl, BOOT.BIN etc. there really are a bunch of Xilinx things. So do we still want to following their SDK? If yes, fine, just help me to merge zynqmp part from meta-xilinx, I'll take care the rest. I'm actually fine with an approach like we are taking here. Come up with something that works purely with linux-yocto, and then we can start factoring and grouping the fragments with the help of people closer to the h/w. In particular as more Xilinx proprietary parts are open sourced, we'll have the opportunity to tweak the configuration fragments to support them properly/fully. We do want the fragments in the centralized kernel-cache, just as long as they are appropriated factored/grouped under a xilinx/ subdir where it makes sense, and have more generic feature groupings available to be shared in the more common directories. What we have is a good start to that goal, so I'll get it merged and we can start iterating on it in tree. Thanks Bruce, highly appreciated :) Cheers, Zumeng Bruce Cheers, Zumeng On 6/6/19 2:55 PM, Zumeng Chen wrote: Yes, I checked it, it seems only for zynq 7000 and its special interfaces. I bet the original author didn't mean to share something for both arm64 and 32 :) When I created the structure I had intended for it to include the zynqmp related configs. I even had some yocto-kernel-cache patches for it at the time, but zynqmp has changed quite a bit since those initial patches. Most of those configs still live in meta-xilinx though (some are specific to the linux-xlnx kernel). http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx/tree/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta I would highly recommend keeping the xilinx bsp configs together under the bsp/xilinx/ directory. And try to reuse the existing configs where possible or splitting some parts of them out to make common configs since zynq and zynqmp share a number of common drivers. Negative, try to see what had done in the past, a very little can re-used. And I suspect did you even how many features they are sharing. I don't think it's worth. To be honestly, they have totally the different app scenario. Cheers, Zumeng Regards, Nathan And for those common things, I guess some of them might be included by our rootfs build system. sense to locate these fragments there, and to factor out some common configs. I see some of the issues I'm pointing out here are in the existing fragments as well, so there's an opportunity for some low effort fixups. + +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCIE_XILINX_NWL=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIE_XDMA_PL=y + +#CPU ilde and freq +CONFIG_CPU_IDLE=y +CONFIG_ARM_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y These are also not tied to h/w. We already have a features/power/intel.cfg fragment. Can you relocate these to a zynqmp or xilinx fragment and put it along side of the existing ones ? I'll try it with a nice way. + +# CAN Device Drivers +# +CONFIG_CAN=y +CONFIG_CAN_DEV=y +CONFIG_CAN_XILINXCAN=y + +CONFIG_MTD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_JFFS2_FS_WRITEBUFFER is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set + +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_AHCI_CEVA=y +CONFIG_NETDEVICES=y + +CONFIG_OF=y +CONFIG_OF_MDIO=y +CONFIG_ETHERNET=y +CONFIG_NET_CADENCE=y +CONFIG_MACB=y +CONFIG_MACB_EXT_BD=y + +CONFIG_PHYLIB=y +CONFIG_XILINX_PHY=y + +CONFIG_PHY_XILINX_ZYNQMP=y