Re: [linux-yocto] [PATCH 1/1] xilinx-zynqmp: add the basic support xilinx-zynqmp

2019-06-09 Thread Zumeng Chen
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.



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
+CONFIG_FIXED_PHY=y
+CONFIG_DEVMEM=y
+
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+#
+CONFIG_I2C=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_MUX_REG
+CONFIG_I2C_CADENCE=y
+CONFIG_I2C_XILINX=y
+CONFIG_EEPROM_AT24=y
+
+
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_CADENCE=y
+CONFIG_SPI_XILINX=y
+CONFIG_SPI_ZYNQMP_GQSPI=y
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_XILINX=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_ZYNQ=y
+
+CONFIG_POWER_RESET=y
+CONFIG_SENSORS_INA2XX=y
+CONFIG_WATCHDOG=y
+CONFIG_CADENCE_WATCHDOG=y
+CONFIG_XILINX_WATCHDOG=y
+
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_OTG=y
+CONFIG_USB_OTG_FSM=m
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_XILINX=y
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m

bsp/xilinx/soc/drivers-zynq.cfg has some of these already. Can we
update and then include that fragment ?


This is a nasty cfg.  I think you don't want to use it. But we can
remove them since we have already include usb-mass-storage.scc


+
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+
+CONFIG_EDAC=y
+CONFIG_EDAC_MM_EDAC=y
+CONFIG_EDAC_SYNOPSYS=y

Re: [linux-yocto] [kernel-cache][PATCH 1/2] features: add qemu-guest

2019-06-09 Thread Bruce Ashfield
On Sun, Jun 9, 2019 at 8:49 AM Adrian Freihofer
 wrote:
>
> Purpose: Provide an easy way to add ARCH_VIRT=y to the kernel configuration.
> This allows to boot ARM images compiled for real hardware in Qemu as well.
> Including this feature e.g. into the Beaglebone BSP allows to:

We already have the qemuarma15 BSP, and calling it that  for the purposes of
qemu booting was entirely on purpose.

History has shown us many times that maintaining a BSP for both h/w and
virtual boots eventually leads to conflicting requirements and compromise on
both the h/w and virtual variant.

i.e. there's not a lot of benefit outside of asking for the qemu* machines to
be used when someone wants to do a virtual boot . .and yes, I understand the
request and justification for it, I've been asked many times for something
similar to this.

That being said, if we do take something like this, the CONFIG_ARCH_VIRT, etc
of this fragment should be used by qemuarma15 as well, since that is the variant
that gets regular boot testing.

So the summary is, with some refactoring, I don't see why this can't merge.

>
>   export MACHINE="beaglebone-yocto"
>   bitbake core-image-minimale
>   runqemu
>
> This also works with the eSDK. Whithout this feature usually two different
> SDKs need to be compiled and maintained. One SDK is used for development
> in Qemu, another one is used to develop for the real target hardware.
>
> Note: For newer aarch64 devices a pci variant of this config snipped
>   might be beneficial.
>
> [Yocto #13384]
>
> Signed-off-by: Adrian Freihofer 
> ---
>  features/qemu-guest/qemu-arm-virt.cfg | 10 ++
>  features/qemu-guest/qemu-arm-virt.scc |  4 
>  2 files changed, 14 insertions(+)
>  create mode 100644 features/qemu-guest/qemu-arm-virt.cfg
>  create mode 100644 features/qemu-guest/qemu-arm-virt.scc
>
> diff --git a/features/qemu-guest/qemu-arm-virt.cfg 
> b/features/qemu-guest/qemu-arm-virt.cfg
> new file mode 100644
> index ..7aec61de
> --- /dev/null
> +++ b/features/qemu-guest/qemu-arm-virt.cfg
> @@ -0,0 +1,10 @@
> +CONFIG_ARCH_VIRT=y
> +CONFIG_VIRTIO_BLK=y
> +CONFIG_VIRTIO_BLK_SCSI=y
> +CONFIG_VIRTIO_NET=y
> +CONFIG_SERIAL_AMBA_PL011=y
> +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
> +CONFIG_HW_RANDOM=y
> +CONFIG_HW_RANDOM_VIRTIO=y
> +CONFIG_VIRTIO_MMIO=y
> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y

We already have configuration blocks for virtio, and they should be
reused here. If
there are issues with those config fragments, we should refactor them
so they can be
reused.

Cheers,

Bruce

> diff --git a/features/qemu-guest/qemu-arm-virt.scc 
> b/features/qemu-guest/qemu-arm-virt.scc
> new file mode 100644
> index ..54682dcf
> --- /dev/null
> +++ b/features/qemu-guest/qemu-arm-virt.scc
> @@ -0,0 +1,4 @@
> +define KFEATURE_DESCRIPTION "Enable options for ARM images in Qemu"
> +define KFEATURE_COMPATIBILITY board
> +
> +kconf hardware qemu-arm-virt.cfg
> --
> 2.11.0
>
> --
> ___
> linux-yocto mailing list
> linux-yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/linux-yocto



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-- 
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto


Re: [linux-yocto] [kernel-cache][PATCH 0/2] qemu support for ARM devices

2019-06-09 Thread Bruce Ashfield
On Sun, Jun 9, 2019 at 8:49 AM Adrian Freihofer
 wrote:
>
> The purpose/idea is documented here:
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=13384

Just cut and paste the reasons into the cover letter + patches. Not
all reviews are done online
and having the info quickly available for git queries is handy.

Bruce

>
> Adrian Freihofer (2):
>   features: add qemu-guest
>   bsp/beaglebone: include qemu-guest feature
>
>  bsp/beaglebone/beaglebone.scc |  1 +
>  features/qemu-guest/qemu-arm-virt.cfg | 10 ++
>  features/qemu-guest/qemu-arm-virt.scc |  4 
>  3 files changed, 15 insertions(+)
>  create mode 100644 features/qemu-guest/qemu-arm-virt.cfg
>  create mode 100644 features/qemu-guest/qemu-arm-virt.scc
>
> --
> 2.11.0
>
> --
> ___
> linux-yocto mailing list
> linux-yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/linux-yocto



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-- 
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto


[linux-yocto] [kernel-cache][PATCH 0/2] qemu support for ARM devices

2019-06-09 Thread Adrian Freihofer
The purpose/idea is documented here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13384

Adrian Freihofer (2):
  features: add qemu-guest
  bsp/beaglebone: include qemu-guest feature

 bsp/beaglebone/beaglebone.scc |  1 +
 features/qemu-guest/qemu-arm-virt.cfg | 10 ++
 features/qemu-guest/qemu-arm-virt.scc |  4 
 3 files changed, 15 insertions(+)
 create mode 100644 features/qemu-guest/qemu-arm-virt.cfg
 create mode 100644 features/qemu-guest/qemu-arm-virt.scc

-- 
2.11.0

-- 
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto


[linux-yocto] [kernel-cache][PATCH 1/2] features: add qemu-guest

2019-06-09 Thread Adrian Freihofer
Purpose: Provide an easy way to add ARCH_VIRT=y to the kernel configuration.
This allows to boot ARM images compiled for real hardware in Qemu as well.
Including this feature e.g. into the Beaglebone BSP allows to:

  export MACHINE="beaglebone-yocto"
  bitbake core-image-minimale
  runqemu

This also works with the eSDK. Whithout this feature usually two different
SDKs need to be compiled and maintained. One SDK is used for development
in Qemu, another one is used to develop for the real target hardware.

Note: For newer aarch64 devices a pci variant of this config snipped
  might be beneficial.

[Yocto #13384]

Signed-off-by: Adrian Freihofer 
---
 features/qemu-guest/qemu-arm-virt.cfg | 10 ++
 features/qemu-guest/qemu-arm-virt.scc |  4 
 2 files changed, 14 insertions(+)
 create mode 100644 features/qemu-guest/qemu-arm-virt.cfg
 create mode 100644 features/qemu-guest/qemu-arm-virt.scc

diff --git a/features/qemu-guest/qemu-arm-virt.cfg 
b/features/qemu-guest/qemu-arm-virt.cfg
new file mode 100644
index ..7aec61de
--- /dev/null
+++ b/features/qemu-guest/qemu-arm-virt.cfg
@@ -0,0 +1,10 @@
+CONFIG_ARCH_VIRT=y
+CONFIG_VIRTIO_BLK=y
+CONFIG_VIRTIO_BLK_SCSI=y
+CONFIG_VIRTIO_NET=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_VIRTIO=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
diff --git a/features/qemu-guest/qemu-arm-virt.scc 
b/features/qemu-guest/qemu-arm-virt.scc
new file mode 100644
index ..54682dcf
--- /dev/null
+++ b/features/qemu-guest/qemu-arm-virt.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ARM images in Qemu"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware qemu-arm-virt.cfg
-- 
2.11.0

-- 
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto